用命令行程序来追番 带WEBUI | BGmi

1.前言

本文于2023年7月6日首发,因为各种原因并没有完成,所以重新发布一下。没错,这篇文章夜梦鸽了近两年

在开始之前,夜梦推荐你使用AutoBangumi追番,因为它更简单且易用。具体部署可以参考这篇文章:自动追番,解放双手 | AutoBangumi | qbittorrent | Jeffylin。阅读本教程部署bgmi需要一定的Linux知识,以及面对error不放弃的良好心态。

BGmi是一个追番神器(还是用命令行来追番的)!虽然说是命令行追番,但是也有WEBUI方便观看和管理番剧。没错,有WEBUI!还是可以直接看番的那种!

项目地址:BGmi(github.com)

特性:

  • 多个数据源可选: bangumi_moemikan_project 或者dmhy
  • 使用 aria2, transmission, qbittorrent 或者 deluge 来下载你的番剧.
  • 提供一个管理和观看订阅番剧的前端.
  • 弹幕支持
  • 提供 uTorrent 支持的 RSS Feed 和移动设备支持的 ICS 格式日历.
  • Bangumi Script: 添加自己的番剧解析器
  • 番剧放松列表和剧集信息
  • 下载番剧时的过滤器(支持关键词,字幕组和正则)
  • 多平台支持: Windows, *nux 以及 Router system

官方给出了多种部署方式,包括使用pip/pipx进行安装,使用源码进行安装,使用docker进行安装。夜梦这里仅演示使用pipx进行安装。

BGmi支持三种数据源,分别为:

具体的各种使用方式大家可以参考官方GitHub中给出的文档!

2.准备

夜梦这里使用的是雨云的服务器,系统为debian12。雨云长期全场景九折 + 首月五折注册优惠链接:https://www.rainyun.com/

在开始之前,夜梦建议你最好会一点Linux知识(不会的话最好会合理运用deepseek),最关键的是有面对error不放弃的良好心态

3. 部署BGmi

pipx 是专门用于安装隔离的 Python 命令行工具的包管理器,bgmi 需要 Python 3.7 或更高版本,夜梦使用的服务器已经自带了python3.11.2,所以满足了基础要求。接下来安装pip:

# 如果无法安装pipx,考虑更新
# apt update -y && apt upgrade -y
apt install pipx -y
pipx ensurepath  # 确保 pipx 在 PATH 里

安装完成后会提示:

安装bgmi(默认安装在/root/.bgmi中):

# 如果提示On Debian/Ubuntu systems, you need to install the python3-venv package using the following command.安装即可
# apt-get install python3-venv
pipx install bgmi

安装完成后会提示:

接下来我们初始化bgmi:

bgmi install

4. 环境配置

4.1 默认配置

这部分部署内容将涉及环境配置,略微麻烦一点,耐心操作即可。具体的配置文件内容如下:

data_source = "bangumi_moe" # bangumi source,!!! 请不要手动修改此选项 !!!
download_delegate = "aria2-rpc" # 番剧下载工具 (aria2-rpc, transmission-rpc, deluge-rpc, qbittorrent-webapi)
tmp_path = "tmp/tmp" # tmp dir
save_path = "tmp/bangumi" # 下载番剧保存地址
max_path = 3 # 抓取数据时每个番剧最大抓取页数
bangumi_moe_url = "https://bangumi.moe"
share_dmhy_url = "https://share.dmhy.org"
mikan_url = "https://mikanani.me"
mikan_username = "" # 蜜柑计划的用户名
mikan_password = "" # 蜜柑计划的密码
enable_global_filters = true
global_filters = [
    "Leopard-Raws",
    "hevc",
    "x265",
    "c-a Raws",
    "U3-Web",
]

proxy = '' # http proxy example: http://127.0.0.1:1080

[save_path_map] # 针对每部番剧设置下载路径
'致不灭的你 第二季' = '/home/trim21/downloads/bangumi/致不灭的你/s2/' # 如果使用绝对路径,可能导致 web-ui 无法正确显示视频文件。
'致不灭的你 第三季' = './致不灭的你/s3/' # 以 save_path 为基础路径的相对路径

[http]
admin_token = "dYMj-Z4bDRoQfd3x" # web ui 的密码
danmaku_api_url = ""
serve_static_files = false

[aria2]
rpc_url = "http://localhost:6800/rpc" # aria2c RPC URL (不是 jsonrpc URL, 如果你的 aria2c 运行在 localhost:6800, 对应的链接为 `http://localhost:6800/rpc`)
rpc_token = "token:" # aria2c RPC token (如果没有设置 token, 留空或者设置为 `token:`)

[transmission]
rpc_host = "127.0.0.1"
rpc_port = 9091
rpc_username = "your_username"
rpc_password = "your_password"
rpc_path = "/transmission/rpc" # transmission http rpc 的请求路径

[qbittorrent]
rpc_host = "127.0.0.1"
rpc_port = 8080
rpc_username = "admin"
rpc_password = "adminadmin"
category = ""

[deluge]
rpc_url = "http://127.0.0.1:8112/json"
rpc_password = "deluge"

4.2 注册MIKAN计划账号

番剧数据源夜梦推荐使用mikan_project。切换数据源必须使用bgmi source命令,不能手动修改配置文件。手动修改配置文件会导致 bgmi 报错!

bgmi source mikan_project

切换为mikan_project以后,需要配置 MIKAN_USERNAME 和 MIKAN_PASSWORD(去蜜柑计划 – Mikan Project注册账号,使用注册的账号与密码即可)。

注册完毕以后,可以使用:

vim config.toml

进入编辑器。在英文键盘下按下i键进入编辑模式,修改mikan_usernamemikan_password。夜梦建议在一步同时修改download_delegateqbittorrent-webapi,具体修改如下图所示:

修改完成后,按下esc键,输入:wq保存退出。

4.3 安装qBittorrent

这里夜梦推荐使用qBittorrent,安装和使用都很简单。安装参考文章:qBittorrnet | 下载神器需要使用root用户!

4.4 使用HTTP

bgmi默认安装在/root/.bgmi,配置文件为config.toml。如果你想通过HTTP访问(WEB访问),你需要将serve_static_files设置为true(默认是false)。如果你没有更改bgmi的安装位置,那么可以直接复制夜梦的代码修改配置文件:

vim /root/.bgmi/config.toml

在英文键盘下按下i键进入编辑模式,找到[http]模块,将serve_static_files设置为true

修改完成后,按下esc键,输入:wq保存退出。下载前端文件(上面其实已经下载过了)

bgmi install

16961端口持久启动 BGmi HTTP 服务器:

apt install screen -y && screen -S bgmi
bgmi_http --port=16961 --address=0.0.0.0

出现下图的提示说明已经启动成功了。我们可以按ctrl+a+d组合键退出screen。访问ip:16961即可进入WEB界面。

5. 使用

5.1 基本使用

查看目前正在更新的新番:

bgmi cal

如果一切正常,你就可以看到正在更新的番了(下面这张图是23年的)。番源是bgmi config中的第一行data_source = "bangumi_moe"

以下使用方法引用自github,订阅番剧:

bgmi add "进击的巨人 第三季" "刃牙" "哆啦A梦"
bgmi add "高分少女" --episode 0

添加番剧的同时设置下载路径:

bgmi add "高分少女" --episode 0 --save-path './高分少女/S1/'

退订:

bgmi delete "Re:CREATORS"

更新番剧列表并且下载番剧:

bgmi update --download # update all
bgmi update "从零开始的魔法书" --download

设置筛选条件:

bgmi list # 列出目前订阅的番剧
bgmi fetch "Re:CREATORS"
# include和exclude会忽略大小写。`720p`和`720P`的效果是相同的
bgmi filter "Re:CREATORS" --subtitle "DHR動研字幕組,豌豆字幕组" --include 720P --exclude BIG5
bgmi fetch "Re:CREATORS"
# 删除subtitle,include和exclude,添加正则匹配
bgmi filter "Re:CREATORS" --subtitle "" --include "" --exclude "" --regex "..."
bgmi filter "Re:CREATORS" --regex "(DHR動研字幕組|豌豆字幕组).*(720P)"
bgmi fetch "Re:CREATORS"

5.2 示例

比如夜梦想要查看现在正在更新的番剧,那么就运行:

bgmi cal

夜梦想要订阅《You and idol 光之美少女♪》,那么就运行:

bgmi add "You and idol 光之美少女♪"

番剧名称建议加上双引号,避免出错。

进入web界面以后,可以看到:

如果封面显示异常,像下面这样什么也不显示的话

可以运行下面的命令下载番剧封面:

bgmi cal --download-cover

再次访问web界面,封面就可以正常显示了~

你也可以直接在web界面进行订阅,比如夜梦这里想要订阅《芦毛灰姑娘》,直接在subscribe里面找到《芦毛灰姑娘》,点击订阅并选择字幕组后保存即可:

但是,到这里会有一个问题,你会发现订阅以后qb中并没有在下载对应的番剧,在bgmi web端也无法播放。这里我们可以手动操作一下,进行下载。比如夜梦想要下载《芦毛灰姑娘》的第一集(如果想下载多集的话,直接修改min和max的值即可),可以运行:

bgmi search "赛马娘 芦毛灰姑娘" --min-episode 0 --max-episode 1 --download

现在再到qb中进行查看,就可以看到在下载的内容了:

此时我们回到web端,就可以正常播放了:

但是,到这里还有一个问题,那就是——番剧没有字幕!但是夜梦现在不想管了,就先这样吧,后面再慢慢更新这篇文章

本文为夜梦星尘原创文章。
文章作者:夜梦星尘
文章链接:用命令行程序来追番 带WEBUI | BGmi
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自夜梦星尘
支持作者:夜梦星尘的爱发电
上一篇