Skip to content
/ auger Public

Lightweight, self‑hosted HTTP tunnel (ngrok alternative) with a server and CLI for exposing local apps via secure, customizable subdomains.

License

Notifications You must be signed in to change notification settings

851-labs/auger

Repository files navigation

Auger icon

Auger

A lightweight, self-hosted HTTP tunnel. Think ngrok, but yours.

Use the CLI

Install (Homebrew):

brew tap 851-labs/tap
brew install 851-labs/tap/auger

Use (Homebrew):

auger init
auger http 3000

You’ll get a public URL like https://bright-ember.auger.yourdomain.com that proxies to http://127.0.0.1:3000.

Multiple ports:

auger http 3000 3001 3002

Run in background:

auger http 3000 --daemon

List running tunnels:

auger list

Stop a running tunnel:

auger kill 3000
auger kill 20260218214356-fdz3hq

Custom subdomains:

auger http 3000:test
auger http 3000:test 3001:api 3002:webhook

Other installation options:

Requires Node 20+ for global installs, bunx, npx, and pnpm dlx.

npm

Install:

npm install -g @851-labs/auger

Use:

auger init
auger http 3000
pnpm

Install:

pnpm add -g @851-labs/auger

Use:

auger init
auger http 3000
bun

Install:

bun add -g @851-labs/auger

Use:

auger init
auger http 3000

bunx

Install:

bunx @851-labs/auger init

Use:

bunx @851-labs/auger http 3000
npx

Install:

npx @851-labs/auger init

Use:

npx @851-labs/auger http 3000
pnpm dlx

Install:

pnpm dlx @851-labs/auger init

Use:

pnpm dlx @851-labs/auger http 3000

Deploy the server

Deploy on Railway

Fly.io

This example pulls the latest published image from GitHub Container Registry.

# fly.toml
app = "auger"
primary_region = "iad"

[build]
  image = "ghcr.io/851-labs/auger-server:latest"

[env]
  AUGER_BASE_DOMAIN = "auger.example.com" # <- Set this to your root domain.
  AUGER_HTTP_PORT = "8080"
  AUGER_WS_PATH = "/ws"
  AUGER_DB_PATH = "/data/auger.db"
  AUGER_TOKENS = "changeme" # <- Comma-separated auth tokens (use a strong secret).

[[mounts]]
  source = "auger_data"
  destination = "/data"

[[services]]
  internal_port = 8080
  protocol = "tcp"

  [[services.ports]]
    port = 80
    handlers = ["http"]

  [[services.ports]]
    port = 443
    handlers = ["tls", "http"]

Then run:

fly launch

Make sure to configure DNS for AUGER_BASE_DOMAIN and *.AUGER_BASE_DOMAIN.

About

Lightweight, self‑hosted HTTP tunnel (ngrok alternative) with a server and CLI for exposing local apps via secure, customizable subdomains.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors 2

  •  
  •  

Languages