How To Self-Host Your TOR Socks5 Proxy Locally and Access Flux-Hosted SimpleX Servers

If you care about privacy and understand how TOR works, you already know the rule: **always access TOR locally**—not remotely. *(Unless you have no other choice and trust the remote endpoint, and even then you must wrap the connection in TLS or another strong encryption method.)* This guide will show you how to self-host your own **TOR Socks5 proxy locally** using Docker, and then configure it to access **Flux-hosted SimpleX SMP and xFTP servers** for maximum privacy and decentralization.

7/31/2025 / 5 min read
Post

Why Local TOR Access Matters

Using remote proxies for TOR breaks the point of the network: you’re pushing traffic through a third-party hop that can log or alter data. By running your own TOR proxy on your device or LAN, you keep the trust boundary in your control.


Part 1: Self-Hosting TOR Socks5 Proxy With Docker

We’ll use the regularly updated repository from PeterDaveHello.

Prerequisites:

  • Docker installed (Linux, Mac, or Windows)
  • Git installed

Step 1: Clone the repository

git clone https://github.com/PeterDaveHello/tor-socks-proxy
cd tor-socks-proxy

Step 2: Build the Docker image

docker build -t torproxy:latest -f Dockerfile .

Step 3: Run the container

docker run -d --restart=always --name tor-socks-proxy \
  -p 127.0.0.1:9050:9150/tcp torproxy:latest
  • 127.0.0.1:9050 is your local Socks5 endpoint.
  • All applications that need TOR access will point to this address.

Alternatives:

  • Debian systems: follow the official Debian Tor Guide
  • OpenWRT router: use the OpenWRT Tor guide

Part 2: Accessing Flux-Hosted SimpleX Servers

Now that your device can access the TOR network, you can set up SimpleX to communicate with Flux-hosted SMP and xFTP servers.


Step 1: Install the SimpleX Chat Client

Download SimpleX for your platform from simplex.chat.

  • On iOS, you’ll use Orbot as your TOR bridge.
  • On Desktop/Android, you’ll configure the Socks5 proxy manually.

Step 2: Configure TOR in SimpleX

  1. Open SimpleX
  2. Tap the profile icon (top-left)
  3. Tap Network & servers
  4. Tap Socks Proxy Setting
  5. Enter:
   Host: 127.0.0.1
   Port: 9050
  1. Toggle proxy ON, then Save & Update

Note: If using iOS, Orbot will handle the proxy connection.


Part 3: Add Flux SMP & xFTP Servers

Flux SMP Servers (TOR)

smp://LnyXWtMzjt2ge2tLX5nCmWxFEOydqyTy-mi1NtS6FDU=:TestPasss@fluxosm7ngawn5pzoxnmk53akmelhvmpxprpkstgsnqrdz2h4vuzhbqd.onion
smp://JO7_2iSNIgAxkiQC8JNIqujmf2_oXywUUoP5jRycp6k=:TestPass@fluxosb2lcn3hh27iglkv35ptjhhnurwyvmxncamv2h2yf2c6hdydjid.onion

Flux xFTP Servers (TOR)

xftp://qAl3ycourWN63i2UNFouakWD3W8IlHgsuxyj155wjoY=@znm3fhfqjkdpesfazmc6kmjamykc5ree3jrqflzhx6wvd4iub3pfgeyd.onion

Steps to Add Servers

  1. In SimpleX, go to Profile > Network & servers
  2. Tap SMP Servers > Add Server…
  3. Paste one of the SMP server URLs above
  4. Tap Test Server (✓)
  5. Tap back arrow, then Save Servers
  6. Repeat for each server you want to add

Do the same flow for xFTP Servers.


Notes on Clearnet Access

Currently, Flux endpoints are TOR-only. Clearnet hosting support will be added soon.

If you need to use your own domain:

  • Point the server IP to your domain via your DNS server
  • Be prepared to update DNS when IPs change

Next Steps

  • If you want to self-host your own SimpleX servers on Flux, watch for the upcoming guide: "How To Host Your Own SimpleX Servers on Flux"

  • If you just need a temporary TOR proxy, you can test against the Flux Run TOR proxy endpoint (but remember, it’s unencrypted and not recommended for regular use).

If you care about privacy and understand how TOR works, you already know the rule: always access TOR locally—not through someone else’s proxy.

(Unless you have no other choice, trust the remote endpoint, and add another encryption layer like TLS.)

You’ll learn how to self-host a TOR Socks5 proxy using Docker, and then use it to access Flux-hosted SimpleX SMP and xFTP servers for secure, anonymous communications.


Why You Must Use Local TOR Access

When you connect through a remote TOR proxy, you shift the trust boundary. That external server can log requests, inject code, or silently deanonymize your traffic. Running your own proxy guarantees full control.


Diagram: Local vs Remote TOR Proxy

Servers


Part 1: Host a TOR Socks5 Proxy With Docker

We’ll use the PeterDaveHello tor-socks-proxy repo, which is actively maintained.

Prerequisites

  • Docker installed (Linux, macOS, or Windows)
  • Git installed

Step 1: Clone the repository

git clone https://github.com/PeterDaveHello/tor-socks-proxy
cd tor-socks-proxy

Step 2: Build the Docker image

docker build -t torproxy:latest -f Dockerfile .

Step 3: Run the container

docker run -d --restart=always --name tor-socks-proxy \
  -p 127.0.0.1:9050:9150/tcp torproxy:latest
  • Your TOR Socks5 endpoint will be 127.0.0.1:9050
  • Any local app can now connect to the TOR network by pointing to this proxy

Alternatives:


Part 2: Access Flux-Hosted SimpleX Servers

Now that your system has direct TOR access, you can set up SimpleX Chat to connect through the proxy and add Flux SMP/xFTP servers.


Step 1: Install SimpleX

Download for your platform from simplex.chat.

  • iOS: Use Orbot to handle TOR
  • Desktop/Android: Configure Socks5 manually

Step 2: Configure TOR Proxy in SimpleX

  1. Open SimpleX
  2. Tap the profile icon (top-left)
  3. Tap Network & servers
  4. Tap Socks Proxy Setting
  5. Enter:
   Host: 127.0.0.1
   Port: 9050
  1. Toggle proxy ON, then Save & Update

Tor Proxy

Note: iOS devices only need Orbot installed—SimpleX will route through it.


Part 3: Add Flux SMP & xFTP Servers

Flux SMP Servers (TOR)

smp://LnyXWtMzjt2ge2tLX5nCmWxFEOydqyTy-mi1NtS6FDU=:TestPasss@fluxosm7ngawn5pzoxnmk53akmelhvmpxprpkstgsnqrdz2h4vuzhbqd.onion
smp://JO7_2iSNIgAxkiQC8JNIqujmf2_oXywUUoP5jRycp6k=:TestPass@fluxosb2lcn3hh27iglkv35ptjhhnurwyvmxncamv2h2yf2c6hdydjid.onion

Flux xFTP Servers (TOR)

xftp://qAl3ycourWN63i2UNFouakWD3W8IlHgsuxyj155wjoY=@znm3fhfqjkdpesfazmc6kmjamykc5ree3jrqflzhx6wvd4iub3pfgeyd.onion

Steps to Add Servers

  1. Go to Profile > Network & servers
  2. Tap SMP Servers > Add Server…
  3. Paste a server URL from above
  4. Tap Test Server (✓)
  5. Back out and Save Servers
  6. Repeat for all servers

Do the same for xFTP Servers.


Diagram: Dockerized TOR + SimpleX Traffic Flow

Data Flow


What About Clearnet Access?

Currently, all Flux endpoints are TOR-only. If you plan to use your own domain:

  • Set your DNS to point to your server’s IP
  • You’ll need to update DNS records when IPs change

Stay tuned for the next guide: "How To Host Your Own SimpleX Servers on Flux (Clearnet + TOR)"


Why This Setup Matters

This Dockerized TOR proxy ensures you:

  • Keep your TOR traffic under your control
  • Can resolve .onion addresses from any app (SimpleX, browsers, APIs)
  • Avoid relying on third-party proxies

When paired with Flux-hosted SimpleX servers, you get private, decentralized messaging with zero metadata leakage.


  • Full Guide Available At - https://help.runonflux.io/docs/how-to-self-host-your-tor-socks-5-proxy-locally-and-accessing-flux-hosted-simplex-servers/
👍 0
👎 0