像拿快递一样取文件的FileCodeBox

本文大约完成于 2月中旬,镜像中途有过更新;

什么是 FileCodeBox ?

FileCodeBox 中文名是 文件快递柜,取文件像取快递一样,支持通过匿名口令分享文本,文件。

很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里端软件,这时候,我们就可以使用 FileCodeBox

主要特色

  •  轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI
  •  轻松上传:复制粘贴,拖拽选择
  •  多种类型:文本,文件
  •  防止爆破:错误次数限制
  •  防止滥用:IP限制上传次数
  •  口令分享:随机口令,存取文件,自定义次数以及有效期
  •  匿名分享:无需注册,无需登录
  •  管理面板:查看所有文件,删除文件
  •  一键部署:docker一键部署
  •  多种存储方式:阿里云OSS、本地文件流

如果你不想自己搭建,可以去试试官方的体验网站:https://share.lanol.cn/

官方网站似乎出了问题,显示 ERR_SSL_PROTOCOL_ERROR

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 filecodebox ,选择第一个 lanol/filecodebox,版本选择 latest

软件只有 2 个版本,latest 对应的平台是 linux/amd64arm 对应的平台是 linux/arm64

docker 文件夹中,创建一个新文件夹 filecodebox,并在其中建一个子文件夹 data

文件夹 装载路径 说明
docker/filecodebox/data /app/data 存放文件

端口

本地端口不冲突就行,不确定的话可以用命令查一下

1
2
# 查看端口占用
netstat -tunlp | grep 端口号
本地端口 容器端口
12345 12345

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 filecodebox 和 子目录
mkdir -p /volume2/docker/filecodebox/data

# 进入 filecodebox 目录
cd /volume2/docker/filecodebox

# 运行容器
docker run -d \
--restart unless-stopped \
--name filecodebox \
-p 12345:12345 \
-v $(pwd)/data:/app/data \
lanol/filecodebox:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
version: '3'

services:
filecodebox:
image: lanol/filecodebox:latest
container_name: filecodebox
restart: unless-stopped
ports:
- 12345:12345
volumes:
- ./data:/app/data

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 filecodebox 和 子目录
mkdir -p /volume2/docker/filecodebox/data

# 进入 filecodebox 目录
cd /volume2/docker/filecodebox

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:12345 就能看到主界面

如果是第一次安装,请查看docker日志获取初始密码和后台地址

后台

所以要进入后台,需要在浏览器中输入 http://群晖IP:12345/c90d44d0ede24c7c94e4a43891eb50ca

管理员密码也在日志中,登录成功好,能看到空空的主界面

第一件事情是改密码,进入 系统设置

网站设置 中可以找到修改后台密码的地方

顺便看看 分享设置,可以修改文件大小、错误几次等等

Banner 是设置广告的地方

配置 .env

除了后台设置,也可以修改系统的 .env 文件,这个文件可以在 data 目录中找到

不建议改 .env,改完后要重启容器生效

还是老办法,重命名为 .env.txt 之后可以直接编辑,只要记得:

  1. 修改前先备份;
  2. 改完后记得重命名为 .env

上传文件

点上传文件按钮

直接粘贴文字或者拖拽文件

先上传个文件

我的文件,可以看到取件码和二维码

把二维码发给别人,如果是在微信里,可以直接识别二维码

或者你在页面上输入取件码,也是一样的

反向代理

要在公网使用,还需要做反代,老苏还是用 npm 做示例

SSL 还是全部勾选了

这样就可以了

参考文档

vastsa/FileCodeBox: 文件快递柜-匿名口令分享文本,文件,像拿快递一样取文件(File Express Cabinet - Anonymous Passcode Sharing Text, Files, Like Taking Express Delivery for Files)
地址:https://github.com/vastsa/FileCodeBox

文件快递柜-匿名口令分享文本,文件
地址:https://www.yuque.com/lxyo/work/kw9gxqfk882ez7k5