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

GhostlyShare for local app previews

GhostlyShare localhost sharing across Windows and Linux

GhostlyShare is a small desktop app and CLI for Windows and Linux. It finds local web apps and turns them into public Cloudflare links without deployment, DNS work, or messy browser tabs.

Free to use No sign-in Windows and Linux CLI
Download GhostlyShare See how it works
GhostlyShare brand mark
GhostlyShare Publish a local app
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 concept

A public link for the app currently running on your device

Launch a dev server, dashboard, webhook receiver, or small API. GhostlyShare detects it, shows the port, and offers a Start button. One click creates a public URL to open, copy, and share.

Free to use No sign-in No account Desktop and CLI

Supported web stacks

If your app runs locally as a web app, GhostlyShare can generally share it

GhostlyShare requires no framework plugins. It detects and forwards local HTTP, HTTPS, WebSocket, long-polling, streaming, and API traffic, allowing common development stacks to use the same straightforward Start button process.

Front-end development servers

React, Vite, Next.js

Share hot-reload previews and front-end dev servers on ports such as 3000, 5173, or similar local development ports.

ASP.NET and Blazor apps

ASP.NET Core, Blazor Server, Blazor WebAssembly

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

JavaScript stacks

Vue, Nuxt, Angular, SvelteKit

Expose browser apps running on local HTTP or HTTPS servers, including development server routes and WebSocket updates.

API back ends

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

Share JSON APIs, webhook receivers, Swagger or OpenAPI endpoints, health checks, and standard POST requests.

CMS and content previews

WordPress, PHP, static HTML

Preview local CMS, static sites, and content-rich pages when GhostlyShare detects a stable browser-facing endpoint.

Real-time web apps

WebSockets, SSE, streaming responses

Maintain modern real-time previews via the public route using WebSocket proxying and streaming-aware timeouts.

Designed to be framework agnostic The simple rule: if your browser can access it on localhost, GhostlyShare can usually provide a public preview URL.

Highlights

The essentials for a polished local-to-public workflow

Step 01

Automatic detection of local applications

GhostlyShare scans local ports, probes HTTP/HTTPS endpoints, reads page titles, and identifies API surfaces via OpenAPI, Swagger, documentation, and health checks.

Step 02

Temporary links by default, custom domains when needed

No login, account, subscription, or custom domain is required for the quick option. For a branded URL, use the optional Cloudflare custom domain setup.

Step 03

HTTP and WebSocket forwarding

Modern apps continue functioning as GhostlyShare forwards standard HTTP traffic and WebSocket connections via the active public route.

Step 04

Copy, launch, stop, repeat

Each active app features a compact action bar: open the public URL, copy it with confirmation, or end the preview when finished.

Step 05

Desktop app and ghs CLI

Use the desktop app when you want simple start and stop controls. Use ghs when you prefer the terminal, servers, or scripts.

Step 06

Password-protected public links

Add a password before or while a random link or custom domain is live. Visitors unlock the link first, failed attempts can lock 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 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 keeps live links separate from warm tunnel processes so status stays 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 management

If the local app closes, the network changes, or the public URL stops responding, GhostlyShare ends sharing and moves the app card back to Local Only.

Share previews, not sensitive services GhostlyShare is 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.

Workflow

From localhost to a public URL in four quiet steps

  1. 1

    Launch your local app

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

  2. 2

    Click Start in GhostlyShare

    The app locates the port, sets up a secure public route, waits for the URL, and displays a Live status when ready.

  3. 3

    Choose access and lifetime rules

    Before publishing, you can set a password, failed-attempt limit, password session length and automatic expiry time for the public link.

  4. 4

    Share the preview URL

    Copy the link, open it in a browser, share with a client, or test from another device instantly.

Short video demo

See GhostlyShare in action

A brief YouTube demonstration reveals how GhostlyShare converts a local app into a publicly accessible preview URL.

Open on YouTube

Why it feels responsive

The app handles the tedious tasks before you need to consider them

GhostlyShare continuously monitors local ports, retains live previews, manages routes as apps start or stop, and provides clear feedback on Windows and Linux. For those favouring terminals or scripts, the ghs CLI offers the same local-to-public workflow via the command line.

Auto-refreshes The app continuously scans in the background, updating the list as local services start or stop.
Recognises local APIs API probes check common documentation and health endpoints to identify backend services more easily.
Manages live previews WebSocket support ensures frontend dev servers and real-time apps function properly via the public preview.
Shows basic activity Live statistics show whether the link is being reached, while keeping GhostlyShare focused on quick feedback rather than full analytics.
Download and set up once GhostlyShare downloads and verifies the appropriate cloudflared helper on first use, then reuses it from the app data directory.

Custom domain previews

Use a branded Cloudflare URL when a temporary link won’t suffice

The quick method works without DNS, but GhostlyShare also offers an optional custom URL process for Cloudflare zones. Add a token, select the zone, choose a hostname, and GhostlyShare sets up the managed tunnel and DNS record for your local app.

Branded preview option

preview.your-domain.com

Custom URLs are designed for demos that need to appear stable and familiar. GhostlyShare can reuse saved assignments, refresh the route, and halt the managed tunnel within the same app workflow.

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

    Link Cloudflare

    Enter a Cloudflare API token once; GhostlyShare then validates and securely stores it for future custom URL sessions.

  2. 2

    Choose a zone and host name

    Select the Cloudflare zone, input the hostname label, and GhostlyShare will confirm the full hostname’s availability.

  3. 3

    Publish the Cloudflare route

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

Where it helps

Designed for when localhost alone won’t suffice

Previews for clients and colleagues

Share a working link before deploying a branch or releasing a temporary build.

Webhook testing

Direct external services to a local receiver while maintaining your development loop on your device.

Mobile device compatibility checks

Access your local site from another phone, tablet, or test device without connecting to the same network.

API demonstrations

Expose a local API for swift integration discussions, then stop it once complete.

Comparison with ngrok

A straightforward way to share only your local running app

If you typically use ngrok, GhostlyShare offers a more straightforward local preview process: open the desktop app, select the detected service, click Start, and share the link. Temporary links remain lightweight, with custom domains available for branded Cloudflare URLs.

GhostlyShare

Desktop-focused and visual

Ideal for viewing detected local apps, sharing with a single click, copying the URL, and stopping the preview via a compact desktop window.

GhostlyShare

Start with free temporary links

Ideal for quick previews as no login, account, or subscription is required before sharing. Custom domains offer an optional upgrade for Cloudflare users.

ngrok-like tools

Powerful but requires more manual setup

Terminal-first sharing tools suit advanced routing workflows. GhostlyShare targets everyday previews where speed and simplicity are key.

Download

Get GhostlyShare for Windows or Linux

Download the desktop app or the ghs CLI from the GhostlyShare downloads page. Windows and Linux packages are listed separately, with direct GitHub links for ZIP, DEB, Arch, and RPM builds.

All versions

Desktop and CLI downloads

Visit the dedicated download page to select Windows setup, Windows CLI, Linux desktop, or Linux CLI packages.

Open download page
CLI

Command-line workflow

The GhostlyShare CLI, called ghs, is designed for terminal, server, and script workflows like scanning local apps, sharing ports, checking doctor output, or using custom Cloudflare hostnames.

View CLI documentation
Signed Windows version

Microsoft Store

For the Windows desktop app, the Microsoft Store remains the signed installation method. Use the GitHub setup ZIP if you prefer the direct release package.

Open the Store

Docs

Browse the GhostlyShare docs

The GitHub wiki explains installation, app detection, link readiness, traffic statistics, password protection, link lifetime, rate limits, custom domains, Windows and Linux differences, and checks for missing local apps.

Begin

First steps

Run a test app, launch GhostlyShare, generate a public URL, and stop sharing cleanly.

Open guide
Set up

Install and update

On Windows, use the Microsoft Store. On Linux, choose the package that matches your distribution.

Open guide
App finder

App detection

Discover which local ports, frameworks, titles, APIs, and development processes provide strong detection signals.

Open guide
CLI

Command Line Interface

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

Open guide
Platforms

Windows and Linux

Compare packaging, secure token storage, tray functionality, desktop variations, and supported sharing workflows.

Open guide
Preview links

Share online

Understand random Cloudflare URLs, custom URLs, link readiness delays, and what occurs when sharing ends.

Open guide
Password

Password Protection

Protect random URLs and custom domains with a visitor password, failed-attempt lockout and browser sessions that expire.

Open guide
Lifetime

Link Lifetime

Make public links go offline automatically after a preset, by the end of today or after a custom duration.

Open guide
Sessions

Rate Limits and Sessions

Understand public-app limits, warm tunnel slots, Cloudflare quick-tunnel cooldowns and visitor password 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

See what not to expose, where password protection helps and why link lifetime is not the same as access control.

Open guide
Need help

Troubleshooting

Investigate why an app is hidden, a link appears offline, or Linux desktop integration acts differently.

Open guide

Support

Send GhostlyShare bug reports or feature requests

Access the GitHub issue forms for bugs and feature requests. Before submitting, remove tokens, passwords, private URLs, and customer data.

Send bug report Suggest a feature Read the issue guide

Frequently Asked Questions

Quick answers before sharing a local app

Is an account required to use GhostlyShare?

No. GhostlyShare is designed for rapid local previews without login, account creation, or subscription.

Is a personal domain necessary?

No. You can share a temporary public preview link without purchasing a domain, altering DNS, or deploying a test build. If you use Cloudflare, GhostlyShare can generate a custom URL for a branded preview.

Which web frameworks work with GhostlyShare?

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

Can GhostlyShare run on Linux?

Yes. Linux builds are available as DEB, Arch, and RPM packages on GitHub. On Windows, the Microsoft Store app is the easiest option.

Is there a CLI for GhostlyShare?

Yes. The CLI is called ghs and runs on Windows and Linux. Use it for terminals, servers, and scripts; use the desktop app when you want a visual workflow.

Can I password-protect a public GhostlyShare link?

Yes. Password protection is enabled per public link for random URLs and custom domains. Visitors enter the password before GhostlyShare sends 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, while the GhostlyShare public URL goes offline at 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 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 once. Random Cloudflare quick tunnels can also enter a local cooldown when Cloudflare reports rate limiting.

How do custom domains operate?

Custom domains utilise Cloudflare. Once you add a valid token, GhostlyShare loads your zones, verifies the hostname, creates the tunnel and DNS record, and directs the public hostname to the chosen local app. Windows stores the token with DPAPI; Linux uses Secret Service via libsecret.

Where can I find 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 intended to replace ngrok?

It depends on your workflow. Tools like ngrok excel at advanced routing, whereas GhostlyShare prioritises quick desktop previews for local apps, APIs, webhooks, and demos on Windows and Linux.

GhostlyShare app icon

Bottom line

GhostlyShare transforms a local build into a shareable experience

It is deliberately compact, straightforward, and practical on Windows and Linux: launch your app, press Start in GhostlyShare, share the link, and continue working.

Select your download
GhostlyInc.com

No tracking, analytics or personal data retained.

Independent guides, tools and reviews for practical web projects.

Quick links

About Terms of service GitHub YouTube

Products

Tools Gumroad Microsoft Store Microsoft Store web page

Choose language

As an Amazon Associate I earn from qualifying purchases.
Made with by Copyright 2022 - 2026 GhostlyInc.com