|
1 | | -# 文件快递柜 |
| 1 | +<div style="text-align: center"> |
| 2 | +<h1>文件快递柜</h1> |
| 3 | +<p><em>匿名口令分享文本,文件,像拿快递一样取文件</em></p> |
| 4 | +</div> |
2 | 5 |
|
3 | | -## 解决问题 |
4 | | - |
5 | | -很多时候,我们都想将一些文件或文本传送给别人,或者跨端传递一些信息,但是我们又不想为了分享,而去下载一些七里八里的软件,这时候,我们就可以使用口令传送箱,像拿快递一样取文件。 |
| 6 | +--- |
6 | 7 |
|
7 | 8 | ## 主要特色 |
8 | 9 |
|
9 | | -- [x] 轻量简洁,Fastapi+sqlite3 |
10 | | -- [x] 拖拽,复制粘贴上传 |
11 | | -- [x] 文件口令传输,生成二维码 |
12 | | -- [x] 分享文件:多种上传方式供你选择 |
13 | | -- [x] 分享文本:直接复制粘贴直接上传 |
14 | | -- [x] 防爆破:错误五次拉黑十分钟 |
15 | | -- [x] 完全匿名:不记录任何信息,无需注册,无需登录 |
16 | | -- [x] Sqlite3数据库:无需安装数据库 |
17 | | -- [x] 可以加get参数code,这样打开就会读取取件码如:http://host?code=12345 |
18 | | -- [x] 管理面板:简单列表页删除违规文件 |
19 | | -- [x] 口令使用次数,口令有效期,二维码分享 |
20 | | - |
21 | | -## 更新记录 |
22 | | -### 2022年12月13日 |
23 | | - |
24 | | -- [x] 完善手机版上传文本 |
25 | | -- [x] 优化Index.html首页 |
26 | | - |
27 | | -### 2022年12月12日 |
28 | | - |
29 | | -- [x] 重写用户登录和 IP 检查并重定义状态码 |
30 | | -- [x] 新增存储引擎统一文件读写 |
31 | | -- [x] 设置PORT |
32 | | - |
33 | | -### 2022年12月11日 |
34 | | - |
35 | | -1. 修复取件不显示码的问题 |
36 | | -2. 修复文件次数为1时,文件被删除的问题 |
37 | | -3. 使用 aiosqlite 驱动异步化数据库操作 |
38 | | -4. 增加定时清理过期文件 |
39 | | -5. 优化部署方式,Docker映射,后续更新直接覆盖代码重启 |
40 | | -6. 优化配置文件,增加配置项 |
41 | | -7. 发布V1.4.5稳定版 |
42 | | - |
43 | | -### 2022年12月10日 |
44 | | - |
45 | | -1. 管理面板已新增,一如既往的极简,只有删除 |
46 | | -2. 二维码图片(调用的网络接口,如果离线环境将无法使用,一切为了极简) |
47 | | -3. 取件码有效期,取件码使用次数 |
48 | | -4. 优化代码逻辑 |
49 | | -5. 限制上传文件大小 |
50 | | -6. 完善配置参数 |
| 10 | +- [x] 轻量简洁:Fastapi+Sqlite3+Vue2+ElementUI |
| 11 | +- [x] 轻松上传:复制粘贴,拖拽选择 |
| 12 | +- [x] 多种类型:文本,文件 |
| 13 | +- [x] 防止爆破:错误次数限制 |
| 14 | +- [x] 防止滥用:IP限制上传次数 |
| 15 | +- [x] 口令分享:随机口令,存取文件,自定义次数以及有效期 |
| 16 | +- [x] 匿名分享:无需注册,无需登录 |
| 17 | +- [x] 管理面板:查看所有文件,删除文件 |
| 18 | +- [x] 一键部署:docker一键部署 |
51 | 19 |
|
52 | | -## 系统截图 |
53 | | - |
54 | | -1. 隐藏文件真实地址 |
55 | | - |
56 | | -### 取件 |
57 | | - |
58 | | - |
59 | | - |
| 20 | +## 预览 |
60 | 21 |
|
61 | 22 | ### 寄件 |
62 | 23 |
|
63 | | - |
64 | | - |
65 | | - |
66 | | -### 管理面板 |
67 | | - |
68 | | - |
69 | | - |
70 | | - |
71 | | -## 部署教程 |
72 | | - |
73 | | -https://www.yuque.com/lxyo/work/zd0kvzy7fofx6w7v |
| 24 | +<table style="width: 100%"> |
| 25 | +<tr style="width: 100%"> |
| 26 | +<td style="width: 50%"> |
| 27 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_1.png" alt="寄文件"> |
| 28 | +</td> |
| 29 | +<td style="width: 50%"> |
| 30 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_2.png" alt="寄文本"> |
| 31 | +</td> |
| 32 | +</tr> |
| 33 | +<tr style="width: 100%;"> |
| 34 | +<td colspan="2" style="width: 100%;"> |
| 35 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_3.png" alt="寄文本"> |
| 36 | +</td> |
| 37 | +</tr> |
| 38 | +</table> |
74 | 39 |
|
75 | | -## 部署方式 |
76 | | - |
77 | | -为持久化,不管怎么样,先第一步,建一个文件夹,然后再下载代码 |
78 | | - |
79 | | -```bash |
80 | | -mkdir /opt/FileCodeBox |
81 | | -cd /opt/FileCodeBox |
82 | | -``` |
83 | | - |
84 | | -新建一个`.env`文件 |
85 | | - |
86 | | -```bash |
87 | | -vi .env |
88 | | -``` |
89 | | - |
90 | | -将下列字段内容替换成你自己的 |
91 | | - |
92 | | -```dotenv |
93 | | -# 端口 |
94 | | -PORT=12345 |
95 | | -# Sqlite数据库文件 |
96 | | -DATABASE_URL=sqlite+aiosqlite:///database.db |
97 | | -# 静态文件夹 |
98 | | -DATA_ROOT=./static |
99 | | -# 静态文件夹URL |
100 | | -STATIC_URL=/static |
101 | | -# 错误次数 |
102 | | -ERROR_COUNT=5 |
103 | | -# 错误限制分钟数 |
104 | | -ERROR_MINUTE=10 |
105 | | -# 上传次数 |
106 | | -UPLOAD_COUNT=60 |
107 | | -# 上传限制分钟数 |
108 | | -UPLOAD_MINUTE=1 |
109 | | -# 管理地址 |
110 | | -ADMIN_ADDRESS=admin |
111 | | -# 管理密码 |
112 | | -ADMIN_PASSWORD=admin |
113 | | -# 文件大小限制,默认10MB |
114 | | -FILE_SIZE_LIMIT=10 |
115 | | -# 网站标题 |
116 | | -TITLE=文件快递柜 |
117 | | -# 网站描述 |
118 | | -DESCRIPTION=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 |
119 | | -# 网站关键词 |
120 | | -KEYWORDS=FileCodeBox,文件快递柜,口令传送箱,匿名口令分享文本,文件,图片,视频,音频,压缩包等文件 |
121 | | -# 存储引擎 |
122 | | -STORAGE_ENGINE=filesystem |
123 | | -``` |
124 | | - |
125 | | -### 服务端部署 |
126 | | - |
127 | | -1. 安装Python3 |
128 | | -2. 拉取代码,解压缩 |
129 | | -3. 安装依赖包:`pip install -r requirements.txt` |
130 | | -4. 运行` uvicorn main:app --host 0.0.0.0 --port 12345` |
131 | | -5. 然后你自己看怎么进程守护吧 |
132 | | - |
133 | | -### 宝塔部署 |
134 | | - |
135 | | -1. 安装宝塔Python Manager |
136 | | -2. 然后你自己看着填吧 |
137 | | - |
138 | | -### Docker部署 |
139 | | -```bash |
140 | | -docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/.env:/app/data --name filecodebox lanol/filecodebox:latest |
141 | | -``` |
142 | | -### Docker自己构建部署 |
143 | | - |
144 | | -```bash |
145 | | -mkdir "/opt/FileCodeBox" |
146 | | -cd "/opt/FileCodeBox" |
147 | | -wget https://github.com/vastsa/FileCodeBox/releases/download/Main/code.zip |
148 | | -unzip code.zip |
149 | | -docker build --file Dockerfile --tag filecodebox . |
150 | | -docker run -d -p 12345:12345 --name filecodebox --volume /opt/FileCodeBox:/app filecodebox |
151 | | -``` |
152 | | - |
153 | | -## 状态 |
154 | | - |
155 | | - |
156 | | - |
157 | | -## 免责声明 |
| 40 | +### 取件 |
158 | 41 |
|
159 | | -本项目开源仅供学习使用,不得用于商业用途以及任何违法用途,否则后果自负,与本人无关。使用请保留项目地址谢谢。 |
| 42 | +<table style="width: 100%"> |
| 43 | +<tr style="width: 100%"> |
| 44 | +<td style="width: 50%"> |
| 45 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_6.png" alt="取件"> |
| 46 | +</td> |
| 47 | +<td style="width: 50%"> |
| 48 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_5.png" alt="取件码错误"> |
| 49 | +</td> |
| 50 | +</tr> |
| 51 | +<tr style="width: 100%;"> |
| 52 | +<td colspan="2" style="width: 100%;"> |
| 53 | +<img src="https://raw.githubusercontent.com/vastsa/FileCodeBox/master/images/img_4.png" alt="取文件"> |
| 54 | +</td> |
| 55 | +</tr> |
| 56 | +</table> |
| 57 | + |
| 58 | +### 管理 |
| 59 | + |
0 commit comments