diff --git a/a.md b/a.md new file mode 100644 index 0000000..2bebfba --- /dev/null +++ b/a.md @@ -0,0 +1,158 @@ +# 文件快递柜 + +## 解决问题 + +很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里的软件,这时候,我们就可以使用口令传送箱,像拿快递一样取文件。 + +## 主要特色 + +- [x] 轻量简洁,Fastapi+sqlite3 +- [x] 拖拽,复制粘贴上传 +- [x] 文件口令传输,生成二维码 +- [x] 分享文件:多种上传方式供你选择 +- [x] 分享文本:直接复制粘贴直接上传 +- [x] 防爆破:错误五次拉黑十分钟 +- [x] 完全匿名:不记录任何信息,无需注册,无需登录 +- [x] Sqlite3数据库:无需安装数据库 +- [x] 管理面板:简单列表页删除违规文件 +- [x] 口令使用次数,口令有效期,二维码分享 + +## 更新记录 +### 2022年12月13日 + +- [x] 完善手机版上传文本 +- [x] 优化Index.html首页 + +### 2022年12月12日 + +- [x] 重写用户登录和 IP 检查并重定义状态码 +- [x] 新增存储引擎统一文件读写 +- [x] 设置PORT + +### 2022年12月11日 + +1. 修复取件不显示码的问题 +2. 修复文件次数为1时,文件被删除的问题 +3. 使用 aiosqlite 驱动异步化数据库操作 +4. 增加定时清理过期文件 +5. 优化部署方式,Docker映射,后续更新直接覆盖代码重启 +6. 优化配置文件,增加配置项 +7. 发布V1.4.5稳定版 + +### 2022年12月10日 + +1. 管理面板已新增,一如既往的极简,只有删除 +2. 二维码图片(调用的网络接口,如果离线环境将无法使用,一切为了极简) +3. 取件码有效期,取件码使用次数 +4. 优化代码逻辑 +5. 限制上传文件大小 +6. 完善配置参数 + +## 系统截图 + +1. 隐藏文件真实地址 + +### 取件 + +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img.png) +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_1.png) + +### 寄件 + +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_2.png) +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_3.png) + +### 管理面板 + +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_4.png) +![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_5.png) + +## 部署教程 + +https://www.yuque.com/lxyo/work/zd0kvzy7fofx6w7v + +## 部署方式 + +为持久化,不管怎么样,先第一步,建一个文件夹,然后再下载代码 + +```bash +mkdir /opt/FileCodeBox +cd /opt/FileCodeBox +``` + +新建一个`.env`文件 + +```bash +vi .env +``` + +将下列字段内容替换成你自己的 + +```dotenv +# 端口 +PORT=12345 +# Sqlite数据库文件 +DATABASE_URL=sqlite+aiosqlite:///database.db +# 静态文件夹 +DATA_ROOT=./static +# 静态文件夹URL +STATIC_URL=/static +# 错误次数 +ERROR_COUNT=5 +# 错误限制分钟数 +ERROR_MINUTE=10 +# 上传次数 +UPLOAD_COUNT=60 +# 上传限制分钟数 +UPLOAD_MINUTE=1 +# 管理地址 +ADMIN_ADDRESS=admin +# 管理密码 +ADMIN_PASSWORD=admin +# 文件大小限制,默认10MB +FILE_SIZE_LIMIT=10 +# 网站标题 +TITLE=文件快递柜 +# 网站描述 +DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 +# 网站关键词 +KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 +# 存储引擎 +STORAGE_ENGINE=filesystem +``` + +### 服务端部署 + +1. 安装Python3 +2. 拉取代码,解压缩 +3. 安装依赖包:`pip install -r requirements.txt` +4. 运行` uvicorn main:app --host 0.0.0.0 --port 12345` +5. 然后你自己看怎么进程守护吧 + +### 宝塔部署 + +1. 安装宝塔Python Manager +2. 然后你自己看着填吧 + +### Docker部署 +```bash +docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/.env:/app/data --name filecodebox lanol/filecodebox:latest +``` +### Docker自己构建部署 + +```bash +mkdir "/opt/FileCodeBox" +cd "/opt/FileCodeBox" +wget https://github.com/vastsa/FileCodeBox/releases/download/Main/code.zip +unzip code.zip +docker build --file Dockerfile --tag filecodebox . +docker run -d -p 12345:12345 --name filecodebox --volume /opt/FileCodeBox:/app filecodebox +``` + +## 状态 + +![Alt](https://repobeats.axiom.co/api/embed/7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg "Repobeats analytics image") + +## 免责声明 + +本项目开源仅供学习使用,不得用于商业用途以及任何违法用途,否则后果自负,与本人无关。使用请保留项目地址谢谢。 diff --git a/images/img.png b/images/img.png index a548ba7..93f634e 100644 Binary files a/images/img.png and b/images/img.png differ diff --git a/images/img_1.png b/images/img_1.png index ef74c97..ad9941b 100644 Binary files a/images/img_1.png and b/images/img_1.png differ diff --git a/images/img_2.png b/images/img_2.png index a813373..139bae9 100644 Binary files a/images/img_2.png and b/images/img_2.png differ diff --git a/images/img_3.png b/images/img_3.png index b14a1df..ec5f2a0 100644 Binary files a/images/img_3.png and b/images/img_3.png differ diff --git a/images/img_4.png b/images/img_4.png index f430f19..ce6e75c 100644 Binary files a/images/img_4.png and b/images/img_4.png differ diff --git a/images/img_5.png b/images/img_5.png index 5e0f527..e3b92ca 100644 Binary files a/images/img_5.png and b/images/img_5.png differ diff --git a/images/img_6.png b/images/img_6.png new file mode 100644 index 0000000..4928566 Binary files /dev/null and b/images/img_6.png differ diff --git a/images/img_7.png b/images/img_7.png new file mode 100644 index 0000000..ce58058 Binary files /dev/null and b/images/img_7.png differ diff --git a/readme.md b/readme.md index e90edff..2c6041c 100644 --- a/readme.md +++ b/readme.md @@ -1,159 +1,59 @@ -# 文件快递柜 +
+

文件快递柜

+

匿名口令分享文本,文件,像拿快递一样取文件

+
-## 解决问题 - -很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里的软件,这时候,我们就可以使用口令传送箱,像拿快递一样取文件。 +--- ## 主要特色 -- [x] 轻量简洁,Fastapi+sqlite3 -- [x] 拖拽,复制粘贴上传 -- [x] 文件口令传输,生成二维码 -- [x] 分享文件:多种上传方式供你选择 -- [x] 分享文本:直接复制粘贴直接上传 -- [x] 防爆破:错误五次拉黑十分钟 -- [x] 完全匿名:不记录任何信息,无需注册,无需登录 -- [x] Sqlite3数据库:无需安装数据库 -- [x] 可以加get参数code,这样打开就会读取取件码如:http://host?code=12345 -- [x] 管理面板:简单列表页删除违规文件 -- [x] 口令使用次数,口令有效期,二维码分享 +- [x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI +- [x] 轻松上传:复制粘贴,拖拽选择 +- [x] 多种类型:文本,文件 +- [x] 防止爆破:错误次数限制 +- [x] 防止滥用:IP限制上传次数 +- [x] 口令分享:随机口令,存取文件,自定义次数以及有效期 +- [x] 匿名分享:无需注册,无需登录 +- [x] 管理面板:查看所有文件,删除文件 +- [x] 一键部署:docker一键部署 -## 更新记录 -### 2022年12月13日 - -- [x] 完善手机版上传文本 -- [x] 优化Index.html首页 - -### 2022年12月12日 - -- [x] 重写用户登录和 IP 检查并重定义状态码 -- [x] 新增存储引擎统一文件读写 -- [x] 设置PORT - -### 2022年12月11日 - -1. 修复取件不显示码的问题 -2. 修复文件次数为1时,文件被删除的问题 -3. 使用 aiosqlite 驱动异步化数据库操作 -4. 增加定时清理过期文件 -5. 优化部署方式,Docker映射,后续更新直接覆盖代码重启 -6. 优化配置文件,增加配置项 -7. 发布V1.4.5稳定版 - -### 2022年12月10日 - -1. 管理面板已新增,一如既往的极简,只有删除 -2. 二维码图片(调用的网络接口,如果离线环境将无法使用,一切为了极简) -3. 取件码有效期,取件码使用次数 -4. 优化代码逻辑 -5. 限制上传文件大小 -6. 完善配置参数 - -## 系统截图 - -1. 隐藏文件真实地址 - -### 取件 - -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img.png) -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_1.png) +## 预览 ### 寄件 -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_2.png) -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_3.png) + + + + + + + + +
+寄文件 + +寄文本 +
+寄文本 +
-### 管理面板 +### 取件 -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_4.png) -![取件](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_5.png) + + + + + + + + +
+取件 + +取件码错误 +
+取文件 +
-## 部署教程 - -https://www.yuque.com/lxyo/work/zd0kvzy7fofx6w7v - -## 部署方式 - -为持久化,不管怎么样,先第一步,建一个文件夹,然后再下载代码 - -```bash -mkdir /opt/FileCodeBox -cd /opt/FileCodeBox -``` - -新建一个`.env`文件 - -```bash -vi .env -``` - -将下列字段内容替换成你自己的 - -```dotenv -# 端口 -PORT=12345 -# Sqlite数据库文件 -DATABASE_URL=sqlite+aiosqlite:///database.db -# 静态文件夹 -DATA_ROOT=./static -# 静态文件夹URL -STATIC_URL=/static -# 错误次数 -ERROR_COUNT=5 -# 错误限制分钟数 -ERROR_MINUTE=10 -# 上传次数 -UPLOAD_COUNT=60 -# 上传限制分钟数 -UPLOAD_MINUTE=1 -# 管理地址 -ADMIN_ADDRESS=admin -# 管理密码 -ADMIN_PASSWORD=admin -# 文件大小限制,默认10MB -FILE_SIZE_LIMIT=10 -# 网站标题 -TITLE=文件快递柜 -# 网站描述 -DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 -# 网站关键词 -KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 -# 存储引擎 -STORAGE_ENGINE=filesystem -``` - -### 服务端部署 - -1. 安装Python3 -2. 拉取代码,解压缩 -3. 安装依赖包:`pip install -r requirements.txt` -4. 运行` uvicorn main:app --host 0.0.0.0 --port 12345` -5. 然后你自己看怎么进程守护吧 - -### 宝塔部署 - -1. 安装宝塔Python Manager -2. 然后你自己看着填吧 - -### Docker部署 -```bash -docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/.env:/app/data --name filecodebox lanol/filecodebox:latest -``` -### Docker自己构建部署 - -```bash -mkdir "/opt/FileCodeBox" -cd "/opt/FileCodeBox" -wget https://github.com/vastsa/FileCodeBox/releases/download/Main/code.zip -unzip code.zip -docker build --file Dockerfile --tag filecodebox . -docker run -d -p 12345:12345 --name filecodebox --volume /opt/FileCodeBox:/app filecodebox -``` - -## 状态 - -![Alt](https://repobeats.axiom.co/api/embed/7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg "Repobeats analytics image") - -## 免责声明 - -本项目开源仅供学习使用,不得用于商业用途以及任何违法用途,否则后果自负,与本人无关。使用请保留项目地址谢谢。 +### 管理 +![管理](https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_7.png)