文件快递柜:FileCodeBox

FileCodeBox 是一个基于 FastAPI(后端)与 Vue3(前端)开发的开源文件分享工具,旨在提供简单、高效、安全的文件和文本分享体验。用户可以通过生成随机口令分享文件,接收者只需输入提取码即可下载或查看内容,无需注册或登录,操作直观如同从快递柜取件。项目以轻量简洁为核心,支持快速部署,适合个人用户或小型团队在多种场景下使用。

github地址:https://github.com/vastsa/FileCodeBox.git(截止2025-09-01star数已达7.2k)

应用场景

临时文件分享:快速分享单个文件,无需注册登录;

文本快速分享:分享代码片断,文本内容等;

匿名文件传输:保护隐私的文件传输方式;

临时文件存储:支持设置过期时间的文件存储;

跨平台传输:在不同设备间快速传输文件;

小型分享服务:搭建私有的文件分享服务;

核心特性

技术架构

FileCodeBox 的代码结构清晰,适合开发者学习和二次开发。项目目录结构如下:

FileCodeBox/
├── apps/          # 应用代码
│   ├── admin/     # 管理后台
│   └── base/      # 基础功能
├── core/          # 核心功能
├── data/          # 数据目录
└── fcb-fronted/   # 前端代码
  • 后端:使用 FastAPI 框架,结合 SQLite3 数据库,轻量高效。核心文件如 main.py 负责初始化应用、数据库连接和后台任务(如定时删除过期文件)。
  • 前端:基于 Vue3 和 ElementUI,提供响应式界面和流畅的用户体验。
  • 存储引擎:支持本地文件系统存储,并可扩展支持 S3 协议,开发者可根据需求添加新存储引擎。
  • 部署方式:支持 Docker 和 Docker Compose 快速部署,兼容 AMD 和 ARM 架构。

本地开发

1、后端开发

python main.py

2、前端开发

cd fcb-fronted
npm install
npm run dev

快速部署

FileCodeBox 支持通过 Docker 进行一键部署,以下是基本步骤:

  1. 环境准备:确保服务器已安装 Docker。
  2. 拉取镜像并运行
  3. docker run -d –restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data –name filecodebox lanol/filecodebox:beta
  4. 对于国内用户,若镜像拉取困难,可使用备用镜像:
  5. docker run -d –restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data –name filecodebox dc.065065.xyz/lanol/filecodebox:beta
  6. 访问服务:打开浏览器,访问 http://<服务器IP>:12345,即可使用。
  7. 管理面板:访问 http://<服务器IP>:12345/#/admin,使用默认密码 FileCodeBox2023 登录,管理文件或修改配置。
  8. 更新容器
  9. docker pull lanol/filecodebox:beta && docker stop filecodebox && docker rm filecodebox && docker run -d –restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data –name filecodebox lanol/filecodebox:beta
  10. 注意:首次安装需查看 Docker 日志获取初始密码和后台地址:
  11. docker logs filecodebox
  12. 若需自定义配置,可在 /opt/FileCodeBox/.env 文件中修改参数并重启容器。

注意事项与已知问题

  1. 文件大小限制:默认配置下,前端限制文件大小为 10MB,尽管后端配置文件支持更大值(如 FILE_SIZE_LIMIT=10485760)。若需支持大文件上传,需调整前端限制或等待官方更新。
  2. 安全问题:FileCodeBox 2.0 曾因 .env 文件存储明文敏感信息(如 OneDrive 密码和 AWS 密钥)被报告存在潜在信息泄露风险(CVE-2024-34525)。建议用户修改 .env 文件权限,仅允许服务运行用户访问,或避免在公开环境中存储敏感数据。
  3. HTTPS 配置:目前需通过反向代理(如 Nginx)启用 HTTPS,部分用户在使用 Cloudflare CDN 时遇到 525 错误,建议检查代理配置或直接访问。
  4. Docker 更新:部分用户反馈 Docker 镜像需手动删除并重新拉取以更新到最新版本。

社区与贡献

FileCodeBox 是一个活跃的开源项目,拥有 664 个 Fork 和 6.6k Star,社区讨论活跃(GitHub Discussions)。开发者可通过以下方式参与:

  • 克隆项目
  • git clone https://github.com/vastsa/FileCodeBox.git cd FileCodeBox pip install -r requirements.txt python main.py
  • 提交 Issue:在 GitHub 上反馈问题或提出功能建议。
  • 贡献代码:项目欢迎 PR,尤其是对大文件上传、HTTPS 支持等功能的改进。

免责声明

本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与推荐者无关。使用时请保留项目地址和版权信息。

Leave a Comment

Comments

No comments yet. Why don’t you start the discussion?

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注