Skip to content

Latest commit

 

History

History
67 lines (43 loc) · 2.41 KB

README.md

File metadata and controls

67 lines (43 loc) · 2.41 KB

udp-tunnel-cli

A tiny command-line toolkit to tunnel any UDP connection/socket to another machine.

udp-tunnel-cli lets you tunnel any UDP connection/socket. This makes it possible to tunnel listening UDP sockets from one machine to any other endpoint on a different machine (i.e. through firewalls).

                                     |
listen-port  /----\  tunnel-port     |     tunnel-connection  /----\    local-connection    /----\
           > |    | < ---------------|--------------------- < |    | > ------------------ > |    |
             \----/                  |                        \----/                        \----/
     public machine running          |                       local machine(s) protected by firewall
       udp-tunnel-server         (firewall)               udp-tunnel-client              local server
   with open listen-port for
      incoming connections

Install

Install this package globally using NPM. Most OS need you to be root (e.g. using sudo) to install a global npm package:

$ [sudo] npm -g install udp-tunnel-cli

udp-tunnel-cli depends on Node.js. Tested with node v4.3.0.

Usage: server

Start the new endpoint for your tunnel. tunnel-port will wait for the tunnel connection to be set up - initiated by udp-tunnel-client. listen-port will wait for incoming connections and redirect them through the tunnel.

$ udp-tunnel-server <listen-port> <tunnel-port>

Usage: client

Start the client (the actual tunnel). Contact the remote server to register the udp-tunnel-client and setup the local server's endpoint you want to tunnel.

$ udp-tunnel-client <remote-addr> <remote-tunnel-port> <local-addr> <local-port>

ToDo/Nice-To-Have

  • password protection on handshake
  • keep-alive heartbeat
  • encryption
  • compression

Support

Found a bug? Open an issue here on Github.

Wanna help? Submit a pull request or contact me.

Wanna tip me a beer? Use Bitcoin: 14pSD9AmuNhLDbGRXehxbhwzRSRrkpiAKg

Disclaimer

The tunnel connection and server is not protected by any password or encryption. Only use this software if you're fully aware of what you're doing and understand the responsibility!

License

Copyright (c) 2016 Thomas Baumbach [email protected]

Licensed under the MIT License