Add Telegram Channels, X Profiles and YouTube Channels extensions - #536
Merged
Alkarex merged 2 commits intoSep 30, 2026
Merged
Conversation
Register two third-party extension repositories and list them in the README's third-party section: - Telegram Channels: follow public Telegram channels directly from their t.me/s/ web preview, without RSSHub - X Profiles: follow X (Twitter) profiles directly from x.com's logged-out page, without Nitter or an X account Assisted-by: Claude <noreply@anthropic.com>
shcheglovnd
marked this pull request as ready for review
September 30, 2026 00:48
Assisted-by: Claude <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
repositories.json:extensions.jsonis left to the daily Update extension list workflow.The extensions
Telegram Channels — follow public Telegram channels without RSSHub or any other proxy.
Paste a
t.me/<channel>link into Add a feed. The extension reads the channel's public web preview(
https://t.me/s/<channel>) and hands SimplePie an RSS document built from it (simplepie_before_init).Posts keep their formatting and links, every photo (albums included; Telegram draws them as CSS
backgrounds, which HTML scrapers lose), video thumbnails, forwards, replies, link previews, documents,
polls and buttons. Existing RSSHub
/telegram/channel/…subscriptions can be read directly orconverted in one click.
X Profiles — follow X (Twitter) profiles without Nitter or an X account.
x.com renders public profile pages for logged-out visitors on the server and embeds the latest
posts' data in the page. The extension decodes that data with a small strict reader (no
eval), andbuilds RSS with full text, large photos, playable videos, quoted posts and link cards. Each refresh
sees the latest few original posts, and FreshRSS keeps collecting them. Nitter / xcancel
subscriptions can be read directly or converted in one click.
YouTube Channels — subscribe to YouTube channels with any link to them.
Add a feed accepts
@handle,/channel/…,/c/…,/user/…, video and playlist links, andsubscribes to YouTube's own feed of that channel or playlist; when the link does not name the channel,
it is read from YouTube's page. Since late 2025 the feed server answers servers with random 404/500
errors (FreshRSS#8808), so the extension downloads
YouTube feeds itself with retries, and reads new uploads from the channel's Videos tab when every
attempt fails. Channel avatars become feed icons. Entries are the same as those FreshRSS gets from
YouTube directly, so the YouTube Video Feed extension keeps working with them.
Checks
metadata.jsonsits at each repository root (directory: ".") with every fieldgenerate.phprequires; checked by replaying its clone-and-extract step on the three repositories.
npm run markdownlintpasses.🤖 Generated with Claude Code