Doxx/Darkflare: DarkFlare TCPoCDN (TCP over CDN)
https://github.com/doxx/darkflareThe use case is to relay WireGuard over TCP/CF in a restrictive network, confirmed to work in China, obviously not too fast.
Proxying projects utilising HTTP/TLS are popular in the anti-censorship community (discussion board: https://github.com/net4people/bbs) and there are many variants of it; ex:
- KCP (over UDP): https://github.com/xtaci/kcp-go
Install a cloudflared tunnel on your remote server, configure it to forward traffic to that server's hosts proxy server(maybe Shadowsocks) using Zero Trust dashboard, and run the following command on your local computer:
cloudflared access tcp --hostname some.your-domain.tld --url localhost:8080
Then localhost:8080's traffic will be forwarded to cloudflareds' host, the whole traffic is using HTTP2 so might look legitimate to Firewall.
For example if using Shadowsocks on server, your Shadowsocks's local client can connect to localhost:8080 as server to forward traffic.
The author is pretty naive. There is a reason why Google was left out of the list, in the 2010s people argue "Google is too important and China never dare to block it" then google's whole IP range is blocked.
Amazon Cloudfront, Akmai, Fastly are also (partially) blocked and barely working.
IMHO cleve tricks like "domain fronting" is just freebooting
What do you mean by "freebooting"?
We added domain fronting support to the OpenConnect TLS-VPN client _in 2022_ because it is still working and useful for many people working in censored countries and environments. https://gitlab.com/openconnect/openconnect/-/merge_requests/...
https://gitlab.torproject.org/tpo/anti-censorship/pluggable-...
I don’t get why headers and requests need to be spoofed if all traffic is over https?
It's obfuscation at best. I'm not sure the encrypted traffic will look particularly php-ish for example. Compressed formats might look vaguely passable.
I can't see any stenography code or libraries in the repo.
Because the traffic is to a CDN endpoint (like Cloudflare) which expects it to be a HTTP message.
We've been running that in prod for several years without any issues, also going through cloudflare