Bingxin 发表于 2026-3-4 02:40:05

追番新体验:ANI-RSS、Jellyfin 与 Fontinass 的集成

本帖最后由 Bingxin 于 2026-3-4 11:30 编辑

在我[往期的文章里](https://blog.byteloid.one/2025/03/23/emby-all-in-one-solution/),我曾经介绍过我们是使用 Emby 作为媒体服务器的,但随着时间的增长,我们的媒体库目标从存量完结番转向了实时追番,因此开源的 Jellyfin 成为了我们的新选择。

在本期文章里,我将讨论番剧订阅、扫描入库、以及一些有趣的美化功能。

# 番剧订阅

ANI-RSS 是基于 RSS 自动追番、订阅、下载、刮削的全自动下载工具。

## 通过 Docker 部署

```docker-compose.yml
services:
qb:
    image: superng6/qbittorrentee:latest
    container_name: qb
    environment:
      - PUID=0
      - PGID=0
      - WEBUIPORT=8989
      - TZ=Asia/Shanghai
    volumes:
      - ./qb:/config
      - /mnt/data/bangumi:/bangumi #番剧挂载路径
    restart: unless-stopped
    network_mode: host

ani-rss:
    image: wushuo894/ani-rss:latest
    container_name: ani-rss
    ports:
      - 7789:7789
    environment:
      - PORT=7789
      - CONFIG=/config
      - TZ=Asia/Shanghai
    volumes:
      - ./ani-rss:/config
      - /mnt/data/bangumi:/bangumi #番剧挂载路径
    restart: unless-stopped
    networks:
      - ani-rss
    extra_hosts:
      - "host.docker.internal:host-gateway"

networks:
ani-rss:
```

其中,`qb` 是 qBittorrent 的 Docker 镜像,`ani-rss` 是 ANI-RSS 的 Docker 镜像。

`/mnt/data/bangumi` 是我们挂载番剧的路径,你应当根据自己的实际情况进行调整。

如果你有注意到的话,会发现我在 `ani-rss` 的 `extra_hosts` 配置了 `host.docker.internal:host-gateway`,这是因为我的网络环境较为特殊,我希望 qBittorrent 可以通过 IPv6 下载种子,然而 Docker 的默认网络配置并不支持 IPv6,因此在手动指定 `qBittorrent` 的网络模式为 `host` 后,我还额外配置了 `ani-rss` 的 `extra_hosts` ,以便 `ani-rss` 访问到 `qBittorrent`。

## 配置 qBittorrent

在 `docker compose up -d` 后,执行 `docker compose logs -f` 查看 qBittorrent 的日志,找到其生成的账户密码。

在修改完 `qBittorrent` 的账户密码后,打开 qBittorrent 的 Web UI,进入设置,找到 `下载`,勾上 `为不完整的文件添加扩展名 .!qB`,并且设置 `默认保存路径` 为 `/bangumi`。

## 配置 ANI-RSS

使用默认账户 `admin` 和密码 `admin` 登录到 ANI-RSS。

登录后,不要忘记在 `设置` - `登录设置` 中修改账户密码。

### 下载设置

地址填写 `http://host.docker.internal:8989`,用户名和密码填写你在上一步中设置的 qBittorrent 的账户密码。

为了配合洗版,`自动删除` 需要打开。

保存位置填写为容器内的路径 `/bangumi`,保存后点击测试连接,如果一切正常的话应该会显示 `连接成功`。

![下载设置(这里我改了下地址来适配我自己的环境)](https://pic.r2.byteloid.one/2026-3-4-1.png)

### 其他设置

大多数设置项都可以保持默认。

`添加订阅` 部分中,`标题添加年份` 和 `自动剧集偏移` 推荐开启,其他的可以根据自己的喜好进行调整。

![基本设置-添加订阅](https://pic.r2.byteloid.one/2026-3-4-2.png)

`RSS设置` 中,`RSS开关` 肯定是要启用的,此外 `自动跳过` 建议关闭,否则在 `备用 RSS` 下载完后就不会洗版更新成 `主 RSS` 的了。

当然 `RSS 设置` 中的 `备用RSS` 也不要忘记开启

![基本设置-RSS设置-1](https://pic.r2.byteloid.one/2026-3-4-3.png)
![基本设置-RSS设置-2](https://pic.r2.byteloid.one/2026-3-4-4.png)

### 添加订阅

终于到了添加订阅的环节了!

点击右上角的 `添加订阅` - `Mikan`,搜索自己想要订阅的番剧,随后选择心意的字幕组进行订阅!

但请注意,对于较早的番剧可能存在死种的情况,因此不建议订阅过早的番剧。

![添加订阅-1](https://pic.r2.byteloid.one/2026-3-4-5.png)

以《我推的孩子》第三季为例,我的 `主 RSS` 是 `LoliHouse`,他们的命名方式是 `S3 - xx` 的格式,但不是每个字幕组都会这样提前做好剧集偏移的,因此在添加备用源的时候,我选择了 `ANi` 作为我的 `备用 RSS` 之一,此时我就要手动设置 `剧集偏移` 为 `-21`,这样下下来的剧集才会正确地命名为 `S3Exx` 的格式。

![添加订阅-2](https://pic.r2.byteloid.one/2026-3-4-6.png)

# 扫描入库和美化功能

我使用 Jellyfin 作为媒体服务器,同时搭配 Fontinass 解决大部分可能遇到的字体缺失问题。

## 通过 Docker 部署

```docker-compose.yml
services:
jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    volumes:
      - ./config:/config
      - ./cache:/cache
      - /mnt/data/bangumi:/bangumi
    restart: 'unless-stopped'
    environment:
      - JELLYFIN_PublishedServerUrl=https://jellyfin.example.com
    entrypoint: sh -c "sed -i 's#</div></body>#</div><script src=\"https://cdn.jsdelivr.net/gh/Izumiko/jellyfin-danmaku@gh-pages/ede.user.js\" defer></script></body>#' /jellyfin/jellyfin-web/index.html && exec /jellyfin/jellyfin"

fontinass:
    image: riderlty/fontinass:latest
    container_name: fontinass
    ports:
      - 8012:8012
    volumes:
      - ./fontinass_data:/data
      - ./fontinass_fonts:/fonts
    environment:
      - EMBY_SERVER_URL=http://jellyfin:8096
```

其中,`jellyfin` 是 Jellyfin 的 Docker 镜像,`fontinass` 是 Fontinass 的 Docker 镜像。

`/mnt/data/bangumi` 是我们挂载番剧的路径,你应当根据自己的实际情况进行调整。

我修改了 `jellyfin` 的 `entrypoint`,在其 Web UI 中注入了弹幕插件,如果你不需要这个功能的话,可以直接注释掉 `entrypoint` 这一行。

`fontinass` 是一个实时将字体子集化后嵌入 ass 的小工具,有助于我们在未安装字体的设备上显示具有字体的字幕。

## 安装和配置插件

### 添加插件源

在打开 `控制台` - `插件` - `管理库` 中,添加 Bangumi 插件源,地址为 `https://jellyfin-plugin-bangumi.pages.dev/repository.json`,随后安装 `Bangumi 插件`。

### 配置刮削

选择 `添加媒体库`,选择完内容类型和文件夹后,配置媒体库设置,你可以直接参考我下面的配置。

![媒体库设置](https://pic.r2.byteloid.one/2026-3-4-7.png)

对于 `元数据下载器`,我推荐优先使用 `TheMovieDB` 作为数据来源(尽管对于多季番剧的支持似乎不是很好,有的会被塞到一季里面,都是日本人害的.jpg),`Bangumi` 只是作为补充。

剩下的事情,就是去泡杯咖啡(笑,然后等待刮削完享受番剧就可以了!

# 后记

这次搭建的比我想象中顺利很多,但还是有一些小问题(比如日本人不分季导致 `TheMovieDB` 和 `Bangumi` 都可能获取不到多季番剧的标题),希望后续能够得到改善。

实际上,`fontinass` 还有很多没有说的,比如说如果你动手能力强可以不用它内置的反代之类的......

但总之,该先享受追番时刻了(笑

# 参考资料
- (https://www.himiku.com/archives/ani-rss.html)
- (https://github.com/RiderLty/fontInAss)
- [首页 - ANI-RSS 基于RSS自动追番、订阅、下载、刮削 ](https://docs.wushuo.top/)

---

首发于 (https://blog.byteloid.one/2026/03/03/ani-rss-and-jellyfin-with-fontinass/) 和奶昔论坛,CC-BY-NC-SA 4.0 许可协议。

samhou 发表于 2026-3-4 22:00:22

居然能在这里看到ass教程,那么我也来分享一下我的compose,ass+jellyfin,带下载器和peerban,整套部署(记得改硬件解码配置和路径):
services:
ani-rss:
    image: wushuo894/ani-rss:latest
    container_name: ani-rss
    # 自定义 DNS
    # dns: 8.8.8.8
    environment:
      - PUID=0
      - PGID=0
      - UMASK=022
      - PORT=7789 # ani-rss 端口
      - CONFIG=/config
      - TZ=Asia/Shanghai
    volumes:
      - ./ani-rss/config:/config
      - /mnt/usb/downloads:/downloads # 番剧挂载路径,两侧须保持一致
    ports:
      - 7789:7789
    restart: always
    network_mode: bridge
qbittorrent:
    image: superng6/qbittorrent
    container_name: qbittorrent
    environment:
      - PUID=0
      - PGID=0
      - TZ=Asia/Shanghai
    volumes:
      - ./qbittorrent/config:/config
      - /mnt/usb/downloads:/downloads
    ports:
      - 54757:54757
      - 54757:54757/udp
      - 8080:8080
    restart: unless-stopped
    network_mode: host
jellyfin:
    image: jellyfin/jellyfin
    container_name: jellyfin
    user: 0:0
    group_add:
      - '993'
    ports:
      - 8096:8096/tcp
      - 7359:7359/udp
    volumes:
      - ./jellyfin/config:/config
      - ./jellyfin/cache:/cache
      - /dev/nvidia-caps:/dev/nvidia-caps
      - /dev/nvidia0:/dev/nvidia0
      - /dev/nvidiactl:/dev/nvidiactl
      - /dev/nvidia-modeset:/dev/nvidia-modeset
      - /dev/nvidia-uvm:/dev/nvidia-uvm
      - /dev/nvidia-uvm-tools:/dev/nvidia-uvm-tools
      - type: bind
      source: /mnt/usb/downloads
      target: /media
      # Optional - extra fonts to be used during transcoding with subtitle burn-in
      - type: bind
      source: ./jellyfin/fonts
      target: /usr/local/share/fonts/custom
      read_only: true
    # runtime: nvidia
    # deploy:
    #   resources:
    #   reservations:
    #       devices:
    #         - driver: nvidia
    #         count: all
    #         capabilities:
    restart: 'unless-stopped'
    # Optional - alternative address used for autodiscovery
    environment:
      - JELLYFIN_PublishedServerUrl=http://example.com
    # Optional - may be necessary for docker healthcheck to pass if running in host network mode
    extra_hosts:
      - 'host.docker.internal:host-gateway'
    #runtime: nvidia
    #deploy:
   #   resources:
#      reservations:
#         devices:
#         - driver: nvidia
#            count: all
#            capabilities:
peerbanhelper:
    image: "ghostchu/peerbanhelper:v9.2.3"
    restart: unless-stopped
    container_name: "peerbanhelper"
    volumes:
      - ./peerbanhelper:/app/data
    network_mode: host
    stop_grace_period: 30s

nyarime 发表于 2026-3-4 03:53:00

很有帮助,已设精🤗

kuriyama 发表于 2026-3-4 18:22:37

感谢分享,有空试试

Lily 发表于 2026-3-5 05:25:18

感谢,之前正好想自己搭一个类似的Jellyfin+AniAss的自动追番工具,不过我一直在搁置,特别是楼主的配置还解决了字体问题,以及楼上还加入了我也想加的PBH,这样就可以自己搓一套完整的了

boluo 发表于 2026-3-6 11:44:03

感谢科普 研究一下

caszx 发表于 2026-3-6 15:15:52

谢谢楼主分享经验,学习学习
页: [1]
查看完整版本: 追番新体验:ANI-RSS、Jellyfin 与 Fontinass 的集成