• Home
  • Web Hub
  • Blazor
  • Security & Anonymity
  • Tools
  • Tests & Reviews

GhostlyShare for localhost previews

GhostlyShare share localhost on Windows or Linux

GhostlyShare is a small desktop app and CLI for Windows and Linux that finds local web apps and turns them into public Cloudflare-powered links without deploys, DNS setup, or browser-tab chaos.

Free No login Windows and Linux CLI
Download GhostlyShare See how it works
GhostlyShare logo
GhostlyShare Make a local app public
Detected locally Frontend dev server localhost:5173
Public URL quiet-demo.trycloudflare.com
42Requests 6Visitors
Desktop app Visual start and stop
ghs CLI Terminal sharing

Product idea

A public link for the app already running on your machine

Start a dev server, a local dashboard, a webhook receiver, or a small API. GhostlyShare notices it, shows the port, and gives you a Start button. One click later you have a public URL you can open, copy, and share.

Free No login No account Desktop and CLI

Supported frameworks

If it runs as a local web app, GhostlyShare can usually share it

GhostlyShare does not need framework plugins. It discovers and forwards local HTTP, HTTPS, WebSocket, long-polling, streaming, and API traffic, so the common development stacks fit the same simple Start button workflow.

Frontend dev servers

React, Vite, Next.js

Share hot-reload previews and frontend dev servers on ports like 3000, 5173, or similar local development ports.

.NET web apps

ASP.NET Core, Blazor Server, Blazor WebAssembly

Forward framework assets, SignalR-style traffic, long polling, redirects, cookies, and local HTTPS development endpoints.

JavaScript frameworks

Vue, Nuxt, Angular, SvelteKit

Expose browser apps that run on a local HTTP or HTTPS server, including dev-server routes and WebSocket updates.

Backend APIs

Node.js, Express, Fastify, ASP.NET APIs

Share JSON APIs, webhook receivers, Swagger or OpenAPI surfaces, health endpoints, and normal POST requests.

CMS previews

WordPress, PHP, static HTML

Preview local CMS, static sites, and content-heavy pages when GhostlyShare can identify a stable browser-facing endpoint.

Realtime apps

WebSockets, SSE, streaming responses

Keep modern realtime previews usable through the public route with WebSocket proxying and streaming-aware timeouts.

Framework agnostic by design The useful rule is simple: when your browser can reach it on localhost, GhostlyShare can usually put a public preview URL in front of it.

Features

Everything needed for a clean local-to-public workflow

01

Automatic local app discovery

GhostlyShare scans local listening ports, probes HTTP and HTTPS endpoints, reads page titles, and can recognize API surfaces through OpenAPI, Swagger, docs, and health endpoints.

02

Temporary links first, custom domains optional

No login, no account, no paid plan, and no custom domain are needed for the quick path. When a branded URL matters, use the optional Cloudflare custom domain flow.

03

HTTP and WebSocket proxying

Modern apps keep working because GhostlyShare forwards normal HTTP traffic and WebSocket connections through the active public route.

04

Copy, open, stop, repeat

Every live app gets a compact action strip: open the public URL, copy it with confirmation, or stop the public preview when the session is over.

05

Desktop app and ghs CLI

Use the desktop app for a visual Start and Stop workflow, or install the ghs CLI on Windows and Linux for terminal, server, and script workflows.

06

Password-protected public links

Add a password before or while a random link or custom domain is live. Visitors must unlock the link first, failed attempts can be locked out, and visitor sessions can expire automatically.

07

Auto-expiring public links

Set a link lifetime so a demo, review, webhook test, or client preview goes offline automatically after minutes, hours, today, or a custom duration while your local app keeps running.

08

Rate-limit aware sessions

GhostlyShare limits simultaneous public apps to three, tracks Cloudflare quick-tunnel cooldowns, and separates live links from warm tunnel processes so status is clearer.

09

Live traffic statistics

See simple local counters for the current public-link session: requests, approximate visitors, and recently active users. They are quick feedback, not full analytics.

10

Safe lifecycle behavior

When a local app closes, the network changes, or the public URL becomes unreachable, GhostlyShare stops sharing and returns the app card to Local Only.

Share previews, not sensitive services GhostlyShare is meant for demos, reviews, webhook tests, and device checks. Passwords, link lifetime, and traffic statistics help with temporary sharing, but private admin panels, database tools, and internal systems should stay off public links.

Flow

From localhost to public URL in four quiet steps

  1. 1

    Run your local app

    Start Vite, ASP.NET Core, a dashboard, a webhook receiver, or any local web service as usual.

  2. 2

    Press Start in GhostlyShare

    The app finds the port, prepares the secure public route, waits for the URL, and shows a Live state when it is ready.

  3. 3

    Choose access and lifetime rules

    Before going public, optionally set a password, failed-attempt limit, password session length, and an automatic expiration time for the public link.

  4. 4

    Share the URL

    Copy the link, open it in the browser, send it to a client, or use it from another device for quick testing.

Video demo

Watch GhostlyShare in action

A short YouTube demo shows how GhostlyShare turns a local app into a public preview URL.

Watch on YouTube

Why it feels fast

The app does the boring parts before you have to think about them

GhostlyShare keeps watching local ports, remembers live previews, reconciles routes when apps appear or disappear, and gives every visible action clear feedback on Windows and Linux. If you prefer terminals or scripts, the ghs CLI shares the same local-to-public workflow from the command line.

Refreshes automatically The app keeps scanning in the background and updates the list as local services appear or disappear.
Understands local APIs API probes look for common docs and health routes so backend services are easier to recognize.
Handles live previews WebSocket support helps frontend dev servers and real-time apps behave correctly through the public preview.
Shows basic activity Live statistics help you see whether the link is being reached, without turning GhostlyShare into a full analytics product.
Downloads setup once GhostlyShare retrieves and verifies the matching cloudflared helper during first use, then reuses it from the app data folder.

Custom Domains

Use a branded Cloudflare URL when the temporary link is not enough

The fast path still works without DNS, but GhostlyShare also has an optional custom URL flow for Cloudflare zones. Add a token, choose the zone, pick a hostname, and GhostlyShare creates the managed tunnel and DNS record for that local app.

Optional branded preview

preview.your-domain.com

Custom URLs are built for demos that should look stable and recognizable. GhostlyShare can reuse saved assignments, refresh the route, and stop the managed tunnel from the same app flow.

https://preview.your-domain.com
  1. 1

    Connect Cloudflare

    Paste a Cloudflare API token once, then GhostlyShare validates it and stores the credential in secure user storage for later custom URL sessions.

  2. 2

    Choose zone and hostname

    Pick the Cloudflare zone, enter the hostname label, and let GhostlyShare check that the full hostname is available.

  3. 3

    Publish the managed route

    GhostlyShare creates the Cloudflare tunnel, configures ingress, writes the DNS record, and starts the secure route to your local port.

Use cases

Built for the moments when localhost is not enough

Client and teammate previews

Send a working link before deploying a branch or publishing a temporary build.

Webhook testing

Point external services at a local receiver while keeping your development loop on your machine.

Mobile device checks

Open your local site from another phone, tablet, or test machine without joining the same network.

API demos

Expose a local API for a quick integration conversation, then stop it when the session is done.

Compared with ngrok

A simpler path when you only need to share what is running locally

If you usually reach for ngrok, GhostlyShare aims at a more direct local-preview flow: open the desktop app, pick the detected service, press Start, and send the link. Temporary links stay setup-light, while custom domains are there when you want a branded Cloudflare URL.

GhostlyShare

Desktop-first and visual

Best when you want to see detected local apps, start sharing with one click, copy the URL, and stop the preview from a compact desktop window.

GhostlyShare

Free temporary links first

Great for quick previews because there is no login, no account, and no subscription step before you can share. Custom domains are an optional upgrade path for Cloudflare users.

ngrok-style tools

Powerful, but more manual

Terminal-first sharing tools are excellent for advanced routing workflows. GhostlyShare focuses on the everyday preview moment where speed and simplicity matter most.

Download

Download GhostlyShare for Windows or Linux

Choose the desktop app or the ghs CLI from the dedicated GhostlyShare download page. Windows and Linux builds are separated clearly, with direct GitHub downloads for setup ZIPs, CLI ZIPs, DEB, Arch, and RPM packages.

All variants

Desktop and CLI downloads

Open the dedicated download page to choose between Windows setup, Windows CLI, Linux desktop, and Linux CLI packages.

Open download page
CLI

Command-line workflow

The GhostlyShare CLI is named ghs. Use it for terminal, server, and script workflows such as scanning local apps, sharing a port, checking doctor output, or using a custom Cloudflare hostname.

Read CLI docs
Signed Windows option

Microsoft Store

For the Windows desktop app, the Microsoft Store remains the signed install flow. Use the GitHub setup ZIP when you explicitly want the direct release package.

Open Microsoft Store

Documentation

Read the GhostlyShare documentation

The GitHub wiki explains installation, app detection, link readiness, traffic statistics, password protection, link lifetime, rate limits, custom domains, Windows and Linux differences, and the checks to run when a local app does not appear.

Start

Getting Started

Run a test app, open GhostlyShare, create a public URL, and stop sharing cleanly.

Open guide
Install

Installation and Updates

Use the Microsoft Store on Windows, or install the Linux package that fits your distribution.

Open guide
Detection

App detection

See which local ports, frameworks, titles, APIs, and development processes are strong detection signals.

Open guide
CLI

Command Line Interface

Install ghs on Windows or Linux, scan local apps, share a port, use JSON output, and run doctor checks.

Open guide
Platforms

Windows and Linux

Compare packaging, secure token storage, tray behavior, desktop differences, and the supported sharing flow.

Open guide
Links

Going Public

Understand random Cloudflare URLs, custom URLs, link readiness delays, and what happens when sharing stops.

Open guide
Password

Password Protection

Protect random links and custom domains with a visitor password, failed-attempt lockout, and expiring browser sessions.

Open guide
Lifetime

Link Lifetime

Set public links to go offline automatically after a preset, today, or a custom duration.

Open guide
Sessions

Rate Limits and Sessions

Understand active public app limits, warm tunnel slots, Cloudflare quick-tunnel cooldowns, and password visitor sessions.

Open guide
Stats

Traffic Statistics

Read what requests, approximate visitors, and active users mean during the current public-link session.

Open guide
Security

Security and Privacy

Review what not to expose, how password protection helps, and why link lifetime is not access control.

Open guide
Help

Troubleshooting

Check why an app is hidden, why a link looks offline, or why Linux desktop integration behaves differently.

Open guide

Support

Report bugs or request GhostlyShare features

Open the GitHub issue forms for bugs and feature ideas. Before posting, remove tokens, passwords, private URLs, and customer data.

Report a bug Request a feature Read reporting guide

FAQ

Do I need an account to use GhostlyShare?

No. GhostlyShare is built for quick local previews without login, account creation, or a subscription step.

Do I need my own domain?

No. You can share a temporary public preview link without buying a domain, changing DNS, or publishing a test deployment. If you already use Cloudflare, GhostlyShare can also create a custom URL for a branded preview.

Which frameworks does GhostlyShare support?

GhostlyShare is framework agnostic. It works with local HTTP and HTTPS apps from stacks such as React, Vite, Next.js, Vue, Angular, SvelteKit, ASP.NET Core, Blazor, Node APIs, WordPress, static HTML, Swagger or OpenAPI services, and webhook receivers.

Can I use GhostlyShare on Linux?

Yes. GhostlyShare ships Linux desktop packages as DEB, Arch, and RPM assets from the GitHub release repository, while Windows remains available through the Microsoft Store.

Does GhostlyShare have a CLI?

Yes. The command-line tool is named ghs and is available for Windows and Linux. It is meant for terminal, server, and script workflows while the desktop app remains the visual workflow.

Can I password-protect a public GhostlyShare link?

Yes. Password protection can be enabled per public link for random URLs and custom domains. Visitors must enter the password before GhostlyShare forwards traffic to the local app.

Can a public link go offline automatically?

Yes. Link lifetime lets you choose when a public link stops sharing. The local app keeps running, but the GhostlyShare public URL goes offline after the selected time.

Can I see traffic statistics for a public link?

Yes. While a desktop link is live, GhostlyShare can show simple counters for requests, approximate visitors, and active users in the current sharing session. These numbers are meant for quick feedback, not full analytics or security auditing.

How many public apps can I share at once?

GhostlyShare allows up to three active public apps at the same time. Random Cloudflare quick tunnels can also enter a local cooldown if Cloudflare reports rate limiting.

How do custom domains work?

Custom domains use Cloudflare. After you add a valid token, GhostlyShare loads your zones, checks the hostname, creates the tunnel and DNS record, and routes the public hostname to the selected local app. Windows stores the token with DPAPI, while Linux uses Secret Service through libsecret.

Where is the GhostlyShare documentation?

The GitHub wiki covers installation, app detection, going public, password protection, link lifetime, traffic statistics, custom domains, Windows and Linux differences, troubleshooting, bug reports, and feature requests.

Is GhostlyShare meant to replace ngrok?

It depends on the workflow. ngrok-style tools are powerful for advanced routing, while GhostlyShare focuses on fast desktop previews for local apps, APIs, webhooks, and demos on Windows and Linux.

GhostlyShare app icon

Bottom line

GhostlyShare turns a local build into something people can actually try

It is intentionally small, direct, and practical on Windows and Linux: start the app you are building, press Start in GhostlyShare, send the link, and keep working.

Choose your download
GhostlyInc.com

No tracking, analytics, or personal data storage.

Independent guides, tools, and reviews for practical web work.

Quick links

About Terms of service GitHub YouTube

Products

Tools Gumroad Microsoft Store Microsoft Store web page

Select language

Made with by Copyright 2022 - 2026 GhostlyInc.com