npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

telebitd

v0.12.0

Published

Friends don't let friends localhost. Expose your bits with a secure connection even from behind NAT, Firewalls, in a box, with a fox, on a train or in a plane... or a Raspberry Pi in your closet. An attempt to create a better localtunnel.me server, a more

Downloads

52

Readme

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

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

Install

Mac & Linux

Open Terminal and run this install script:

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

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

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=v10.2
export TELEBITD_PATH=/opt/telebitd
curl -fsSL https://get.telebit.cloud/relay

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/relay | bash -- [email protected] telebit.example.com

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.

Usage

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

Options

/etc/telebit/telebitd.yml:

email: '[email protected]'   # must be valid (for certificate recovery and security alerts)
agree_tos: true            # agree to the Telebit, Greenlock, and Let's Encrypt TOSes
community_member: true     # receive infrequent relevant but non-critical updates
telemetry: true            # contribute to project telemetric data
secret: ''                 # JWT authorization secret. Generate like so:
                           # node -e "console.log(crypto.randomBytes(16).toString('hex'))"
servernames:               # hostnames that direct to the Telebit Relay admin console
  - telebit.example.com
  - telebit.example.net
vhost: /srv/www/:hostname  # securely serve local sites from this path (or false)
                           # (uses template string, i.e. /var/www/:hostname/public)
greenlock:
  store: le-store-certbot  # certificate storage plugin
  config_dir: /etc/acme    # directory for ssl certificates

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 is only $1/month for most people.

In keeping with our no lock-in policy, we release a version of the server for anyone to use independently.

TODO show how to do on

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

Useful Tidbits

As a systemd service

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

The user and group telebit should be created.

Use privileged ports without sudo

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