BGmi - 内网看番,快人一步
一直想写一篇文章介绍 BGmi,但是又懒散。不过今天开学第一天,又闲,突发兴致来写一篇文章介绍 BGmi。
BGmi 是一个命令行下的追番工具,同时提供 Web 界面。
Github:https://github.com/RicterZ/BGmi
文章分为如下几部分:
命令行
BGmi 分为几个模块:
订阅管理
查看可添加的订阅:
bgmi cal all
没错,就是列出当季番的更新日历。
查看订阅的番(和字幕组列表):
bgmi followed list
添加 / 删除订阅:
bgmi add "香蕉喵" "怪物彈珠"
bgmi delete --name "香蕉喵" "怪物彈珠"
bgmi delete --clear-all --batch
设置 / 删除指定的字幕组:
bgmi filter "Rewrite" "千夏"
bgmi filter "Rewrite" "千夏"--remove
bgmi filter "Rewrite" --remove-all
特别需要注意的是,如果字幕组列表长这样:
Rewrite(10) 動漫國, 千夏, 星岡, NEO·QSW, 澄空.雪飄, 喵萌茶會, 光之園, TU, 極影.漫遊
用,
分割的是不同字幕组,用.
分割的是字幕组联合发布,添加的时候以.
前第一个为准。
更新订阅:
bgmi update --download
其中--download
为更新完之后自动下载,不加的话只会更新集数,不会自动下载。
修改更新集数:
bgmi followed mark 槍彈辯駁3絕望篇 1
修改集数之后再bgmi update --download
将会下载《槍彈辯駁3絕望篇》第 2 到最新一集。
下载管理
列出下载列表:
bgmi download list
还可以通过状态查询:
- 0 - 未下载
- 1 - 下载中
- 2 - 下载完成
比如我想看未下载的列表:
bgmi download list 0
修改下载状态:
通过上述查询到下载 ID 后,比如:
>>> ~ bgmi download list 1
Download status value: Not Downloaded: 0 / Downloading: 1 / Downloaded: 2
Downloading items:
57. <槍彈辯駁3絕望篇: 8>
修改这个条目为已下载:
bgmi download mark 57 2
配置
列出配置:
bgmi config
修改配置:
bgmi config MAX_PAGE 3
以下为各个配置项的解释:
DMHY_URL
:动漫花园的镜像地址,当然你可以自己搭建,墙外的话可以直接写动漫花园源站地址BGMI_SAVE_PATH
:下载的番的存放地址BGMI_TMP_PATH
:临时目录MAX_PAGE
:获取 Bangumi 下载条目信息的时候获取数据的页数DOWNLOAD_DELEGATE
:下载委托,也就是用什么下载,目前支持如下几个xunlei
:xunlei-lixian 脚本aria2
:用 aria2c 大法下载aria2-rpc
:将数据传送到 aria2c daemon 进行下载BGMI_LX_PATH
:xunlei-lixian 的二进制文件地址ARIA2_PATH
:aria2c 的二进制文件地址ARIA2_RPC_URL
:aria2c rpc 的 URL 地址
杂项
当季番的更新日历:
bgmi cal all --force-update
查看 BGmi 版本:
bgmi --version
BGmi HTTP Service
BGmi 搭配 xunlei-lixian 适用于个人 PC,如果想搭建在路由器 / 树莓派 / 内网的话,推荐搭配是 BGmi / bgmi_http / aria2-rpc / yaaw / nginx BGmi HTTP Service 是我用 tornado 简单的写的,搭建需要如下几步:
修改 BGmi 为 aria2-rpc 模式,并启动 aria2 daemon。
首先安装 aria2 不必多说,然后修改配置文件~/.aria2/aria2.conf
:
enable-rpc=true
rpc-allow-origin-all=true
rpc-listen-all=true
# 如果你想做种的话,就把下面这一句删掉
seed-time=0
然后修改 BGmi 为 aria2-rpc 模式:
bgmi config DOWNLOAD_DELEGATE aria2-rpc
接着:
- 启动 BGmi HTTP Service:
bgmi_http
- 启动 aria2:
aria2c --conf-path=/home/ricter/.aria2/aria2.conf
- 修改 nginx 配置文件,并重新启动 nginx
因为 tornado 处理静态文件比较低效,特别是下载的番,每一个都很大。
server {
listen 80;
root /var/www/html/bangumi;
autoindex on;
charset utf8;
server_name bangumi.ricterz.me;
location /bangumi {
alias /home/ricter/.bgmi/bangumi;
}
location /bgmi_admin {
auth_basic "BGmi admin (yaaw)";
auth_basic_user_file /etc/nginx/htpasswd;
alias /var/www/html/yaaw/;
}
location / {
proxy_pass http://127.0.0.1:8888;
}
}
其中/home/ricter/.bgmi/bangumi
是番的下载目录,将/bangumi
请求全部 alias 到这里即可。
如果可以的话,可以用 yaaw 做一个 admin,最好设置上密码,当然如果你把 6800 端口(aria2 daemon)绑定在 0.0.0.0 话,基本什么用了...
讲道理,安全的方法是将 6800 端口绑定在 127.0.0.1,然后 nginx 配置里添加一句:
location /some_secret_path {
proxy_pass http://127.0.0.1:6800;
}
然后 yaaw 里配置 daemon 地址到这里即可。
然后就可以享受内网极速看番的乐趣了 XD
下面是重邮校内 Bangumi 服务,前端我做了一点修改,当然你也可以自己做一套前端啦。