很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里的软件,这时候,我们就可以使用口令传送箱,像拿快递一样取文件。今天给大家介绍的一款开源项目,可以解决这个问题。

主要特色

  • 轻量简洁: Fastapi+Sqlite3+Vue2+ElementUI

  • 轻松上传: 复制粘贴,拖拽选择

  • 多种类型: 文本,文件

  • 防止爆破: 错误次数限制

  • 防止滥用: IP限制上传次数

  • 口令分享: 随机口令,存取文件,自定义次数以及有效期

  • 匿名分享: 无需注册,无需登录

  • 管理面板: 查看所有文件,删除文件

  • 一键部署: docker一键部署

  • 自由拓展: 阿里云OSS、本地文件流,可根据需求在storage文件中新增存储引擎

  • 简单明了: 适合新手练手项目

部署方式

Docker一键部署

AMD 开发版(不稳定,待测试,新增分片异步上传,永久存储,不建议使用,很多没发现的坑)
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:pre
AMD
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest
ARM
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:arm

宝塔部署

  • https://www.yuque.com/lxyo/work/lc1oe0xqk8t9b976

更新方式

// 停止容器并删除
docker stop filecodebox && docker rm filecodebox
// 重新运行容器
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:latest

预览

例站

  • https://share.lanol.cn

暗黑模式

052eb5a4cada53d282f28673717ea25b.png09248bb2d31f4a66f44b4c434f9c8e40.png

寄件

8b18b1c4b4baf1b8993b68a090203fe5.png75e071e12396a415e11cbfff72056efa.pngc6f5e53771e536989124800d88c00e66.png

取件

97f48be2b24960dae0b5b313280727e0.png064640b0463f546197e6893ed4e8157b.png18f4ffd1738aa20e14ba871cd41f50c9.png

管理

3f7df202208759b74047e47d30db4438.png8766d159ce6fb6bd188b3fb6eec553cc.png6bdf22469c6a36d4282854fb2995de4f.png

配置文件

如果需要修改配置,可以将该文件放在/opt/FileCodeBox/目录下,并命名为.env,然后重启容器即可。

如果不是Docker,则需要在项目同目录下新建一个data文件夹,然后在创建.env文件

# 端口
PORT=12345
# Sqlite数据库文件
DATABASE_URL=sqlite+aiosqlite:///database.db
# 静态文件夹
DATA_ROOT=./static
# 静态文件夹URL
STATIC_URL=/static
# 开启上传
ENABLE_UPLOAD=True
# 错误次数
ERROR_COUNT=5
# 错误限制分钟数
ERROR_MINUTE=10
# 上传次数
UPLOAD_COUNT=60
# 上传限制分钟数
UPLOAD_MINUTE=1
# 删除过期文件的间隔(分钟)
DELETE_EXPIRE_FILES_INTERVAL=10
# 管理地址
ADMIN_ADDRESS=admin
# 管理密码
ADMIN_PASSWORD=admin
# 文件大小限制,默认10MB
FILE_SIZE_LIMIT=10
# 网站标题
TITLE=文件快递柜
# 网站描述
DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件
# 网站关键词
KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件
# 存储引擎
STORAGE_ENGINE=filesystem
# 如果使用阿里云OSS服务的话需要额外创建如下参数:
# 阿里云账号AccessKey
KeyId=阿里云账号AccessKey
# 阿里云账号AccessKeySecret
KeySecret=阿里云账号AccessKeySecret
# 阿里云OSS Bucket的地域节点
OSS_ENDPOINT=阿里云OSS Bucket的地域节点
# 阿里云OSS Bucket的BucketName
BUCKET_NAME=阿里云OSS Bucket的BucketName

2022年12月14日 这个项目的灵感来源于丁丁快传,然后写了这么一个基于本机存储的快传系统,本系统主要是以轻量,单用户,离线环境(私有化 )为主,因此也不需要加太多东西,所以其实这个项目到这基本功能已经完成了,剩下的就是维护和完善现有功能。

开源地址

  • https://github.com/vastsa/FileCodeBox

推荐:
最全的java面试题库

PS:因为公众号平台更改了推送规则,如果不想错过内容,记得读完点一下“在看”,加个“星标”,这样每次新文章推送才会第一时间出现在你的订阅列表里。点“在看”支持我们吧!
Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐