# FileCodeBox
**Repository Path**: mirrors/FileCodeBox
## Basic Information
- **Project Name**: FileCodeBox
- **Description**: FileCodeBox 是一个轻量级文件快递柜,用户以匿名口令分享文本、文件,像拿快递一样取文件
- **Primary Language**: Python
- **License**: LGPL-3.0
- **Default Branch**: master
- **Homepage**: https://www.oschina.net/p/filecodebox
- **GVP Project**: No
## Statistics
- **Stars**: 47
- **Forks**: 11
- **Created**: 2022-12-20
- **Last Updated**: 2025-07-03
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# FileCodeBox - 文件快递柜
匿名口令分享文本和文件,像拿快递一样取文件
[](https://github.com/vastsa/FileCodeBox/stargazers)
[](https://github.com/vastsa/FileCodeBox/network)
[](https://github.com/vastsa/FileCodeBox/issues)
[](https://github.com/vastsa/FileCodeBox/blob/master/LICENSE)
[](https://qm.qq.com/q/PemPzhdEIM)
[](https://www.python.org)
[](https://fastapi.tiangolo.com)
[](https://v3.vuejs.org)
[English](./readme_en.md) | [部署教程](https://github.com/vastsa/FileCodeBox/wiki/部署教程) | [常见问题](https://github.com/vastsa/FileCodeBox/wiki/常见问题)
## 🚀 更新计划
- [ ] 切片上传,同文件秒传,断点续传
- [ ] 文件收集功能
## 📝 项目简介
FileCodeBox 是一个基于 FastAPI + Vue3 开发的轻量级文件分享工具。它允许用户通过简单的方式分享文本和文件,接收者只需要一个提取码就可以取得文件,就像从快递柜取出快递一样简单。
## 🖼️ 功能预览
别问前端源码怎么是js了,麻烦仔细看下面的内容
### 新版界面
### 经典界面
## 🎯 应用场景
📁 临时文件分享
快速分享单个文件,无需注册登录
|
📝 文本快速分享
分享代码片段、文本内容等
|
🕶️ 匿名文件传输
保护隐私的文件传输方式
|
💾 临时文件存储
支持设置过期时间的文件存储
|
🔄 跨平台传输
在不同设备间快速传输文件
|
🌐 小型分享服务
搭建私有的文件分享服务
|
## ✨ 核心特性
🚀 轻量简洁
基于 FastAPI + SQLite3 + Vue3 + ElementUI,部署简单,性能出色
|
📤 便捷上传
支持复制粘贴、拖拽上传,操作简单直观
|
📦 多种类型
支持文本和各类文件的分享
|
🔒 安全机制
- IP 限制上传次数
- 错误次数限制
- 文件过期机制
|
🎫 提取码分享
随机提取码,可自定义次数及有效期
|
🌍 多语言支持
支持中文简体、繁体及英文
|
🎭 匿名分享
无需注册登录,保护隐私
|
🛠 管理面板
文件管理和系统配置
|
🐳 容器部署
支持 Docker 一键部署
|
💾 存储扩展
支持本地存储、S3 协议、OneDrive 等
|
📱 响应式设计
支持移动端访问
|
💻 终端支持
支持命令行下载
|
## 🚀 快速开始
### Docker 部署
#### Docker CLI
```bash
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta
```
#### Docker Compose
```yml
version: "3"
services:
file-code-box:
image: lanol/filecodebox:latest
volumes:
- fcb-data:/app/data:rw
restart: unless-stopped
ports:
- "12345:12345"
volumes:
fcb-data:
external: false
```
### 配置反向代理(Nginx示例)
请注意,必须添加以下配置来确保正确处理客户端IP和代理请求:
```nginx
location / {
proxy_set_header X-Real-IP $remote_addr; # 设置真实客户端IP
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://localhost:12345;
}
```
### 手动部署
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. 输入管理员密码 `FileCodeBox2023`
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/常见问题)
## 📊 项目统计


[](https://star-history.com/#vastsa/FileCodeBox&Date)
## 📜 免责声明
本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与作者无关。使用时请保留项目地址和版权信息。