Neexistuje něco podobného, ale jako SOCKS5 proxy? Tj. na jedné straně by byl klient, který by fungoval jako SOCKS5 proxy, odsud by se provoz skrze HTTPS (ať už jako HTTP/2 rámce nebo jako WebSocket) protunelovalo na nějaký HTTPS server, ze kterého by ta komunikace šla dál do světa? Něco jako ssh -D
, akorát by to jako tunel využívalo HTTPS a ne SSH.
střílím naslepo a vybral jsem s poznámek, co by asi mohlo odpovídat.
shoes je podle mě přesně co chceš, umožňuje ti to libovolně postavit klientskou a serverovou část, routovat v nich i mezi nimi a různě provoz maskovat, https://github.com/cfal/shoes/blob/master/examples/tls_sni_vmess_and_snell.yaml. Je na tobě, kterou část spustíš na klientovi a kterou na serveru.
Pak bych asi vyzdvihnul go-gost, poměrně snadno můžeš nastavit klientskou a servovou část, spustit jednotlivé strany a oni se ti spojí. Gost má i schopnost zkoušet postupně více strategií podle toho, která projde sítí. Takhle by vypadal příklad s socks5 na klientovi s tunelování přes http2
server:
gost -L=http2://john:doe@:443
client:
gost -L socks5://:8080 -F=http2://john:doe@server:443
curl --socks5 localhost:8080 ip-echo.ripe.net
14. 3. 2024, 17:16 editováno autorem komentáře
Dá se něco z toho provozovat na existujícím web serveru? Tj příklad - otevřu https://foo.bar mám svoje stránky, pošlu traffic na https://foo.bar/tunel, a chodí přes to vpnka? Vzpomínám si matně, že kdysi byl nějaký "splitter", který uměl na stejném portu posílat jak https tak ssh, ale to už je mnoho let zpět...
wstunnel, gost, shoes to umí. Wstunnel umí být schovaný pod nějakou url za nginxem (Petr ti odkazoval článek). Gost umí poslouchat na tcp a pokud tam příjde http požadavek, tak začne fungovat jako reverzní proxy. Shoes umi obě varianty, jak být v popředí a routovat nevpn komunikaci na nějaký backend, tak i být za nějakou reverzní proxy za nějakou url.
Pokud jde o vyhnutí se cenzuře tak v ČR obvykle stačí použít jiný DNS server (např. od google 8.8.8.8), nebo si zjistit ip adresu domény a nastavit si ji do souboru vim /etc/hosts .
Ve spoustě zemí (jako Egypt) ale blokují i volání přes internet či také VPN tunely. Tedy lze použít jen takové VPN tunely, které nelze rozpoznat analýzou provozu. Problémy jsem zaznamenal třeba také v Pákistánu. Zde zafungoval protonVPN zdarma s jejich aplikací. Wireguard také jede jen chvíli nebo vůbec.
Co jsem byl v Číně, je to už delší dobu, tak tam mezinárodní internet fungovat tak hrozně mizerně (pomalu a nespolehlivě), že to bylo použitelné jen hodně omezeně. Úspěch byl přečíst si a odpovědět na maily. Nedostupnost google služeb mne nijak netrápila, ale špatně fungovalo i všechno ostatní.
Jinak spolehlivý způsob jak se vyhnout různým lokálním blokacím by měl být použít datový roaming. S nějakým balíčkem či speciální SIM to nemusí být tak hrozně drahé např. na spolehlivé vyřízení emailů, zpráv a krátké VoIP hovory. Roaming také funguje jako VPN, máte českou ip adresu.
Ale to se nedá hlavně proto, že je všechno hrozně pomalé a nespolehlivé, takže hlavní problém z Číny to neřeší, protože bude nespolehlivý a pomalý i ten WebTunnel. Nebo se prostě něco změnilo?
Tu totální internetovou izolaci Číny moc nechápu. Chápu, že si vypnou google a podobně, protože tím dají vzniknout vlastní konkurenci a odvádění zisků do USA, ale proč ten internet celkově dělají nepoužitelným moc nechápu.
Zakladem fungovani totalitnich rezimu je kontrola nad tim, jake informace se k obcanum dostanou a jake ne. Formy se meni - dnes uz se netresta poslouchani zahranicniho rozhlasu kaznici nebo i smrti, ale principy fungovani totalitnich rezimu jsou v tomto smeru stale stejne.