用Docker快速部署一个文件中转站:文件快递柜
推荐一个 Python 项目 FileCodeBox,中文名:文件快递柜。项目介绍:匿名口令分享文本,文件,像拿快递一样取文件。
Github 项目地址:
https://github.com/vastsa/FileCodeBo
使用效果:
模拟的是丰巢快递柜,输入密码即可取出文件。
左边的按钮是上传入口:
支持设置有效期,过期后文件会自动删除。
右边的按钮是快递柜入口,输入取件码后可以重复打开:
同时也有删除权限,删除文件后,快递柜中显示为空。
文件柜是匿名的,不同 IP 看到的内容是不一样的。相同 IP 的客户端在重复上传时能看到之前自己上传的文件
分享文件时可以复制链接,或将取件码告诉对方。使用逻辑与实体快递柜一致,分存件人和取件人两种角色。存件人存件时可以看到所有之前存入的文件,取件人只能看到指定的文件。
下面说下安装和部署:
通过 docker 部署服务,提前创建数据目录,并规划好服务端口。比如这里使用 /opt/file_code_box 作为数据目录,8080端口作为服务端口:
$ mkdir -p /opt/file_code_box
$ docker run -d \
--restart=always \
-p 3088:12345 \
-v /Data/AppData/transfer/file_code_box:/app/data \
--name filecodebox \
lanol/filecodebox:beta
Unable to find image 'lanol/filecodebox:beta' locally
beta: Pulling from lanol/filecodebox
b4d181a07f80: Pull complete
a1111a8f2ec3: Pull complete
445d04774519: Pull complete
24f3f85d41f3: Pull complete
d299f7fb612d: Pull complete
7e1c0964f4bd: Pull complete
4d9e8893ce72: Pull complete
35546af3d9bd: Pull complete
4f4fb700ef54: Pull complete
fd816f9024da: Pull complete
Digest: sha256:2d3a00d05aa0363ad9c906fde3904eb8973ec19eb088d13d0e921a45e77b5795
Status: Downloaded newer image for lanol/filecodebox:beta
d423b6a5eca1c0bef002fe4434643350066651d5cf742afc8b512d9f9c4d0fa3
在 /Data/AppData/transfer/f 目录下会生成配置文件 .env2,里面有管理员密码:
管理界面入口为:
http://<server-ip>/#/admin
输入密码后可以进入管理后台,在管理后台可以修改管理密码,也可以看到所有文件:
在知道取件码的情况下,可以通过 wget 下载文件:
```
$ wget http://
HTTP request sent, awaiting response... 200 OK Length: 432617 (422K) [image/gif] Saving to: `test.gif'
0K .......... .......... .......... .......... .......... 11% 6.61M 0s
50K .......... .......... .......... .......... .......... 23% 106M 0s
100K .......... .......... .......... .......... .......... 35% 53.1M 0s 150K .......... .......... .......... .......... .......... 47% 37.6M 0s 200K .......... .......... .......... .......... .......... 59% 50.5M 0s 250K .......... .......... .......... .......... .......... 71% 43.0M 0s 300K .......... .......... .......... .......... .......... 82% 41.2M 0s 350K .......... .......... .......... .......... .......... 94% 66.1M 0s 400K .......... .......... .. 100% 60.1M=0.01s
2024-02-25 21:11:35 (28.5 MB/s) - `test.gif' saved [432617/432617]