Skip to main content

Secure Tunnels to Localhost

Open-source ngrok alternative powered by Cloudflare. Expose local services with custom domains, Slack authentication, and automated lifecycle management.

Key Features

Self-Hostable

Run on your own infrastructure with full control over data and configuration

CLI First

Simple command-line interface with login, up, list, stop, and doctor commands

Slack OAuth

Secure authentication with email domain and workspace restrictions

Automated Lifecycle

Automatic tunnel and DNS management with heartbeat monitoring and cleanup

Quick Start

1

Install the CLI

Install rs-tunnel globally via npm
npm install -g @ripeseed/rs-tunnel
2

Authenticate

Login with your email address
rs-tunnel login --email [email protected]
3

Create a tunnel

Expose a local service on port 3000
rs-tunnel up --port 3000 --url my-app
Your service is now accessible at https://my-app.tunnel.example.com

Architecture Overview

rs-tunnel is a monorepo with three main components:

CLI

User-facing command-line tool for managing tunnels

API

Fastify API managing auth, tunnels, and DNS with Postgres

Shared

Zod contracts and types shared between CLI and API

Documentation

Deployment Guide

Deploy rs-tunnel with Docker, configure environment variables, and set up the database

CLI Usage

Learn how to use all CLI commands and configure your local environment

Operations

Monitor tunnels, manage quotas, and understand cleanup workers

API Reference

Complete REST API documentation for authentication, tunnels, and telemetry

Build docs developers (and LLMs) love