randrss/README.md

57 lines
2.0 KiB
Markdown
Raw Normal View History

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
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
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
--------
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
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