By the HushVPS team · Updated 2026 · 9 min read
Learning how to run a Tor relay on a VPS is one of the highest-leverage things a privacy-minded person can do: a single well-configured relay quietly moves traffic for thousands of strangers who need it. The network is not run by a company — it is run by volunteers who donate bandwidth from machines exactly like the one you can deploy in a few minutes. This guide walks through the relay types, a clean install on a fresh server, the settings that make you a good operator rather than just another node, and the one role you should think hard about before enabling.
Everything here is intentionally high-level on the security-sensitive parts. Tor's own operator documentation is the canonical, always-current source, and you should read it alongside this article; the goal here is to give you the shape of the task and the operator etiquette that tutorials usually skip.
The Tor network is built from three flavours of node, and choosing correctly is most of the decision:
obfs4 bridge additionally disguises the traffic so it does not look like Tor at all. Bridges are low-drama to host and enormously useful.For most people the answer is a middle relay or an obfs4 bridge. Both are genuinely valuable, and neither puts your IP on the receiving end of anyone's activity.
A relay is not resource-hungry in the way a game server is, but it is bandwidth-hungry and it must be online. Aim for:
Do not install the version of Tor that ships in your distribution's default archive — it is often months behind, and relay software is exactly where you want current code. Instead, add the official Tor Project package repository for your distribution and install from there, then let unattended upgrades keep it current. The Tor Project maintains step-by-step instructions per operating system in its relay operator documentation; follow that for the exact repository lines and signing keys.
At a high level the flow is the same everywhere: harden the box first (a non-root user, key-only SSH, a firewall that allows your chosen ORPort), add the Tor repo, install the tor package, then edit a single configuration file, /etc/tor/torrc. Everything that defines your relay lives in that file.
A functional non-exit relay needs only a handful of lines in torrc. Conceptually you set a nickname, the ports Tor listens on, your bandwidth ceiling, contact details, and — critically — a policy that refuses to act as an exit:
Nickname myrelaynick
ORPort 9001
ContactInfo [email protected] # a real, monitored address (alias or PGP-fingerprinted)
RelayBandwidthRate 10 MBytes # your chosen sustained rate
RelayBandwidthBurst 20 MBytes # a higher short-term ceiling
ExitRelay 0
SocksPort 0
Restart Tor and watch the log. Within a few minutes you should see it perform reachability self-tests; once those pass, your relay is published to the directory authorities and begins appearing on the public relay list. The first day or two carry little traffic while the network measures and trusts you — this ramp is normal, so resist the urge to keep tweaking.
If your goal is to help people behind censorship, a bridge is the higher-impact choice. You install the same tor package plus the obfs4proxy pluggable transport, then set your relay to bridge mode with the obfs4 transport enabled and a separate transport port. Because bridges are unlisted, you distribute your bridge line privately or hand it to Tor's BridgeDB rather than publishing it. The operator docs cover the exact torrc stanza and the obfs4 setup; the key mental model is that a bridge is a private front door whose value depends on not being widely advertised.
These are the lines that separate a helpful relay from a nuisance:
MyFamily line. This tells clients not to build a circuit that passes through two of your relays, which would undermine anonymity. Declaring your family honestly is basic network hygiene.RelayBandwidthRate and RelayBandwidthBurst to donate generously without saturating your link or blowing through a metered cap. Setting a sane ceiling keeps your relay stable, and a stable relay earns more consensus weight than a fast one that keeps falling over.Exit relays are the network's scarcest and most exposed resource. Every request a Tor user makes to the open web leaves through some exit's IP, which means abuse complaints, blocklistings, and occasionally law-enforcement inquiries land on the exit operator. The Electronic Frontier Foundation and the Tor Project both strongly advise running exits from dedicated infrastructure with a clear abuse-handling process and, ideally, institutional backing — not from a personal server, and not without understanding your local legal exposure. If you are new, run a middle relay or a bridge; leave exits to operators who have set up the paperwork and the reverse-DNS and the abuse mailbox to handle them properly.
On HushVPS specifically: middle relays and obfs4 bridges are explicitly welcome, and running one fits squarely within our acceptable-use posture. Exit relays are a heavier commitment on shared network space, so check our current exit-relay policy with us through the contact page before running one. Confirm before you flip ExitRelay to 1.
Once it is live, a relay mostly runs itself, but check in periodically. Tor's Relay Search lets you look up your relay by nickname or fingerprint to confirm it is flagged Running and Stable and to watch its bandwidth history. Monitor the log after each software update, keep the clock synchronised, and make sure your firewall still exposes the ORPort. If you ever migrate the relay to a new server, copy the relay's identity keys so it keeps its hard-won reputation instead of starting from zero.
If a relay is your first step into running privacy infrastructure, it pairs naturally with other services you can self-host anonymously — for example, publishing a service as an onion site with no public IP so it is reachable only over Tor. Same ethos, different corner of the same network.
Pick a middle relay or an obfs4 bridge for your first node. Install Tor from the official repository, not the distro default. Set a real ContactInfo, declare MyFamily if you run more than one, cap your bandwidth sensibly, and keep the package patched. Leave exit relays for later and for infrastructure built to absorb the complaints. Do that, and you have added a genuinely useful, well-behaved node to a network that runs entirely on people willing to do exactly this.
No name, no KYC, paid in Monero. Spin up a server where middle relays and bridges are welcome, and start donating bandwidth today.