]> Cypherpunks.ru repositories - udpobfs.git/blob - README
Initial commit
[udpobfs.git] / README
1 udpobfs -- simple point-to-point UDP obfuscation proxy
2
3 This is trivial UDP proxy, that obfuscates UDP traffic between two UDP
4 ports. It does no handshaking, no key agreement, no peer authentication,
5 weak replay protection. Key setup/renew must be made for example through
6 OpenSSH, TLS or similar channels. udpobfs's purpose is to obfuscate UDP
7 traffic between two WireGuard peers with minimal CPU and traffic overhead.
8
9 Assume that WG was running peered with [2001:db8::dc]:1194.
10 You can run two udpobfs instances to obfuscate traffic between them:
11
12     # udpobfs -keygen > key.txt
13
14     wg0# wg set endpoint [::1]:4911
15     wg0# udpobfs -bind [::1]:4911 -dst [2001:db8::ac]:1194 < key.txt
16
17     wg1# wg set listen-port 21194
18     wg1# udpobfs -bind [2001:db8::ac]:1194 -dst [::1]:21194 -responder < key.txt
19
20 One of the instances is responder -- it awaits when initiator starts
21 talking. If UDP binded connection is lost, daemon exits. So it is
22 advisable to run it under process supervisor.
23
24 udpobfs continuously reads Base32-encoded 256-bit keys from stdin -- you
25 can renew them without restarting the daemons. Of course there is some
26 time window when key knowledge differs on both peers and they will loose
27 the traffic. Not a big deal.
28
29 Obfuscated packet is 8 bytes longer, so you have to slightly lower your
30 MTU in VPN tunnel.