whatisgithub

What is osmrouter?

junainfinity/osmrouter — explained in plain English

Analysis updated 2026-05-18

1TypeScriptAudience · developerComplexity · 4/5Setup · hard

In one sentence

A self-hosted reverse tunnel system that lets you bind a public domain to an app running on your own computer, without renting cloud hosting.

Mindmap

mindmap
  root((osmRouter))
    What it does
      Public domain to local app
      Reverse tunnel
      No open ports
    Tech stack
      TypeScript
      Go
      Next.js
      Docker
    Use cases
      Share dev servers
      Self-hosted AI inference
      Internal office apps
      Home media servers
    Status
      Core tunnel works
      Mac app signed
      Billing incomplete

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Expose a local development server to a collaborator or client without deploying it anywhere.

USE CASE 2

Give a self-hosted AI inference server, such as one running Ollama or vLLM, a stable public URL.

USE CASE 3

Run an internal app on office hardware that is only reachable through a verified domain, never a public IP.

USE CASE 4

Bind a home media server to a subdomain you control instead of opening router ports.

What is it built with?

TypeScriptGoNext.jsDockerCaddy

How does it compare?

junainfinity/osmrouter0xkinno/neuralvault0xmayurrr/ai-contractauditor
Stars111
LanguageTypeScriptTypeScriptTypeScript
Setup difficultyhardhardeasy
Complexity4/54/52/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · hard Time to first run · 1h+

Requires a Linux server with Docker, a domain you own, and generating your own certificate authority.

The README does not state a license for the project.

So what is it?

osmRouter is a self-hosted reverse tunnel system. It lets you point a public domain name at a program running on a computer you own, such as a home server or a Mac, without renting cloud hosting or opening a port on your router. It works for self-hosted apps as well as self-hosted AI inference servers. The system has three main pieces. A Caddy edge server sits on the public internet and handles incoming visitor traffic. An osm-proxy forwards that traffic through an encrypted tunnel to an osm-agent running on your own machine, which then passes the request to whatever local program is listening on that port. The connection between the proxy and your machine uses a pinned TLS certificate baked in at build time, so the proxy operator cannot read the contents of the requests passing through, only encrypted bytes. To run it yourself, you need a Linux server with Docker and a domain name you control. Setup involves cloning the repository, generating a certificate authority, filling in an environment file with secrets, and starting the Docker stack with a provided compose file, followed by configuring Caddy for TLS. End users then install a companion Mac app, built from the mac-app folder, which discovers local services on your Mac and lets you bind any of them to your verified domain with one click. The project can tunnel anything that speaks HTTP on a local port: a development server you want to share with a collaborator, an internal app on an office machine, a media server, or a local AI inference server such as one running Ollama or vLLM. The README lists what already works today, including sign up and domain verification flows, the tunnel itself, and the signed Mac app, while noting that some features such as automatic Stripe billing and admin multi-factor authentication are still incomplete.

Copy-paste prompts

Prompt 1
Explain how osmRouter's pinned TLS and role-inverted HTTP/2 tunnel keep the proxy operator from reading my traffic.
Prompt 2
Walk me through setting up osmRouter on a Linux server with Docker, including minting the operator certificate authority.
Prompt 3
Help me configure Caddy to front my osmRouter deployment with TLS for a custom domain.
Prompt 4
What steps do I need to build and sign the osmRouter Mac app after minting my own operator CA?

Frequently asked questions

What is osmrouter?

A self-hosted reverse tunnel system that lets you bind a public domain to an app running on your own computer, without renting cloud hosting.

What language is osmrouter written in?

Mainly TypeScript. The stack also includes TypeScript, Go, Next.js.

What license does osmrouter use?

The README does not state a license for the project.

How hard is osmrouter to set up?

Setup difficulty is rated hard, with roughly 1h+ to a first successful run.

Who is osmrouter for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.