azert9 / tunme

Simple tunneling program

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

tunme

tunme is a simple program for creating tunnels. It is self-contained and statically linked. By using a modular approach, tunme allows to encapsulate different applications into different communication protocols.

Installation

Using go install:

go install github.com/azert9/tunme@latest

Using install script:

curl https://raw.githubusercontent.com/azert9/tunme/main/install.sh | bash

Or download binaries from the release page.

Examples

Create a TCP tunnel between two machines:

sudo tunme tun tcp-server,:80 --address=10.0.0.1/24
sudo tunme tun tcp-client,example.com:80 --address=10.0.0.2/24

Exchange data between two machines behind a NAT, using a third machine as a relay:

tunme relay tcp-server,:8080 tcp-server,:8081
tunme cat tcp-client,example.com:8080
tunme cat tcp-client,example.com:8081

TODO

  • Middlewares (for e.g. cryptography)
  • SOCKS
  • Pre-built binaries
  • Find a way of allowing multiples clients on the same TCP port (would be useful for relays)

About

Simple tunneling program

License:MIT License


Languages

Language:Go 99.2%Language:Shell 0.7%Language:Makefile 0.1%