2017-04-15 16:24:28 +02:00
|
|
|
What is randrss?
|
|
|
|
================
|
|
|
|
Normal RSS readers usually fetch all feeds more or less at the same time
|
2017-08-17 10:34:35 +02:00
|
|
|
at constant intervals. Anyone who monitors internet traffic can
|
|
|
|
look for this pattern and therefore identify users.
|
2017-04-15 16:24:28 +02:00
|
|
|
|
2019-08-27 13:42:10 +02:00
|
|
|
In contrast, randrss fetches all your feeds at random intervals
|
|
|
|
and also at an random order. The feeds will be downloaded and you then
|
|
|
|
serve them using your own web server. It poorly attemps to look like
|
|
|
|
normal browsers while fetching the feeds, and uses Tor by default.
|
|
|
|
|
|
|
|
This has several advantages. You don't need to worry how your
|
|
|
|
client deals with cookies for example. Since you point your favorite
|
|
|
|
RSS client to randrss's downloaded feeds, you avoid certain trackers
|
|
|
|
like google's feed proxy and cloudflare. They may identify you across
|
|
|
|
devices as it is very likely that the combination of feeds you read
|
|
|
|
is unique. In the context of "hardening", this is also useful to
|
|
|
|
restrict the servers your RSS client can contact (for instance,
|
|
|
|
by using network namespaces, etc.).
|
2017-04-16 21:00:34 +02:00
|
|
|
|
2017-08-17 10:34:35 +02:00
|
|
|
A drawback of this approach is that the time you get new feeds
|
2019-08-27 13:42:10 +02:00
|
|
|
is delayed, but that should be acceptable. Furthermore, this tool
|
|
|
|
might leave a distinct signature itself. It should still be
|
|
|
|
better than fetching everything at once, however it's primary purpose
|
|
|
|
is to hide you from the mentioned (potential) trackers.
|
|
|
|
|
2017-04-16 21:00:34 +02:00
|
|
|
|
2017-04-15 16:24:28 +02:00
|
|
|
Usage
|
|
|
|
=====
|
2017-08-16 21:17:01 +02:00
|
|
|
Fetchers
|
|
|
|
--------
|
2017-08-17 10:34:35 +02:00
|
|
|
Scripts that request the feeds while trying to look like a normal client.
|
|
|
|
By default, they are launched with "torsocks".
|
2017-08-16 21:17:01 +02:00
|
|
|
|
|
|
|
Config file
|
|
|
|
-----------
|
|
|
|
For each feed, an individual config file is used.
|
|
|
|
|
|
|
|
Example:
|
|
|
|
A simple example config file for kernel.org:
|
|
|
|
FEED_URL="https://www.kernel.org/feeds/kdist.xml"
|
|
|
|
FEED_OUTPUT="/var/www/feeds/kernelreleases.feed"
|
|
|
|
|
|
|
|
Launch
|
|
|
|
------
|
|
|
|
randrss [path to directory containing the config files] [fetchersfile]
|
|
|
|
|
|
|
|
fetchersfile: take a look at the example file in the repo. It lists
|
|
|
|
the paths to the fetchers that will randomly be used.
|
2017-04-15 16:24:28 +02:00
|
|
|
|
2017-08-17 10:34:35 +02:00
|
|
|
optional third parameter: "syncnow". Do not sleep for random intervals.
|
2017-08-16 21:17:01 +02:00
|
|
|
Fetch all feeds and exit.
|
2017-04-15 16:24:28 +02:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|