Skip to content

akazwz/hostc

Repository files navigation

hostc logo

hostc

Localhost to the edge.

Secure, fast, and frictionless edge tunnels. Powered by Cloudflare Workers.


hostc is a modern, lightweight, and zero-configuration tool to instantly expose your local HTTP and WebSocket services to the public internet. Built entirely on top of Cloudflare Workers and Durable Objects for global low-latency edge networking.

✨ Features

  • Zero Config: Just run one command and get a public HTTPS URL.
  • WebSocket Support: Seamlessly proxies WebSocket upgrades (ws:// -> wss://) out of the box.
  • Edge Powered: Traffic is routed through Cloudflare's massive global network network.
  • Self-Hostable: You can easily deploy the worker to your own Cloudflare account.

πŸš€ Quick Start

You don't even need to install anything if you have Node.js. Just run:

npx hostc 3000

Or, install it globally for frequent use:

npm install -g hostc

hostc 3000

Public URL: You'll instantly get a URL like https://t-a1b2c3d4.hostc.dev that routes traffic directly to your http://127.0.0.1:3000.

πŸ—ΊοΈ Roadmap

hostc is still early, and the focus right now is making the core tunnel experience solid before adding more surface area.

Near term

  • Harden tunnel routing, connection lifecycle, and error-page behavior.
  • Polish the CLI UX around reconnects, local server failures, and terminal output.
  • Improve self-hosting and local development docs.
  • Add better operational visibility for the Worker and Durable Object path.

Later

  • Reserved or custom subdomains.
  • Basic access control for shared tunnels.
  • A cleaner hosted onboarding flow beyond the current waitlist.

πŸ—οΈ Architecture & Monorepo

This project is a Monorepo managed by pnpm.

Package / App Description
apps/cli The Node.js command-line interface tool.
apps/workers The Cloudflare Worker and Durable Object handling the tunnel connections.
packages/tunnel-protocol Shared protocol and WebSocket message types.

πŸ› οΈ Local Development

Requirements

  • Node.js 18+
  • pnpm v8+
  • A Cloudflare account (if you want to deploy the worker yourself)

Setup

  1. Install dependencies

    pnpm install
  2. Run the Cloudflare Worker locally

    pnpm dev:workers
  3. Run the CLI locally against your local worker

    cd apps/cli
    pnpm dev
    
    # Or using the environment variable with the built CLI:
    HOSTC_SERVER_URL=http://127.0.0.1:8787 hostc 3000

πŸ“– License

Apache License 2.0. Made with ❀️ by akazwz.