Nefariously Pushing Master

    hyperforward

    0.6.5 • Public • Published

    hyperforward

    Forward P2P E2E encrypted

    Install

    npm i -g hyperforward
    

    Examples

    Public connection

    Already having a server (TCP, HTTP, SOCKS, VNC, etc) running in your computer o remotely:

    hyperforward remote 127.0.0.1:3000
    # Use this temporal public key to connect:
    # 6e7c244099bf7c14314b0e...0fed9c5e22d52a0c0e927c

    Other peers can connect to you using the public key:

    hyperforward local 127.0.0.1:8080 --connect 6e7c244099bf7c14314b0e...0fed9c5e22d52a0c0e927c
    # Ready to use, listening on: 127.0.0.1:8080

    Now you can use the local 127.0.0.1:8080 as it will be forwarded to remote 127.0.0.1:3000

    Authorization

    Create named key pair:

    hyperforward keygen lukks
    
    # Ask a friend to create their key pair:
    hyperforward keygen cristian

    Private connection

    Same as the first example but with specific authorization.

    1. lukks shares the remote server 127.0.0.1:3000 allowing only cristian
    hyperforward remote 127.0.0.1:3000 --key lukks --firewall cristian
    1. cristian creates a local server 127.0.0.1:8080 to receive from lukks
    hyperforward local 127.0.0.1:8080 --key cristian --connect lukks

    More

    hyperforward remote [ip:port] --key [name] --firewall [names or public keys comma separated]
    hyperforward local [ip:port] --key [name] --connect [name or public key]
    hyperforward keygen [name]
    hyperforward add [name] [public_key]
    hyperforward print [name]
    hyperforward ls
    hyperforward rm [name]

    Sharing multiple services

    There is a security limitation: you can only use one key per forward.
    You still reuse a single key (ie. lukks, cristian, etc) to easily set firewalls.

    Let's say you have multiple things going on:

    • HTTP server on: 127.0.0.1:3000
    • VNC/NoMachine on: 127.0.0.1:4001
    • SOCKS5 proxy on: 127.0.0.1:1090
    1. Each service should have their own key pair:
    hyperforward keygen http1
    hyperforward keygen vnc1
    hyperforward keygen proxy1
    1. Normal remote forward each one:

    In this case, only certain people should be able to use the private VNC service.

    hyperforward remote 127.0.0.1:3000 --key http1
    hyperforward remote 127.0.0.1:4001 --key vnc1 --firewall cristian,lukks
    hyperforward remote 127.0.0.1:1090 --key proxy1
    1. Other peers can connect to your services:

    Let's say "lukks" would like to use your VNC (as he's authorized):

    hyperforward local 127.0.0.1:4001 --key lukks --connect vnc1

    Later, anyone would like to use your proxy:

    hyperforward local 127.0.0.1:1090 --connect proxy1

    License

    Code released under the MIT License.

    Install

    npm i hyperforward

    DownloadsWeekly Downloads

    3

    Version

    0.6.5

    License

    MIT

    Unpacked Size

    20.7 kB

    Total Files

    9

    Last publish

    Collaborators

    • lukks