AnimeGo

module
v0.3.2 Latest Latest
Warning

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

Go to latest
Published: Nov 1, 2022 License: MIT

README

AnimeGo

使用Golang编写的全自动追番工具,简单的部署和使用,方便的模块化扩展

使用帮助

-config string
    配置文件路径;配置文件中的相对路径均是相对与程序的位置 (default "data/config/animego.yaml")
-debug
    Debug模式,将会输出更多的日志 (default true)
-init-path string
    [初始化]输出资源/配置文件到的根目录
-init-replace
    [初始化]输出资源/配置文件时是否自动替换
0.安装插件 [可选]
1.释放资源
AnimeGo -init-path=./data

可选-init-replace,启用后遇到已存在文件将不提示直接覆盖,慎用

2.修改配置

打开并编辑./data/config/animego.yaml

路径和1.释放资源所释放位置有关

其中主要需要修改的配置项为:

  • feed/mikan/url : Mikan订阅url,如果仅使用浏览器插件手动下载则无需填写
  • client/qbittorrent : qbittorrent客户端webapi信息
  • key/themoviedb : themoviedb的webapi访问秘钥,需要注册申请
  • 其余配置项根据需求修改
3.启动程序
AnimeGo -config=./data/config/animego.yaml

可选-debug,启用后将输出更详细的日志

可以使用如screen等工具放至后台执行,也可以创建服务并启动

更多待补充...

文档

  1. 配置文件
  2. 插件函数文档(仅过滤器)
  3. webapi接口文档

目的

  • 简化部署和使用,以及模块化扩展
  • 学习

目前进度

开发计划

版本计划

v0.3.1
  • 每种数据缓存时间自定义
  • 资源文件自动释放
  • 配置文件局部升级
  • 修复bug
v0.3.2

开发日志

2022.10.30 (v0.3.0)
  • 修改配置文件结构
  • 使用gorequest作为网络请求库
    • 更好的重试等待和超时
  • 默认关闭debug模式
2022.10.23 (v0.2.3)
  • 修改插件读取文件规范,现在仅能够读取所在路径文件
  • 请求响应非200不再进行缓存
  • 修复webapi参数绑定问题
2022.10.23 (v0.2.2)
  • 修复错误信息嵌套问题,优化错误提示
  • UserAgent
2022.10.15
  • 修改和增加webapi
    • 支持access_key认证
    • 修改url地址
    • 支持设置和获取插件的json配置文件
2022.10.14
  • 统一错误提示[未完成]
  • 修正js和bangumi部分bug
2022.10.6 alpha-0.1
  • qBittorrent关闭重连功能
    • qbt退出期间下载项会暂存于下载队列中,重启后恢复下载
    • 下载队列在qbt客户端关闭期间满的话,会停止解析、停止下载
  • 更好的日志分类
    • 一般提示[INFO]
    • 已知错误[WARN],根据具体错误类型自动判断是否继续解析此项
    • 未知错误[ERROR],可能会影响功能的正常使用
  • tmdb默认值设置
2022.10.5
  • 支持WebAPI
  • 整理项目初始化相关的代码结构
  • 整理测试文件初始化
  • 修复重复下载的问题
2022.10.4
  • 增加种子大小Length字段
  • 增加资源释放程序
  • 修改部分配置结构
2022.10.2
  • 初步的插件模型:内置javascript虚拟机引擎 goja
  • 支持js脚本编写Rss过滤器
    • 支持筛选
    • 支持日志、获取Mikan信息等基础内置函数
  • 支持 poketto初步解析下载项名
2022.8.28
  • 项目正式更名为AnimeGo
  • 更改项目结构
  • 增加filter接口(暂无实现)
  • 将feed更新manager移动到filter manager
  • 增加部分包注释
  • 增加http请求超时重试机制(mikan除外)
2022.8.27
  • 更改项目结构
  • 更改缓存方式
    • 新增memorizer组件
    • 改用函数缓存,入参为key,返回值为value
  • anisource使用单例模式,避免不必要的对象创建
2022.8.17
  • 更改项目结构
    • 将anisource抽离到pkg,可单独使用
  • 优化错误处理
  • 使用goreq来进行网络请求
2022.8.14
  • 增加主函数
    • 支持安全退出
  • 修复bug
    • tmdb报错问题
    • 自动创建不存在的文件夹
    • 安全退出错误
    • ...
2022.8.13
  • 优化下载流程,修复重复下载问题
  • 更改项目结构
2022.8.4
  • 重构项目结构
    • 删除不必要interface定义
    • 修改为较规范的go项目结构(未完成)
    • parser包不使用结构体,直接使用函数
  • 修改关键结构体命名
    • Bangumi->Anime,和bgm.tv网站作区分
  • 统一订阅、下载器的manager结构,均采用协程方式运行
    • 订阅和下载器之间,支持使用chan传递下载项
  • 待补充和完善...
2022.8.3
  • 下载流程管理基本完成
  • 完整的mikan rss自动下载基本完成
2022.7.31
  • 修改项目结构
    • 优化config包结构,删除不必要函数
    • 将config和cache放在store文件夹中,并交由store包统一管理
2022.7.26 - 7.30
  • 修改部分代码结构、细节,增加部分字段
  • 日志使用zap
  • cache等放在全局变量store中
  • cache bucket命名常量化
  • 修正qbittorrent方法
  • 新增manager
    • 支持使用client进行下载
    • 支持下载流程的管理,包括排队、进度获取等
    • 支持重命名、移动正在下载项
2022.6.27
  • 番剧信息完全缓存,即同一个url、同一个番剧、同一集仅需请求一次
    • 使用gob来序列化与反序列化数据
  • 支持高级设置,包括各种数据的缓存过期时间等细致配置
2022.6.22
  • 增加boltDB 作为缓存数据库的调用接口
  • 调整models.Bangumi结构,使数据传递更合理
  • 支持获取当前ep的信息
2022.6.21
  • 调整项目结构
  • 调整配置文件结构
  • 支持设置代理
  • 支持标签通配符
2022.6.19
  • 调整项目结构
  • 完善TheMovieDB 信息获取,多次查询
    • 完成番剧别名处理
  • 完善部分错误处理
2022.6.14 2
  • 完成Bangumi 信息获取
  • 完成TheMovieDB 信息获取
    • 搜索存在缺陷待修复
  • 增加process包来调用core下功能
2022.6.14
  • 完成Mikan Rss信息获取与解析
2022.6.13
  • 配置文件读取
  • qBittorrent客户端api的简单再封装
2022.6.12
  • 项目框架搭建

Directories

Path Synopsis
cmd
animego command
internal
animego/anisource
Package anisource @Description: 番剧源包,用来收集番剧信息
Package anisource @Description: 番剧源包,用来收集番剧信息
animego/downloader
Package downloader @Description: 下载器包,用来调用外部下载器
Package downloader @Description: 下载器包,用来调用外部下载器
animego/feed
Package feed @Description: 订阅包,主要用来解析订阅信息
Package feed @Description: 订阅包,主要用来解析订阅信息
animego/feed/mikan
Package mikan @Description: 获取并解析mikan rss
Package mikan @Description: 获取并解析mikan rss
animego/filter
Package filter @Description: 过滤器包,用来过滤符合条件的下载条目
Package filter @Description: 过滤器包,用来过滤符合条件的下载条目
animego/manager/downloader
Package downloader @Description: 接收到下载项后,调用client进行下载,并对下载条目做一定处理
Package downloader @Description: 接收到下载项后,调用client进行下载,并对下载条目做一定处理
animego/manager/filter
Package filter @Description: 筛选输入feed条目,并通过anisource获取符合条目的详细信息,信息完整则传递给下载器进行下载
Package filter @Description: 筛选输入feed条目,并通过anisource获取符合条目的详细信息,信息完整则传递给下载器进行下载
web
pkg
cache
Package cache @Description: 缓存包,用来调用缓存组件
Package cache @Description: 缓存包,用来调用缓存组件
third_party

Jump to

Keyboard shortcuts

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