RSS aggregators are central to how privacy-conscious readers follow news, research, and communities without exposing reading habits to advertising networks or platform algorithms. When you use a commercial RSS service like Feedly or Inoreader, every article you read is logged and associated with your identity. A self-hosted RSS aggregator gives you full control over your reading data, and running it as a Tor hidden service adds a layer of protection: your aggregator fetches feeds over Tor (masking your IP from feed providers), your web interface is accessible only through .onion (not indexed by search engines), and your reading habits exist only on infrastructure you control. This guide covers deploying FreshRSS, Miniflux, and Tiny Tiny RSS as .onion hidden services, with detailed configuration for Tor-compatible feed fetching.
Need this done for your project?
We implement, you ship. Async, documented, done in days.
Commercial RSS services aggregate your reading interests, monetize them through advertising partnerships, and may share data with third parties. Even self-hosted RSS aggregators on clearnet expose your server IP to every feed you subscribe to, allowing feed publishers to correlate readership. A Tor-based RSS aggregator solves both problems: your server fetches feeds anonymously (publishers see Tor exit IPs, not your server IP), and your reading interface is accessible without revealing your personal IP. For journalists tracking sensitive beats, researchers monitoring adversary publications, or any reader whose information diet should remain private, this configuration provides meaningful protection. The aggregator runs on a VPS, fetches all feeds through Tor, and serves the reading interface as a .onion address only you can access.
Choosing an RSS Aggregator for Tor Deployment
FreshRSS is a PHP-based aggregator with rich features, multi-user support, and an API compatible with many mobile clients. It fetches feeds via PHP cURL, which can be proxied through Tor using environment variables or cURL settings. Miniflux is a minimalist Go-based aggregator designed for low resource usage and API-first design. Its feed fetcher supports proxy configuration via environment variables (HTTP_PROXY, HTTPS_PROXY). Tiny Tiny RSS (TT-RSS) is a PHP-based aggregator with a long track record and plugin ecosystem. Feed fetching is handled by its background daemon. All three can be configured to route feed fetches through a local Tor SOCKS5 proxy. FreshRSS is recommended for its balance of features and active development; Miniflux for minimal resource usage on small VPS plans.
Installing and Configuring FreshRSS Behind Tor
Install Tor on the VPS: apt install tor. Configure the Tor hidden service in /etc/tor/torrc: HiddenServiceDir /var/lib/tor/rss-service/ and HiddenServicePort 80 127.0.0.1:80. Install FreshRSS with Nginx and PHP-FPM. Configure Nginx to listen on 127.0.0.1:80 and proxy PHP requests to PHP-FPM. To route FreshRSS feed fetching through Tor: set the PROXY environment variable in the PHP-FPM pool configuration: env[http_proxy] = socks5h://127.0.0.1:9050 and env[https_proxy] = socks5h://127.0.0.1:9050. The socks5h scheme ensures DNS resolution also happens through Tor (not locally), preventing DNS leaks when fetching feeds. After restarting Tor and Nginx, access FreshRSS via the .onion address in Tor Browser. Add feeds normally - they will be fetched through Tor, with feed publishers seeing Tor exit node IPs rather than your server IP.
Configuring Miniflux for .onion Deployment
Miniflux is a single binary Go application with a built-in HTTP server. Install via the official Debian/Ubuntu package or binary download. Configure Miniflux via /etc/miniflux.conf: set LISTEN_ADDR=127.0.0.1:8080 (do not expose on public interfaces). For Tor feed fetching, set HTTP_PROXY=socks5h://127.0.0.1:9050 and HTTPS_PROXY=socks5h://127.0.0.1:9050 in the Miniflux service environment. Configure the Tor hidden service in torrc: HiddenServicePort 80 127.0.0.1:8080. Miniflux's API is fully functional over .onion. Mobile clients like Reeder (iOS), NetNewsWire (macOS), or FeedMe (Android) can connect to Miniflux's API by configuring the .onion URL as the server address - requires a Tor-capable client or Orbot on mobile.
Securing the Aggregator and Isolating Feed Access
Additional security configurations: (1) enable FreshRSS or Miniflux authentication - do not leave the interface unauthenticated even on .onion (defense in depth), (2) for FreshRSS multi-user: create separate accounts for different reading contexts (personal, work, research), (3) restrict the .onion to specific users using Tor client authorization: generate client keys with tor --keygen and distribute them only to authorized readers, (4) configure feed refresh intervals to spread Tor circuit usage (not all feeds refreshing simultaneously), (5) log rotation for application logs to prevent accumulation of reading history on disk. For OPML import/export: use the web interface over Tor Browser. For feed discovery: browse source sites via Tor Browser before adding their RSS URLs to your aggregator.