https://cmptrnb.github.io

Dumbproxy with SNI spoofing

Dumbproxy is a simple HTTP/SOCKS5 forward proxy. It supports SNI spoofing, which is useful in environments where there is an SNI whitelist.

This article fleshes out the details from a comment on the discussion "[Russia] Censor has a new method of blocking" on GitHub:

I had a chance to run a couple of tests on machines connected to Rostelecom and Yota respectively. Basically, simple HTTPS proxy with SNI spoofing was enough to bypass restrictions towards DigitalOcean and Hetzner VPS. The server was just a basic dumbproxy instance set up by easy-dp.

1. Linux server

Open your server firewall for input:

If you have not already done so, SSH into your server as root.

Update your existing software packages:

apt update && apt upgrade -y

Install the prerequisite packages for the ACME certificate management script:

apt install -y curl wget socat cron

Run easy-dp to obtain an IP-based SSL certificate and install Dumbproxy:

curl https://raw.githubusercontent.com/Snawoot/easy-dp/refs/heads/master/easy-dp.sh | bash -s

At the end of the script's run, it displays a message such as:

=========================
Installation is finished!
=========================

Proxy URL: https://auto:MJ9WYdaV6I@123.123.123.123:443

which is

Proxy protocol: https
Proxy port:     443
Proxy host:     123.123.123.123
Proxy user:     auto
Proxy password: MJ9WYdaV6I

Make a note of these values.

Exit your SSH session with the server:

exit

2. Windows PC client

Open a browser.

Navigate to https://github.com/SenseUnit/dumbproxy/releases.

Download the most recent dumbproxy.windows-amd64.exe.

Open Windows PowerShell.

Change to the location of the downloaded executable, e.g.:

cd Downloads

Issue the Windows client command that follows, replacing the parameter values in the example with your own values:

.\dumbproxy.windows-amd64.exe -proxy 'h2://auto:MJ9WYdaV6I@123.123.123.123:443?sni=ozon.ru'

The meanings of the values in the example are:

After the proxy server starts up, you should see a message:

Proxy server started.

Leave the PowerShell window open with Dumbproxy for Windows running in it.

Go to Settings > Network & internet > Proxy.

Under Manual proxy setup, set the proxy ON with IP address 127.0.0.1 and port 8080.

Open a browser.

Browse to whatever web site you wish to visit.

3. Issues

If you experience any issues, raise them on https://github.com/SenseUnit/dumbproxy/issues.