Tags


Tiny Tiny RSS over TOR

First written on March 21, 2021
Last updated on September 13, 2021

Table of contents

Installation

  1. install and cofugure TOR, Privoxy and TT-RSS

    apt-get install tor privoxy tt-rss
    
  2. configure privoxy. Add this to /etc/privoxy/config

    forward-socks5 / 127.0.0.1:9050 .
    listen-address 127.0.0.1:8123
    
  3. follow the ArchWiki instructions using MariaDB as backend. Also follow these instructions to configure MariaDB
  4. follow the install setup of TT-RSS
  5. add this to you Apache virtual host

    DocumentRoot "/usr/share/tt-rss/www"
    <Directory "/usr/share/tt-rss/www">
        AllowOverride All
        Options FollowSymlinks
        php_admin_value open_basedir "/tmp/:/usr/share/tt-rss/www/lib/dijit:/usr/share/tt-rss/www/lib/dojo:/usr/share/tt-rss/www/lib/phpqrcode:/usr/share/tt-rss/www/lib/scriptaculous:/usr/share/tt-rss/www/include:/var/lib/tt-rss:/usr/share/tt-rss/www/lib:/usr/share/tt-rss/www:/usr/share/php:/etc/tt-rss:/var/log/tt-rss:/var/cache/tt-rss"
        Require all granted
    </Directory>
    
    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/my-domain.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/my-domain.example.com/privkey.pem
    

Hacking

  1. have a look at https://binfalse.de/2015/05/06/ttrss-with-proxy/1. Since then the variables have changed and so here are some adaptations:

    1. apt search tt-rss and get the version:

      tt-rss/stable,now 18.12+dfsg-1.1 all [installed]
      Tiny Tiny RSS - web-based news feed (RSS/Atom) aggregator
      
    2. find a commit in the source code corresponsing to that version

      git clone https://git.tt-rss.org/fox/tt-rss
      cd tt-rss
      git checkout 986ca251f995f7754a0470d3e0c44538a545081f       # This commit roughly corresponds to version 18.12 as identified earlier.
      
    3. search for PROXY strings:

      grep -rn PROXY *
      

      which results in:

      include/functions.php:376:			if (defined('_HTTP_PROXY')) {
      include/functions.php:377:				curl_setopt($ch, CURLOPT_PROXY, _HTTP_PROXY);
      include/functions.php:484:			if (defined('_HTTP_PROXY')) {
      include/functions.php:486:				$context_options['http']['proxy'] = _HTTP_PROXY;
      plugins/af_unburn/init.php:40:				if (defined('_CURL_HTTP_PROXY')) {
      plugins/af_unburn/init.php:41:					curl_setopt($ch, CURLOPT_PROXY, _CURL_HTTP_PROXY);
      
    4. add the following at the end of /etc/tt-rss/config.php. These variables should cover even more recent TT-RSS versions:

      define('HTTP_PROXY', '127.0.0.1:8123');
      define('_HTTP_PROXY', '127.0.0.1:8123');
      define('_CURL_HTTP_PROXY', '127.0.0.1:8123');
      define('SELF_USER_AGENT', 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0');
      
  2. finally restart the services: systemctl restart tt-rss apache2 privoxy

Footnotes

  1. This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Author: Martin ScharmĀ 


Post a new comment