Skip to content

rxxcy/anime

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

Anime 下载与 Jellyfin 整理平台

基于 Go + Gin + SQLite + React + Vite + shadcn/ui 的全栈项目。

目录结构

  • backend: API 服务、任务调度、SQLite 持久化、SSE 推送
  • frontend: 管理控制台(总览 / xxx.me列表 / 文件列表 / 任务列表 / 系统设置)
  • docs: 产品与接口说明

快速启动

1) 启动后端

cd backend
go mod tidy
go run ./cmd/server

使用 air 热��载:

cd backend
air -c .air.toml

默认监听 :8080

可选环境变量:

  • APP_ADDRESS(默认 :8080
  • APP_DB_PATH(默认 ./data/anime.db
  • APP_DOWNLOAD_DIR(默认 ./downloads
  • APP_ANIMELIST_URL(默认 https://xxx.me/animelist.json
  • APP_PROXY_PROBE_URL(默认 https://xxx.me
  • APP_SQLITE_BUSY_TIMEOUT_MS(默认 5000
  • APP_SSE_HEARTBEAT_SEC(默认 15

2) 启动前端

cd frontend
pnpm install
pnpm dev

默认请求后端 http://localhost:8080

如果后端地址不同,设置:

VITE_API_BASE_URL=http://localhost:8080

开发命令

Backend

go test ./...
go build ./...

Frontend

pnpm lint
pnpm build

已实现能力

  • 统一 REST 响应 {code,message,data}(SSE 除外)
  • API 路由:目录、剧集、下载任务、文件列表、设置、SSE、健康检查
  • SQLite 持久化与迁移、WALbusy_timeout
  • 任务状态机与乐观锁版本字段(version
  • 重启恢复:running -> paused
  • 调度器并发控制(并发上调立即补位、下调自然收敛)
  • 下载器:*.part 临时文件 + 原子重命名 + HTTP Range 断点续传
  • 代理热更新:运行中任务切回队列并自动用新代理重连
  • SSE:任务事件推送 + 15 秒心跳 + Last-Event-ID 历史补发
  • 前端:sidebar-07 布局、统一 src/api.ts 封装、任务乐观更新 + SSE 回写纠正

当前限制

  • 当前下载器支持直链 mp4
  • 若目标页面仅提供 m3u8,会返回明确错误(尚未内置 HLS 分片合并)。

About

Anime 下载与 Jellyfin 整理平台

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors