MimicDL 是受原 Go 版 DownOnly 启发、重新设计并独立实现的 Bun 版项目。本仓库是 MimicDL 本体:实现代码位于仓库根目录的 apps/(apps/server 为服务端,apps/web 为管理台),生产环境由一个 Bun 服务同时提供 API 和静态文件。
BunDev/ 目录只存放产品、架构和开发执行基线文档(含 bun-docs/ Bun 1.4 参考文档)。
BunDev/PRODUCT_SPEC.md:功能边界、业务规则和验收标准。BunDev/ARCHITECTURE.md:模块划分、状态机、数据流、安全边界和 Docker 运行模型。BunDev/API_CONTRACT.md:前后端接口及数据结构。BunDev/IMPLEMENTATION_PLAN.md:按阶段执行的开发任务和测试要求。BunDev/AI_RULES.md:交给 AI 开发时必须遵守的约束。
- 运行时:Bun 1.4 Alpine 镜像。
- 前端:Vue 3、TypeScript、Vite,本地构建 CSS 和静态资源。
- 后端:Bun、TypeScript、
Bun.serve、异步fetch。 - 持久化:
bun:sqlite,数据目录为/app/data。 - 并发:1~6 个异步下载任务;不为每个下载创建 Bun Worker。
- 限速:所有任务共享一个全局速率上限。
- 构建目标:
linux/amd64和linux/arm64。 - 默认公网访问关闭,开放公网时必须启用认证。
本项目用于在用户授权的网络环境中产生受控的下行流量。随机并发、随机地址和随机休息只是流量策略,不保证绕过运营商识别,也不应被描述为规避检测的保证。
本项目是在原 Go 版项目的启发下重新实现的独立项目,二者是分开的代码库,互不引用、互不修改。