Introduction

This guide will help you use Reddit from the tor anonymity network in your terminal. To access Reddit we will use python based Reddit client called ‘rtv’ (Reddit terminal viewer) which we will run under a program called TorSocks. TorSocks is a torifying wrapper that is primarily used to redirect all the network traffic of individual SOCKS-friendly applications through the Tor network. This helps you divorce your general internet usage done in the clear web with your Reddit usage.

Note: Reddit terminal viewer has been discontinued recently. The developer isn’t merging bug fixes and security vulnerabilities. While the development has been dropped recently that doesn’t mean this program is vulnerable, be mindful of your own operational security and tolerance. If ever in the future there will be a fork or a newer project i’ll be sure to link it here.

Operational security disclaimer:

This method eliminates the fingerprinting done by Reddit and their partners (Google, Amazon etc.) by not running the analytics JavaScript. Instead we use a Reddit client which runs in the terminal and automatically routes all data through tor.

So Reddit WILL know that

  1. You are using a 3rd party client
  2. Accessing their services from their API.
  3. Using anonymous routing
  4. Your general usage patterns.
                         +----------------------------------------+                     +--------------------------+
+--------------------+   |----------------------------------------|                     |                          |
|                    |   ||                  ||                  ||                     |                          |
|                    |   ||                  ||                  ||                     |                          |
|     rtv Client     +----|     TorSocks     ||       Tor        ||                     |         Reddit API       |
|                    |   ||     Wrapper      ||      Router      ||                     |         Servers          |
|                    |   ||                  ||                  ||                     |                          |
+--------------------+   |----------------------------------------|                     |                          |
                         +----------------------------------------|                     +---------------+----------+
                                             |       +----------------------------------------|         |
                                             |       | +--------------------------------------|         |
                                             |       | |            ||           ||          ||         |
                                             |       | |            ||           ||          ||         |
                                             +-------+ |   Guard    ||   Middle  ||   Exit   || +-------+
                                                     | |            ||           ||          ||
                                                     | |            ||           ||          ||
                                                     | +--------------------------------------|
                                                     +----------------------------------------+

Requirements

You will need

  1. Reddit terminal viewer (rtv). See their GitHub

  2. Tor; TorSocks. See TorProject for more info.

  3. Compatible OS (GNU/Linux, OS X)

Installation

Rtv installation

RTV is available on PyPI and can be installed with pip:

$  ~ pip install rtv

Native packages

# macOS
$  ~ brew install rtv

# Arch
$  ~ pacman -S rtv

# Nix
$  ~ nix-env -i rtv

# Debian
$  ~ apt install rtv

# FreeBSD
$  ~ pkg install rtv

TorSocks installation

Example install screen on an arch-linux based system. Replace pacman with appropriate package manager.

$  ~ sudo pacman -S torsocks
resolving dependencies...
looking for conflicting packages...

Packages (2) tor-0.4.0.5-1  torsocks-2.3.0-1

Total Download Size:    2.18 MiB
Total Installed Size:  11.73 MiB

:: Proceed with installation? [Y/n] 
:: Retrieving packages...
 tor-0.4.0.5-1-x86_64            2.1 MiB  1111K/s 00:02 [##############################] 100%
 torsocks-2.3.0-1-x86_64        51.6 KiB  5.04M/s 00:00 [##############################] 100%
(2/2) checking keys in keyring                          [##############################] 100%
(2/2) checking package integrity                        [##############################] 100%
(2/2) loading package files                             [##############################] 100%
(2/2) checking for file conflicts                       [##############################] 100%
(2/2) checking available disk space                     [##############################] 100%
:: Processing package changes...
(1/2) installing tor                                    [##############################] 100%
Optional dependencies for tor
    torsocks: for torify [pending]
(2/2) installing torsocks                               [##############################] 100%
:: Running post-transaction hooks...
(1/4) Reloading system manager configuration...
(2/4) Creating system user accounts...
(3/4) Creating temporary files...
(4/4) Arming ConditionNeedsUpdate...

Start tor with systemd

$  ~ sudo systemctl start tor

or

$  ~ sudo service tor start

Launch Rtv in a torsocks wrapper

$  ~ torsocks rtv

Rtv usage

To run the program, type:

$ rtv --help

Controls

Move the cursor using either the arrow keys or Vim style movement:

  • Press and to scroll through submissions
  • Press to view the selected submission and to return
  • Press space-bar to expand/collapse comments
  • Press u to login (this requires a web browser for OAuth)
  • Press ? to open the help screen

Press / to open the navigation prompt, where you can type things like:

  • /front
  • /r/commandprompt+linuxmasterrace
  • /r/programming/controversial
  • /u/me
  • /u/multi-mod/m/art
  • /domain/github.com