Spyke
selfhosted·Selfhostedbypr3d

a VPN that is easily self-hostable and resistant to blocking?

Hi, i'm looking for a VPN that:

  • is easily deployable via a docker-compose
  • has an Android App and it doesn't drain the battery too much
  • hides as regular HTTPS traffic so it's not blockable by Firewalls. (I don't need strong censorship resistance; it just has to work in offices and hotel WiFis.)
  • Bonus: A server like caddy can also accept HTTPS traffic for some regular websites next to the VPN server.

https://github.com/TrustTunnel/TrustTunnel sounds interesting, but the PR for docker compose was closed.

Do you know something else?

View original on eviltoast.org

Wireguard on a VPS and run it through port 443. That should get you through most things that don't do TLS inspection

12
lemmy.world

resistant to blocking?

That's going to be the sticky wicket right there. It is rather trivial for server admins to know what IPs go with VPNs and not. Wireguard is about the best thing on the planet right now, imho, but it will also get blocked. Occasionally, I will happen on a site that outright blocks me. If I can't bend the site to my will, I just move on. The information on the blocked site will 9 times out of 10 be found duplicated somewhere else.

One 'trick' I've found works fairly well is Opera. So, when I go to pay my bills online, my VPN coupled with the way I have Firefox configured, will trigger a block. I can fire up Opera, engage it's built in VPN, still keep my local VPN connected, and have no problem accessing my bills. It's not an elegant solution, and some users have preclusions to Opera. However, that generally works for me.

6
iopqreply
lemmy.world

Wireguard is not resistant to blocking, it is plain as day if you're using wireguard and china had blocked it for years

5
irmadladreply
lemmy.world

I sort of said as much. It really doesn't matter, imho, what you use. As soon as that service becomes abused globally, everyone blocks it, including Tor. Any server using DPI or TLS will spot it a mile away. Now, if you have a fool proof way, than I am very much ready to be educated.

3

It does matter.

When I connect to my VPN, the network sees that the server name is yahoo.com

It actually connects to my server which sends the request to yahoo.com and then replies with the cert. So the network sees that yahoo.com sent the cert back to my client from that IP address

Then there is a bunch of encrypted communication with timings and sizes that look like I'm downloading stuff over http.

I'd like to hear a credible model of blocking this

1

If you want a decently hidden VPN, I recommend setting up an OpenVPN instance, with a TCP tunnel, encapsulated within Stunnel. It manages to stay hidden even with DPI.

The setup is a bit convoluted, especially if you want everything to use certificates for maximum security. It's also not the fastest VPN, and TCP isn't the most efficient for a VPN. But it's decent enough for a normal user.

You can set it up on both Linux and Windows, even having both ends of the tunnel on Windows, but it's easier and better to set it up on Linux.

4
lemmy.world

Use xray. I suggest the REALITY + XHTTP setup where you look like another h2 server

You can docker compose your panel for managing your server, get a free subdomain from afraid.org and set up tls on it

I use the v2rayng mobile app since I don't switch servers much, I only have two

3

Yes because they are all designed to evade the great firewall of China, which automatically catches almost all other VPN's and proxies.

Github is blocked in China. The fact that these repos are on Github and Chinese is proof of their effectiveness.

3
mlg
lemmy.world

(I don’t need strong censorship resistance; it just has to work in offices and hotel WiFis.

Wireguard on 443 or OpenVPN + Stunnel on 443

Wireguard is easier to setup because there's no OpenVPN app that packages stunnel (afaik), so you have to run 2 apps on your phone to make it work.

A server like caddy can also accept HTTPS traffic for some regular websites next to the VPN server.

Wireguard uses UDP, so just run whatever you want on 443 TCP with caddy (unless you want QUIC for some reason?)

Anything beyond that and you'd be looking at using a proper obfuscation solution like Shadowsocks or obfs4, in which case you should look into Amnezia or Tor bridges.

3

I think I will stick to wireguard on port 443/udp. Hope UDP is open in strict networks. Maybe someone hasn't heard of HTTP/3.

Everything else sounds not necessary because I don't travel to china or similar. stunnel needs termux on android in-between? This adds too many moving parts IMO.

AmneziaWG will enter wg-easy in v16 and WG Tunnel already supports it. Don't know how hard it it to configure, but the Jc, Jmin, Jmay, ... settings in WG Tunne look confusing.

1

I've run Wireguard on 443 (on my router) for exactly that purpose and never had a problem, even when my standard WG port was blocked by some businesses. I've since had to move to port 587 due to router conflicts and it's worked fine so far too.

The battery drain on Android is negligible (at least for my uses) and WG is activated by Tasker whenever my home wifi is out of range. From what I can see WG is configurable via Docker compose.

3

I quite like the option! I do love tasker, but if i only need auto tunneling this does it quite well!

1
iopqreply
lemmy.world

Doesn't work in China, can be easily blocked by censors

-1
sh.itjust.works

Who said anything about China?

OP: "I don’t need strong censorship resistance; it just has to work in offices and hotel WiFis."

7
programming.dev

Many of the prominent https VPN protocols are for evading the great firewall of China. OP had that as a requirement, so it is not an unreasonable assumption.

If you are evading less locked down firewalls, then you don't need as stealthy VPNs.

-2
sh.itjust.works

Many of the prominent https VPN protocols are for evading the great firewall of China. OP had that as a requirement

OP said exactly the opposite. Where the fuck do you get this stuff?

5
programming.dev

hides as regular HTTPS traffic so it’s not blockable by Firewalls

From OP's post, of course. If OP does not need to evade firewalls that are that aggressive, then they should have settled for a less stealthy VPN solution, as many of these HTTPS proxy solutions have performance and usability (can often only proxy TCP traffic) tradeoffs.

Perhaps they have already tried the wireguard on port 443 solution, and it didn't work for them. My high school would auto detect and block wireguard to any port. Perhaps they are in a similar situation.

-1
pr3dreply
eviltoast.org

I haven't tried WG on 443/udp yet. On my last UK journey I had it on the default WG port and it was blocked a few times. Will try 443/udp @ homelab next time. Every other advanced obfuscating solution sounds pretty complicated and I'm not sure if there will be time to handle this during a journey.

1

Also try wireguard over port 53. Often (udp) traffic to port 53 is unblocked because it's needed for DNS.

What is special about this setup is that it can sometimes get around captive portal wifi.

2
sunbeam60reply
feddit.uk

Most Chinese exits through port snooping. And you really need to be on a Chinese corp network to know - if you take your western mobile there they do very little blocking.

I’ve been fairly successful with most China corp networks letting me out and in to self-hosted WG server on port 123.

2

Because if you're roaming it creates a VPN, basically through the Chinese network

But it you want a lot of data, like for YouTube, you're not going to want to pay roaming rates

1
eleitlreply
lemmy.zip

Russia has harsher blocks than China, meanwhile.

1

Yes, they actually block legitimate websites too, apparently

2

Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I've seen in this thread:

Fewer LettersMore Letters
DNSDomain Name Service/System
HTTPHypertext Transfer Protocol, the Web
HTTPSHTTP over SSL
IPInternet Protocol
SSLSecure Sockets Layer, for transparent encryption
TCPTransmission Control Protocol, most often over IP
TLSTransport Layer Security, supersedes SSL
UDPUser Datagram Protocol, for real-time communications
VPNVirtual Private Network
VPSVirtual Private Server (opposed to shared hosting)

9 acronyms in this thread; the most compressed thread commented on today has 14 acronyms.

[Thread #171 for this comm, first seen 16th Mar 2026, 17:30] [FAQ] [Full list] [Contact] [Source code]

2

My go to choice for this is ocserv to run a Cisco AnyConnect server, and sniproxy to sit on port 443 and handle traffic routing. You configure sniproxy to go to a different server by hostname, and configure ocserv as the fallback option to access the VPN. Any host I expose via sniproxy provides its own HTTPS certificate via my Traefik server.

1

You reached the end

a VPN that is easily self-hostable and resistant to blocking? | Spyke