Go to file
Knah Tsaeb ca73a32545 Merge branch 'master' into kt_bridge 2021-03-05 16:04:43 +01:00
.github [CI] Fix non-working phpcompatibility job (#1928) 2021-01-12 12:02:49 +05:00
actions [core] Add configuration for bridges, allowing private bridges (#1343) 2020-12-12 21:05:22 +05:00
bridges [DockerHubBridge] Add support for official images (#1999) 2021-02-28 18:26:24 +05:00
cache [TwitterBridge] Fix the bridge using a brand new API 2020-06-05 10:17:53 +02:00
caches [MemcachedCache] loadData now returns null instead of false (#1592) 2020-06-08 11:27:19 +02:00
formats [Core] Include Media RSS namespace for Atom feeds 2020-05-19 10:00:12 +02:00
lib Merge branch 'master' into kt_bridge 2021-03-05 16:04:43 +01:00
static Merge remote-tracking branch 'origin/master' into kt_bridge 2021-01-29 10:00:29 +01:00
tests [Core] Include Media RSS namespace for Atom feeds 2020-05-19 10:00:12 +02:00
vendor [core] Use Parsedown for Markdown parsing (#1783) 2020-10-09 23:29:02 +05:00
.dockerignore [Docker] Switch Docker Image to official php base image (#1140) 2019-06-01 11:25:01 +02:00
.gitattributes [.gitattributes] Keep files in export for Heroku 2019-06-16 19:15:28 +02:00
.gitignore [.gitignore] Add robots.txt to the ignore list (#1128) 2019-05-15 21:40:50 +02:00
Dockerfile [Dockerfile] Clean up apt cache, make image smaller (#1880) 2020-11-29 15:18:20 +05:00
README.md [README] Update build status badges (#1995) 2021-02-28 18:41:03 +05:00
UNLICENSE let's unlicense ! 2014-05-21 20:11:01 +02:00
app.json [README] Add deploy button to Heroku (#1150) 2019-06-08 14:53:26 +02:00
composer.json [BridgeXPathAbstract + BlizzardNewsBridge + XPathBridge] Add new abstract class + two example implementations (#1671) 2020-11-08 12:22:41 +05:00
composer.lock composer: Add all details to the composer file 2019-10-28 20:01:19 +01:00
config.default.ini.php core: Add an option to suppress error reporting (#1179) 2019-10-31 18:49:45 +01:00
index.php Merge remote-tracking branch 'origin/master' into kt_bridge 2021-01-29 10:00:29 +01:00
phpcompatibility.xml travis: Fail on deprecation warning 2018-12-28 16:15:36 +01:00
phpcs.xml phpcs: Always use long array syntax 2019-11-01 18:06:55 +01:00
phpunit.xml core: Implement action factory (#1002) 2019-02-06 18:34:51 +01:00
scalingo.json Typo 2016-08-02 23:37:01 +02:00
whitelist.default.txt core: Move default bridges to whitelist.default.txt 2019-06-06 20:53:46 +02:00

README.md

RSS-Bridge

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 Cryptome.org
  • DansTonChat: Most recent quotes from danstonchat.com
  • DuckDuckGo: Most recent results from DuckDuckGo.com
  • 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
  • Identi.ca : Identica user timeline (Should be compatible with other Pump.io instances)
  • Instagram: Most recent photos from an Instagram user
  • OpenClassrooms: Lastest tutorials from fr.openclassrooms.com
  • Pinterest: Most recent photos from user or search
  • ScmbBridge: Newest stories from secouchermoinsbete.fr
  • 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!

Screenshot

Welcome screen:

Screenshot


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

Screenshot

Requirements

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!

Deploy

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, ...you 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 💖

Authors

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

Contributors (sorted alphabetically):

Licenses

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

Rant

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.