back when I used ubuntu derivatives I used privoxy and edited the config file to route all my traffic through tor.
I just did the same on debian 12.6 and wonder if there’s a better alternative.
Install tor (from the official repo) then set up a proxy for SOCKS5 localhost port 9050
If you can, set this up on your router and then specify which devices should route through.
You may also want to use pihole for ad blogging and as your DNS server. and in pihole use your VPN server’s DNS such that you don’t have DNS leak.
And if the VPN is down, your computer won’t work until it comes back up.
Helpful if you run the network at your house
You may want to look into Qubes, it can natively route an entire OS through Tor. Note that routing all your traffic may hurt your anonymity. For example, there what if an app on your machine reaches out to somewhere and reports the serial number of a piece of hardware and it does it through your “anonymous” Tor connection? Virtualizing that hardware can help avoid that. Think through your threat model.
I don’t use tor that often but as my understanding tor is basically a socks5 proxy, which operates at application layer, so there is no way you can route all your traffic through tor, at least not the ICMP packets.
Some applications are willing to use your proxy settings like http_proxy
and https_proxy
environment variables, but some of them not, especially for udp based applications (most games). The workaround that i am aware of is to use a rule-based proxy program that supports TUN mode, such as Clash Meta (the link is a fork of clash meta called mihomo, which is the one that i am currently using). Basically it creates a virtual interface and traps all the higher layer traffic into this interface, so it can route them through the configured proxy (tor in your case), even for applications that don’t honor your proxy settings at all.
In Clash Meta you can use configurations such as this to route all your layer 5 and 4 traffic through tor, the important part is to enable the tun mode. After that you can simply use command mihomo -f config.yaml
to start it.
port: 7890
socks-port: 7891
redir-port: 7892
mode: rule
tun:
enable: true
stack: gvisor
auto-route: true
auto-redirect: true
auto-detect-interface: true
proxies:
-
name: 'tor'
type: socks5
server: localhost
port: 9050
proxy-groups:
-
name: DEFAULT
type: select
proxies:
- 'tor'
rules:
- MATCH,DEFAULT