Push-button DIY tunnel service. Run on your Raspberry Pi or VPS to create your own secure tunnel to access your devices from anywhere or simply to expose your localhost development to the outside world.
Go to file
AJ ONeal ce70c75378 defaults for secret and greenlock 2018-05-25 01:13:05 +00:00
admin turning into a service, first steps 2018-05-23 11:12:39 +00:00
bin defaults for secret and greenlock 2018-05-25 01:13:05 +00:00
dist/etc/systemd/system update service installer 2018-05-24 09:26:14 +00:00
examples more installer updates 2018-05-25 00:38:57 +00:00
installer installer is working as expected 2018-05-25 01:08:38 +00:00
lib one step closer to the edge, but without the break 2018-05-24 19:19:50 +00:00
snippets fs cleanup 2016-09-30 18:03:41 -04:00
.gitignore fs cleanup 2016-09-30 18:03:41 -04:00
.jshintrc add .jshintrc 2017-04-25 14:36:47 -06:00
LICENSE turning into a service, first steps 2018-05-23 11:12:39 +00:00
README.md one step closer to the edge, but without the break 2018-05-24 19:19:50 +00:00
handlers.js one step closer to the edge, but without the break 2018-05-24 19:19:50 +00:00
package.json turning into a service, first steps 2018-05-23 11:12:39 +00:00
telebitd.js turning into a service, first steps 2018-05-23 11:12:39 +00:00

README.md

Telebit Relay

Friends don't let friends localhost™

A server that works in combination with Telebit Remote to allow you to serve http and https from any computer, anywhere through a secure tunnel.

| Sponsored by ppl | Telebit Relay | Telebit Remote |

Features

  • Expose your bits even in the harshest of network environments
    • NAT, Home Routers
    • College Dorms, HOAs
    • Corporate Firewalls, Public libraries, Airports
    • and even Airplanes, yep
  • Automated HTTPS (Free SSL)

Install

Mac & Linux

Open Terminal and run this install script:

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

This will install Telebit Relay to /opt/telebitd and put a symlink to /opt/telebitd/bin/telebitd in /usr/local/bin/telebitd for convenience.

You can customize the installation:

export NODEJS_VER=v8.11.2
export TELEBITD_PATH=/opt/telebitd
curl -fsS https://get.telebit.cloud/ | bash

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

Windows & Node.js

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

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

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

Service Install

TODO automate this:

./dist/etc/systemd/system/telebitd.service should be copied to /etc/systemd/system/telebitd.service.

The user and group telebit should be created.

Privileged Ports without sudo:

# Linux
sudo setcap 'cap_net_bind_service=+ep' $(which node)

Usage

telebitd --config /etc/telebit/telebitd.yml

Options

/etc/telebit/telebitd.yml:

servernames:
  - telebit.example.com
  - telebit.example.net
email: 'jon@example.com'
agree_tos: true
community_member: true
secret: 'xxxyyyzzzaaabbbccc'

Security

The bottom line: As with everything in life, there is no such thing as anonymity or absolute security. Only use Telebit Relays that you trust or self-host. :D

Even though the traffic is encrypted end-to-end, you can't just trust any Telebit Relay willy-nilly.

A man-in-the-middle attack is possible using Let's Encrypt since an evil Telebit Relay would be able to complete the http-01 and tls-sni-01 challenges without a problem (since that's where your DNS is pointed when you use the service).

Also, the traffic could still be copied and stored for decryption is some era when quantum computers exist (probably never).

Why?

We created this for anyone to use on their own server or VPS, but those generally cost $5 - $20 / month and so it's probably cheaper to purchase data transfer (which we supply, obviously), which is only $1/month for most people.

TODO show how to do on

* Node WS Tunnel (zero setup)
* Heroku (zero cost)
* Chunk Host (best deal per TB/month)