If like me you are a big user of RSS feeds (most probably you are using on of these RSS Readers?), especially my favourite one, the FreshRSS, you may be frustrated not to be able to follow Twitter accounts (Except if registered) or Youtube, and many more services not providing RSS feeds…
Well, Sebsauvage, the same guy that developed Zerobin (online pastebin) and Shaarli (Previous presented), have made a web service to convert populars non RSS friendly services to Atom/RSS/Json/Html and even plaintext page, called RSS-Bridge.
It currently supports the following services:
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).
YouTube: YouTube user channel feed.
Cryptome: Returns the most recent documents from Cryptome.org.
DansTonChat: Most recent quotes from danstonchat.com
DuckDuckGo: Most recent results from DuckDuckGo.com
GuruMed: Most recent entries (full text) from gurumed.org
OpenClassrooms: Lastest tutorials from fr.openclassrooms.com.
ScmbBridge: Newest stories from secouchermoinsbete.fr
WikipediaENLatest: highlighted articles from Wikipedia in English.
WikipediaFRLatest: highlighted articles from Wikipedia in French.
WikipediaEOLatest: highlighted articles from Wikipedia in Esperanto.
Bandcamp: Returns last release from bandcamp for a tag
Web-based and opensource, you can directly install it on your own server to generate RSS feeds based on those services.
1) Download the latest archive in your /var/www
cd /var/www wget https://github.com/sebsauvage/rss-bridge/archive/master.zip
2) Uncompress and remove master.zip file
unzip master.zip mv rss-bridge-master/ rssbridge rm master.zip
3) Download and copy PHP Simple HTML DOM Parser in vendor/simplehtmldom (required)
cd rssbridge wget http://downloads.sourceforge.net/project/simplehtmldom/simple_html_dom.php mkdir -p vendor/simplehtmldom mv simple_html_dom.php vendor/simplehtmldom/
4) Change the owner of the rssbridge folder to www-data (apache user to avoid permissions issue)
chown -R www-data:www-data /var/www/rssbridge/
5) Simply access to http://YOURIP/rssbridge and get the feed you want!
As usual in most of my article, I share my configuration file for my Virtualhost.
If you want to access to your rssbridge service through rssb.domain.tld or a dedicated domain name, you can simply create a vhost.
You can also force HTTPS connection if you want (although there isn’t much confidential info there)
You will need to:
1) Create a A redirection in your DNS server/registrar from rssb.domain.tld to your IP
2) Have SSL certificate ready. If not you can read this tutorial. (Optional)
3) Create your virtualhost as following:
In /etc/apache2/sites-enabled/, create a file called rssbridge (In root):
and paste/adapt the following content:
<VirtualHost *:80> ServerAdmin email@example.com ServerName rssb.domain.tld Redirect / https://rssb.domain.tld </VirtualHost> <IfModule mod_ssl.c> <VirtualHost *:443> SSLEngine on SSLCertificateFile /etc/ssl/certs/myblog.pem SSLCertificateKeyFile /etc/ssl/private/myblog.key ServerAdmin firstname.lastname@example.org ServerName rssb.domain.tld DocumentRoot /var/www/rssbridge <Directory /> Options FollowSymLinks AllowOverride All </Directory> <Directory /var/www/rssbridge> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </Directory> </VirtualHost> </IfModule>
Adapt the content (Servername, webmaster, SSL certificate and directory, …).
When done, save the file (CTRL+X then Yes) and reload apache: (In root)