am

module
v0.0.0-...-4671f9f Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 18, 2026 License: MIT

README

am

动漫下载管理器:定时爬取磁力 → 按规则匹配 → 推给 qBittorrent,并维护一份番剧库。

存储

单实例部署,持久化只用 一个 SQLite 文件(GORM + github.com/glebarez/sqlite,纯 Go,无需 CGO)。

  • anime:番剧(含封面图 BLOB)
  • download_tasks:下载规则
  • magnets:爬虫抓到的磁力,按日期归档(替代原来的 Redis key)

⚠️ sqlite.path 必须指向本机磁盘。SQLite 放在 NFS/CIFS 网络共享盘上会有锁失效甚至损坏的风险。

原来的 MongoDB 与 Redis 已完全移除。

构建

make build        # 前端 + 服务端,产物 bin/am
make build-server # 只编服务端
make migrate      # 编旧数据导入工具,产物 bin/migrate(一次性,可删)

运行

bin/am -config configs/config.yaml

配置见 configs/config.yaml(该文件不入库),关键项:

sqlite:
  path: "./data/am.db"   # 本机磁盘路径

从旧的 MongoDB/Redis 版本迁移(离线)

导入工具在独立子模块 tools/legacyimport 里,直连 MongoDB + Redis, 不需要旧服务进程在跑(只要求两个库网络可达)。它不会把 mongo/redis 依赖带进主模块。

make migrate

# 先看看能读到多少数据,不写库
bin/migrate -dry-run -mongo-pass 'xxx' -redis-pass 'xxx'

# 正式导入(-db 指向本机磁盘)
bin/migrate -db /本机磁盘/am.db -mongo-pass 'xxx' -redis-pass 'xxx'

密码也可以用环境变量 MONGO_PASS / REDIS_PASS 传。常用参数:

参数 默认值 说明
-mongo / -mongo-db / -mongo-user mongodb://mongo.holygrail.com:27017 / am / am Mongo 连接
-redis / -redis-db redis.holygrail.com:6379 / 2 Redis 连接
-db data/am.db 目标 SQLite 文件
-skip-images / -skip-magnets false 跳过封面图 / 磁力缓存
-dry-run false 只统计

导入是幂等的,可以重复跑。迁完之后 tools/legacyimport 就可以删掉了。

Directories

Path Synopsis
cmd
server command
internal
ai

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL