2
2
mirror of https://git.coolaj86.com/coolaj86/telebit.js.git synced 2025-02-22 16:48:04 +00:00
2018-06-06 03:24:14 -06:00
2018-06-05 02:04:32 -06:00
2018-06-04 18:29:36 -06:00
2018-06-06 03:24:14 -06:00
2016-09-30 12:33:38 -04:00
2018-06-02 02:58:42 -06:00
2018-06-05 01:27:36 -06:00
2018-06-05 01:27:36 -06:00

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: curl -fsSL https://get.telebit.cloud

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: {}

Choosing A Relay

You can create a free or paid account at https://telebit.cloud or you can run Telebit Relay open source on a VPS (Vultr, Digital Ocean) or your Raspberry Pi at home (with port-forwarding).

Only connect to Telebit Relays that you trust.

Check Logs

Linux:

sudo journalctl -xefu telebit

macOS:

sudo tail -f /opt/telebit/var/log/info.log
sudo tail -f /opt/telebit/var/log/error.log

Uninstall

Linux:

sudo systemctl disable telebit; sudo systemctl stop telebit
sudo rm -rf /etc/systemd/system/telebit.service /opt/telebit /usr/local/bin/telebit
rm -rf ~/.config/telebit ~/.local/share/telebit

macOS:

sudo launchctl unload -w /Library/LaunchDaemons/cloud.telebit.remote.plist
sudo rm -rf /Library/LaunchDaemons/cloud.telebit.remote.plist /opt/telebit /usr/local/bin/telebit
rm -rf ~/.config/telebit ~/.local/share/telebit

Browser Library

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

LICENSE

Copyright 2016 AJ ONeal

Description
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).
Readme MIT 930 KiB
Languages
JavaScript 82.9%
Shell 13.8%
HTML 3%
CSS 0.3%