NullpointerW / AniCat

One-click tool for automatically bangumi subscribing
MIT License
46 stars 2 forks source link
anime go golang qbittorrent

AniCat

通过命令行交互的一键追番工具

Go Report Card Go Report Card Go Report Card

功能

crawl: # 为爬虫设置代理,可省略 proxies: # 可设置多个代理进行轮询

push: # 配置推送服务,如无此需求则可省略 email: host: smtp.xxx.com # SMTP port: 25 username: xxx@xxx.com # 发件邮箱 password: xxx

skipssl: yes # 跳过ssl,开启此项可能需要变更相应的smtp地址,具体情况询问邮箱运营商

template: tmp/template.html # 邮件模板地址,若省略则使用内置的模板

bangumi-log: on #开启番剧更新日志,将在根目录创建日志,记录剧集的更新信息

#### docker-compose 部署
 * 下载docker-compose yaml
``` bash 
wget https://raw.githubusercontent.com/NullpointerW/AniCat/master/Docker/docker-compose.yml
version: "3.9"
services:

  anicat:
    image: wmooon/anicat:latest
    container_name: anicat
    ports:
      - 12314:12314 # anicat监听端口
  # environment:
    # - DEBUG=true # 开启debug模式
    depends_on:
      - qb
    user: "1000:1000"
    volumes:
      - ./cfg/env.yaml:/opt/env.yaml # 配置文件路径
      - ./bangumi:/bangumi # 番剧下载路径,如果改动则需要和qb保持一致
    restart: unless-stopped

  qb:
    image: superng6/qbittorrentee:latest
    container_name: qb
    ports:
      - 8080:8080 # webui 端口
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Asia/Shanghai
      - WEBUIPORT=8989 
    volumes:
      - ./qb:/config
      - ./bangumi:/bangumi
    restart: unless-stopped

docker run 部署

docker network create anicat-net \
docker run -d --name=qb -p ${qbt_webui_port}:8080 \
 -e PUID=1000 -e PGID=1000 -e TZ=Asia/Shanghai -e WEBUIPORT=8080 \
 -v ${qbt_config}:/config -v ${usr_bgmi_path}:/bangumi\
 --restart unless-stopped \
 --network anicat-net --network-alias qb \
 superng6/qbittorrentee:latest ; \
docker run -d --name=anicat --restart unless-stopped \
 -v ${usr_bgmi_path}:/bangumi  -v ${anicat_cfg}:/opt/env.yaml \
 -p ${anicat_port}:12314  --user 1000:1000 \
 --network anicat-net --network-alias anicat \
 wmooon/anicat:latest 

windows

命令/使用

订阅

使用add命令订阅番剧,成功后返回sid

anicat add LV1魔王与独居废勇者

add-gif\ 可选择字幕组和通过正则筛选剧集

anicat add 孤独摇滚 -g 千夏字幕组 -r -c 简体 -e \s?0[1-5]|1[0-1]
 -g,--group 选择字幕组
 -r       使用正则
 -c       包含
 -e       排除

选择千夏字幕组,排除1-510-11集,语言为简体中文

rss feed 订阅

anicat add feed https://mikanani.me/RSS/Bangumi?bangumiId=2549&subgroupid=552 --name xxx
 通过rss url进行订阅,如未指定名称则尝试从rss中解析

退订

使用rm命令退订番剧

anicat rm 376106 
 通过番剧的sid来删除
 sid与它在bgmiTV上的subjectID一致
 可通过`ls`命令查看sid

浏览资源列表

使用lsi命令浏览该番剧的资源列表

anicat lsi 孤独摇滚

lsi-gif

老番资源列表

如果要浏览的番剧资源没有rss组,或者在2013年之前(Mikan Project的rss资源组从2013年开始收录),则lsi将会展示种子搜索列表\ 在使用add添加该番剧时可用-i,--index参数指定下载资源的列表索引

anicat lsi 龙与虎

lsi-gif 在lsi 命令末尾添加-s参数,可优先展示搜索列表,列如lsi 孤独摇滚 -s

查看已订阅列表

使用ls查看所有已订阅番剧的具体信息

anicat ls

查看文件的下载状态

使用stat通过sid查看该番剧的下载状态

anicat stat 376106

全局过滤词

在env.yaml中配置全局过滤词:

rss-filter:
  contain: #包含
    - chs,简体中文,简中,简 #同一组的过滤词用','分割,它们之间为或关系
    - 1080p,1080x1920,1080 #不同组之间的关系为与,必须匹配到两组中的任意过滤词
  exclusion: #排除
    - 外挂,外掛

邮件提醒

如果要使用提醒功能,请配置stmp服务器信息\ 内置模板的如下:\

在媒体库上打开

通过infuse、Plex、Jellyfin 打开番剧下载目录进行自动刮削并观看:\

注: 有多个季的番剧将会在同一文件夹下,(文件夹命名规则和TMDB一致)例如:\

说明

数据源

资源\ Mikan Project\ 信息采集\ Bangumi 番组计划\ TMDB\ 海报封面刮削\ Bangumi 番组计划\ 豆瓣

常见问题

Q1:  为什么订阅总是失败并返回EOF或者wsarecv: An existing connection was forcibly closed by the remote host之类的网络错误? \ A1:  如果在国内环境,因为GFW的关系,访问Mikan,TMDB可能会受阻,建议开启代理; \ 如果启用代理后仍然频繁失败,则有可能是当前ip访问频率过高,触发了服务器的流量限制/反爬策略,建议过一会再进行尝试订阅,或者为爬虫设置多个代理节点。

Q2:  为什么有时候订阅番剧要等待这么长时间?\ A2:  add命令的执行时间受多个方面的因素影响(GFW干扰 代理节点故障 本地网络阻塞 服务器负载过高 等诸多因素),快则2-3秒,慢则几十秒都是有可能的。

交流

目前该项目还处于测试阶段,欢迎各位使用并提交问题以及改进点和新功能,如使用中有任何问题,请提交issues或者邮件联系我,email: voidmanwzp@gmail.com