Break out of localhost. Access your devices from behind firewalls. Securely access your services from anywhere. An easy-to-use secure tunnel for all sorts of wonderful things (kind of like a poor man's VPN).
Go to file
AJ ONeal 3fe6880d34 update cli options 2018-06-04 18:33:24 -06:00
bin fix agreeTos config typo 2018-06-04 23:53:26 +00:00
examples fix example config 2018-06-04 18:29:36 -06:00
lib lots up cleanup 2018-06-02 02:58:42 -06:00
usr/share change default branch 2018-06-04 18:25:35 -06:00
.gitignore moving towards release 2016-09-30 12:33:38 -04:00
LICENSE lots up cleanup 2018-06-02 02:58:42 -06:00
README.md update cli options 2018-06-04 18:33:24 -06:00
package.json lots up cleanup 2018-06-02 02:58:42 -06:00

README.md

Telebit™ Remote

Because friends don't let friends localhost™

| Sponsored by ppl | Telebit Remote | Telebit Relay |

Break out of localhost.

If you need to get bits from here to there, Telebit gets the job done.

Install Telebit Remote on any device - your laptop, raspberry pi, whatever - and now you can access that device from anywhere, even securely in a web browser.

How does it work? It's a net server that uses a relay to allow multiplexed incoming connections on any external port.

Features

  • Show your mom the web app you're working on
  • Access your Raspberry Pi from behind a firewall
  • Watch Netflix without region restrictions while traveling
  • SSH over HTTPS on networks with restricted ports or protocols
  • Access your wife's laptop while she's on a flight

Examples

telebit --config /opt/telebit/etc/telebit.yml
Connect to your device by any of the following means:

SSH+HTTPS
        ssh+https://young-grasshopper-37.telebit.cloud:443
        ex: ssh -o ProxyCommand='openssl s_client -connect %h:%p -quiet' young-grasshopper-37.telebit.cloud -p 443

SSH
        ssh://ssh.telebit.cloud:32852
        ex: ssh ssh.telebit.cloud -p 32852

TCP
        tcp://tcp.telebit.cloud:32852
        ex: netcat tcp.telebit.cloud 32852

HTTPS
        https://young-grasshopper-37.telebit.cloud
        ex: curl https://young-grasshopper-37.telebit.cloud

Install

Mac & Linux

Open Terminal and run this install script:

curl -fsSL https://get.telebit.cloud/ | bash

Of course, feel free to inspect the install script before you run it.

This will install Telebit Remote to /opt/telebit and put a symlink to /opt/telebit/bin/telebit.js in /usr/local/bin/telebit for convenience.

You can customize the installation:

export NODEJS_VER=v10.2
export TELEBIT_PATH=/opt/telebit
curl -fsSL https://get.telebit.cloud/

That will change the bundled version of node.js is bundled with Telebit Relay and the path to which Telebit Relay installs.

You can get rid of the tos + email and server domain name prompts by providing them right away:

curl -fsSL https://get.telebit.cloud/ | bash -- jon@example.com example.com telebit.example.com xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Windows & Node.js

  1. Install node.js
  2. Open Node.js
  3. Run the command npm install -g telebit

Note: Use node.js v8.x or v10.x

There is a bug in node v9.x that causes telebit to crash.

Usage

telebit --config /opt/telebit/etc/telebit.yml

Options

/opt/telebit/etc/telebit.yml:

email: 'jon@example.com'          # must be valid (for certificate recovery and security alerts)
agree_tos: true                   # agree to the Telebit, Greenlock, and Let's Encrypt TOSes
relay: wss://telebit.cloud        # a Telebit Relay instance
community_member: true            # receive infrequent relevant but non-critical updates
telemetry: true                   # contribute to project telemetric data
secret: ''                        # Secret with which to sign Tokens for authorization
#token: ''                         # A signed Token for authorization
ssh_auto: 22                      # forward ssh-looking packets, from any connection, to port 22
servernames:                      # servernames that will be forwarded here
  example.com: {}

Browser Library

This is implemented with websockets, so you should be able to

LICENSE

Copyright 2016 AJ ONeal