FileCodeBox 是开源、轻量的自托管文件分享工具,主打口令取件模式,类比线下快递柜:上传文件/文本生成专属取件码,对方无需注册登录,输入口令即可下载内容。
项目基于 FastAPI + Vue3 + SQLite 开发,LGPL-3.0 开源协议,支持 Docker 一键部署,个人、小团队均可搭建私有临时文件中转站,告别网盘繁琐分享流程。
适用场景
- 临时文件、截图、文档快速分发
- 代码片段、配置文本匿名分享
- 跨设备、跨平台临时传文件
- 企业内部私有文件中转站
![图片[1] - FileCodeBox 自建文件快递柜|开源口令文件分享工具 Docker 部署](https://bee-reg-ac.imagency.cn/n/c954693b3defb41a55335be36a3cd70f.png)
核心特点
1. 极简匿名分享,零注册门槛
上传文件/粘贴文本后自动生成数字取件码+分享二维码,接收人打开页面输入口令就能下载,不用登录、不用加好友,操作像取快递一样简单。
2. 灵活过期规则,自动清理
支持三种失效模式,到期自动删除文件,节省存储空间:
- 按时间过期(1小时~永久)
- 按取件次数限制(最多N次下载)
- 永久保存(长期占用单个取件码)
3. 多存储后端,数据完全自主
不强制云端存储,数据由自己掌控,兼容多种存储方案:
本地磁盘、S3/阿里云OSS、OneDrive、WebDAV、OpenDAL,NAS、对象存储均可对接。
4. 完善安全防护
- 登录限流、取码错误次数限制,防暴力破解
- IP上传频次管控,避免恶意刷资源
- 文件类型校验,拦截危险文件
- 管理员密码后台管控,私有访问隔离
5. 轻量化低占用
后端单文件SQLite数据库,Docker镜像体积小,内存占用极低,树莓派、低配服务器都能流畅运行;同时支持深色模式、移动端自适应、命令行wget下载文件。
6. 可视化管理后台
内置完整管理面板,可查看文件总量、占用空间、过期任务,批量延长时效、批量删除,支持系统参数自定义配置。
快速开始(Docker一键部署)
1. 单命令启动(推荐)
docker run -d --restart unless-stopped \
-p 12345:12345 \
-v ./data:/app/data \
--name filecodebox \
lanol/filecodebox:2.5.4
-p 12345:12345:对外访问端口,可自行修改-v ./data:/app/data:持久化文件、数据库,容器删除数据不丢失lanol/filecodebox:2.5.4:固定稳定版本,生产环境不建议用latest
2. 访问初始化
- 前台分享页面:
http://服务器IP:12345 - 管理员后台:
http://服务器IP:12345/#/admin - 首次登录后台设置管理员密码,完成初始化即可使用。
多种部署方式
方式1:Docker Compose(长期稳定运行)
新建docker-compose.yml
version: "3"
services:
filecodebox:
image: lanol/filecodebox:2.5.4
container_name: filecodebox
ports:
- "12345:12345"
volumes:
- ./data:/app/data
restart: unless-stopped
启动命令:
docker-compose up -d
方式2:原生Python手动部署(无Docker环境)
# 克隆源码
git clone https://github.com/vastsa/FileCodeBox.git
cd FileCodeBox
# 安装依赖
pip install -r requirements.txt
# 启动服务
python main.py
方式3:宝塔面板可视化部署
宝塔应用商店搜索FileCodeBox,一键安装容器,无需手动输命令,适合新手运维。
拓展:反向代理(域名访问)
Nginx配置示例,实现域名https访问:
location / {
proxy_pass http://127.0.0.1:12345;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END















暂无评论内容