🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

github.com/NullpointerW/mikanani

Package Overview
Dependencies
Alerts
File Explorer
Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

github.com/NullpointerW/mikanani

v0.0.9
Source
Go
Version published
Created
Source

AniCat

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

Go Report Card Go Report Card Go Report Card

功能

  • 傻瓜式: 无需配置任何网站的账号或者rss订阅,只需输入番剧名即可一键订阅
  • 支持下载后的剧集自动重命名,方便媒体软件进行刮削 e.g:
[UHA-WINGS]Bocchi the Rock![05][x264][1080p]>>孤独摇滚!S01E05
  • 支持字幕组筛选、关键字正则过滤
  • 下载完成后提醒推送(目前支持邮件)

部署

linux

推荐使用 docker-compose 部署

  • 创建应用目录
mkdir -p /usr/opt/anicat && cd /usr/opt/anicat
  • 下载配置文件并修改
mkdir cfg && wget -P ./cfg/ https://raw.githubusercontent.com/NullpointerW/AniCat/master/env.yaml && vim ./cfg/env.yaml

  • 修改配置文件
port: 12314 # 监听端口 docker-compose部署无需更改
path: /bangumi # 番剧下载路径 docker-compose部署无需更改
drop-duplicate: on # 若存在相同集数,则删除重复项(建议开启)
qbittorrent:
  url: http://qb:8080 # qbt-api url,在docker-compose部署时无需更改
  username: admin
  password: adminadmin
# localed: yes # 如果qbt开启了本地登录选项,则可不用填写用户,名和密码,docker-compose部署则可忽视此项
  timeout: 3500 # qbt-api请求的超时时间,有时任务添加到qbt上,调用api后无法立即响应到数据
# tracker-provider: tracker-list-url # 自定义tracker
  proxy: # qbt代理配置 可选项
    address: remote:7890 # 配置qbt的代理地址
    type: http # 类型可为 http,socks5等 详见qbt wiki
    host-lookup: on # 使用代理查询域名
    peer: on # 使用代理进行对端连接(文件传输)

crawl: # 为爬虫设置代理,可省略
  proxies: # 可设置多个代理进行轮询
    - http://remote:7890
    - http://remote:7891
    - http://remote1:7890

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
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 compose up -d

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 
./docker_run.sh <qbt_webui_port> <qbt_config> <usr_bgmi_path> <anicat_port> <anicat_cfg>

windows

PS D:\anicatv0.0.2b> .\anicat-windows-amd64.exe -d -e=./cfg/env.yaml
-d 开启debug模式
-e 设置配置文件路径,默认为./env.yaml

服务方式运行

下载anicat-service

  • 安装服务
PS D:\anicatv0.0.3b> .\anicat-windows-service-amd64.exe install
  • 卸载服务
PS D:\anicatv0.0.3b> .\anicat-windows-service-amd64.exe uninstall
  • 启动服务
PS D:\anicatv0.0.3b> .\anicat-windows-service-amd64.exe start

客户端

C:\Users\Mayn>anicat ls

命令/使用

订阅

使用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

FAQs

Package last updated on 25 Mar 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts