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 就一个功能:临时文件分享。

- 匿名:不用注册

- 临时:下载次数/时间限制

- 自建:文件在自己服务器

几分钟部署,终身使用。