Giter Club home page Giter Club logo

node-udp-tunnel-cli's Introduction

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

node-udp-tunnel-cli's People

Contributors

danielsantiago avatar thbaumbach avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.