<?xml version="1.0" encoding="UTF-8"?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>DIYgod/RSSHub Open Pull Requests</title><link>https://github.com/DIYgod/RSSHub/pulls</link><atom:link href="http://rss.144-124-237-35.sslip.io/github/pull/DIYgod/RSSHub" rel="self" type="application/rss+xml"></atom:link><description>DIYgod/RSSHub Open Pull Requests - Powered by AtomRSS</description><generator>AtomRSS</generator><webMaster>contact@atomgroup.dev (AtomRSS)</webMaster><language>en</language><lastBuildDate>Sat, 08 Aug 2026 11:40:57 GMT</lastBuildDate><ttl>5</ttl><item><title>fix(router/twitter): fix twitter converstaion root post missing issue</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #22938&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/twitter/user/KOMODO_Games_JP
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;This fix is try to contain the twitter conversation tweet post into the route /twitter/user.
As some twitter acount using the conversation to create post.
But currently the root post is filter due to not access the entries &#39;profile-conversation-&#39;.&lt;/p&gt;
&lt;p&gt;The change is adding &#39;profile-conversation-&#39; to the getUserTweetsByID  and filter the none root post info.&lt;/p&gt;
&lt;p&gt;And sorry for the misformat pull request before.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22963</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22963</guid><pubDate>Sat, 08 Aug 2026 06:43:48 GMT</pubDate><author>E1xP</author></item><item><title>chore(deps-dev): bump eslint-plugin-unicorn from 72.0.0 to 73.0.0</title><description>&lt;p&gt;Bumps &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn&quot;&gt;eslint-plugin-unicorn&lt;/a&gt; from 72.0.0 to 73.0.0.&lt;/p&gt;
&lt;details&gt;
&lt;summary&gt;Release notes&lt;/summary&gt;
&lt;p&gt;&lt;em&gt;Sourced from &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/releases&quot;&gt;eslint-plugin-unicorn&#39;s releases&lt;/a&gt;.&lt;/em&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;h2&gt;v73.0.0&lt;/h2&gt;
&lt;h2&gt;New rules&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-arrow-return-style.md&quot;&gt;&lt;code&gt;consistent-arrow-return-style&lt;/code&gt;&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3601&quot;&gt;#3601&lt;/a&gt;)  ae3c3d93&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/iteration-fallback-style.md&quot;&gt;&lt;code&gt;iteration-fallback-style&lt;/code&gt;&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3602&quot;&gt;#3602&lt;/a&gt;)  a61c2c5e&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-barrel-files.md&quot;&gt;&lt;code&gt;no-barrel-files&lt;/code&gt;&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3570&quot;&gt;#3570&lt;/a&gt;)  d900c09e&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unsafe-sqlite-interpolation.md&quot;&gt;&lt;code&gt;no-unsafe-sqlite-interpolation&lt;/code&gt;&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3582&quot;&gt;#3582&lt;/a&gt;)  a09869bc&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/single-line-block-comment-style.md&quot;&gt;&lt;code&gt;single-line-block-comment-style&lt;/code&gt;&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3584&quot;&gt;#3584&lt;/a&gt;)  a0c2c576&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Improvements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Improve performance (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3560&quot;&gt;#3560&lt;/a&gt;)  7b7c7906&lt;/li&gt;
&lt;li&gt;Harden rules (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3585&quot;&gt;#3585&lt;/a&gt;)  9c2b0bb1&lt;/li&gt;
&lt;li&gt;&lt;code&gt;consistent-boolean-name&lt;/code&gt;: Add &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-boolean-name.md#wrappers&quot;&gt;&lt;code&gt;wrappers&lt;/code&gt;&lt;/a&gt; option (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3572&quot;&gt;#3572&lt;/a&gt;)  78c5abf2&lt;/li&gt;
&lt;li&gt;&lt;code&gt;consistent-boolean-name&lt;/code&gt;: Add &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-boolean-name.md#checkvariables&quot;&gt;granular check options&lt;/a&gt; (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3591&quot;&gt;#3591&lt;/a&gt;)  a33b1c1e&lt;/li&gt;
&lt;li&gt;&lt;code&gt;consistent-function-style&lt;/code&gt;: Add &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-function-style.md#defaultexport&quot;&gt;&lt;code&gt;defaultExport&lt;/code&gt;&lt;/a&gt; option (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3600&quot;&gt;#3600&lt;/a&gt;)  e78a7c96&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prefer-https&lt;/code&gt;: Add &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-https.md#ignore&quot;&gt;&lt;code&gt;ignore&lt;/code&gt;&lt;/a&gt; option (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3557&quot;&gt;#3557&lt;/a&gt;)  7f7ec066&lt;/li&gt;
&lt;li&gt;&lt;code&gt;comment-content&lt;/code&gt;: Handle Unicode word boundaries (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3597&quot;&gt;#3597&lt;/a&gt;)  dd52b4a4&lt;/li&gt;
&lt;li&gt;&lt;code&gt;import-style&lt;/code&gt;: Ignore type-only imports (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3599&quot;&gt;#3599&lt;/a&gt;)  f2a62e37&lt;/li&gt;
&lt;li&gt;&lt;code&gt;name-replacements&lt;/code&gt;: Handle TypeScript parameter properties (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3575&quot;&gt;#3575&lt;/a&gt;)  fa0df7bd&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no-negated-comparison&lt;/code&gt;: Never check relational operators (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3589&quot;&gt;#3589&lt;/a&gt;)  6120423a&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no-this-outside-of-class&lt;/code&gt;: Allow explicit TypeScript &lt;code&gt;this&lt;/code&gt; parameters (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3596&quot;&gt;#3596&lt;/a&gt;)  6a709b75&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no-unnecessary-string-trim&lt;/code&gt;: Handle Zod string schemas (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3577&quot;&gt;#3577&lt;/a&gt;)  1c06db0c&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prefer-else-if&lt;/code&gt;: Handle existing &lt;code&gt;else if&lt;/code&gt; chains (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3587&quot;&gt;#3587&lt;/a&gt;)  46eaaf00&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prefer-simple-condition-first&lt;/code&gt;: Treat &lt;code&gt;== null&lt;/code&gt; checks as simple (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3559&quot;&gt;#3559&lt;/a&gt;)  d1be07ea&lt;/li&gt;
&lt;li&gt;&lt;code&gt;prefer-set-has&lt;/code&gt;: Fix false positives for computed members (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3562&quot;&gt;#3562&lt;/a&gt;)  28176822&lt;/li&gt;
&lt;li&gt;&lt;code&gt;consistent-export-decorator-position&lt;/code&gt;: Fix decorator position reporting (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3583&quot;&gt;#3583&lt;/a&gt;)  0a19cb4d&lt;/li&gt;
&lt;li&gt;&lt;code&gt;no-array-for-each&lt;/code&gt;: Fix deprecation docs (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3568&quot;&gt;#3568&lt;/a&gt;)  0096a181&lt;/li&gt;
&lt;li&gt;Fix &lt;code&gt;process.exit&lt;/code&gt; control-flow analysis (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3590&quot;&gt;#3590&lt;/a&gt;)  342a5edf&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v72.0.0...v73.0.0&quot;&gt;https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v72.0.0...v73.0.0&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;/details&gt;
&lt;details&gt;
&lt;summary&gt;Commits&lt;/summary&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/b54802077b3783cf945e8ba10675800ae12f7fbb&quot;&gt;&lt;code&gt;b548020&lt;/code&gt;&lt;/a&gt; 73.0.0&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/ae3c3d93fbde6a403e470ac652e40cf714309788&quot;&gt;&lt;code&gt;ae3c3d9&lt;/code&gt;&lt;/a&gt; Add &lt;code&gt;consistent-arrow-return-style&lt;/code&gt; rule  (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3601&quot;&gt;#3601&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/a61c2c5ebfa9a43713f62587de24e729f1a5cae7&quot;&gt;&lt;code&gt;a61c2c5&lt;/code&gt;&lt;/a&gt; Add &lt;code&gt;iteration-fallback-style&lt;/code&gt; rule (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3602&quot;&gt;#3602&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/e78a7c9642be342c389252e28a7ca20ac6b1f217&quot;&gt;&lt;code&gt;e78a7c9&lt;/code&gt;&lt;/a&gt; &lt;code&gt;consistent-function-style&lt;/code&gt;: Add &lt;code&gt;defaultExport&lt;/code&gt; option (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3600&quot;&gt;#3600&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/f2a62e37210f155164da9d29d04db8010d55f34b&quot;&gt;&lt;code&gt;f2a62e3&lt;/code&gt;&lt;/a&gt; &lt;code&gt;import-style&lt;/code&gt;: Ignore type-only imports (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3599&quot;&gt;#3599&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/dd52b4a41a344a36a6970994867e934128b57f03&quot;&gt;&lt;code&gt;dd52b4a&lt;/code&gt;&lt;/a&gt; &lt;code&gt;comment-content&lt;/code&gt;: Handle Unicode word boundaries (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3597&quot;&gt;#3597&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/6a709b7508ede69b586ce714296c6798972ea9a8&quot;&gt;&lt;code&gt;6a709b7&lt;/code&gt;&lt;/a&gt; &lt;code&gt;no-this-outside-of-class&lt;/code&gt;: Allow explicit TypeScript &lt;code&gt;this&lt;/code&gt; parameters (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3596&quot;&gt;#3596&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/a33b1c1e207b37f5c6f4ea8f3e66dad9a9d1ad43&quot;&gt;&lt;code&gt;a33b1c1&lt;/code&gt;&lt;/a&gt; &lt;code&gt;consistent-boolean-name&lt;/code&gt;: Add granular check options  (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3591&quot;&gt;#3591&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/342a5edfc464ec60b121edb27169c0c7e06de72a&quot;&gt;&lt;code&gt;342a5ed&lt;/code&gt;&lt;/a&gt; Fix &lt;code&gt;process.exit&lt;/code&gt; control-flow analysis (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3590&quot;&gt;#3590&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/commit/6120423a4213f2589b091589a5e2552ef62f42dc&quot;&gt;&lt;code&gt;6120423&lt;/code&gt;&lt;/a&gt; &lt;code&gt;no-negated-comparison&lt;/code&gt;: Never check relational operators (&lt;a href=&quot;https://redirect.github.com/sindresorhus/eslint-plugin-unicorn/issues/3589&quot;&gt;#3589&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Additional commits viewable in &lt;a href=&quot;https://github.com/sindresorhus/eslint-plugin-unicorn/compare/v72.0.0...v73.0.0&quot;&gt;compare view&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;
&lt;br&gt;
&lt;p&gt;&lt;a href=&quot;https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores&quot;&gt;&lt;img src=&quot;https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=eslint-plugin-unicorn&amp;amp;package-manager=npm_and_yarn&amp;amp;previous-version=72.0.0&amp;amp;new-version=73.0.0&quot; alt=&quot;Dependabot compatibility score&quot; referrerpolicy=&quot;no-referrer&quot;&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Dependabot will resolve any conflicts with this PR as long as you don&#39;t alter it yourself. You can also trigger a rebase manually by commenting &lt;code&gt;@dependabot rebase&lt;/code&gt;.&lt;/p&gt;
&lt;hr&gt;
&lt;details&gt;
&lt;summary&gt;Dependabot commands and options&lt;/summary&gt;
&lt;br&gt;
&lt;p&gt;You can trigger Dependabot actions by commenting on this PR:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;@dependabot rebase&lt;/code&gt; will rebase this PR&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@dependabot recreate&lt;/code&gt; will recreate this PR, overwriting any edits that have been made to it&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@dependabot show &amp;lt;dependency name&amp;gt; ignore conditions&lt;/code&gt; will show all of the ignore conditions of the specified dependency&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@dependabot ignore this major version&lt;/code&gt; will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@dependabot ignore this minor version&lt;/code&gt; will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)&lt;/li&gt;
&lt;li&gt;&lt;code&gt;@dependabot ignore this dependency&lt;/code&gt; will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)&lt;/li&gt;
&lt;/ul&gt;
&lt;/details&gt;</description><link>https://github.com/DIYgod/RSSHub/pull/22959</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22959</guid><pubDate>Fri, 07 Aug 2026 08:07:13 GMT</pubDate><author>dependabot[bot]</author></item><item><title>fix(route/tsinghua): 修复图书馆路由的 CodeQL SSRF 警告</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/tsinghua/lib/tzgg
/tsinghua/lib/tzgg/kgtz
/tsinghua/lib/tzgg/sgwx
/tsinghua/lib/tzgg/fwtz
/tsinghua/lib/tzgg/wgtb
/tsinghua/lib/tzgg/qtkx
/tsinghua/lib/tzgg/gjtz
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;为图书馆通知公告路由（&lt;code&gt;lib/routes/tsinghua/lib/tzgg.ts&lt;/code&gt;）增加域名校验，修复 CodeQL 报出的 SSRF 安全警告，当抓取到非 &lt;code&gt;lib.tsinghua.edu.cn&lt;/code&gt; 的外链时跳过发起网络请求。&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22951</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22951</guid><pubDate>Fri, 07 Aug 2026 06:31:13 GMT</pubDate><author>Aquarius-Situla</author></item><item><title>docs(route/tsinghua): 为图书馆通知公告添加分类表格</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;NOROUTE
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;为路由加了更加详细的描述（Markdown 表格形式的分类），说明了不同分类的具体缩写与留空行为，方便用户查阅。&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22950</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22950</guid><pubDate>Fri, 07 Aug 2026 05:55:26 GMT</pubDate><author>Aquarius-Situla</author></item><item><title>feat(route/tsinghua): add thuhs routes</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/tsinghua/thuhs
/tsinghua/thuhs/tzgg
/tsinghua/thuhs/xstd
/tsinghua/thuhs/jsfc
/tsinghua/thuhs/xwdt
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;添加&lt;strong&gt;清华大学附属中学&lt;/strong&gt;相关的通知、活动与新闻动态支持。&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22942</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22942</guid><pubDate>Thu, 06 Aug 2026 05:07:47 GMT</pubDate><author>Aquarius-Situla</author></item><item><title>feat(route/mi): Add xiaomi new products route</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/mi/newproducts
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;小米商城 - 上新日历&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22934</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22934</guid><pubDate>Wed, 05 Aug 2026 05:11:50 GMT</pubDate><author>nuomi1</author></item><item><title>feat(route/huggingface): support trending papers</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/huggingface/daily-papers
/huggingface/daily-papers/date
/huggingface/daily-papers/week
/huggingface/daily-papers/month
/huggingface/daily-papers/trending
/huggingface/daily-papers/trending/50
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Adds &lt;code&gt;trending&lt;/code&gt; as a fourth cycle to the existing &lt;code&gt;huggingface/daily-papers&lt;/code&gt; route, covering &lt;a href=&quot;https://huggingface.co/papers/trending&quot;&gt;https://huggingface.co/papers/trending&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;That page is server-rendered from the same &lt;code&gt;div[data-target=&quot;DailyPapers&quot;]&lt;/code&gt; props blob as the date/week/month listings, with the same item shape, so it slots into the existing handler rather than needing a new route file. The existing radar rule &lt;code&gt;huggingface.co/papers/:cycle&lt;/code&gt; already resolved that URL to &lt;code&gt;/huggingface/daily-papers/trending&lt;/code&gt;, which previously threw &lt;code&gt;Invalid cycle&lt;/code&gt; — this makes the rule actually work.&lt;/p&gt;
&lt;p&gt;Two small related changes:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Trending order is preserved.&lt;/strong&gt; The other cycles are re-sorted by upvotes; for trending the page order &lt;em&gt;is&lt;/em&gt; the ranking, so it is passed through untouched (visible with &lt;code&gt;?sorted=false&lt;/code&gt;).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feed &lt;code&gt;title&lt;/code&gt;/&lt;code&gt;link&lt;/code&gt; now follow the cycle&lt;/strong&gt; (&lt;code&gt;Huggingface Daily/Weekly/Monthly/Trending Papers&lt;/code&gt;, linking to the page actually fetched). Previously all four cycles produced a feed titled &lt;code&gt;Huggingface Daily Papers&lt;/code&gt; pointing at &lt;code&gt;/papers&lt;/code&gt;, which made them indistinguishable in a reader.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Verified locally against a dev server — all four cycles return 200 with items, the vote filter still applies (&lt;code&gt;/trending/50&lt;/code&gt;), an unknown cycle still errors, and &lt;code&gt;/huggingface/daily-papers/trending?sorted=false&lt;/code&gt; matches the site&#39;s trending order item-for-item.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22906</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22906</guid><pubDate>Sun, 02 Aug 2026 02:20:47 GMT</pubDate><author>HernandoR</author></item><item><title>feat(utils): add parse date range to extract start&amp;end date</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;NOROUTE
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Adds a new utility &lt;code&gt;lib/utils/parse-date-range.ts&lt;/code&gt; that extracts a &lt;strong&gt;start date&lt;/strong&gt; and &lt;strong&gt;end date&lt;/strong&gt; from free-form date range strings, returning both in &lt;code&gt;YYYY-MM-DD&lt;/code&gt; format, can support both CN&amp;amp;EN date range format.
This utility was originally written in the &lt;code&gt;chnmuseum&lt;/code&gt; route. It is now promoted to a standalone, well-tested helper so that other routes (e.g. museum, gallery, and exhibition feeds) can reuse it directly instead of reimplementing the same logic.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22905</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22905</guid><pubDate>Sat, 01 Aug 2026 05:53:41 GMT</pubDate><author>magazian</author></item><item><title>feat(route): add Grand Canal Mus news&amp;exhib route</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/grandcanalmuseum/yunboxinwen
/grandcanalmuseum/linzhantezhan
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22898</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22898</guid><pubDate>Thu, 30 Jul 2026 15:15:30 GMT</pubDate><author>magazian</author></item><item><title>fix(route/zsxq): preserve topic ID precision</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/zsxq/group/88855458825252
/zsxq/user/2414218251
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Knowledge Planet returns 17-digit &lt;code&gt;topic_id&lt;/code&gt; values as JSON numbers. The default JavaScript parser rounds values beyond &lt;code&gt;Number.MAX_SAFE_INTEGER&lt;/code&gt;, which corrupts feed item links and GUIDs.&lt;/p&gt;
&lt;p&gt;This change parses the raw ZSXQ response with the existing &lt;code&gt;json-bigint&lt;/code&gt; dependency and stores large integers as strings, preserving exact topic links. It also adds a regression test for &lt;code&gt;55522458445228254&lt;/code&gt; and corrects the topics response type.&lt;/p&gt;
&lt;p&gt;Validation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pnpm vitest run lib/utils/got.test.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;targeted Oxfmt, Oxlint, and ESLint checks&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pnpm build:routes&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22836</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22836</guid><pubDate>Sun, 26 Jul 2026 15:06:30 GMT</pubDate><author>gbcdef</author></item><item><title>fix(route/gov/zhengce/zuixin): make it work</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply with result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/gov/zhengce/zuixin
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;本次 PR 修复了 &lt;code&gt;/routes/gov/zhengce/index.ts&lt;/code&gt; 中 &lt;code&gt;/gov/zhengce/zuixin&lt;/code&gt; 路由不可用的问题。&lt;/p&gt;
&lt;h3&gt;问题背景&lt;/h3&gt;
&lt;p&gt;由于网址及网页页面结构发生变更，原有路由已失效，导致 &lt;code&gt;/gov/zhengce/zuixin&lt;/code&gt; 无法正常获取内容。&lt;/p&gt;
&lt;h3&gt;修改内容&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;更新了目标 URL&lt;/strong&gt;：根据网站实际变化调整了请求地址&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;调整了数据解析逻辑&lt;/strong&gt;：适配新的页面结构，通过请求JSON数据，重新定位了标题、链接等关键元素&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;保持了原有功能&lt;/strong&gt;：修改仅针对 &lt;code&gt;/zuixin&lt;/code&gt; 路由，不影响其他路由的使用&lt;/li&gt;
&lt;/ol&gt;
&lt;h3&gt;修改原因&lt;/h3&gt;
&lt;p&gt;修复失效问题，提升路由的可用性和稳定性。&lt;/p&gt;
&lt;h3&gt;影响范围&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;✅ 仅影响 &lt;code&gt;/gov/zhengce/zuixin&lt;/code&gt; 路由&lt;/li&gt;
&lt;li&gt;✅ 无破坏性变更&lt;/li&gt;
&lt;li&gt;✅ 不影响其他路由的正常使用&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;测试情况&lt;/h3&gt;
&lt;p&gt;已在本地完成测试，以下路由正常工作：&lt;/p&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/gov/zhengce/zuixin 测试通过 ✅
&lt;/code&gt;&lt;/pre&gt;
&lt;h3&gt;测试结果&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;RSS 输出正常，包含完整的标题、发布时间和链接&lt;/li&gt;
&lt;li&gt;日期格式正确，时区已转换为北京时间（UTC+8）&lt;/li&gt;
&lt;li&gt;文章列表正确显示了最新网页信息&lt;/li&gt;
&lt;/ul&gt;
&lt;hr&gt;
&lt;p&gt;感谢维护者的审阅！如有任何问题，请随时告知。&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22819</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22819</guid><pubDate>Sat, 25 Jul 2026 06:17:52 GMT</pubDate><author>layest</author></item><item><title>fix(route/c114): parse article publication date</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/c114/roll
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制&lt;/li&gt;
&lt;li&gt;[x] Date and time parsed with the correct time zone / 日期和时区已正确解析&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] Puppeteer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Parse publication dates from the current &lt;code&gt;.article_top .time&lt;/code&gt; selector.&lt;/li&gt;
&lt;li&gt;Retain the legacy &lt;code&gt;div.r_time&lt;/code&gt; selector as a fallback.&lt;/li&gt;
&lt;li&gt;Checks: ESLint, oxfmt, and &lt;code&gt;git diff --check&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22804</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22804</guid><pubDate>Thu, 23 Jul 2026 07:02:53 GMT</pubDate><author>defp</author></item><item><title>feat(route): add nicovideo manga route</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/nicovideo/manga/65280
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;新增ニコニコ漫画（&lt;a href=&quot;http://manga.nicovideo.jp/&quot;&gt;manga.nicovideo.jp&lt;/a&gt;）的漫画详情路由。&lt;/p&gt;
&lt;p&gt;主要的数据来源自：
HTML 页面抓取完整章节列表（标题、链接、缩略图、页数、播放/评论数）
官方 RSS（&lt;code&gt;/rss/manga/:id&lt;/code&gt;）补充最近 5 话的发布日期&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：官网无API，HTML页面中每话也不含发布日期，仅 RSS 提供最近 5 话的 pubDate.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22769</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22769</guid><pubDate>Mon, 20 Jul 2026 15:27:02 GMT</pubDate><author>xiaobailoves</author></item><item><title>fix(route/iwara): update API endpoints from apiq.iwara.tv to api.iwara.tv</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/iwara/ranking/video/trending/ecchi
/iwara/subscriptions
/iwara/users/kelpie/video
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[x] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Iwara 将 API 从 &lt;a href=&quot;http://apiq.iwara.tv/&quot;&gt;apiq.iwara.tv&lt;/a&gt; 迁移至 &lt;a href=&quot;http://api.iwara.tv/&quot;&gt;api.iwara.tv&lt;/a&gt;，旧 endpoint 返回空数据。同时新的 &lt;a href=&quot;http://api.iwara.tv/&quot;&gt;api.iwara.tv&lt;/a&gt; 有 Cloudflare 防护，必须通过浏览器（Puppeteer）调用。&lt;/p&gt;
&lt;p&gt;改动：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;所有 API 请求从 &lt;code&gt;apiq.iwara.tv&lt;/code&gt; 改为 &lt;code&gt;api.iwara.tv&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;ranking 和 index 路由新增 Puppeteer 以绕过 Cloudflare（subscriptions 已有 Puppeteer）&lt;/li&gt;
&lt;li&gt;subscriptions 的视频详情适配新 API 格式（&lt;code&gt;file&lt;/code&gt; 取代 &lt;code&gt;files[]&lt;/code&gt;）&lt;/li&gt;
&lt;li&gt;修复 &lt;code&gt;slug&lt;/code&gt; 为 null 时的链接生成&lt;/li&gt;
&lt;/ul&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22752</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22752</guid><pubDate>Fri, 17 Jul 2026 13:50:53 GMT</pubDate><author>FFFold</author></item><item><title>fix(route/bilibili): avoid unnecessary browser and jsdom loading</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/bilibili/weekly
/bilibili/hot-search
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;This fixes two existing Bilibili routes. It does not add a new route or package.&lt;/p&gt;
&lt;h3&gt;Problem&lt;/h3&gt;
&lt;p&gt;&lt;code&gt;/bilibili/weekly&lt;/code&gt; uses the shared Bilibili cache for optional JSON Feed subtitles. The cache imported JSDOM and the browser helper when the module was loaded, so regular RSS requests loaded both dependencies without using them. On Vercel, loading JSDOM failed with a CommonJS/ESM error before the route could run.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;/bilibili/hot-search&lt;/code&gt; only needs WBI keys from Bilibili&#39;s public nav endpoint. However, it tried to obtain a Cookie first. Without a configured Cookie, this started browser automation and failed because the Vercel deployment had no Chromium executable.&lt;/p&gt;
&lt;h3&gt;Changes&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;lib/routes/bilibili/cache.ts&lt;/code&gt; uses Cheerio to parse Render Data and imports the browser helper only when a Cookie must be obtained.&lt;/li&gt;
&lt;li&gt;Public WBI keys are fetched without obtaining or sending a Cookie.&lt;/li&gt;
&lt;li&gt;&lt;code&gt;lib/bilibili-cache.test.ts&lt;/code&gt; covers module loading, Render Data parsing, and anonymous WBI key retrieval.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Result&lt;/h3&gt;
&lt;p&gt;Regular weekly RSS requests no longer load JSDOM or the browser helper. Hot search works without a configured Cookie or Chromium. Routes that require Cookies still use the existing Cookie flow, and JSON subtitle behavior is unchanged.&lt;/p&gt;
&lt;h3&gt;Verification&lt;/h3&gt;
&lt;p&gt;The three new regression tests and two existing Bilibili video route tests passed. An anonymous hot-search request also returned 10 items without launching browser automation.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22670</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22670</guid><pubDate>Fri, 10 Jul 2026 12:22:39 GMT</pubDate><author>Space3044</author></item><item><title>fix(route/youtube): handle LockupView format in youtubei API responses</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #22661&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/youtube/user/@JFlaMusic
/youtube/user/@bellafinance
/youtube/channel/UCDwDMPOZfxVV0x_dz0eQ8KQ
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;YouTube internal API changed the response format from &lt;code&gt;Video&lt;/code&gt;/&lt;code&gt;GridVideo&lt;/code&gt; to &lt;code&gt;LockupView&lt;/code&gt; objects. This broke all YouTube routes using the youtubei.js fallback because the code filtered on &lt;code&gt;video_id&lt;/code&gt; which no longer exists in &lt;code&gt;LockupView&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Changes in &lt;code&gt;lib/routes/youtube/api/youtubei.ts&lt;/code&gt;:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added helper functions (&lt;code&gt;extractVideoId&lt;/code&gt;, &lt;code&gt;extractTitle&lt;/code&gt;, &lt;code&gt;extractThumbnail&lt;/code&gt;, &lt;code&gt;extractPublishedText&lt;/code&gt;, &lt;code&gt;extractAuthor&lt;/code&gt;, &lt;code&gt;extractDurationSeconds&lt;/code&gt;) that handle both legacy and &lt;code&gt;LockupView&lt;/code&gt; formats&lt;/li&gt;
&lt;li&gt;Updated &lt;code&gt;getDataByChannelId&lt;/code&gt; and &lt;code&gt;getDataByPlaylistId&lt;/code&gt; to use these helpers&lt;/li&gt;
&lt;li&gt;Key mapping: &lt;code&gt;content_id&lt;/code&gt; replaces &lt;code&gt;video_id&lt;/code&gt;, title/thumbnail/date moved to nested paths&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Tested on self-hosted instance with 11 YouTube channels, all returning HTTP 200 with valid RSS data.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22662</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22662</guid><pubDate>Fri, 10 Jul 2026 04:20:41 GMT</pubDate><author>silvermissile</author></item><item><title>feat(route): A new routing (cdyw.ts) for https://news.cdu.edu.cn/cdyw.htm has been created</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/cdu/cdyw
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;li&gt;[x] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[x] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;A new routing cdyw.ts has been created&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22454</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22454</guid><pubDate>Tue, 07 Jul 2026 05:11:13 GMT</pubDate><author>uuwor</author></item><item><title>feat(route): add Beijing KW zcwj and xwdt routes</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/gov/beijing/kw/zcwj
/gov/beijing/kw/xwdt
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Extend Beijing KW route with &lt;code&gt;zcwj&lt;/code&gt; (政策文件) and &lt;code&gt;xwdt&lt;/code&gt; (新闻动态) categories. Existing &lt;code&gt;col&lt;/code&gt; legacy channels are preserved. Uses &lt;code&gt;Referer&lt;/code&gt; header and &lt;code&gt;antiCrawler: true&lt;/code&gt;.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22439</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22439</guid><pubDate>Sun, 05 Jul 2026 16:03:10 GMT</pubDate><author>zll17</author></item><item><title>feat(route): add Beijing Municipal Government routes</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/gov/beijing/zhengcefagui
/gov/beijing/declare
/gov/beijing/policy
/gov/beijing/zjtx
/gov/beijing/myjj
/gov/beijing/jrfw
/gov/beijing/yshj
/gov/beijing/zhaopin
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;新增北京市人民政府 8 个栏目订阅源：政策文件、政策兑现项目申报、政策兑现通知公告、利企服务（专精特新/民营经济/金融服务/营商环境）、事业单位招聘。&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22438</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22438</guid><pubDate>Sun, 05 Jul 2026 13:39:25 GMT</pubDate><author>zll17</author></item><item><title>feat(route): add Beijing Haidian District Government routes</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/gov/beijing/bjhd/zcml
/gov/beijing/bjhd/gfxwj
/gov/beijing/bjhd/zcjd
/gov/beijing/bjhd/ywdt
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Add RSS routes for Beijing Haidian District Government, covering policy document library, policy opinion collection, policy interpretation, and news.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22437</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22437</guid><pubDate>Sun, 05 Jul 2026 09:50:28 GMT</pubDate><author>zll17</author></item><item><title>fix(route): zjut design</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/zjut/da/1
/zjut/da/2
/zjut/da/3
/zjut/da/4
/zjut/da/5
/zjut/da/6
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Fixes the ZJUT Design and Architecture route after the old &lt;code&gt;BigClass.jsp&lt;/code&gt; upstream started returning 404. The route keeps the existing &lt;code&gt;/zjut/da/1..6&lt;/code&gt; public category parameters and maps them to the current &lt;code&gt;www.design.zjut.edu.cn&lt;/code&gt; JSON API.&lt;/p&gt;
&lt;p&gt;Validation:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code&gt;pnpm exec oxfmt lib/routes/zjut/da/index.ts --check&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pnpm exec oxlint --type-aware lib/routes/zjut/da/index.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pnpm exec eslint --cache --concurrency auto lib/routes/zjut/da/index.ts&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pnpm run build:routes&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;local RSSHub smoke test: &lt;code&gt;/zjut/da/1&lt;/code&gt;, &lt;code&gt;/zjut/da/1..6&lt;/code&gt;, and &lt;code&gt;/zjut/news/5414&lt;/code&gt; return 200&lt;/li&gt;
&lt;/ul&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22347</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22347</guid><pubDate>Sat, 27 Jun 2026 15:44:35 GMT</pubDate><author>yikZero</author></item><item><title>feat(route): add opengithub-weekly-rank route, display the journal of opengithub on github trending</title><description>&lt;p&gt;discription / pr描述
I add a new route, about github trending weekly.
tracking the journals update of &lt;a href=&quot;https://github.com/OpenGithubs/github-weekly-rank/tree/main&quot;&gt;opengithub-weekly-rank&lt;/a&gt;&lt;/p&gt;
&lt;!--
If you have any difficulties in filling out this form, please refer to https://docs.rsshub.app/joinus/new-rss/submit-route
如果你在填写此表单时遇到任何困难，请参考 https://docs.rsshub.app/zh/joinus/new-rss/submit-route
--&gt;
&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/opengithub-trending/weekly-rank
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[ x ] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[ x ] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[ ] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[ ] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22344</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22344</guid><pubDate>Sat, 27 Jun 2026 08:09:20 GMT</pubDate><author>Nemocccc</author></item><item><title>feat: add zaihua news route</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;N/A&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/zaihua
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Adds a full-content route for &lt;a href=&quot;https://www.zaihua.news/&quot;&gt;zaihua news (在花新闻)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The route uses the official RSS feed as the item index, then fetches article pages to extract the main article body and real gallery images/videos.&lt;/p&gt;
&lt;p&gt;Zaihua news originally posted their content on &lt;a href=&quot;https://t.me/zaihuapd&quot;&gt;Telegram&lt;/a&gt;, and recently I found their website. This route provides an alterative solution to subscribe to this feed bypassing the potential network issue with Telegram route with all content types perserved.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22332</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22332</guid><pubDate>Tue, 23 Jun 2026 10:09:54 GMT</pubDate><author>Circloud</author></item><item><title>feat(route): add SJTU ME notices</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/sjtu/me/yjs
/sjtu/me/yjs/indexnotice
/sjtu/me/yjs/notice
/sjtu/me/yjs/masternotice
/sjtu/me/yjs/indexnews
/sjtu/me/yjs/teacheraffairs
/sjtu/me/yjs/studentaffairs
/sjtu/me/yjs/commqu
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由&lt;/li&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[x] Documentation / 文档说明&lt;/li&gt;
&lt;li&gt;[x] Full text / 全文获取&lt;/li&gt;
&lt;li&gt;[x] Use cache / 使用缓存&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制&lt;/li&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Added SJTU Mechanical Engineering announcement feeds for multiple YanJS categories. Detail pages are fetched with cache for full text when available; source detail pages that return 404 gracefully fall back to list metadata.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22206</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22206</guid><pubDate>Sun, 07 Jun 2026 08:31:44 GMT</pubDate><author>yuhangyao211-beep</author></item><item><title>feat(route): add southplus forum</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #4541&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;!--
Please include route starts with /, with all required and optional parameters.
Fail to comply will result in your pull request being closed automatically.
请在 `routes` 区域填写以 / 开头的完整路由地址，否则你的 PR 将会被无条件关闭。
如果路由包含在文档中列出可以完全穷举的参数（例如分类），请依次全部列出。

```routes
/some/route
/some/other/route
/dont/use/this/or/modify/it
/use/the/fenced/code/block/below
```

If your changes are not related to route, please fill in `routes` section with `NOROUTE`. Fail to comply will result in your PR being closed.
如果你的 PR 与路由无关, 请在 `routes` 区域 填写 `NOROUTE`，而不是直接删除 `routes` 区域。否则你的 PR 将会被无条件关闭。
--&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;   /south-plus/forum/8
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制 （PHPwind自身无限制，考虑到CF限制了并发数）
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;li&gt;[x] &lt;code&gt;p-map&lt;/code&gt; 并发控制 (concurrency=3)&lt;/li&gt;
&lt;li&gt;[x] 完整浏览器请求头 (UA / Accept / Accept-Language / Referer)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析  (&lt;code&gt;parseDate&lt;/code&gt; 解析 &lt;code&gt;YYYY-MM-DD HH:MM&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;[x] Correct time zone /  时区正确 (UTC+8)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;为 &lt;a href=&quot;https://south-plus.net/&quot;&gt;South Plus&lt;/a&gt;（南+）添加 RSS 路由。&lt;/p&gt;
&lt;h3&gt;特性&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;支持公开和需登录的版块（通过 &lt;code&gt;SOUTHPLUS_COOKIE&lt;/code&gt; 环境变量认证）&lt;/li&gt;
&lt;li&gt;全文抓取 + &lt;code&gt;cache.tryGet&lt;/code&gt; 缓存&lt;/li&gt;
&lt;li&gt;&lt;code&gt;p-map&lt;/code&gt; 并发控制（每次 3 个请求）&lt;/li&gt;
&lt;li&gt;路由描述中包含常用 fid 对照表和 Cookie 示例&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;涉及文件&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;文件&lt;/th&gt;
&lt;th&gt;变更&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lib/config.ts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;+7 行，添加 &lt;code&gt;SOUTHPLUS_COOKIE&lt;/code&gt; 配置项&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lib/routes/south-plus/namespace.ts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;新建，命名空间定义 + Cookie 获取指南&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;lib/routes/south-plus/forum.ts&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;新建，路由处理器（188 行）&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3&gt;测试&lt;/h3&gt;
&lt;p&gt;在docker环境中测试通过&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;/south-plus/forum/8        → 200 OK, 50 items (公开版块)
/south-plus/forum/128      → 200 OK, 50 items (需 Cookie)&lt;/code&gt;&lt;/pre&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22186</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22186</guid><pubDate>Thu, 04 Jun 2026 10:40:15 GMT</pubDate><author>NicholasYZ</author></item><item><title>feat(route): add iVoox podcast feed</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;Close #&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/ivoox/podcast/11178419
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[ ] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / [日期和时间]
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] Puppeteer&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;Transforms iVoox podcast pages into an RSS feed that republishes the full episode audio enclosures while preserving feed metadata and cover art.&lt;/p&gt;
&lt;p&gt;Verified locally and in Audiobookshelf with full-length audio, metadata, and cover rendering.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/22072</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/22072</guid><pubDate>Thu, 21 May 2026 13:53:21 GMT</pubDate><author>guillevc</author></item><item><title>feat(route/rumble): add channel feed</title><description>&lt;h2&gt;Involved Issue / 该 PR 相关 Issue&lt;/h2&gt;
&lt;p&gt;No issue involved. This was just something I wanted and thought others might like too.&lt;/p&gt;
&lt;h2&gt;Example for the Proposed Route(s) / 路由地址示例&lt;/h2&gt;
&lt;pre&gt;&lt;code class=&quot;language-routes&quot;&gt;/rumble/c/MikhailaPeterson
/rumble/c/MikhailaPeterson/noembed
&lt;/code&gt;&lt;/pre&gt;
&lt;h2&gt;New RSS Route Checklist / 新 RSS 路由检查表&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;[x] New Route / 新的路由
&lt;ul&gt;
&lt;li&gt;[x] Follows &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/script-standard&quot;&gt;Script Standard&lt;/a&gt; / 跟随 &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/script-standard&quot;&gt;路由规范&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] Anti-bot or rate limit / 反爬/频率限制
&lt;ul&gt;
&lt;li&gt;[x] If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[x] &lt;a href=&quot;https://docs.rsshub.app/joinus/advanced/pub-date&quot;&gt;Date and time&lt;/a&gt; / &lt;a href=&quot;https://docs.rsshub.app/zh/joinus/advanced/pub-date&quot;&gt;日期和时间&lt;/a&gt;
&lt;ul&gt;
&lt;li&gt;[x] Parsed / 可以解析&lt;/li&gt;
&lt;li&gt;[x] Correct time zone / 时区正确&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;[ ] New package added / 添加了新的包&lt;/li&gt;
&lt;li&gt;[ ] &lt;code&gt;Puppeteer&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Note / 说明&lt;/h2&gt;
&lt;p&gt;This adds a Rumble route that keeps the channel listing on server-rendered markup while using structured detail-page data for fallback descriptions and thumbnails. It also adds standard &lt;code&gt;image&lt;/code&gt; output and limits detail-page fetch concurrency to reduce anti-bot risk.&lt;/p&gt;
</description><link>https://github.com/DIYgod/RSSHub/pull/21545</link><guid isPermaLink="false">https://github.com/DIYgod/RSSHub/pull/21545</guid><pubDate>Sun, 29 Mar 2026 04:39:07 GMT</pubDate><author>luckycold</author></item></channel></rss>