从前一直开腾讯视频会员,偶尔看看电影,周六看看斗罗,现在发现这样太吃亏了,一个月四集水得不行的斗罗根本不值得我开会员啊喂!再想想哔哩哔哩最近动作和那位已婚大叔,也不值得我开大会员嘛,更何况我在这头,想看的番剧在那头,每次都要挂科学上网才能解锁,属实费劲。

我不是有一台闲置的新加坡服务器吗?自己动手吧。于是最初有了这样一套笨笨的追番流程:bangumi.moe 等种子分享站找种子 -> 丢到服务器上的 Aria2 下载 -> 使用 Rclone 挂载谷歌云盘,将 Aria2 下载转移到云盘 -> 上谷歌云盘网页下载。但是这样一来科学上网工具的流量开销比较大,而且也完全称不上自动。

后来我开通了 Microsoft 365 E5 开发者订阅(大家都在玩,我也整一个),这一流程有了新的变化,从 Google Drive 改到 OneDrive 后,Windows 系统下直接打开 OneDrive 文件夹同步就可以免去手动登录网页下载了。有人说 OneDrive 下载速度太慢,不过我使用几周以来尚且满意,最高能跑满家庭带宽,睡一觉起来想看的东西就都同步完成了。

最后一个任务是 RSS 订阅,让 Aria2 自己找番剧下载。AriaNG 并不能直接订阅,搜索后我发现了 Flexget 这个 Python 工具。

现在已经只要本地打开文件夹同步,想要看的东西就会自己出现在那里,宅の生活质量提升了,人也变得精神了呢!写下这篇文章记录整个部署过程。

Rclone

Rclone 下载安装 Offical 。按照命令行提示输入后得到配置文件 rclone.conf 是后续需要用的,路径一般为 ~/.config/rclone/rclone.conf

注意使用自己的 Secret ID & Key,据说能极大的提高文件传输速率。公用的 API 想想就知道肯定比不过自建。参考文档 GoogleDrive: Making your own client_idOneDrive: Getting your own Client ID and Key 创建即可。

Rclone 挂载 OneDrive 需要在运行图形界面的系统上完成,Linux 服务器由于一般不带图形界面,所以需要配合本地机器完成,在 Windows 中下载 Rclone 相应版本文件,Power Shell 进入解压后的文件夹中键入下面命令后复制 Paste the following into your remote machine ---><---End paste 之间的 SECRET_TOKEN 到远程服务器命令行中。

.\rclone authorize "onedrive" "Client_ID" "Client_secret"

OneDrive 更详细挂载过程可参考文章《Rclone 进阶使用教程 - 自建私有 API 挂载 OneDrive - P3TERX》。后面均使用 OneDrive 完成

Aria2

使用 Docker 部署 Aria2 服务和 AriaNG 前端页面。参考文章《Aria2 Pro - 更好用的 Aria2 Docker 容器镜像 - P3TERX》。

# 建立 Docker 映射文件夹
mkdir /data /data/ariapro /data/ariapro/config /data/ariapro/downloads

# 复制 Rclone 配置文件
cp ~/.config/rclone/rclone.conf /data/ariapro/config/rclone.conf

# 拉取部署 Aria2
# 修改 <TOKEN> 为自定字符串
# 注意 IPV6_MODE=enable 仅适用于开启 IPv6 的机器,否则出错
docker run -d \
  --name ariapro \
  --restart unless-stopped \
  --log-opt max-size=1m \
  --network host \
  -e PUID=$UID \
  -e PGID=$GID \
  -e RPC_SECRET=<TOKEN> \
  -e RPC_PORT=6800 \
  -e LISTEN_PORT=6888 \
  -e IPV6_MODE=enable \
  -e SPECIAL_MODE=rclone \
  -v /data/ariapro/config:/config \
  -v /data/ariapro/downloads:/downloads \
  p3terx/aria2-pro

# 拉取部署 AriaNG
docker run -d \
  --name ariang \
  --restart unless-stopped \
  --log-opt max-size=1m \
  -p 6880:6880 \
  p3terx/ariang

# 配置 rclone 自动上传
# 根据实际修改网盘名称 drive-name 和网盘路径 drive-dir
nano /data/ariapro/config/script.conf
# 修改下载完成后执行的命令 on-download-complete 为 /root/.aria2c/upload.sh
nano /data/ariapro/config/aria2.conf

# 重启 Aria2 容器
docker restart ariapro

Nginx

这部分用于部署自己的域名并代理 RPC 端口。

安装 Nginx。简便起见,直接使用 Ubuntu 仓库中的 nginx 包。

apt install -y nginx

安装好后 Nginx 配置文件位于 /etc/nginx,新建 .conf 文件于 /etc/nginx/conf.d 文件夹下即可。

server {
  listen [::]:80;
  listen 80;
  listen [::]:443 ssl http2;
  listen 443 ssl http2;
  ssl_certificate /data/ssl/aria.tingle.dev.crt;
  ssl_certificate_key /data/ssl/aria.tingle.dev.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  server_name aria.tingle.dev;
  access_log off;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  
  location / {
    proxy_redirect off;
    proxy_pass http://localhost:6880;
    proxy_set_header  Host                $http_host;
    proxy_set_header  X-Real-IP           $remote_addr;
    proxy_set_header  X-Forwarded-Ssl     on;
    proxy_set_header  X-Forwarded-For     $proxy_add_x_forwarded_for;
    proxy_set_header  X-Forwarded-Proto   $scheme;
    proxy_set_header  X-Frame-Options     SAMEORIGIN;
    client_max_body_size        100m;
    client_body_buffer_size     128k;
    proxy_buffer_size           4k;
    proxy_buffers               4 32k;
    proxy_busy_buffers_size     64k;
    proxy_temp_file_write_size  64k;
  }
  location ^~ /jsonrpc {
    proxy_http_version 1.1;
    add_header Front-End-Https on;
    proxy_set_header Connection "";
    proxy_set_header Host $http_host;
    proxy_set_header X-NginX-Proxy true;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://localhost:6800/jsonrpc;
    proxy_pass_header X-Transmission-Session-Id;
  }
  # location ^~ /googlejsonrpc {
  #   proxy_http_version 1.1;
  #   add_header Front-End-Https on;
  #   proxy_set_header Connection "";
  #   proxy_set_header Host $http_host;
  #   proxy_set_header X-NginX-Proxy true;
  #   proxy_set_header X-Real-IP $remote_addr;
  #   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  #   proxy_pass http://localhost:6802/jsonrpc;
  #   proxy_pass_header X-Transmission-Session-Id;
  # }
}

修改 L15 为部署域名,修改 L21 L43 为 Aria2 AriaNG 端口。多个 Aria2 RPC 端口时可以参考注释掉的部分。最后重启 Nginx。

service nginx restart

RSS

支持 RSS 订阅的站点目前我个人觉得萌番组的体验最棒了!萌番组官网 / 萌番组 Lite 版官网 / 萌番组 Material Design 版。点击搜索图标添加 Tags 搜索后 RSS 图标链接地址即为可用订阅地址,切换标题搜索同理。

比如 添加标签 Lilith-Raws 租借女友 1080p 和 搜索标题“Lilith 賢者時間 1080p” 分别可以得到这两种 RSS 订阅地址:

https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+548ee2ce4ab7379536f56358+5efffb4f3d656e43622cacc9
https://bangumi.moe/rss/search/Lilith%20%E8%B3%A2%E8%80%85%E6%99%82%E9%96%93%201080p
Tags
Tags
Title
Title

除了 bangumi.moe 之外还有很多平台,部分资源都相同,罗列一些包括但不限于二次元的资源站:

  • 動漫花園資源網 动漫、日剧、游戏、特摄等,支持 RSS
  • ACG.RIP 动画、日剧、综艺、音乐等,支持 RSS
  • Nyaa 侧重于东亚(中日韩)多媒体资源,被日本政府确定为主要的数字盗版网站,且 Sukebei 分站少儿不宜,支持 RSS
  • YIFY 以 BitTorrent 分发大量免费下载的电影而闻名,国内很多电影资源源头,支持 RSS
  • EZTV 国外电视节目等,“TV Torrents Online Series Download”,支持 RSS
  • The Pirate Bay 10 据称是“the galaxy's most resilient BitTorrent site”,支持 RSS
  • MAG 磁力站 侧重影视剧集,可以搜人人影视专用链接,像国内不是很靠谱的站点,支持 RSS
  • VCB-S 分享论坛 动漫字幕
  • JAV 方面的就不分享了,我只能说懂得都懂

Flexget

以上部分仅完成了基础的搭建,需要实现 RSS 订阅自动下载还需要安装 Flexget。

FlexGet is a multipurpose automation tool for all of your media
Support for torrents, nzbs, podcasts, comics, TV, movies, RSS, HTML, CSV, and more.
Official website

由于是 Python 编写,需要先安装 python3 pip3 包。

apt install python3 python3-pip
pip3 install --upgrade pip setuptools
pip3 install flexget

安装完成后新建 Flexget 配置文件夹并编写 Flexget 配置文件。

mkdir -p ~/.config/flexget
nano ~/.config/flexget/config.yml
我的配置文件
schedules:
  - tasks: "*"
    schedule:
      hour: "*/2"

tasks:
  KanojoOkarishimasu:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+548ee2ce4ab7379536f56358+5efffb4f3d656e43622cacc9
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /租借女友/
  YahariOrenoSeishunLovecomewaMachigatteIruKan:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+548ee2ce4ab7379536f56358+5e822875657e22f4195cc78c
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /我的青春恋爱物语果然有问题.完/
  MonsterMusumenoOishasan:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+548ee2ce4ab7379536f56358+5efff2f8c4be624128fcd338
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /魔物娘的医生/
  PeterGrilltoKenjanoJikan:
    rss: https://bangumi.moe/rss/search/Lilith%20%E8%B3%A2%E8%80%85%E6%99%82%E9%96%93%201080p
    accept_all: yes
    aria2: 
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /彼得·格里尔的贤者时间/
  DokyuHentaiHxEros:
    rss: https://bangumi.moe/rss/search/Lilith%20%E5%BC%A9%E7%B4%9A%E6%88%B0%E9%9A%8A%201080p
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /弩级战队HxEROS/
  MaouGakuinnoFutekigousha:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+548ee2ce4ab7379536f56358+5efffb503d656e43622cacd3
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /魔王学院的不适任者/
  Gibiate:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+5efff2fbc4be624128fcd346
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /猎魔武士/
  TheGodofHighSchool:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+5efff2f9c4be624128fcd33e
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /高校之神/
  ReZerokaraHajimeruIsekaiSeikatsu:
    rss: https://bangumi.moe/rss/tags/55c057b124180bc3647feb1d+5efff2fbc4be624128fcd348+548ee2ce4ab7379536f56358+5681480070a2ed025d98ae02+581be821ee98e9ca20730eae
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /Re.从零开始的异世界生活/
  KyojinzokunoHanayome:
    rss: https://bangumi.moe/rss/tags/5d8b3245306f1a0007bd7aca+5efff2f8c4be624128fcd33a
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /巨人族的新娘/
  DouLuoDaLu:
    rss: https://bangumi.moe/rss/search/GM-Team%20%E6%96%97%E7%BD%97%E5%A4%A7%E9%99%86%201080p
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /斗罗大陆/
  KoitoProducerEVOLLOVE:
    rss: https://bangumi.moe/rss/search/%E6%98%9F%E7%A9%BA%E5%AD%97%E5%B9%95%E7%BB%84%20%E6%81%8B%E4%B8%8E%E5%88%B6%E4%BD%9C%E4%BA%BA%20%E7%AE%80%E6%97%A5%201080
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /恋与制作人/
  Japan4KAnimeYTSMX:
    rss: https://yts.mx/rss/0/2160p/animation/0/ja
    accept_all: yes
    aria2:
      server: localhost
      port: 6800
      secret: <TOKEN>
      path: /YTS.MX.Japan4KAnime/

注意修改 Aria2 端口(不是 AriaNG 端口)和 Secret。保存后手动运行测试一次,选一种模式设置定时任务,查看状态。

flexget --test execute

flexget status

# Daemon 模式定时任务
#  -d                     后台运行
#  --autoreload-config    执行前重新载入配置文件
@reboot /usr/local/bin/flexget daemon start -d --autoreload-config

# Crontab 模式定时任务
# 删掉前面配置文件中的 scheduler 块配置
# 使用偏好的编辑器进入,添加一行
crontab -e
*/30 * * * * /usr/local/bin/flexget --cron execute

关于定时任务,上方示例中开头 L1-4 的配置是使用了 scheduler 插件,只有在 Daemon 模式下才可用。使用 crontab 定时任务不需要该配置。

Local

在本地只需要登录 OneDrive 账号设置好同步文件夹即可,右键将文件夹标记为“始终在此设备上保留”即可自动同步。注意删除本地默认会直接将 OneDrive 上的文件一同删除,只删除本地需要右键选择文件“释放空间”。

End

关于部署上面流程的服务器强烈推荐使用国外的,国内的 Docker 部署即使使用镜像我感觉体验也十分差劲,带宽更是一言难尽。自用 Digital Ocean 的新加坡 1 区服务器体验良好。如果就看看新番一集一集下硬盘需求不是很高,20-40GB 应该就可以了,要拿来正儿八经下东西硬盘还得越大越好的,这几天下的紫罗兰 4K 版全集就有 43GB 了。害,钱还是得花!

另外,需要 Microsoft 365 E5 订阅的话可以留言,白嫖 5T 云盘,一个订阅大家一起用更好

还要安利一个微软收购的文件转移工具:Mover 安全、强大、快速的文件转移工具,Microsoft 365 用户福音,可以实现 Box,Dropbox,Google,Amazon,Office 365(原 Microsoft 365) 向 Microsoft 365 转移文件,并且支持定时任务!遇到这个工具之后我果断坚定了抛弃墙外 Google Drive 的念头。

疫情在家对我来说最幸福的事莫过于每天都能找到想做的事想看的番了。从最初看看玄机的动漫打发时间,到《贤者之孙》和《干物妹小埋》入宅,纸片人的世界可太有意思啦!最近追的 7 月新番多少带点颜色,《租借女友》算是比较期待的。补的旧番印象深刻的就是《进击的巨人》《紫罗兰永恒花园》了,《巨人》最终季希望正常发挥,《紫罗兰》是目前为止我看过最感人、最温暖的番,外传已二刷,正片接下来估计也会二刷。

  • 现成的 OneDrive 文件:Anime / Movies / Series
  • 版权问题不可避免,请规范使用。
  • 有条件建议下载完毕后做种一段时间。
  • 绅士们注意身体,祝各位追番愉快。

 

微软赛高!