8.8 KiB
8.8 KiB
FileCodeBox - 文件快递柜
🚀 更新计划
- 切片上传,同文件秒传,断点续传
- 文件收集功能
📝 项目简介
FileCodeBox 是一个基于 FastAPI + Vue3 开发的轻量级文件分享工具。它允许用户通过简单的方式分享文本和文件,接收者只需要一个提取码就可以取得文件,就像从快递柜取出快递一样简单。
🖼️ 功能预览
别问前端源码怎么是js了,麻烦仔细看下面的内容
新版界面
经典界面
🎯 应用场景
📁 临时文件分享快速分享单个文件,无需注册登录 |
📝 文本快速分享分享代码片段、文本内容等 |
🕶️ 匿名文件传输保护隐私的文件传输方式 |
💾 临时文件存储支持设置过期时间的文件存储 |
🔄 跨平台传输在不同设备间快速传输文件 |
🌐 小型分享服务搭建私有的文件分享服务 |
✨ 核心特性
🚀 轻量简洁基于 FastAPI + SQLite3 + Vue3 + ElementUI,部署简单,性能出色 |
📤 便捷上传支持复制粘贴、拖拽上传,操作简单直观 |
📦 多种类型支持文本和各类文件的分享 |
🔒 安全机制
|
🎫 提取码分享随机提取码,可自定义次数及有效期 |
🌍 多语言支持支持中文简体、繁体及英文 |
🎭 匿名分享无需注册登录,保护隐私 |
🛠 管理面板文件管理和系统配置 |
🐳 容器部署支持 Docker 一键部署 |
💾 存储扩展支持本地存储、S3 协议、OneDrive 等 |
📱 响应式设计支持移动端访问 |
💻 终端支持支持命令行下载 |
🚀 快速开始
Docker 部署
Docker CLI
docker run -d --restart=always -p 12345:12345 -v /opt/FileCodeBox/:/app/data --name filecodebox lanol/filecodebox:beta
Docker Compose
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和代理请求:
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;
}
手动部署
- 克隆项目
git clone https://github.com/vastsa/FileCodeBox.git
- 安装依赖
cd FileCodeBox
pip install -r requirements.txt
- 启动服务
python main.py
📖 使用说明
分享文件
- 打开网页,点击"分享文件"
- 选择或拖拽文件
- 设置过期时间和次数
- 获取提取码
获取文件
- 打开网页,输入提取码
- 点击获取
- 下载文件或查看文本
管理面板
- 访问
/#/admin - 输入管理员密码
FileCodeBox2023 - 管理文件和配置
🛠 开发指南
项目结构
FileCodeBox/
├── apps/ # 应用代码
│ ├── admin/ # 管理后台
│ └── base/ # 基础功能
├── core/ # 核心功能
├── data/ # 数据目录
└── fcb-fronted/ # 前端代码
开发环境
- Python 3.8+
- Node.js 14+
- Vue 3
- FastAPI
本地开发
- 后端开发
python main.py
- 前端开发
cd fcb-fronted
npm install
npm run dev
🤝 贡献指南
- Fork 本项目
- 创建新分支
git checkout -b feature/xxx - 提交更改
git commit -m 'Add xxx' - 推送到分支
git push origin feature/xxx - 提交 Pull Request
❓ 常见问题
Q: 如何修改上传大小限制?
A: 在管理面板中修改配置项 uploadSize
Q: 如何配置存储引擎?
A: 在管理面板中选择存储引擎并配置相应参数
Q: 如何备份数据?
A: 备份 data 目录即可
更多问题请访问 Wiki
📊 项目统计
📜 免责声明
本项目开源仅供学习使用,不得用于任何违法用途,否则后果自负,与作者无关。使用时请保留项目地址和版权信息。














