Skip to content

📡 Universal RSS Pro for KoishiUniversal RSS Pro 是一个专为 Koishi 设计的高级 RSS 订阅插件。

它针对 X (Twitter)PixivBilibili 等富媒体及强反爬平台进行了深度优化,解决了通用 RSS 插件常见的“图片裂图”、“排版混乱”以及“Twitter 无法抓取”等痛点,并支持灵活的多级 Cookie 管理机制。## ✨ 核心特性- 🖼️ 原生级排版:自动解析 HTML,将图片转换为 Koishi 原生图片消息,拒绝乱码。- 🛡️ 防盗链破解:支持 Bot 代理下载图片,解决 Twitter/Pixiv 图片 403 裂图问题。- 🍪 多级 Cookie 管理:支持全局、源站(域名)、单条订阅三级 Cookie 配置,满足不同账号需求。- 🧩 智能去重:基于 GUID 去重,支持并发轮询,通过数据库持久化状态。

---## 🛠️ 安装与前置要求

在启用本插件之前,请确保您的环境满足以下条件:### 1. 安装依赖

本插件依赖 cheerio 进行 HTML 解析,依赖 rss-parser 处理订阅源。请在 Koishi 根目录下运行:```bash

yarn add cheerio rss-parser

或者

npm install cheerio rss-parser

  1. 准备数据源 (RSSHub)

强烈建议使用自建 RSSHub 服务。

官方的 rsshub.app 对 Twitter 等社交媒体通常不可用。

Tip: 如果您需要订阅 Twitter,请务必在 RSSHub 服务端配置 TWITTER_AUTH_TOKEN 和 TWITTER_CT0 环境变量。

⚙️ 配置说明

在 Koishi 控制台的 插件配置 页面,您可以调整以下参数:

配置项说明推荐值endpoint(核心) 您的 RSSHub 地址(末尾不要带 /)http://127.0.0.1:1200downloadImages是否由 Bot 下载图片后再发送(解决防盗链)true (开启)imageLimit单次更新推送的最大图片数量9domainCookies(进阶) 针对特定关键词的 Cookie 池见下方详解interval轮询检查间隔(秒)300debug是否输出详细调试日志false💻 指令手册

  1. 添加订阅

Bash

rss.add <路由或URL> <名称> [-c cookie]

路由:可以是完整 URL,也可以是 RSSHub 的简写路由(如 /twitter/user/Example)。

名称:给订阅起个名字,需在当前频道内唯一。

-c 选项:(可选) 为该订阅指定专属 Cookie。

示例:

Bash

基础用法

rss.add /bilibili/user/dynamic/123456 B站动态# 订阅 Twitter (使用全局/服务端 Cookie)

rss.add /twitter/user/elonmusk/exclude_replies 马斯克推文# 高级用法:使用特定账号 Cookie 订阅

rss.add /twitter/user/someone 私密关注 -c "auth_token=...; ct0=..."

  1. 删除订阅

Bash

rss.del <名称>

  1. 查看列表

Bash

rss.list

查看当前频道的订阅列表。

带有 🔐 图标表示该订阅使用了专属 Cookie。

  1. 测试订阅

Bash

rss.test [名称]

不填名称:测试当前频道的所有订阅。

填名称:立即抓取该订阅的最新一条内容并发送(无视去重),用于调试。

🔑 Cookie 管理策略

本插件采用 3级 Cookie 匹配机制,优先级从高到低如下:

  1. 订阅级 (Priority: High)

通过 rss.add -c "..." 指令添加。

场景:特定群聊需要订阅 Pixiv R-18 内容(需要会员 Cookie),或区分不同马甲号的订阅。

权重:最高,强制使用该 Cookie。

  1. 源站级 (Priority: Medium)

在插件配置的 domainCookies 中设置。

配置方式:

键 (Key): 路由关键词,例如 pixiv。

值 (Value): Cookie 字符串。

场景:为所有 Pixiv 订阅统一配置 PHPSESSID。

  1. 服务端/全局级 (Priority: Low)

推荐直接在 RSSHub 的 Docker 环境变量 中配置。

场景:Twitter (X) 等强风控平台。

说明:这是最稳定的方式,RSSHub 会自动处理轮询和缓存。

📱 常见场景教程

场景 A:订阅 X (Twitter) 博主

前提:RSSHub 服务端已配置好 Twitter 环境变量。

获取博主 ID(如 elonmusk)。

发送指令:

Plaintext

rss.add /twitter/user/elonmusk/exclude_replies 马斯克动态

(注:/exclude_replies 表示不看回复,只看主贴)

场景 B:订阅 Bilibili UP 主

获取 UP 主 UID。

发送指令:

Plaintext

rss.add /bilibili/user/dynamic/406796130 罗翔动态

❓ 常见问题 (FAQ)

Q: 提示 Service Unavailable 或 Twitter API is not configured?

A: 这意味着 RSSHub 无法访问 Twitter。请检查您的 RSSHub docker-compose.yml 文件,确保 TWITTER_AUTH_TOKEN 和 TWITTER_CT0 已正确填写并重启容器。

Q: 能够收到文字,但图片发不出来?

A: 1. 确保插件配置中 downloadImages 已开启。

  1. 检查您的服务器网络是否能访问外网图片地址(如 pbs.twimg.com)。

Q: 如何获取 Twitter Cookie?

A: 1. 浏览器按 F12 打开开发者工具。

  1. 进入 Application (应用) -> Cookies。

  2. 找到 https://x.com,复制 auth_token 和 ct0 的值。

  3. 拼接格式:auth_token=xxxx; ct0=xxxx。

KAF
邂逅
花谱 -KAF-