Pingtunnel is a tool that send TCP/UDP traffic over ICMP.
- First prepare a server with a public IP, such as EC2 on AWS, assuming the domain name or public IP is www.yourserver.com
- Download the corresponding installation package from releases, such as pingtunnel_linux64.zip, then decompress and execute with root privileges
- “-key” parameter is int type, only supports numbers between 0-2147483647
sudo wget (link of latest release)
sudo unzip pingtunnel_linux64.zip
sudo ./pingtunnel -type server
- (Optional) Disable system default ping
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
- Download the corresponding installation package from releases, such as pingtunnel_windows64.zip, and decompress it
- Then run with administrator privileges. The commands corresponding to different forwarding functions are as follows.
- If you see a log of ping pong, the connection is normal
- “-key” parameter is int type, only supports numbers between 0-2147483647
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -sock5 1
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455 -tcp 1
pingtunnel.exe -type client -l :4455 -s www.yourserver.com -t www.yourserver.com:4455
A dedicated Android client for pingtunnel is now available, developed by the community.
Big thanks to itismoej for developing this Android client!
It can also be started directly with docker, which is more convenient. Same parameters as above
- server:
docker run --name pingtunnel-server -d --privileged --network host --restart=always esrrhs/pingtunnel ./pingtunnel -type server -key 123456
- client:
docker run --name pingtunnel-client -d --restart=always -p 1080:1080 esrrhs/pingtunnel ./pingtunnel -type client -l :1080 -s www.yourserver.com -sock5 1 -key 123456

