Posted: 2026-01-24
VPSs hosted on Slow Servers have no direct IPv4 access. Unfortunately, Tor does not work out of the box in such a scenario, but it will with a simple configuration adjustment.
/etc/tor/torrc:
SocksPort [::1]:9050 PreferIPv6 ClientPreferIPv6ORPort 1 Log notice syslog RunAsDaemon 1 DataDirectory /var/tor User _tor
This gives a working Tor client. You can still have a SocksPort on 127.0.0.1 if you need it. In testing, that's necessary for Monero to function over Tor. Most applications work fine with a SocksPort on ::1, however.
Tor Hidden Services, with .onion "domains" are trivial, and the configuration is no different.
For example, for slowservers.net the configuration is the same as the above client configuration, with this appended to /etc/tor/torrc:
HiddenServiceDir /var/tor/hiddenservice_slowsvr HiddenServicePort 22 [::1]:22 HiddenServicePort 80 [::1]:81 HiddenServicePort 1965 [::1]:1966
This allows SSH, HTTP, and Gemini access over the .onion.
If you're not using OpenBSD, your configuration will look a bit different. Likely, your best bet is to take the stock configuration and just add this one line:
ClientPreferIPv6ORPort 1
The easiest way to validate Tor (outbound) connectivity is with curl.
slowservers# curl -x 'socks5h://[::1]:9050' https://canhazip.com 2001:67c:e60:c0c:192:42:116:179
To be absolutely certain, you can make sure the IP returned is different than when you don't use a SOCKS proxy.
slowservers# curl https://canhazip.com 2602:f5ef:0:102::2