You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Knah Tsaeb ca73a32545
Merge branch 'master' into kt_bridge
2 years ago
.github [CI] Fix non-working phpcompatibility job (#1928) 2 years ago
actions [core] Add configuration for bridges, allowing private bridges (#1343) 2 years ago
bridges [DockerHubBridge] Add support for official images (#1999) 2 years ago
cache [TwitterBridge] Fix the bridge using a brand new API 3 years ago
caches [MemcachedCache] loadData now returns null instead of false (#1592) 3 years ago
formats [Core] Include Media RSS namespace for Atom feeds 3 years ago
lib Merge branch 'master' into kt_bridge 2 years ago
static Merge remote-tracking branch 'origin/master' into kt_bridge 2 years ago
tests [Core] Include Media RSS namespace for Atom feeds 3 years ago
vendor [core] Use Parsedown for Markdown parsing (#1783) 3 years ago
.dockerignore [Docker] Switch Docker Image to official php base image (#1140) 4 years ago
.gitattributes [.gitattributes] Keep files in export for Heroku 4 years ago
.gitignore [.gitignore] Add robots.txt to the ignore list (#1128) 4 years ago
Dockerfile [Dockerfile] Clean up apt cache, make image smaller (#1880) 2 years ago [README] Update build status badges (#1995) 2 years ago
UNLICENSE let's unlicense ! 9 years ago
app.json [README] Add deploy button to Heroku (#1150) 4 years ago
composer.json [BridgeXPathAbstract + BlizzardNewsBridge + XPathBridge] Add new abstract class + two example implementations (#1671) 2 years ago
composer.lock composer: Add all details to the composer file 3 years ago
config.default.ini.php core: Add an option to suppress error reporting (#1179) 3 years ago
index.php Merge remote-tracking branch 'origin/master' into kt_bridge 2 years ago
phpcompatibility.xml travis: Fail on deprecation warning 4 years ago
phpcs.xml phpcs: Always use long array syntax 3 years ago
phpunit.xml core: Implement action factory (#1002) 4 years ago
scalingo.json Typo 7 years ago
whitelist.default.txt core: Move default bridges to whitelist.default.txt 4 years ago


LICENSE GitHub release Debian Release Guix Release Actions Status Docker Build Status

RSS-Bridge is a PHP project capable of generating RSS and Atom feeds for websites that don't have one. It can be used on webservers or as a stand-alone application in CLI mode.

Important: RSS-Bridge is not a feed reader or feed aggregator, but a tool to generate feeds that are consumed by feed readers and feed aggregators. Find a list of feed aggregators on Wikipedia.

Supported sites/pages (examples)

  • Bandcamp : Returns last release from bandcamp for a tag
  • Cryptome : Returns the most recent documents from
  • DansTonChat: Most recent quotes from
  • DuckDuckGo: Most recent results from
  • Facebook : Returns the latest posts on a page or profile on Facebook
  • FlickrExplore : Latest interesting images from Flickr
  • GoogleSearch : Most recent results from Google Search
  • : Identica user timeline (Should be compatible with other instances)
  • Instagram: Most recent photos from an Instagram user
  • OpenClassrooms: Lastest tutorials from
  • Pinterest: Most recent photos from user or search
  • ScmbBridge: Newest stories from
  • ThePirateBay : Returns the newest indexed torrents from The Pirate Bay with keywords
  • Twitter : Return keyword/hashtag search or user timeline
  • Wikipedia: highlighted articles from Wikipedia in English, German, French or Esperanto
  • YouTube : YouTube user channel, playlist or search

And many more, thanks to the community!

Output format

RSS-Bridge is capable of producing several output formats:

  • Atom : Atom feed, for use in feed readers
  • Html : Simple HTML page
  • Json : JSON, for consumption by other applications
  • Mrss : MRSS feed, for use in feed readers
  • Plaintext : Raw text, for consumption by other applications

You can extend RSS-Bridge with your own format, using the Format API!


Welcome screen:


RSS-Bridge hashtag (#rss-bridge) search on Twitter, in Atom format (as displayed by Firefox):



RSS-Bridge requires PHP 5.6 or higher with following extensions enabled:

Find more information on our Wiki

Enable / Disable bridges

RSS-Bridge allows you to take full control over which bridges are displayed to the user. That way you can host your own RSS-Bridge service with your favorite collection of bridges!

Find more information on the Wiki

Notice: By default, RSS-Bridge will only show a small subset of bridges. Make sure to read up on whitelisting to unlock the full potential of RSS-Bridge!


Thanks to the community, hosting your own instance of RSS-Bridge is as easy as clicking a button!

Deploy on Scalingo Deploy to Heroku

Getting involved

There are many ways for you to getting involved with RSS-Bridge. Here are a few things:

  • Share RSS-Bridge with your friends (Twitter, Facebook, name it...)
  • Report broken bridges or bugs by opening Issues on GitHub
  • Request new features or suggest ideas (via Issues)
  • Discuss bugs, features, ideas or issues
  • Add new bridges or improve the API
  • Improve the Wiki
  • Host an instance of RSS-Bridge for your personal use or make it available to the community 💖


We are RSS-Bridge community, a group of developers continuing the project initiated by sebsauvage, webmaster of, author of Shaarli and ZeroBin.

Contributors (sorted alphabetically):


The source code for RSS-Bridge is Public Domain.

RSS-Bridge uses third party libraries with their own license:

Technical notes

  • RSS-Bridge uses caching to prevent services from banning your server for repeatedly updating feeds. The specific cache duration can be different between bridges. Cached files are deleted automatically after 24 hours.
  • You can implement your own bridge, following these instructions.
  • You can enable debug mode to disable caching. Find more information on the Wiki


Dear so-called "social" websites.

Your catchword is "share", but you don't want us to share. You want to keep us within your walled gardens. That's why you've been removing RSS links from webpages, hiding them deep on your website, or removed feeds entirely, replacing it with crippled or demented proprietary API. FUCK YOU.

You're not social when you hamper sharing by removing feeds. You're happy to have customers creating content for your ecosystem, but you don't want this content out - a content you do not even own. Google Takeout is just a gimmick. We want our data to flow, we want RSS or Atom feeds.

We want to share with friends, using open protocols: RSS, Atom, XMPP, whatever. Because no one wants to have your service with your applications using your API force-feeding them. Friends must be free to choose whatever software and service they want.

We are rebuilding bridges you have wilfully destroyed.

Get your shit together: Put RSS/Atom back in.