Prestandajämförelse av VPN-blockbypass-verktyg

I takt med att vi i allt högre grad nekas tillgång till olika resurser på nätverket blir frågan om förbikoppling av blockering mer och mer angelägen, vilket gör att frågan "Hur går man förbi blockering snabbare?" blir mer och mer aktuell.

Låt oss lämna ämnet effektivitet när det gäller att kringgå DPI-vitlistor för ett annat fall, och helt enkelt jämföra prestandan för populära blockbypass-verktyg.

Observera: Det kommer att finnas många bilder under spoilers i artikeln.

Friskrivningsklausul: den här artikeln jämför prestandan för populära VPN-proxylösningar under förhållanden nära "idealiska". Resultaten som erhålls och beskrivs här överensstämmer inte nödvändigtvis med dina resultat i fälten. Eftersom siffran i hastighetstestet ofta inte beror på hur kraftfullt bypass-verktyget är, utan på hur din leverantör strypar det.

metodik

3 VPS köptes från en molnleverantör (DO) i olika länder runt om i världen. 2 i Nederländerna, 1 i Tyskland. Den mest produktiva VPS (efter antal kärnor) valdes bland de tillgängliga för kontot under erbjudandet om kupongkrediter.

En privat iperf3-server är utplacerad på den första holländska servern.

På den andra holländska servern distribueras olika servrar med blockbypass-verktyg en efter en.

En desktop Linux-avbildning (xubuntu) med VNC och ett virtuellt skrivbord distribueras på tyska VPS. Denna VPN är en villkorad klient, och olika VPN-proxyklienter installeras och startas på den i tur och ordning.

Hastighetsmätningar utförs tre gånger, vi fokuserar på genomsnittet, vi använder 3 verktyg: i Chromium genom ett webbhastighetstest; i Chromium via fast.com; från konsolen via iperf3 via proxychains4 (där du behöver lägga in iperf3-trafik i proxyn).

En direktanslutning "klient"-server iperf3 ger en hastighet på 2 Gbps i iperf3, och lite mindre i fastspeedtest.

En nyfiken läsare kan fråga sig "varför valde du inte speedtest-cli?" och han kommer att ha rätt.

Speedtest-cli visade sig vara opålitlig och ett otillräckligt sätt att mäta genomströmning, av för mig okända skäl. Tre på varandra följande mätningar skulle kunna ge tre helt olika resultat, eller till exempel visa en genomströmning mycket högre än porthastigheten på min VPS. Kanske är problemet min klubbade hand, men det verkade omöjligt att forska med ett sådant verktyg.

När det gäller resultaten för de tre mätmetoderna (speedtest fastiperf) anser jag att iperf-indikatorerna är de mest exakta och tillförlitliga, och snabbhastighetstestet som referens. Men vissa förbikopplingsverktyg tillät inte att utföra 3 mätningar genom iperf3 och i sådana fall kan du lita på speedtestfast.

hastighetstest ger olika resultatPrestandajämförelse av VPN-blockbypass-verktyg

Verktyg

Totalt testades 24 olika bypass-verktyg eller deras kombinationer, för vart och ett av dem kommer jag att ge små förklaringar och mina intryck av att arbeta med dem. Men i huvudsak var målet att jämföra hastigheterna för shadowsocks (och en massa olika obfuscatorer för det) openVPN och wireguard.

I det här materialet kommer jag inte att diskutera i detalj frågan om "hur man bäst döljer trafik för att inte kopplas bort", eftersom att kringgå blockering är en reaktiv åtgärd - vi anpassar oss efter vad censorn använder och agerar utifrån detta.

Resultat

Strongswanipsec

Enligt mina intryck är det väldigt lätt att ställa in och fungerar ganska stabilt. En av fördelarna är att det verkligen är plattformsoberoende, utan att behöva leta efter kunder för varje plattform.

nedladdning - 993 mbits; uppladdning - 770 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

SSH-tunnel

Det är nog bara de lata som inte har skrivit om att använda SSH som tunnelverktyg. En av nackdelarna är lösningens "krycka", d.v.s. att distribuera det från en bekväm, vacker klient på varje plattform kommer inte att fungera. Fördelarna är bra prestanda, det finns inget behov av att installera något på servern alls.

nedladdning - 1270 mbits; uppladdning - 1140 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

OpenVPN

OpenVPN testades i 4 driftlägen: tcp, tcp+sslh, tcp+stunnel, udp.

OpenVPN-servrar konfigurerades automatiskt genom att installera streisand.

Såvitt man kan bedöma är det för tillfället bara stunnelläget som är resistent mot avancerade DPI. Orsaken till den onormala ökningen av genomströmning vid inpackning av openVPN-tcp i stunnel är inte klar för mig, kontroller gjordes i flera körningar, vid olika tidpunkter och på olika dagar, resultatet blev detsamma. Kanske beror detta på nätverksstackinställningarna som installerats när du distribuerar Streisand, skriv om du har några idéer varför det är så.

openvpntcp: nedladdning - 760 mbits; uppladdning - 659 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

openvpntcp+sslh: nedladdning - 794 mbits; uppladdning - 693 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

openvpntcp+stunnel: nedladdning - 619 mbits; uppladdning - 943 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

openvpnudp: ladda ner - 756 mbits; uppladdning - 580 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

Openconnect

Inte det mest populära verktyget för att kringgå blockeringar, det ingår i Streisand-paketet, så vi bestämde oss för att testa det också.

nedladdning - 895 mbits; ladda upp 715 MbpsPrestandajämförelse av VPN-blockbypass-verktyg

Trådskydd

Ett hypeverktyg som är populärt bland västerländska användare, utvecklarna av protokollet fick till och med några bidrag för utveckling från försvarsfonder. Fungerar som en Linux-kärnmodul via UDP. Nyligen har det dykt upp klienter för windowsios.

Det var tänkt av skaparen som ett enkelt, snabbt sätt att titta på Netflix när du inte är i staterna.

Därav fördelarna och nackdelarna. Fördelar: mycket snabbt protokoll, relativt enkel installation och konfiguration. Nackdelar - utvecklaren skapade det från början inte med målet att kringgå allvarliga blockeringar, och därför upptäcks wargard lätt av de enklaste verktygen, inkl. trådhaj.

wireguard-protokoll i wiresharkPrestandajämförelse av VPN-blockbypass-verktyg
nedladdning - 1681 mbits; ladda upp 1638 MbpsPrestandajämförelse av VPN-blockbypass-verktyg

Intressant nog används warguard-protokollet i tunsafe-klienten från tredje part, vilket, när det används med samma warguard-server, ger mycket sämre resultat. Det är troligt att Windows wargard-klienten kommer att visa samma resultat:

tunsafeclient: ladda ner - 1007 mbits; uppladdning - 1366 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

OutlineVPN

Outline är en implementering av en shadowox-server och klient med ett vackert och bekvämt användargränssnitt från Googles sticksåg. I Windows är outlineklienten helt enkelt en uppsättning omslag för binärfilerna shadowsocks-local (shadowsocks-libev-klienten) och badvpn (tun2socks binär som dirigerar all maskintrafik till en lokal socks-proxy).

Shadowsox var en gång resistent mot den stora brandväggen i Kina, men baserat på senaste recensioner är detta inte längre fallet. Till skillnad från ShadowSox stöder den ur lådan inte anslutning av obfuskation via plugins, men detta kan göras manuellt genom att mixtra med servern och klienten.

nedladdning - 939 mbits; uppladdning - 930 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

ShadowsocksR

ShadowsocksR är en gaffel av de ursprungliga Shadowsocks, skriven i Python. I huvudsak är det en skugglåda som flera metoder för trafikobfuskation är hårt fästa vid.

Det finns gafflar av ssR till libev och något annat. Den låga genomströmningen beror förmodligen på kodspråket. Den ursprungliga shadowsox på python är inte mycket snabbare.

shadowsocksR: ladda ner 582 mbits; ladda upp 541 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Shadowsocks

Ett kinesiskt blockbypass-verktyg som randomiserar trafik och stör automatisk analys på andra underbara sätt. Tills nyligen var GFW inte blockerad, de säger att nu är den bara blockerad om UDP-reläet är påslaget.

Cross-platform (det finns klienter för alla plattformar), stödjer att arbeta med PT som liknar Thors obfuscators, det finns flera egna obfuscators eller anpassade till det, snabbt.

Det finns ett gäng implementeringar av shadowox-klienter och -servrar, på olika språk. Vid testning fungerade shadowsocks-libev som en server, olika klienter. Den snabbaste Linux-klienten visade sig vara shadowsocks2 on go, distribuerad som standardklient i streisand, jag kan inte säga hur mycket mer produktiv shadowsocks-windows är. I de flesta ytterligare tester användes shadowsocks2 som klient. Skärmdumpar som testade pure shadowsocks-libev gjordes inte på grund av den uppenbara fördröjningen av denna implementering.

shadowsocks2: nedladdning - 1876 mbits; uppladdning - 1981 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

shadowsocks-rust: ladda ner - 1605 mbits; uppladdning - 1895 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Shadowsocks-libev: nedladdning - 1584 mbits; uppladdning - 1265 mbits.

Enkel-obfs

Plugin för shadowsox är nu i "avskriven" status men fungerar fortfarande (även om inte alltid bra). Till stor del ersatt av v2ray-plugin. Fördunklar trafik antingen under en HTTP-websocket (och låter dig förfalska destinationshuvudet, låtsas som att du inte kommer att titta på en porrhub, utan till exempel webbplatsen för Ryska federationens konstitution) eller under pseudo-tls (pseudo Eftersom den inte använder några certifikat, detekteras den enklaste DPI som gratis nDPI som "tls no cert." I tls-läge är det inte längre möjligt att förfalska rubriker).

Ganska snabbt, installerat från repo med ett kommando, mycket enkelt konfigurerat, har en inbyggd failover-funktion (när trafik från en icke-simple-obfs-klient kommer till porten som simple-obfs lyssnar på, vidarebefordrar den den till adressen var du anger i inställningarna - så här På så sätt kan du undvika manuell kontroll av exempelvis port 80 genom att helt enkelt omdirigera till en webbplats med http, samt blockera genom anslutningssonder).

shadowsockss-obfs-tls: ladda ner - 1618 mbits; ladda upp 1971 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

shadowsockss-obfs-http: nedladdning - 1582 mbits; uppladdning - 1965 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Simple-obfs i HTTP-läge kan också fungera genom en CDN omvänd proxy (till exempel cloudflare), så för vår leverantör kommer trafiken att se ut som HTTP-klartext trafik till cloudflare, detta gör att vi kan dölja vår tunnel lite bättre, och kl. samtidigt separera ingångspunkten och trafikutgången - leverantören ser att din trafik går mot CDN IP-adressen, och extremistiska likes på bilder placeras i detta ögonblick från VPS IP-adressen. Det måste sägas att det är s-obfs genom CF som fungerar tvetydigt, periodvis inte öppnar vissa HTTP-resurser till exempel. Så det gick inte att testa uppladdningen med iperf via shadowsockss-obfs+CF, men att döma av resultaten från hastighetstestet är genomströmningen på nivån shadowsocksv2ray-plugin-tls+CF. Jag bifogar inte skärmdumpar från iperf3, eftersom... Du ska inte lita på dem.

nedladdning (hastighetstest) - 887; uppladdning (hastighetstest) - 1154.Prestandajämförelse av VPN-blockbypass-verktyg

Ladda ner (iperf3) - 1625; ladda upp (iperf3) - NA.

v2ray-plugin

V2ray-plugin har ersatt enkla obfs som den huvudsakliga "officiella" obfuscatorn för ss libs. Till skillnad från enkla obfs finns den ännu inte i arkiven, och du måste antingen ladda ner en förmonterad binär eller kompilera den själv.

Stöder 3 driftlägen: standard, HTTP-websocket (med stöd för spoofing av huvuden för destinationsvärden); tls-websocket (till skillnad från s-obfs är detta fullfjädrad tls-trafik, som känns igen av vilken omvänd proxywebbserver som helst och till exempel låter dig konfigurera tls-avslutning på cloudfler-servrar eller i nginx); quic - fungerar via udp, men tyvärr är prestandan för quic i v2rey väldigt låg.

Bland fördelarna jämfört med enkla obfs: v2ray-plugin fungerar utan problem via CF i HTTP-websocket-läge med all trafik, i TLS-läge är det fullfjädrad TLS-trafik, det kräver certifikat för drift (till exempel från Let's encrypt eller self -signerad).

shadowsocksv2ray-plugin-http: ladda ner - 1404 mbits; ladda upp 1938 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

shadowsocksv2ray-plugin-tls: ladda ner - 1214 mbits; ladda upp 1898 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

shadowsocksv2ray-plugin-quic: ladda ner - 183 mbits; ladda upp 384 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Som jag redan har sagt kan v2ray ställa in rubriker, och därmed kan du arbeta med det genom en omvänd proxy CDN (cloudfler till exempel). Å ena sidan komplicerar detta upptäckten av tunneln, å andra sidan kan det öka (och ibland minska) fördröjningen något - allt beror på var du och servrarna befinner sig. CF testar för närvarande att arbeta med quic, men det här läget är ännu inte tillgängligt (åtminstone för gratiskonton).

shadowsocksv2ray-plugin-http+CF: nedladdning - 1284 mbits; ladda upp 1785 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

shadowsocksv2ray-plugin-tls+CF: nedladdning - 1261 mbits; ladda upp 1881 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Dölja

Strimla är resultatet av vidareutvecklingen av GoQuiet obfuscator. Simulerar TLS-trafik och fungerar via TCP. För tillfället har författaren släppt den andra versionen av plugin, cloak-2, som skiljer sig väsentligt från den ursprungliga manteln.

Enligt utvecklaren använde den första versionen av plugin tls 1.2 återuppta sessionsmekanismen för att förfalska destinationsadressen för tls. Efter lanseringen av den nya versionen (klocka-2) raderades alla wikisidor på Github som beskriver denna mekanism, det nämns inget om detta i den aktuella beskrivningen av obfuskeringskryptering. Enligt författarens beskrivning används inte den första versionen av shred på grund av närvaron av "kritiska sårbarheter i krypto." Vid tiden för testerna fanns det bara den första versionen av kappan, dess binärer finns fortfarande på Github, och förutom allt annat är kritiska sårbarheter inte särskilt viktiga, eftersom shadowsox krypterar trafik på samma sätt som utan cloak, och cloac har ingen effekt på shadowsoxs krypto.

shadowsockscloak: ladda ner - 1533; uppladdning - 1970 mbitsPrestandajämförelse av VPN-blockbypass-verktyg

Kcptun

använder kcptun som transport KCP-protokoll och i vissa speciella fall gör det möjligt att uppnå ökad genomströmning. Tyvärr (eller lyckligtvis) är detta till stor del relevant för användare från Kina, vars vissa mobiloperatörer stryper TCP hårt och inte rör UDP.

Kcptun är jävligt energihungrig och laddar enkelt 100 zion-kärnor till 4% när den testas av 1 klient. Dessutom är pluginet "långsamt", och när man arbetar genom iperf3 slutför det inte tester till slutet. Låt oss ta en titt på hastighetstestet i webbläsaren.

shadowsockskcptun: nedladdning (hastighetstest) - 546 mbits; uppladdning (hastighetstest) 854 mbits.Prestandajämförelse av VPN-blockbypass-verktyg

Slutsats

Behöver du en enkel, snabb VPN för att stoppa trafik från hela din maskin? Då är ditt val krigsvakt. Vill du ha proxyservrar (för selektiv tunnling eller separation av virtuella personflöden) eller är det viktigare för dig att fördunkla trafik från allvarlig blockering? Titta sedan på shadowbox med tlshttp obfuscation. Vill du vara säker på att ditt internet fungerar så länge internet fungerar? Välj att proxy trafik genom viktiga CDN, blockering vilket kommer att leda till att hälften av internet i landet misslyckas.

Pivottabell, sorterad efter nedladdningPrestandajämförelse av VPN-blockbypass-verktyg

Källa: will.com

Lägg en kommentar