
Un tunnel che trasforma il traffico UDP in traffico UDP/FakeTCP/ICMP crittografato utilizzando Raw Socket,ti aiuta a bypassare i firewall UDP (o ambienti UDP instabili)
Un tunnel che trasforma il traffico UDP in traffico FakeTCP/UDP/ICMP crittografato utilizzando Raw Socket, aiutandoti a bypassare i firewall UDP (o ambienti UDP instabili).
Se usato da solo, udp2raw tunnella solo traffico UDP. Tuttavia, se usi udp2raw insieme a qualsiasi VPN basata su UDP, puoi tunnellare qualsiasi traffico (inclusi TCP/UDP/ICMP); attualmente sono confermati supportati OpenVPN/L2TP/ShadowVPN e tinyfecVPN.

oppure

Host Linux (inclusi desktop Linux, telefono/tablet Android, router OpenWRT o Raspberry PI) con account root o capacità cap_net_raw.
Per utenti Windows e MacOS, usa udp2raw in questo repository.
Le intestazioni ICMP/FakeTCP aiutano a bypassare il blocco UDP, il QoS UDP o comportamenti NAT UDP impropri su alcuni ISP. In modalità intestazione ICMP, udp2raw funziona come un tunnel ICMP.
Sono supportate anche le intestazioni UDP. In modalità intestazione UDP, si comporta proprio come un normale tunnel UDP e puoi sfruttare le altre caratteristiche (come crittografia, anti-replay o stabilizzazione della connessione).
In modalità intestazione FakeTCP, udp2raw simula l'handshake a 3 vie durante l'inizializzazione della connessione, simula seq e ack_seq durante il trasferimento dei dati. Simula anche alcune opzioni TCP come: MSS, sackOk, TS, TS_ack, wscale. I firewall considereranno FakeTCP come una connessione TCP, ma è essenzialmente UDP: supporta la consegna in tempo reale/fuori ordine (proprio come il normale UDP), nessun controllo di congestione o ritrasmissione. Quindi non ci sarà alcun problema TCP over TCP quando si utilizza OpenVPN.
I fallimenti di connessione vengono rilevati tramite heartbeat. Se si verifica un timeout, il client cambierà automaticamente il numero di porta e si riconnetterà. Se la riconnessione ha successo, la connessione precedente verrà ripristinata e tutte le conversazioni UDP esistenti rimarranno valide.
Ad esempio, se usi udp2raw + OpenVPN, OpenVPN non perderà la connessione dopo qualsiasi riconnessione, anche se il cavo di rete viene scollegato o il punto di accesso WiFi viene cambiato.
Multiplexing Un client può gestire più connessioni UDP, tutte condividono la stessa connessione raw.
Client multipli Un server può avere più client.
Supporto NAT Tutte e 3 le modalità funzionano in ambienti NAT.
Supporto OpenVZ Testato su VPS BandwagonHost.
Facile da compilare Nessuna dipendenza. Per cross-compilare udp2raw, tutto ciò che devi fare è scaricare un toolchain, modificare il makefile per puntare al toolchain, eseguire make cross e il gioco è fatto. (Nota: binari precompilati per Desktop, RaspberryPi, Android, alcuni router Openwrt sono già inclusi in Releases)
Bypass UDP QoS Bypass UDP Blocking Bypass OpenVPN TCP over TCP problem OpenVPN over ICMP UDP to ICMP tunnel UDP to TCP tunnel UDP over ICMP UDP over TCP
Scarica la release binaria da https://github.com/wangyu-/udp2raw-tunnel/releases
Supponiamo che il tuo UDP sia bloccato o soggetto a QoS o semplicemente poco supportato. Supponiamo che il tuo server IP sia 44.55.66.77, che tu abbia un servizio in ascolto sulla porta UDP 7777.
# Esegui sul lato server:
./udp2raw_amd64 -s -l0.0.0.0:4096 -r 127.0.0.1:7777 -k "passwd" --raw-mode faketcp -a
# Esegui sul lato client:
./udp2raw_amd64 -c -l0.0.0.0:3333 -r44.55.66.77:4096 -k "passwd" --raw-mode faketcp -a
(I comandi sopra devono essere eseguiti come root. Per una maggiore sicurezza, con alcuni passaggi extra, puoi eseguire udp2raw come non-root. Controlla questo link per maggiori informazioni)


Ora è stato stabilito un tunnel raw crittografato tra client e server attraverso la porta TCP 4096. Connettersi alla porta UDP 3333 sul lato client equivale a connettersi alla porta 7777 sul lato server. Nessun traffico UDP sarà esposto.
Per eseguire su Android, consulta Android_Guide
L'opzione -a aggiunge automaticamente una regola iptables (o poche regole iptables) per te; udp2raw si basa su questa regola iptables per funzionare in modo stabile. Assicurati di non dimenticare -a (è un errore comune). Se non vuoi che udp2raw aggiunga automaticamente la regola iptables, puoi aggiungerla manualmente (guarda l'opzione -g) e omettere -a.
udp2raw-tunnel
git version:4623f878e0 build date:Nov 3 2024 23:15:46
repository: https://github.com/wangyu-/udp2raw-tunnel
usage:
run as client : ./this_program -c -l local_listen_ip:local_port -r server_address:server_port [options]
run as server : ./this_program -s -l server_listen_ip:server_port -r remote_address:remote_port [options]