Skip to content

feat(route/rumble): add channel feed#21545

Open
luckycold wants to merge 7 commits intoDIYgod:masterfrom
luckycold:rumble-route
Open

feat(route/rumble): add channel feed#21545
luckycold wants to merge 7 commits intoDIYgod:masterfrom
luckycold:rumble-route

Conversation

@luckycold
Copy link
Copy Markdown
Contributor

@luckycold luckycold commented Mar 29, 2026

Involved Issue / 该 PR 相关 Issue

No issue involved. This was just something I wanted and thought others might like too.

Example for the Proposed Route(s) / 路由地址示例

/rumble/c/MikhailaPeterson
/rumble/c/MikhailaPeterson/noembed

New RSS Route Checklist / 新 RSS 路由检查表

  • New Route / 新的路由
  • Anti-bot or rate limit / 反爬/频率限制
    • If yes, do your code reflect this sign? / 如果有, 是否有对应的措施?
  • Date and time / 日期和时间
    • Parsed / 可以解析
    • Correct time zone / 时区正确
  • New package added / 添加了新的包
  • Puppeteer

Note / 说明

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 image output and limits detail-page fetch concurrency to reduce anti-bot risk.

@github-actions github-actions bot added the route label Mar 29, 2026
@luckycold luckycold changed the title fix(route/rumble): improve feed metadata feat(route/rumble): add channel feed Mar 29, 2026
@github-actions github-actions bot added the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/rumble/c/MikhailaPeterson - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson
Node Version: v24.14.1
Git Hash: f31972f0
http://localhost:1200/rumble/c/MikhailaPeterson/noembed - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson/noembed
Node Version: v24.14.1
Git Hash: f31972f0

@luckycold
Copy link
Copy Markdown
Contributor Author

I tested this route locally and it returns valid results there, but the GitHub Actions fails on the request to https://rumble.com/c/MikhailaPeterson with 403 Forbidden. That seems to be Rumble / Cloudflare blocking the GitHub-hosted runner IP instead of any actual error on the route.
This route is marked with antiCrawler: true because of the high likelihood of that on large facing instances. In local testing, both /rumble/c/MikhailaPeterson and /rumble/c/MikhailaPeterson/noembed worked as expected.

@github-actions github-actions bot removed the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Mar 29, 2026

Auto Review

No clear rule violations found in the current diff.

@github-actions github-actions bot added the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/rumble/c/MikhailaPeterson - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson
Node Version: v24.14.1
Git Hash: f31972f0
http://localhost:1200/rumble/c/MikhailaPeterson/noembed - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson/noembed
Node Version: v24.14.1
Git Hash: f31972f0

@github-actions github-actions bot added auto: not ready to review Users can't get the RSS feed output according to automated testing results and removed auto: not ready to review Users can't get the RSS feed output according to automated testing results labels Mar 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/rumble/c/MikhailaPeterson - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson
Node Version: v24.14.1
Git Hash: 4b482c11
http://localhost:1200/rumble/c/MikhailaPeterson/noembed - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson/noembed
Node Version: v24.14.1
Git Hash: 4b482c11

@github-actions github-actions bot removed the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 29, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/rumble/c/MikhailaPeterson - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson
Node Version: v24.14.1
Git Hash: 4b482c11
http://localhost:1200/rumble/c/MikhailaPeterson/noembed - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson/noembed
Node Version: v24.14.1
Git Hash: 4b482c11

@github-actions github-actions bot added the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 29, 2026
@luckycold
Copy link
Copy Markdown
Contributor Author

Tested with and without embed (and thumbnails instead) for the feeds and descriptions work as well:
image
image
image

@luckycold
Copy link
Copy Markdown
Contributor Author

luckycold commented Mar 30, 2026

I realize, I should also clarify. The reason for no API usage is because Rumble doesn't seem to offer a web API for listing all the videos reliably. If it comes to my attention an area where it does I'd love to rewrite this since the site does often update their formatting. I'm happy to fix it if it does in the mean time though.

Add a Rumble channel route so channel videos can be subscribed to through RSSHub. Use stable server-rendered selectors and normalized item URLs to keep feed entries consistent.
Add full Rumble video descriptions to channel feeds and expose an /embed route variant for readers that support iframe players. Keep the default route image-based while deriving stable embed URLs from each video page.
Match YouTube's optional embed parameter behavior so the default feed includes embedded players and any trailing path segment disables embedding. Keep full Rumble video descriptions in both output modes.
Use structured detail-page data for Rumble descriptions and fallback thumbnails while keeping the channel listing on stable server-rendered markup. Limit detail fetch concurrency so the route is less likely to trip anti-bot protections.
@github-actions github-actions bot removed the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 31, 2026
@github-actions
Copy link
Copy Markdown
Contributor

Successfully generated as following:

http://localhost:1200/rumble/c/MikhailaPeterson - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson/videos&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson
Node Version: v24.14.1
Git Hash: 5d5b9e26
http://localhost:1200/rumble/c/MikhailaPeterson/noembed - Failed ❌
HTTPError: Response code 503 (Service Unavailable)

Error Message:<br/>FetchError: [GET] &quot;https://rumble.com/c/MikhailaPeterson/videos&quot;: 403 Forbidden
Route: /rumble/c/:channel/:embed?
Full Route: /rumble/c/MikhailaPeterson/noembed
Node Version: v24.14.1
Git Hash: 5d5b9e26

@github-actions github-actions bot added the auto: not ready to review Users can't get the RSS feed output according to automated testing results label Mar 31, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

auto: not ready to review Users can't get the RSS feed output according to automated testing results route

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant