[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-10050":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":33,"readmeContent":34,"aiSummary":35,"trendingCount":16,"starSnapshotCount":16,"syncStatus":36,"lastSyncTime":37,"discoverSource":38},10050,"FileCodeBox","vastsa\u002FFileCodeBox","vastsa","文件快递柜-匿名口令分享文本，文件，像拿快递一样取文件（FileCodeBox - File Express Cabinet - Anonymous Passcode Sharing Text, Files, Like Taking Express Delivery for Files）","https:\u002F\u002Ffcb-docs.aiuo.net\u002F",null,"Python",8329,1037,34,13,0,5,21,77,19,40.05,"GNU Lesser General Public License v3.0",false,"master",true,[27,28,29,30,31,32],"anonymous","fastapi","filecodebox","python","tool","vue","2026-06-12 02:02:16","\u003Cdiv align=\"center\">\n\n# FileCodeBox\n\n### 文件快递柜 - 匿名口令分享文本和文件\n\n\u003Cimg src=\"https:\u002F\u002Ffastly.jsdelivr.net\u002Fgh\u002Fvastsa\u002FFileCodeBox@V1.6\u002Fstatic\u002Fbanners\u002Fimg_1.png\" alt=\"FileCodeBox Logo\" width=\"400\">\n\n像拿快递一样取文件，无需注册，输入口令即可获取\n\n[![GitHub stars](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fvastsa\u002FFileCodeBox?style=flat-square&logo=github)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fstargazers)\n[![GitHub forks](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fforks\u002Fvastsa\u002FFileCodeBox?style=flat-square&logo=github)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fnetwork)\n[![GitHub issues](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fissues\u002Fvastsa\u002FFileCodeBox?style=flat-square&logo=github)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fissues)\n[![GitHub license](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002Fvastsa\u002FFileCodeBox?style=flat-square)](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fblob\u002Fmaster\u002FLICENSE)\n[![Docker Pulls](https:\u002F\u002Fimg.shields.io\u002Fdocker\u002Fpulls\u002Flanol\u002Ffilecodebox?style=flat-square&logo=docker)](https:\u002F\u002Fhub.docker.com\u002Fr\u002Flanol\u002Ffilecodebox)\n\n[![Python](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FPython-3.8+-3776AB?style=flat-square&logo=python&logoColor=white)](https:\u002F\u002Fwww.python.org)\n[![FastAPI](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FFastAPI-0.68+-009688?style=flat-square&logo=fastapi&logoColor=white)](https:\u002F\u002Ffastapi.tiangolo.com)\n[![Vue.js](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FVue.js-3.x-4FC08D?style=flat-square&logo=vue.js&logoColor=white)](https:\u002F\u002Fvuejs.org)\n\n[English](.\u002Freadme_en.md) | [在线演示](https:\u002F\u002Fshare.lanol.cn) | [部署教程](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fwiki\u002F部署教程) | [常见问题](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fwiki\u002F常见问题) | [QQ群: 739673698](https:\u002F\u002Fqm.qq.com\u002Fq\u002FPemPzhdEIM)\n\n```bash\n# 🚀 一键部署\ndocker run -d -p 12345:12345 -v \u002Fopt\u002FFileCodeBox:\u002Fapp\u002Fdata --name filecodebox lanol\u002Ffilecodebox:latest\n# 国内镜像（如果上面拉取缓慢）: docker.cnb.cool\u002Faixk\u002Ffilecodebox\n```\n\n\u003C\u002Fdiv>\n\n---\n\n## 目录\n\n- [项目简介](#-项目简介)\n- [功能特性](#-功能特性)\n- [界面预览](#-界面预览)\n- [快速开始](#-快速开始)\n- [使用指南](#-使用指南)\n- [开发指南](#-开发指南)\n- [常见问题](#-常见问题)\n- [贡献指南](#-贡献指南)\n- [项目统计](#-项目统计)\n- [免责声明](#-免责声明)\n\n---\n\n## 📝 项目简介\n\nFileCodeBox 是一个轻量级的文件分享工具，基于 **FastAPI + Vue3** 开发。用户可以通过简单的方式匿名分享文本和文件，接收者只需输入提取码即可获取内容——就像从快递柜取出快递一样简单。\n\n### 应用场景\n\n| 场景 | 描述 |\n|------|------|\n| 📁 **临时文件分享** | 快速分享文件，无需注册登录 |\n| 📝 **代码片段分享** | 分享代码、配置文件等文本内容 |\n| 🕶️ **匿名文件传输** | 保护隐私的点对点传输 |\n| 🔄 **跨设备传输** | 在不同设备间快速同步文件 |\n| 💾 **临时存储** | 支持自定义过期时间的云存储 |\n| 🌐 **私有服务** | 搭建企业或个人专属分享服务 |\n\n---\n\n## ✨ 功能特性\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 🚀 轻量高效\n- FastAPI + SQLite3 后端\n- Vue3 + Element Plus 前端\n- Docker 一键部署\n- 资源占用极低\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 🔒 安全可靠\n- IP 上传频率限制\n- 提取码错误次数限制\n- 文件自动过期清理\n- 支持管理员认证\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 📤 便捷上传\n- 拖拽上传\n- 复制粘贴上传\n- 命令行 curl 上传\n- 批量文件上传\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 🎫 灵活分享\n- 随机\u002F自定义提取码\n- 可设置有效期（时间\u002F次数）\n- 支持永久有效\n- 文本和文件统一管理\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 💾 多存储支持\n- 本地文件系统\n- S3 兼容存储\n- [OneDrive](.\u002Fdocs\u002Fguide\u002Fstorage-onedrive.md)\n- [OpenDAL](.\u002Fdocs\u002Fguide\u002Fstorage-opendal.md)\n\n\u003C\u002Ftd>\n\u003Ctd width=\"33%\" valign=\"top\">\n\n### 🌍 国际化\n- 简体中文\n- 繁体中文\n- English\n- 响应式设计 \u002F 深色模式\n\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n---\n\n## 🖼️ 界面预览\n\n> 前端源码仓库：[2024主题](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBoxFronted) | [2023主题](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBoxFronted2023)\n\n\u003Cdetails open>\n\u003Csummary>\u003Cb>🎨 新版界面 (2024)\u003C\u002Fb>\u003C\u002Fsummary>\n\u003Cbr>\n\u003Cdiv align=\"center\">\n\u003Ctable>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_7.png\" alt=\"文件上传\">\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_8.png\" alt=\"文本分享\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_10.png\" alt=\"文件管理\">\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_9.png\" alt=\"系统设置\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_11.png\" alt=\"移动端\">\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_12.png\" alt=\"深色模式\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>📦 经典界面 (2023)\u003C\u002Fb>\u003C\u002Fsummary>\n\u003Cbr>\n\u003Cdiv align=\"center\">\n\u003Ctable>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg.png\" alt=\"首页\">\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_1.png\" alt=\"上传\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_2.png\" alt=\"管理\">\u003C\u002Ftd>\n\u003Ctd>\u003Cimg src=\".\u002F.github\u002Fimages\u002Fimg_3.png\" alt=\"设置\">\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\u003C\u002Fdetails>\n\n---\n\n## 🚀 快速开始\n\n### Docker 部署（推荐）\n\n**方式一：Docker CLI**\n\n```bash\n# Docker Hub（推荐）\ndocker run -d --restart always -p 12345:12345 -v \u002Fopt\u002FFileCodeBox:\u002Fapp\u002Fdata --name filecodebox lanol\u002Ffilecodebox:latest\n\n# 国内镜像（如果 Docker Hub 拉取缓慢）\ndocker run -d --restart always -p 12345:12345 -v \u002Fopt\u002FFileCodeBox:\u002Fapp\u002Fdata --name filecodebox docker.cnb.cool\u002Faixk\u002Ffilecodebox\n```\n\n**方式二：Docker Compose**\n\n```yaml\nservices:\n  filecodebox:\n    image: lanol\u002Ffilecodebox:latest\n    container_name: filecodebox\n    restart: unless-stopped\n    ports:\n      - \"12345:12345\"\n    volumes:\n      - .\u002Fdata:\u002Fapp\u002Fdata\n    environment:\n      - WORKERS=4\n      - LOG_LEVEL=info\n```\n\n```bash\ndocker compose up -d\n```\n\n**环境变量说明**\n\n| 变量 | 默认值 | 说明 |\n|------|--------|------|\n| `HOST` | `::` | 监听地址（支持 IPv4\u002FIPv6 双栈） |\n| `PORT` | `12345` | 服务端口 |\n| `WORKERS` | `4` | 工作进程数（建议设为 CPU 核心数） |\n| `LOG_LEVEL` | `info` | 日志级别：`debug` \u002F `info` \u002F `warning` \u002F `error` |\n\n### 反向代理配置\n\n使用 Nginx 时，请添加以下配置以正确获取客户端 IP：\n\n```nginx\nlocation \u002F {\n    proxy_pass http:\u002F\u002F127.0.0.1:12345;\n    proxy_set_header Host $host;\n    proxy_set_header X-Real-IP $remote_addr;\n    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;\n    proxy_set_header X-Forwarded-Proto $scheme;\n    client_max_body_size 100m;  # 根据需要调整上传大小限制\n}\n```\n\n### 手动部署\n\n```bash\n# 1. 克隆项目\ngit clone https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox.git\ncd FileCodeBox\n\n# 2. 安装依赖\npip install -r requirements.txt\n\n# 3. 启动服务\npython main.py\n```\n\n---\n\n## 📖 使用指南\n\n### 基础操作\n\n| 操作 | 步骤 |\n|------|------|\n| **分享文件** | 打开网页 → 选择\u002F拖拽文件 → 设置有效期 → 获取提取码 |\n| **获取文件** | 打开网页 → 输入提取码 → 下载文件或查看文本 |\n| **管理后台** | 访问 `\u002F#\u002Fadmin` → 输入密码 `FileCodeBox2023` |\n\n### 命令行使用（curl）\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>点击展开 curl 使用示例\u003C\u002Fb>\u003C\u002Fsummary>\n\n**上传文件**\n\n```bash\n# 基础上传（默认 1 天有效期）\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Ffile\u002F\" \\\n  -F \"file=@\u002Fpath\u002Fto\u002Ffile.txt\"\n\n# 指定 1 小时有效期\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Ffile\u002F\" \\\n  -F \"file=@\u002Fpath\u002Fto\u002Ffile.txt\" \\\n  -F \"expire_value=1\" \\\n  -F \"expire_style=hour\"\n\n# 指定下载 10 次后过期\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Ffile\u002F\" \\\n  -F \"file=@\u002Fpath\u002Fto\u002Ffile.txt\" \\\n  -F \"expire_value=10\" \\\n  -F \"expire_style=count\"\n```\n\n**分享文本**\n\n```bash\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Ftext\u002F\" \\\n  -F \"text=要分享的文本内容\"\n```\n\n**下载文件**\n\n```bash\ncurl -L \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Fselect\u002F?code=提取码\" -o filename\n```\n\n**有效期参数**\n\n| `expire_style` | 说明 |\n|----------------|------|\n| `day` | 天数 |\n| `hour` | 小时 |\n| `minute` | 分钟 |\n| `count` | 下载次数 |\n| `forever` | 永久有效 |\n\n**返回示例**\n\n```json\n{\n  \"code\": 200,\n  \"msg\": \"success\",\n  \"detail\": {\n    \"code\": \"abcd1234\",\n    \"name\": \"file.txt\"\n  }\n}\n```\n\n**需要认证时**（管理员关闭游客上传后）\n\n```bash\n# 1. 获取 token\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fadmin\u002Flogin\" \\\n  -H \"Content-Type: application\u002Fjson\" \\\n  -d '{\"password\": \"FileCodeBox2023\"}'\n\n# 2. 携带 token 上传\ncurl -X POST \"http:\u002F\u002Flocalhost:12345\u002Fshare\u002Ffile\u002F\" \\\n  -H \"Authorization: Bearer \u003Ctoken>\" \\\n  -F \"file=@\u002Fpath\u002Fto\u002Ffile.txt\"\n```\n\n\u003C\u002Fdetails>\n\n---\n\n## 🛠 开发指南\n\n### 项目结构\n\n```\nFileCodeBox\u002F\n├── apps\u002F              # 应用模块\n│   ├── admin\u002F         # 管理后台\n│   └── base\u002F          # 基础功能\n├── core\u002F              # 核心模块\n├── data\u002F              # 数据目录（运行时生成）\n├── docs\u002F              # 文档\n└── main.py            # 入口文件\n```\n\n### 本地开发\n\n**后端**\n\n```bash\npip install -r requirements.txt\npython main.py\n```\n\n**前端**\n\n```bash\n# 前端仓库: https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBoxFronted\ncd fcb-fronted\nnpm install\nnpm run dev\n```\n\n### 技术栈\n\n| 类别 | 技术 |\n|------|------|\n| **后端框架** | FastAPI 0.128+ \u002F Uvicorn |\n| **数据库** | SQLite + Tortoise ORM |\n| **数据验证** | Pydantic 2.x |\n| **异步支持** | aiofiles \u002F aiohttp \u002F aioboto3 |\n| **对象存储** | S3 协议 \u002F OneDrive \u002F OpenDAL |\n| **前端框架** | Vue 3 + Element Plus + Vite |\n| **运行环境** | Python 3.8+ \u002F Node.js 18+ |\n| **容器化** | Docker \u002F Docker Compose |\n\n---\n\n## ❓ 常见问题\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>如何修改上传大小限制？\u003C\u002Fb>\u003C\u002Fsummary>\n\n在管理面板中修改 `uploadSize` 配置项。如果使用 Nginx 反向代理，还需修改 `client_max_body_size`。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>如何配置存储引擎？\u003C\u002Fb>\u003C\u002Fsummary>\n\n在管理面板中选择存储引擎类型并配置相应参数。支持本地存储、S3、OneDrive、OpenDAL 等。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>如何备份数据？\u003C\u002Fb>\u003C\u002Fsummary>\n\n备份 `data` 目录即可，包含数据库和上传的文件。\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\u003Csummary>\u003Cb>如何修改管理员密码？\u003C\u002Fb>\u003C\u002Fsummary>\n\n登录管理面板后，在系统设置中修改 `adminPassword` 配置项。\n\u003C\u002Fdetails>\n\n更多问题请访问 [Wiki](https:\u002F\u002Fgithub.com\u002Fvastsa\u002FFileCodeBox\u002Fwiki\u002F常见问题) 或加入 [QQ群: 739673698](https:\u002F\u002Fqm.qq.com\u002Fq\u002FPemPzhdEIM)\n\n---\n\n## 🤝 贡献指南\n\n欢迎提交 Issue 和 Pull Request！\n\n```bash\n# 1. Fork 并克隆\ngit clone https:\u002F\u002Fgithub.com\u002Fyour-username\u002FFileCodeBox.git\n\n# 2. 创建分支\ngit checkout -b feature\u002Fyour-feature\n\n# 3. 提交更改\ngit commit -m \"feat: add your feature\"\n\n# 4. 推送并创建 PR\ngit push origin feature\u002Fyour-feature\n```\n\n---\n\n## 📊 项目统计\n\n\u003Cdiv align=\"center\">\n\n\u003Ca href=\"https:\u002F\u002Fhellogithub.com\u002Frepository\u002F75ad7ffedd404a6485b4d621ec5b47e6\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Fapi.hellogithub.com\u002Fv1\u002Fwidgets\u002Frecommend.svg?rid=75ad7ffedd404a6485b4d621ec5b47e6&claim_uid=beSz6INEkCM4mDH\" alt=\"HelloGitHub\" width=\"200\">\n\u003C\u002Fa>\n\n![Repobeats](https:\u002F\u002Frepobeats.axiom.co\u002Fapi\u002Fembed\u002F7a6c92f1d96ee57e6fb67f0df371528397b0c9ac.svg)\n\n[![Star History](https:\u002F\u002Fapi.star-history.com\u002Fsvg?repos=vastsa\u002FFileCodeBox&type=Date)](https:\u002F\u002Fstar-history.com\u002F#vastsa\u002FFileCodeBox&Date)\n\n\u003C\u002Fdiv>\n\n---\n\n## 🗓 更新计划\n\n- [ ] 2025 年新皮肤\n- [ ] 文件收集功能\n\n---\n\n## 📜 免责声明\n\n本项目开源仅供学习交流使用，不得用于任何违法用途，否则后果自负，与作者无关。使用本项目时请保留项目地址和版权信息。\n\n---\n\n\u003Cdiv align=\"center\">\n\n**如果觉得项目不错，欢迎 ⭐ Star 支持！**\n\nMade with ❤️ by [vastsa](https:\u002F\u002Fgithub.com\u002Fvastsa)\n\n\u003C\u002Fdiv>\n","FileCodeBox 是一个轻量级的文件分享工具，基于 FastAPI 和 Vue3 开发。用户可以通过匿名口令的方式快速分享文本和文件，接收者只需输入提取码即可获取内容，无需注册登录。其核心功能包括拖拽上传、复制粘贴上传、命令行上传等便捷方式，并支持设置有效期和自定义提取码。此外，FileCodeBox 还提供了 IP 上传频率限制、提取码错误次数限制等安全措施，确保数据传输的安全可靠。该工具适用于临时文件分享、代码片段分享、匿名文件传输、跨设备同步等多种场景，尤其适合需要快速、简单且安全地分享文件的个人和企业使用。",2,"2026-06-11 03:26:18","top_topic"]