TorProxy is kernel module which routes all network traffic through the Tor anonymity network.

The module uses Netfilter hooks in the Linux kernel to filter/NAT packets and ensure all outbound traffic is headed for the Tor network.

Tor browser ensures you by bobbing your communication around a distributed system of transfers keep running by volunteers all around the globe: it prevents some person viewing your Internet connection from realizing what websites you visit, it prevents the websites you visit from learning your physical location, and it gives you a chance to get to websites which are blocked.

The Tor network currently only supports TCP ipv4 traffic so all other protocol packets are dropped, with the exception of DNS packets, these are allowed and are forwarded to the TorDNS proxy to prevent DNS leaks.

This means no ICMP pings, ipv6, UDP etc…

Applications do not have to be configured to use the proxy as it uses Tors transparent proxy and NAT’s all outbound TCP requests.

Access to hidden services still has to be performed through the Tor browser.

Also Read crowbar – OpenVPN/RDP/SSH/VNC Brute forcing Attack

Tested on Debian kernel version 3.16.0-4, you will need to have the Linux-headers.


To build:

git clone
cd TorProxy

make install

Ensure you have the Tor DNS and Transparent Tor proxy running on the following ports:

add to your torrc configuration file:

DNSPort 9053
TransPort 9040


The proxy must be run as root and Tor must be running. Insert the module and you do! Remember to remove the module when you want regular internet access.

If Tor chooses a new entry relay you may need to refresh the relays table in the module using ‘-r’.


-s insert module and start proxy  
-i insert torproxy kernel module  
-r remove torproxy kernel module  
-t refresh tor relays table

Leave a Reply