Skip to content
Ghostly edited this page Jun 8, 2026 · 10 revisions

GhostlyShare User Guide

GhostlyShare makes local development apps public through temporary or custom Cloudflare-powered URLs. It is meant for demos, reviews, mobile-device testing, webhook testing, and short-lived sharing of local work.

This wiki explains what GhostlyShare expects, how app detection works, why apps may be merged, why a public link may need a moment before it is reachable, and what is different between Windows and Linux.

Quick Links

Key Features

  • Auto-detect local web apps and APIs.
  • Create random public links without an account or domain.
  • Use your own custom domain with Cloudflare.
  • Add optional password protection per public link.
  • Add an optional link lifetime so public links go offline automatically.
  • See simple live statistics for a public link, including requests, visitors, and active users.
  • Automatically return unreachable public links to local-only mode.
  • Use ghs from a terminal for scan, share, Cloudflare, doctor, and JSON workflows.
  • See link readiness and offline states while sharing.
  • Understand public-session lifetime, password-session expiration, and Cloudflare quick-tunnel cooldowns.

What GhostlyShare Is For

GhostlyShare is for local development services that already work on your machine:

  • Frontend dev servers.
  • Backend APIs.
  • Local dashboards.
  • Documentation sites.
  • Framework development servers.
  • Temporary demo apps.
  • Local webhook receivers.

GhostlyShare does not deploy your app. Your app keeps running locally. GhostlyShare starts a secure tunnel and forwards public traffic back to your local app.

Random public links work without a GhostlyShare account, custom domain, or Cloudflare setup. Custom domains require your own Cloudflare-managed domain and Cloudflare API token. In the desktop app, optional password protection and link lifetime can be set before sharing and adjusted while a link is live.

What GhostlyShare Is Not

GhostlyShare is not a production hosting platform. Public links are meant to be temporary and controlled by your desktop session.

It is also not a general port forwarder for every local process. GhostlyShare tries to avoid exposing system services, infrastructure services, printer services, VPN services, random background ports, and weakly identified HTTP endpoints.

Basic Flow

  1. Start your local app.
  2. Open GhostlyShare.
  3. Wait for the app to appear.
  4. Choose Random or Custom.
  5. Select Go Public.
  6. Copy or open the public URL.
  7. Stop sharing when you are done.

For terminal workflows, use:

ghs scan
ghs share 3000

The CLI keeps the public link active while ghs share is running. Press Ctrl+C to stop sharing and clean up.

GhostlyShare allows up to 3 public apps at the same time. Password-protected links use temporary browser sessions that expire. Public links can also have an optional lifetime that stops sharing automatically. Random public links may be paused locally if Cloudflare rate-limits quick-tunnel creation. See Rate Limits and Sessions for exact behavior.

If your app does not appear, see App Detection and Troubleshooting.

Bugs and Feature Requests

Use GitHub Issues to report bugs or request user-facing improvements:

Please remove Cloudflare API tokens, passwords, private URLs, and other secrets before posting.

Clone this wiki locally