-
-
Notifications
You must be signed in to change notification settings - Fork 609
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
2 changed files
with
531 additions
and
106 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,92 +1,290 @@ | ||
![banner](https://fastly.jsdelivr.net/gh/vastsa/FileCodeBox@V1.6/static/banners/img_1.png) | ||
# FileCodeBox - 文件快递柜 | ||
|
||
<div align="center"> | ||
<h1>文件快递柜-轻量</h1> | ||
<p><em>匿名口令分享文本,文件,像拿快递一样取文件</em></p> | ||
<p>交流Q群:739673698</p> | ||
|
||
<img src="https://fastly.jsdelivr.net/gh/vastsa/[email protected]/static/banners/img_1.png" alt="FileCodeBox Logo"> | ||
|
||
<p><em>匿名口令分享文本和文件,像拿快递一样取文件</em></p> | ||
|
||
[![GitHub stars](https://img.shields.io/github/stars/vastsa/FileCodeBox)](https://github.com/vastsa/FileCodeBox/stargazers) | ||
[![GitHub forks](https://img.shields.io/github/forks/vastsa/FileCodeBox)](https://github.com/vastsa/FileCodeBox/network) | ||
[![GitHub issues](https://img.shields.io/github/issues/vastsa/FileCodeBox)](https://github.com/vastsa/FileCodeBox/issues) | ||
[![GitHub license](https://img.shields.io/github/license/vastsa/FileCodeBox)](https://github.com/vastsa/FileCodeBox/blob/master/LICENSE) | ||
[![QQ Group](https://img.shields.io/badge/QQ%20Group-739673698-blue.svg)](https://qm.qq.com/cgi-bin/qm/qr?k=eMXxqKZBrwjWYgPgpBjhQ8-q8_eK-BoR&jump_from=webapi&authKey=6vXVaJ3nXgEVoQzV9OFX+XvRyPJhJd7l9QQhBkZz+qBk1YYqxUXyqBuPL4WLkjMj) | ||
[![Python Version](https://img.shields.io/badge/Python-3.8+-blue.svg)](https://www.python.org) | ||
[![FastAPI](https://img.shields.io/badge/FastAPI-0.68+-green.svg)](https://fastapi.tiangolo.com) | ||
[![Vue Version](https://img.shields.io/badge/Vue.js-3.x-brightgreen.svg)](https://v3.vuejs.org) | ||
|
||
[English](./readme_en.md) | [部署教程](https://github.com/vastsa/FileCodeBox/wiki/部署教程) | [常见问题](https://github.com/vastsa/FileCodeBox/wiki/常见问题) | ||
|
||
</div> | ||
|
||
## 📝 项目简介 | ||
|
||
--- | ||
FileCodeBox 是一个基于 FastAPI + Vue3 开发的轻量级文件分享工具。它允许用户通过简单的方式分享文本和文件,接收者只需要一个提取码就可以取得文件,就像从快递柜取出快递一样简单。 | ||
|
||
## 🖼️ 功能预览 | ||
|
||
<div align="center" style="text-align: center;margin: 20px"> | ||
<a href="./readme.md">简体中文</a> | | ||
<a href="./readme_en.md">English</a> | | ||
<a href="https://github.com/vastsa/FileCodeBox/wiki/%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B">部署教程</a> | | ||
<a href="https://github.com/vastsa/FileCodeBox/wiki/%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B">常见问题</a> | ||
<div align="center"> | ||
<h3> | ||
<a href="https://github.com/vastsa/FileCodeBoxFronted" target="_blank"> | ||
<img src="https://img.shields.io/badge/Frontend-FileCodeBoxFronted-blue?style=for-the-badge&logo=github" alt="前端仓库"> | ||
</a> | ||
| ||
<a href="https://share.lanol.cn" target="_blank"> | ||
<img src="https://img.shields.io/badge/Demo-share.lanol.cn-green?style=for-the-badge&logo=internet-explorer" alt="演示站点"> | ||
</a> | ||
</h3> | ||
</div> | ||
|
||
## 新版预览 | ||
前端开源地址:https://github.com/vastsa/FileCodeBoxFronted | ||
### 新版界面 | ||
<div align="center"> | ||
<table> | ||
<tr> | ||
<td><img src="./.github/images/img_7.png" alt="文件上传" title="文件上传界面"></td> | ||
<td><img src="./.github/images/img_8.png" alt="文本分享" title="文本分享界面"></td> | ||
</tr> | ||
<tr> | ||
<td><img src="./.github/images/img_10.png" alt="文件管理" title="文件管理界面"></td> | ||
<td><img src="./.github/images/img_9.png" alt="系统设置" title="系统设置界面"></td> | ||
</tr> | ||
<tr> | ||
<td><img src="./.github/images/img_11.png" alt="移动端" title="移动端界面"></td> | ||
<td><img src="./.github/images/img_12.png" alt="深色模式" title="深色模式界面"></td> | ||
</tr> | ||
<tr> | ||
<td><img src="./.github/images/img_13.png" alt="国际化" title="国际化支持"></td> | ||
<td><img src="./.github/images/img_14.png" alt="响应式" title="响应式设计"></td> | ||
</tr> | ||
</table> | ||
</div> | ||
|
||
预览:share.lanol.cn | ||
<table style="width:100%"> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_7.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_8.png" alt="寄文件"></td> | ||
### 经典界面 | ||
<div align="center"> | ||
<table> | ||
<tr> | ||
<td><img src="./.github/images/img.png" alt="首页" title="首页界面"></td> | ||
<td><img src="./.github/images/img_1.png" alt="上传" title="上传界面"></td> | ||
</tr> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_10.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_9.png" alt="寄文件"></td> | ||
<tr> | ||
<td><img src="./.github/images/img_2.png" alt="管理" title="管理界面"></td> | ||
<td><img src="./.github/images/img_3.png" alt="设置" title="设置界面"></td> | ||
</tr> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_11.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_12.png" alt="寄文件"></td> | ||
<tr> | ||
<td><img src="./.github/images/img_4.png" alt="分享" title="分享界面"></td> | ||
<td><img src="./.github/images/img_5.png" alt="下载" title="下载界面"></td> | ||
</tr> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_13.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_14.png" alt="寄文件"></td> | ||
</table> | ||
</div> | ||
|
||
## 🎯 应用场景 | ||
|
||
<table> | ||
<tr> | ||
<td align="center"> | ||
<h4>📁 临时文件分享</h4> | ||
快速分享单个文件,无需注册登录 | ||
</td> | ||
<td align="center"> | ||
<h4>📝 文本快速分享</h4> | ||
分享代码片段、文本内容等 | ||
</td> | ||
<td align="center"> | ||
<h4>🕶️ 匿名文件传输</h4> | ||
保护隐私的文件传输方式 | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center"> | ||
<h4>💾 临时文件存储</h4> | ||
支持设置过期时间的文件存储 | ||
</td> | ||
<td align="center"> | ||
<h4>🔄 跨平台传输</h4> | ||
在不同设备间快速传输文件 | ||
</td> | ||
<td align="center"> | ||
<h4>🌐 小型分享服务</h4> | ||
搭建私有的文件分享服务 | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
## 部分截图 | ||
## ✨ 核心特性 | ||
|
||
<table> | ||
<tr> | ||
<td align="center"> | ||
<h4>🚀 轻量简洁</h4> | ||
基于 FastAPI + SQLite3 + Vue3 + ElementUI,部署简单,性能出色 | ||
</td> | ||
<td align="center"> | ||
<h4>📤 便捷上传</h4> | ||
支持复制粘贴、拖拽上传,操作简单直观 | ||
</td> | ||
<td align="center"> | ||
<h4>📦 多种类型</h4> | ||
支持文本和各类文件的分享 | ||
</td> | ||
</tr> | ||
<tr> | ||
<td align="center"> | ||
<h4>🔒 安全机制</h4> | ||
|
||
<table style="width:100%"> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_1.png" alt="寄文件"></td> | ||
- IP 限制上传次数 | ||
- 错误次数限制 | ||
- 文件过期机制 | ||
</td> | ||
<td align="center"> | ||
<h4>🎫 提取码分享</h4> | ||
随机提取码,可自定义次数及有效期 | ||
</td> | ||
<td align="center"> | ||
<h4>🌍 多语言支持</h4> | ||
支持中文简体、繁体及英文 | ||
</td> | ||
</tr> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_2.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_3.png" alt="寄文件"></td> | ||
<tr> | ||
<td align="center"> | ||
<h4>🎭 匿名分享</h4> | ||
无需注册登录,保护隐私 | ||
</td> | ||
<td align="center"> | ||
<h4>🛠 管理面板</h4> | ||
文件管理和系统配置 | ||
</td> | ||
<td align="center"> | ||
<h4>🐳 容器部署</h4> | ||
支持 Docker 一键部署 | ||
</td> | ||
</tr> | ||
<tr style="width: 100%"> | ||
<td style="width: 50%"><img src="./.github/images/img_4.png" alt="寄文件"></td> | ||
<td style="width: 50%"><img src="./.github/images/img_5.png" alt="寄文件"></td> | ||
<tr> | ||
<td align="center"> | ||
<h4>💾 存储扩展</h4> | ||
支持本地存储、S3 协议、OneDrive 等 | ||
</td> | ||
<td align="center"> | ||
<h4>📱 响应式设计</h4> | ||
支持移动端访问 | ||
</td> | ||
<td align="center"> | ||
<h4>💻 终端支持</h4> | ||
支持命令行下载 | ||
</td> | ||
</tr> | ||
</table> | ||
|
||
## 主要特色 | ||
|
||
- [x] **轻量简洁:** 项目基于Fastapi + Sqlite3 + Vue3 + ElementUI | ||
- [x] **轻松上传:** 支持复制粘贴和拖拽选择 | ||
- [x] **多种类型:** 支持文本和文件 | ||
- [x] **防止爆破:** 错误次数限制 | ||
- [x] **防止滥用:** IP限制上传次数 | ||
- [x] **口令分享:** 随机口令,存取文件,自定义次数及有效期 | ||
- [x] **国际化:** 支持中文简体、繁体以及英文等 | ||
- [x] **匿名分享:** 无需注册,无需登录 | ||
- [x] **管理面板:** 查看和删除文件 | ||
- [x] **一键部署:** 支持Docker一键部署 | ||
- [x] **自由拓展:** 支持S3协议和本地文件流,可根据需求在storage文件中新增存储引擎 | ||
- [x] **简单明了:** 适合新手练手项目 | ||
- [x] **终端下载:** 终端命令`wget https://share.lanol.cn/share/select?code=83432` | ||
|
||
## Badges | ||
<div align="center"> | ||
<a href="https://hellogithub.com/repository/75ad7ffedd404a6485b4d621ec5b47e6" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=75ad7ffedd404a6485b4d621ec5b47e6&claim_uid=beSz6INEkCM4mDH" alt="Featured|HelloGitHub" style="width: 250px; height: 54px;" width="250" height="54" /></a> | ||
</div> | ||
## 🚀 快速开始 | ||
|
||
## 状态 | ||
### Docker 部署 | ||
|
||
![Alt](https://repobeats.axiom.co/api/embed/7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg "Repobeats analytics image") | ||
```bash | ||
docker run -d --name filecode \ | ||
-p 12345:12345 \ | ||
-v /opt/filecode:/app/data \ | ||
--restart=always \ | ||
vastsa/filecode | ||
``` | ||
|
||
## Star History | ||
### 手动部署 | ||
|
||
[![Star History Chart](https://api.star-history.com/svg?repos=vastsa/FileCodeBox&type=Date)](https://star-history.com/#vastsa/FileCodeBox&Date) | ||
1. 克隆项目 | ||
```bash | ||
git clone https://github.com/vastsa/FileCodeBox.git | ||
``` | ||
|
||
2. 安装依赖 | ||
```bash | ||
cd FileCodeBox | ||
pip install -r requirements.txt | ||
``` | ||
|
||
3. 启动服务 | ||
```bash | ||
python main.py | ||
``` | ||
|
||
## 📖 使用说明 | ||
|
||
### 分享文件 | ||
1. 打开网页,点击"分享文件" | ||
2. 选择或拖拽文件 | ||
3. 设置过期时间和次数 | ||
4. 获取提取码 | ||
|
||
### 获取文件 | ||
1. 打开网页,输入提取码 | ||
2. 点击获取 | ||
3. 下载文件或查看文本 | ||
|
||
### 管理面板 | ||
1. 访问 `/admin` | ||
2. 输入管理员密码 | ||
3. 管理文件和配置 | ||
|
||
## 🛠 开发指南 | ||
|
||
### 项目结构 | ||
``` | ||
FileCodeBox/ | ||
├── apps/ # 应用代码 | ||
│ ├── admin/ # 管理后台 | ||
│ └── base/ # 基础功能 | ||
├── core/ # 核心功能 | ||
├── data/ # 数据目录 | ||
└── fcb-fronted/ # 前端代码 | ||
``` | ||
|
||
### 开发环境 | ||
- Python 3.8+ | ||
- Node.js 14+ | ||
- Vue 3 | ||
- FastAPI | ||
|
||
### 本地开发 | ||
1. 后端开发 | ||
```bash | ||
python main.py | ||
``` | ||
|
||
2. 前端开发 | ||
```bash | ||
cd fcb-fronted | ||
npm install | ||
npm run dev | ||
``` | ||
|
||
## 🤝 贡献指南 | ||
|
||
1. Fork 本项目 | ||
2. 创建新分支 `git checkout -b feature/xxx` | ||
3. 提交更改 `git commit -m 'Add xxx'` | ||
4. 推送到分支 `git push origin feature/xxx` | ||
5. 提交 Pull Request | ||
|
||
## ❓ 常见问题 | ||
|
||
### Q: 如何修改上传大小限制? | ||
A: 在管理面板中修改配置项 `uploadSize` | ||
|
||
### Q: 如何配置存储引擎? | ||
A: 在管理面板中选择存储引擎并配置相应参数 | ||
|
||
### Q: 如何备份数据? | ||
A: 备份 `data` 目录即可 | ||
|
||
更多问题请访问 [Wiki](https://github.com/vastsa/FileCodeBox/wiki/常见问题) | ||
|
||
## 📊 项目统计 | ||
|
||
<div align="center"> | ||
<a href="https://hellogithub.com/repository/75ad7ffedd404a6485b4d621ec5b47e6" target="_blank"><img src="https://api.hellogithub.com/v1/widgets/recommend.svg?rid=75ad7ffedd404a6485b4d621ec5b47e6&claim_uid=beSz6INEkCM4mDH" alt="Featured|HelloGitHub" style="width: 200px; height: 45px;" width="200" height="45" /></a> | ||
|
||
![Repobeats](https://repobeats.axiom.co/api/embed/7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg) | ||
|
||
[![Star History](https://api.star-history.com/svg?repos=vastsa/FileCodeBox&type=Date)](https://star-history.com/#vastsa/FileCodeBox&Date) | ||
</div> | ||
|
||
## 免责声明 | ||
## 📜 免责声明 | ||
|
||
本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与本人无关。使用请保留项目地址,谢谢。 | ||
本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与作者无关。使用时请保留项目地址和版权信息。 |
Oops, something went wrong.