FileCodeBox 匿名文件分享服务部署
有时候需要临时传个文件给别人,又不想走微信/QQ?FileCodeBox 就是解决这个的——匿名文件分享,链接打开就能下,下完自动删除或过期。
为什么用 FileCodeBox
- 匿名 — 不需要登录
- 临时 — 可以设置下载次数或过期时间
- 自托管 — 文件存自己服务器
- Web 界面 — 拖拽上传,简单
部署
version: "3.8"
services:
filecodebox:
image: larryli/filecodebox:latest
container_name: filecodebox
restart: unless-stopped
ports:
- "40157:8080"
volumes:
- ./filecodebox-data:/app/data
environment:
- FILECODEBOX_PORT=8080
- FILECODEBOX_JWT_SECRET=你的随机字符串
networks:
- app
networks:
app:
driver: bridge
访问 http://IP:40157。
基本使用
1. 打开网页
2. 拖拽文件到上传区
3. 设置:下载次数(1-10)、有效期(1小时-7天)
4. 点击「生成分享链接」
5. 把链接发给对方
对方打开链接,下载一次后文件自动删除。
反代 + 域名
upstream fcbox_backend {
server filecodebox:8080;
}
server {
listen 443 ssl;
server_name file.soulwrite.xyz;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
client_max_body_size 2G; # 允许大文件
location / {
proxy_pass http://fcbox_backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
踩坑记录
坑 1:文件上传大小限制
默认限制比较小。大文件要在反代和 Docker 都设置:
# docker-compose.yml
environment:
- FILECODEBOX_MAX_FILE_SIZE=2G
坑 2:JWT 报错
启动时报 JWT 相关错误。生成一个随机字符串:
openssl rand -base64 32
填进去。
坑 3:下载不动
下载大文件超时。反代加上:
proxy_read_timeout 300s;
proxy_send_timeout 300s;
用法场景
- 临时传压缩包 — 对方下完就删,不用留着占网盘
- 敏感文件 — 设置下载次数为 1,下完即焚
- 技术分享 — 分享一些不方便公开的大文件
总结
FileCodeBox 就一个功能:临时文件分享。
- 匿名:不用注册
- 临时:下载次数/时间限制
- 自建:文件在自己服务器
几分钟部署,终身使用。
Nginx/OpenResty 匿名文件分享FileCodeBox
本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。
评论交流
欢迎留下你的想法