All Projects → PeterDaveHello → Tor Socks Proxy

PeterDaveHello / Tor Socks Proxy

🐳 Tiny Docker(🤏 10MB) image as 🧅 Tor SOCKS5 proxy 🛡

Projects that are alternatives of or similar to Tor Socks Proxy

Flynet
A powerful TCP/UDP tool, which support socks5 proxy by tcp and udp, http proxy and NAT traversal. This tool can help you bypass gfw easily
Stars: ✭ 124 (-43.12%)
Mutual labels:  proxy, proxy-server, socks5, socks, socks-proxy
Socks5
A full-fledged high-performance socks5 proxy server written in C#. Plugin support included.
Stars: ✭ 286 (+31.19%)
Mutual labels:  hacktoberfest, proxy, proxy-server, socks5, socks
3proxy
3proxy - tiny free proxy server
Stars: ✭ 2,263 (+938.07%)
Mutual labels:  proxy, proxy-server, socks5, socks, socks-proxy
nimSocks
A filtering SOCKS proxy server and client library written in nim.
Stars: ✭ 51 (-76.61%)
Mutual labels:  proxy-server, socks, socks5, socks-proxy
Multitor
Create multiple TOR instances with a load-balancing.
Stars: ✭ 624 (+186.24%)
Mutual labels:  proxy, tor, socks-proxy, onion
Proxybroker
Proxy [Finder | Checker | Server]. HTTP(S) & SOCKS 🎭
Stars: ✭ 2,767 (+1169.27%)
Mutual labels:  proxy, proxy-server, socks, privacy
Tor Router
A SOCKS, HTTP and DNS proxy for distributing traffic across multiple instances of Tor
Stars: ✭ 69 (-68.35%)
Mutual labels:  proxy, tor, proxy-server, socks5
microsocks11
A cross-platform SOCKS5 library and server based on the microsocks project.
Stars: ✭ 22 (-89.91%)
Mutual labels:  proxy-server, socks, socks5, socks-proxy
socks5 list
Auto-updated SOCKS5 proxy list + proxies for Telegram
Stars: ✭ 210 (-3.67%)
Mutual labels:  proxy-server, socks, socks5, socks-proxy
Psiphon
A multi-functional version of a popular network circumvention tool
Stars: ✭ 169 (-22.48%)
Mutual labels:  proxy, proxy-server, socks5, socks
3proxy
3proxy - tiny free proxy server
Stars: ✭ 2,493 (+1043.58%)
Mutual labels:  proxy-server, socks, socks5, socks-proxy
Tor2web
Tor2web is an HTTP proxy software that enables access to Tor Hidden Services by mean of common web browsers
Stars: ✭ 531 (+143.58%)
Mutual labels:  proxy, tor, socks5, privacy
Rotating Proxy
Rotating TOR proxy with Docker
Stars: ✭ 739 (+238.99%)
Mutual labels:  proxy, tor, socks-proxy
Docker Dante Telegram
dante config builder for Telegram SOCKS-proxy & Dockerfile for building image with such proxy
Stars: ✭ 16 (-92.66%)
Mutual labels:  proxy, socks5, socks
Socksio
Sans-I/O implementation of SOCKS4, SOCKS4A, and SOCKS5
Stars: ✭ 27 (-87.61%)
Mutual labels:  socks5, socks, socks-proxy
Daze
Daze is a tool to help you link to the Internet.
Stars: ✭ 580 (+166.06%)
Mutual labels:  proxy, socks5, socks
Jsocksproxy
SOCKS proxy written in Java
Stars: ✭ 19 (-91.28%)
Mutual labels:  proxy, socks5, socks
Shadowsocks Php
A php port of shadowsocks based on workerman. A socks5 proxy written in PHP.
Stars: ✭ 869 (+298.62%)
Mutual labels:  proxy, socks5, socks-proxy
Awslambdaproxy
An AWS Lambda powered HTTP/SOCKS web proxy
Stars: ✭ 571 (+161.93%)
Mutual labels:  proxy, proxy-server, socks5
Lightsocks Nodejs
It's a simple socks5 proxy tool which based on lightsocks
Stars: ✭ 79 (-63.76%)
Mutual labels:  proxy, proxy-server, socks5

Tor-socks-proxy

license Build Status Docker Hub pulls Docker image layers Docker image version

Docker Hub badge

The super easy way to setup a Tor SOCKS5 proxy server inside a Docker container without relay/exit feature.

Usage

  1. Setup the proxy server at the first time

    docker run -d --restart=always --name tor-socks-proxy -p 127.0.0.1:9150:9150/tcp peterdavehello/tor-socks-proxy:latest
    
    • With parameter --restart=always the container will always start on daemon startup, which means it'll automatically start after system reboot.
    • Use 127.0.0.1 to limit the connections from localhost, do not change it unless you know you're going to expose it to a local network or to the Internet.
    • Change to first 9150 to any valid and free port you want, please note that port 9050/9150 may already taken if you are also running other Tor client, like TorBrowser.
    • Do not touch the second 9150 as it's the port inside the docker container unless you're going to change the port in Dockerfile.

    If you want to expose Tor's DNS port, also add -p 127.0.0.1:53:8853/udp in the command, see DNS over Tor for more details.

    If you already setup the instance before (not the first time) but it's in stopped state, you can just start it instead of creating a new one:

    docker start tor-socks-proxy
    
  2. Make sure it's running, it'll take a short time to bootstrap

    $ docker logs tor-socks-proxy
    .
    .
    .
    Jan 10 01:06:59.000 [notice] Bootstrapped 85%: Finishing handshake with first hop
    Jan 10 01:07:00.000 [notice] Bootstrapped 90%: Establishing a Tor circuit
    Jan 10 01:07:02.000 [notice] Tor has successfully opened a circuit. Looks like client functionality is working.
    Jan 10 01:07:02.000 [notice] Bootstrapped 100%: Done
    
  3. Configure your client to use it, target on 127.0.0.1 port 9150(Or the other port you setup in step 1)

    Take curl as an example, if you'd like to checkout what's your IP address via Tor network, using one of the following IP checking services:

    curl --socks5-hostname 127.0.0.1:9150 https://ipinfo.tw/ip
    

    Take ssh and nc as an example, connect to a host via Tor:

    ssh -o ProxyCommand='nc -x 127.0.0.1:9150 %h %p' target.hostname.blah
    

    Tor Project also have an API if you want to be sure if you'on Tor network: https://check.torproject.org/api/ip, the result would look like:

    {"IsTor":true,"IP":"151.80.58.219"}
    
  4. After using it, you can turn it off

    docker stop tor-socks-proxy
    

IP renewal

  • Tor changes circuit automatically every 10 minutes by default, which usually bring you the new IP address, it's affected by MaxCircuitDirtiness config, you can override it with your own torrc, or edit the config file and restart the container. See the official manual for more details.

  • To manually renew the IP that Tor gives you, simply restart your docker container to open a new circuit:

    docker restart tor-socks-proxy
    

    Just note that all the connections will be terminated and need to be reestablished.

DNS over Tor

If you publish the DNS port in the first step of Usage section, you can query DNS request over Tor

The DNSPort here is set to 8853 by default, but not the common 53, because non-privileged port is preferred, and then libcap/CAP_NET_BIND_SERVICE capability won't be needed, which is more Alpine Linux(Small. Simple. Secure.)

You can still expose the port to 53 for outside the container by the parameter -p 127.0.0.1:53:8853/udp. nslookup also supports to specify the port to 8853 by -port=8853, e.g. nslookup -port=8853 ipinfo.tw 127.0.0.1

This port only handles A, AAAA, and PTR requests, see details on official manual

Set the DNS server to 127.0.0.1 (Or another IP you set), use macvk/dnsleaktest or go to one of the following DNS leaking test websites to verify the result:

Note

For the Tor project sustainability, I strongly encourage you to help setup Tor bridge/exit nodes(script) and donate money to the Tor project (Not this proxy project) when you have the ability/capacity!

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].