| 资源类型 | 链接 | 备注 |
|---|---|---|
| 在线体验 | https://codeseek.pp.ua | 体验完整功能 |
本项目采用模块化文档管理,各专项文档独立维护。
| 文档 | 说明 | 链接 |
|---|---|---|
| API 接口文档 | 完整的 RESTful API 接口说明,包含搜索接口(JAV/动漫/影视三大类别)、认证方式、源管理等 | docs/api/index.md |
| 架构设计文档 | 前后端目录结构、技术栈版本、部署架构、数据库模块化设计详解 | docs/backend-frontend-tree.md |
| 配置说明文档 | 前端配置、后端配置、环境变量、代理服务、数据库配置、角色权限配置 | docs/config.md |
| 部署指南文档 | 环境要求、本地开发、后端部署、前端部署、数据库配置、常见问题解答 | docs/deploy.md |
| 版本变更日志 | 完整的版本变更记录:v2.0(架构重构)、v3.0(安全增强+功能扩展)、v3.1(Monorepo共享+安全加固+性能优化)、v4.0(动漫&影视搜索+架构升级) | docs/changelogv2.0.md / docs/changelogv3.0.md / docs/changelogv3.1.0.md / docs/changelogv4.0.0.md |
| GitHub 推送指南 | Git 操作流程、提交规范、分支管理、GitHub Actions 自动部署配置 | docs/github_push.md |
| 文档 | 说明 | 链接 |
|---|---|---|
| 通知组件文档 | Toast 通知组件的使用方法、API 文档、配置选项和最佳实践 | frontend/docs/notification.md |
- JAV 搜索: DMM/FANZA 元数据聚合 + JavBus/JavDB 磁力多源搜索
- 动漫搜索: Bangumi 番剧信息 + Mikan 字幕组 + Nyaa 磁力 + ShowRSS 订阅
- 影视搜索: TMDB 电影剧集 + YTS 电影种子 + EZTV 剧集种子 + TPB 兜底磁力
- 一站式体验: 三大类别统一入口,一次搜索聚合多源结果
- React 19 + TypeScript: 采用最新的 React 特性,配合 TypeScript 实现完整的类型安全
- Vite 极速构建: 毫秒级热更新,开发体验丝滑流畅
- Tailwind CSS: 原子化 CSS 方案,支持亮色/暗色主题无缝切换
- Zustand 状态管理: 轻量级状态管理方案,自动持久化存储
- Cloudflare 全栈部署: 前端 Pages + 后端 Workers + 数据库 D1,完全 Serverless 架构
- 全球 CDN 加速: 利用 Cloudflare 全球 300+ 边缘节点,用户就近访问
- 零运维成本: 无需购买服务器,免费额度即可支撑中小型应用
- 自动弹性伸缩: 流量高峰自动扩容,无需担心服务器宕机
- JWT 无状态认证: 基于 jose 库实现的 Token 认证,支持自动刷新
- 完整邮箱验证: 注册验证、密码重置、邮箱更改、账户删除,全流程邮箱确认
- 多层安全机制: 登录失败锁定、验证码频率限制、临时邮箱黑名单、安全事件日志
- RBAC 权限系统: 四级角色权限(超级管理员/管理员/用户/访客),细粒度权限控制
React 19 → 并发渲染、Suspense、自动批处理
TypeScript → 完整类型推断、泛型约束、类型守卫
Vite → ESM 原生支持、按需编译、极速 HMR
Tailwind CSS → JIT 编译、暗色模式、响应式设计
Zustand → 极简 API、中间件支持、持久化存储
@codeseek/shared → Monorepo 共享包 (类型、工具、验证规则)
React Router → 数据路由、懒加载、嵌套布局
Lucide React → 1000+ 精美图标、Tree-shaking 优化
date-fns → 轻量级日期处理、国际化支持
Hono 4.x → 超轻量 Web 框架、多运行时支持
TypeScript → 类型安全、接口定义、泛型约束
Cloudflare Workers → 边缘计算、V8 隔离环境、零冷启动
Cloudflare D1 → SQLite 兼容、全球分布、自动备份
JWT (jose) → 标准化认证、多种算法支持
Resend → 现代邮件服务、高送达率、实时追踪
- 移动端优先: 从 320px 到 4K 显示器,完美适配所有设备尺寸
- 触摸优化: 手势操作、滑动菜单、长按交互,移动端体验媲美原生 APP
- 性能优先: 首屏加载 <1s,交互响应 <100ms,Lighthouse 评分 90+
- Toast 通知系统: 统一的消息提示,支持成功/错误/警告/信息四种类型
- 自动数据同步: 跨设备同步搜索历史、收藏夹、个人设置
- 主题定制: 亮色/暗色/跟随系统,一键切换,状态持久化
- 快捷键支持: 常用操作支持键盘快捷键,提升操作效率
| 类别 | 数据源 | 说明 |
|---|---|---|
| JAV | DMM/FANZA / JavBus / JavDB | 成人影片元数据 + 磁力聚合 |
| 动漫 | Bangumi / Mikan / Nyaa / ShowRSS | 番剧元数据 + 字幕组 + 磁力链接 |
| 影视 | TMDB / YTS / EZTV / TPB | 电影剧集元数据 + 种子资源 |
Category (大类) Classification (分类) Source (源实例)
┌─────────────┐ ┌──────────────────┐ ┌──────────────┐
│ jav │ ────> │ metadata │ ────> │ DMM/FANZA │
│ │ │ magnet │ │ JavBus │
│ │ │ │ │ JavDB │
├─────────────┤ ├──────────────────┤ ├──────────────┤
│ anime │ ────> │ bangumi │ ────> │ Bangumi API │
│ │ │ mikan │ │ Mikan Project│
│ │ │ nyaa │ │ Nyaa.si │
│ │ │ showrss │ │ ShowRSS │
├─────────────┤ ├──────────────────┐ ├──────────────┤
│ movie │ ────> │ tmdb │ ────> │ TMDB API │
│ │ │ yts │ │ YTS │
│ │ │ eztv │ │ EZTV │
│ │ │ tpb │ │ TPB │
└─────────────┘ └──────────────────┘ └──────────────┘
核心设计:
- Provider 注册模式:新增搜索类别只需创建 Provider 类并在
backend/src/index.ts注册一行 - 分类独立路由:每个分类有独立的搜索逻辑和结果面板
- 数据库驱动源管理:搜索源的启用/禁用/权重通过后台管理
- 一键聚合: 选择类别和分类,输入关键词,结果统一展示
- 智能排序: 根据搜索源优先级、使用频率、可用状态智能排序结果
- 分类筛选: 支持按大类(JAV/动漫/影视)和子分类筛选搜索源
- 历史记录: 自动保存搜索历史(含封面图),支持快速重搜和历史统计
- 智能提示: 输入关键词时自动提示相关搜索建议
- 热门搜索: 实时展示热门搜索关键词,发现热门资源
- 搜索统计: 个人搜索统计,了解自己的搜索习惯
- 启用/禁用: 自由控制哪些搜索源参与搜索
- 优先级调整: 自定义搜索源的显示顺序
- 状态监控: 实时查看搜索源可用性状态
- 自定义添加: 支持添加自定义搜索源(URL 模板)
- GitHub OAuth 登录: 一键使用 GitHub 账号登录,自动创建/关联账号
- JWT Token 认证: 无状态认证,支持 Token 自动刷新
- 登录保护: 连续失败 5 次自动锁定 15 分钟
- 会话管理: 查看活跃会话,支持强制登出
- 收藏夹: 收藏常用搜索结果(支持 JAV/动漫/影视 全类别),支持分类管理
- 搜索历史: 自动记录搜索历史(含封面缩略图),支持清空和删除
- 数据同步: 跨设备同步收藏、历史、设置
- 数据导出: 支持导出个人数据(JSON 格式)
- 分享搜索源: 将自己发现的好用搜索源分享给社区
- 标签管理: 为搜索源添加标签,方便分类查找
- 审核机制: 管理员审核后才能上架,保证质量
- 评论评分: 对搜索源发表评价,帮助他人选择
- 点赞收藏: 为优质搜索源点赞,收藏到个人列表
- 举报机制: 发现违规内容可举报,管理员处理
- 个人贡献: 查看自己分享的搜索源数量、下载量、评分
- 社区排行: 热门分享、活跃贡献者排行
- 多种反馈类型: 问题反馈、优化建议、其他
- 匿名支持: 未登录用户也可提交反馈
- 自动收集: 自动记录页面 URL、浏览器信息
- 状态跟踪: 查看反馈处理状态(待处理/处理中/已解决/已关闭)
- 邮件通知: 反馈处理完成后自动发送邮件通知
- 历史记录: 查看自己的反馈历史
- 用户列表: 分页查询、搜索筛选、状态查看
- 角色权限: 四级角色(超级管理员/管理员/用户/访客)
- 状态控制: 启用/禁用用户账户
- 登录日志: 查看用户登录记录和 IP 信息
- 搜索源管理: 增删改查系统搜索源和分类(支持三大类别)
- 社区审核: 审核用户分享的搜索源
- 举报处理: 处理用户举报内容
- 仪表盘: 一览系统运行状态、用户活跃度
- 趋势分析: 用户增长、搜索趋势、活跃度变化
- 行为日志: 用户操作行为记录和分析
- 配置管理: 动态修改系统配置,无需重新部署
- 有码精选: JavBus 首页前 3 页随机 20 条
- 无码精选: 无码专区前 3 页随机 20 条
- 高清榜单: 高清分类前 3 页随机 20 条
- 字幕榜单: 字幕分类前 3 页随机 20 条
- 随机类别: 随机 10 个类别,每个类别 12 条
- 随机女优: 随机 10 个女优,每个女优 12 条
- 番号建议: 输入关键词自动匹配番号
- 数据来源: 支持多数据源聚合展示
- 登录可见: 需要用户登录认证后才能访问
┌─────────────────────────────────────────────────────────┐
│ 前端层 (v4.0.0) │
│ • React 19 + TypeScript │
│ • Vite 构建工具 │
│ • Tailwind CSS 样式框架 │
│ • Zustand 状态管理 │
│ • React Router 路由管理 │
│ • AnimeSearchResultPanel / MovieSearchResultPanel │
│ • 部署:Cloudflare Pages │
├─────────────────────────────────────────────────────────┤
│ Provider 层 (v4.0 新增) │
│ • SearchProvider 接口 + ProviderRegistry 注册中心 │
│ • anime-provider (Bangumi/Mikan/Nyaa/ShowRSS) │
│ • movie-provider (TMDB/YTS/EZTV/TPB) │
│ • jav-provider (Metadata/Magnet) │
├─────────────────────────────────────────────────────────┤
│ 后端服务层 (v4.0.0) │
│ • Hono 框架 (轻量级 Web 框架) │
│ • TypeScript 类型安全 │
│ • Cloudflare Workers (边缘计算) │
│ • Cloudflare D1 (SQLite 数据库) │
│ • JWT Token 认证 (jose) │
│ • Resend 邮件服务 │
└─────────────────────────────────────────────────────────┘
- Node.js: >= 18.0.0
- pnpm: >= 8.0.0
- Cloudflare 账户: 用于部署 Workers 和 D1 数据库
- Wrangler CLI: Cloudflare 开发工具 (>= 3.x)
# 克隆项目
git clone https://github.com/Zoroaaa/Atlas.git
cd Atlas
# 安装依赖
pnpm install
# 初始化数据库(含 v4.0 新增的动漫/影视搜索源)
npx wrangler d1 create atlas-db
npx wrangler d1 execute atlas-db --file=database/schema.sql
npx wrangler d1 execute atlas-db --file=database/06_data_search_sources.sql
npx wrangler d1 execute atlas-db --file=database/13_schema_history_cover.sql
# 本地开发
pnpm dev
# 生产部署
pnpm build && cd backend && npx wrangler deploy查看详细部署指南 查看配置说明 查看完整 API 文档 查看 v4.0 变更日志
- React 19 并发特性 + Vite 快速构建
- 代码分割,路由级别懒加载,Tree-shaking
- Zustand 持久化状态 + API 响应缓存
- React.memo 和 useMemo 优化重渲染
- Cloudflare 全球边缘节点就近处理
- 数据库索引优化 + 参数化查询
- 响应压缩 (gzip/brotli) + 批量操作支持
- 请求限流 + 并发控制 + 降级策略
- XSS 防护 + CSRF 保护
- 内容安全策略 (CSP) + 子资源完整性 (SRI)
- JWT Token 认证 + 请求签名验证
- JWT Token 认证 (jose 库) + RBAC 权限控制
- SQL 注入防护 + 密码加密存储 (bcrypt)
- 登录失败锁定机制 + 安全事件日志
- CORS 配置 + 速率限制 + IP 记录
本项目基于 MIT License 开源协议。
您可以自由地:
- 使用 - 用于任何目的,包括商业用途
- 修改 - 修改源代码以适应您的需求
- 分发 - 分享项目或其修改版本
- 私有使用 - 在私有项目中使用
但您必须:
- 保留版权声明 - 保留原始版权声明和许可证文本
- 声明修改 - 说明对源代码所做的修改
- Cloudflare - 提供优秀的边缘计算平台
- GitHub - 代码托管和协作平台
- Resend - 邮件发送服务
感谢所有为开源社区做出贡献的开发者们!
- 项目主页: GitHub - Atlas
- 问题反馈: GitHub Issues
- 功能建议: GitHub Discussions
我们欢迎各种形式的贡献:
- 报告 Bug
- 提出新功能建议
- 改进文档
- 提交代码
- 翻译文档
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
