Skip to content

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

License

Notifications You must be signed in to change notification settings

thbaumbach/node-udp-tunnel-cli

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published