Projects

bFree

Node.js
CLI
Networking

A lightweight CLI tunneling tool for exposing local servers to the internet. An ngrok alternative built for frontend previews, webhook debugging, and home lab setups.

Published
November 11, 2024
Terminal window showing a tunnel being created with a custom CLI tool.

Boom. Your service is available at 3000.bangie.digital.

bFree is a lightweight tunneling tool inspired by ngrok, built for developers who want full control over how their local services are exposed to the internet.

It uses a central relay server and public node clients to forward local ports without requiring Docker, root access, or complex configuration.

It’s designed for those moments when you need a quick preview link, test a webhook behind NAT, or set up something slightly cursed in your home lab.

What it does

  • 🧪 Built with Node.js, ssh2, and a custom relay protocol
  • 📡 Public relays connect to a central reverse proxy
  • 💻 One command: bfree --port 3000
  • 🔧 Designed for frontend devs, no backend changes needed
  • 🧰 Works behind NAT and typical home routers

Why it exists

Sometimes you do not want a whole platform.

You just want:

  • a public URL for a local service
  • a way to test webhooks behind NAT
  • a clean preview link for a frontend build
  • something self-controlled enough to fit a home lab workflow

That is the gap bFree is meant to fill.

How it works

bFree uses a relay-based model.

  • the local machine opens the outbound connection
  • a public relay handles exposure
  • traffic is forwarded back to the local port you choose

That keeps the workflow lightweight while avoiding the usual router and firewall pain.

Outcome

Just install it once, point it at a port, and get on with the real work.

bFree is about freedom — from configuration, from containers, and from your ISP’s firewall.