Jan Kratochvil
Projects Products GIT Resume Contact
UNIX UNIX-devel Web Amiga MS-Windows MS-DOS Patches


tcpoverudp: Forward TCP connections over UDP without root

Does your link suffer from a high packet loss (up to 70%)? Do you have a UNIX account in public Internet but no root privileges access there? This tool can provide you a reliable fast TCP (web proxy + SSH) connectivity while constantly retrying transmissions on link of any quality.


Local script:

	./tcpoverudp --udp-server-addr=public.server.com --udp-server-port=8120 \
			--tcp-listen-port=8128 8122

Remote script:

	./tcpoverudp --udp-listen-port=8120 \
			--tcp-forward-addr=public.web.proxy --tcp-forward-port=3128 \
			--tcp-forward-addr=localhost        --tcp-forward-port=22

This setup configures a connection:

:8128 (TCP, for web proxy) (UDP) → 8120 (UDP) public.web.proxy:3128 (TCP, parent web proxy)
:8122 (TCP, for SSH) localhost:22 (TCP, SSH server)

You should also use this ~/.ssh/configfor transparent SSH access:

	Host public-proxy
	HostName public.server.com
	HostKeyAlias public.server.com
	Port 8122
	ProxyCommand none
	Host *
	ProxyCommand ssh public-proxy exec nc %h %p