gnattu / BBFever

通过RSS订阅聚合器自动/批量下载Bilibili视频

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

BBFever

一个简单的BBDown扩展工具,可以从支持Fever API的RSS订阅聚合器中获取未读的RSS订阅并发送到BBDown进行下载。

Bilibili的RSS订阅使用RSSHub收集

支持Fever API的订阅聚合器可以选择Tiny Tiny RSS或者Fresh RSS

使用此工具前您需要先准备好已经部署的RSSHub和您喜欢的订阅聚合器并设定好了Bilibili的订阅并开启Fever API。由于目标网站的反爬虫设定,强烈建议自建RSSHub部署并且自定义cookie和user-agent来回避验证码

BBDown需要支持JSON API的版本。截止到这篇文档书写的时候(2023-11-04),没有正式版本提供了JSON API,因此您需要使用Actions中的自动构建版本。

命令行参数

Usage: bbfever [options]

Options:
  -u, --user <user>                      Fever API用户名
  -p, --password <password>              Fever API密码
  -f, --fever-api-url <fever-api-url>    Fever API的基本URL
  -b, --bbdown-api-url <bbdown-api-url>  BBDown API的基本URL
  -g, --feed-groups <feed-groups>        指定要下载的订阅源组,使用逗号隔开多个组ID。默认下载所有组中的未读项目
  -o, --bbdown-option <bbdown-option>    BBDown下载选项,JSON字符串格式
  -r, --refreshing-interval <seconds>    以特定间隔(以秒为单位)轮询订阅源的更新。BBFever将以此模式持续运行,以检查更新
  -h, --help                             显示帮助信息

Commands:
  show-groups                            显示所有RSS订阅源组

注意事项:

  • Fever API的基本URL是包含了最后到?api的部分的,比如Tiny Tiny RSS的Fever基本URL就会像是这样:http://ttrss.example.net/plugins/fever/?api, 而Fresh RSS的Fever基本URL则会像这样: http://freshrss.example.net/api/fever.php?api
  • BBDown的JSON格式下载选项和BBDown的命令行参数使用上差异不大,可以参阅datatype.ts或者BBDown的MyOption.cs看到所有可用的选项。
  • 订阅源组是在您的订阅聚合器中设置的,可以指定多个组:--feed-groups 1,2,3,也可以只指定一个组:--feed-groups 1。订阅源组的数字ID可以通过show-groups命令查询
  • 不指定-r, --refreshing-interval时BBFever会在拉取一次更新并发送下载任务后退出,方便您使用自己的计划任务工具

运行方式

首先确认Bun已安装

安装依赖:

bun install

运行:

bun run index.ts [options]

打包为单个可执行文件

如果想要部署方便,可以使用如下命令将程序打包成单个可执行文件:

npm run build

打包后的程序在./dist/bbfever

This project was created using bun init. Bun is a fast all-in-one JavaScript runtime.

About

通过RSS订阅聚合器自动/批量下载Bilibili视频

License:MIT License


Languages

Language:TypeScript 100.0%