Skip to content

Commit

Permalink
feat: update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
vastsa committed Jan 26, 2025
1 parent 3592db0 commit c0c1438
Show file tree
Hide file tree
Showing 2 changed files with 531 additions and 106 deletions.
324 changes: 261 additions & 63 deletions readme.md
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>
&nbsp;&nbsp;&nbsp;
<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>

## 免责声明
## 📜 免责声明

本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与本人无关。使用请保留项目地址,谢谢
本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与作者无关。使用时请保留项目地址和版权信息
Loading

0 comments on commit c0c1438

Please sign in to comment.