FileCodeBox文件快递柜搭建教程
匿名口令分享文本,文件,像拿快递一样取文件
文件快递柜是一个开源项目,开源地址
预览
例站:https://share.lanol.cn
暗黑模式
![]() | ![]() |
寄件
![]() | ![]() |
![]() | |
主要特色
- 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI
- 轻松上传:复制粘贴,拖拽选择
- 多种类型:文本,文件
- 防止爆破:错误次数限制
- 防止滥用:IP限制上传次数
- 口令分享:随机口令,存取文件,自定义次数以及有效期
- 国际化:支持中文和英文
- 匿名分享:无需注册,无需登录
- 管理面板:查看所有文件,删除文件
- 一键部署:docker一键部署
- 自由拓展:S3协议、本地文件流,可根据需求在storage文件中新增存储引擎
- 简单明了:适合新手练手项目
- 终端下载:wget https://share.lanol.cn/share/select?code=83432
部署方式
一、Docker一键部署
1.6版本AMD
1 | docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest |
1.6版本ARM
1 | docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:arm |
1.6版本注意
这一版改变比较大,如果出现问题可以尝试清空/opt/FileCodeBox目录,有问题欢迎反馈留言
注意,如果是第一次安装,请查看docker日志获取初始密码和后台地址,参考指令
后台本地文件列表,需要将服务器文件移动至目录/opt/FileCodeBox/data/locals,这样就可以显示了。
1 | docker logs filecodebox |
更新方式
1 | // 更新 |
2.0版本,开发中(AMD & ARM)
默认信息:
后端地址:/#/admin
后台密码:FileCodeBox2023
一键安装
1 | docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta |
一键更新
1 | docker pull lanol/filecodebox:beta && docker stop filecodebox && docker rm filecodebox && docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta |
二、宝塔部署
环境准备
- Centos7
- 宝塔面板
1. 安装Python项目管理器
❗️❗️❗️ 注意:必须安装2.0版本,否则必失败


2. 安装Python3.9.10
点击设置->版本管理->Python版本->3.9.10[未安装]->安装版本

安装完成

3. 下载源码
GitHub地址:https://github.com/vastsa/FileCodeBox
选最新的版本就行

复制链接地址

回到宝塔,新建一个空白目录FileCodeBox

进入目录,粘贴远程下载源码

解压

4. 添加项目
打开Python项目管理器->添加项目

启动成功

5. 查看系统日志,获取初始化信息

根据信息进入后台

6、宝塔反向代理
域名解析到ip之后,直接新增静态空网站

先申请ssl证书,因为反代之后就无法申请了,需关闭反代

添加反向代理

7、配置修改
如果有端口冲突,请找到根目录下的 /data/.env
如果需要修改配置,可以将该文件放在/opt/FileCodeBox/目录下,并命名为.env,然后重启容器即可。 如果不是Docker,则需要在项目同目录下新建一个data文件夹,然后在创建.env文件
1 | # 端口 |
S3协议的对象存储配置
❗️❗️❗️ 注意:必须配置SSL证书,否则无法下载
有关V2.0bata版,作者几乎没有任何说明,也没有相关的教程,也没有说bata版是什么意思,甚至都不在GitHub的releases列表,但是bata版支持S3协议的对象存储以及onedrive
雨云ROS是支持S3协议的对象存储,目前(2023年10月18日)正在免费公测
注意:API端点前要加“https://,末尾不能加“/”,配置完成后需要重启FileCode项目

OneDrive作为存储的配置方法
仅支持工作或学校账户,并且需要有管理员权限以授权API
1. 需要配置的参数
1 | file_storage=onedrive |
onedrive_username和onedrive_password是你的账户名(邮箱)和密码,另外两个参数需要在微软Azure门户中注册应用后获取。
2. 应用注册
登录https://portal.azure.com/#view/Microsoft_AAD_RegisteredApps/ApplicationsListBlade,鼠标置于右上角账号处,浮窗将显示的
域即为onedrive_domain的值。
点击左上角的
+新注册,输入名称,
- 受支持的帐户类型:选择任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)
- 重定向 URI (可选):选择
Web,并输入http://localhost
完成注册后进入概述页面,在概要中找到
应用程序(客户端)ID,即为onedrive_client_id的值。
此时还需要配置允许公共客户端流和API权限
- 在左侧选择
身份验证,找到允许的客户端流,选择是,并**点击保存**。
- 在左侧选择
API权限,点击+添加权限,选择Microsoft Graph->委托的权限,并勾选下述权限:openid、Files中所有权限、User.Read,如下图所示。最后**点击下方的添加权限**。
- 最后点击
授予管理员同意,并**点击是**,最终状态变为已授予。
3. 使用下述代码测试是否配置成功
安装依赖:pip install Office365-REST-Python-Client
1 | # common.py |
测试登录,如果成功打印出账户名,说明配置成功。
1 | from common import acquire_token_pwd |
测试文件上传
1 | import os |
测试文件下载
1 | import os |
测试删除文件
1 | from office365.graph_client import GraphClient |









