GhostlyShare for local app previews
GhostlyShare localhost sharing across Windows and Linux
GhostlyShare is a compact desktop app for Windows and Ubuntu/Debian Linux that detects local web apps and converts them into public Cloudflare-powered links without deployment, DNS configuration, or browser tab clutter.

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.
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.
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 Core, Blazor Server, Blazor WebAssembly
Forward framework assets, SignalR-like traffic, long polling, redirects, cookies, and local HTTPS development endpoints.
Vue, Nuxt, Angular, SvelteKit
Expose browser apps running on local HTTP or HTTPS servers, including development server routes and WebSocket updates.
Node.js, Express, Fastify, ASP.NET APIs
Share JSON APIs, webhook receivers, Swagger or OpenAPI endpoints, health checks, and standard POST requests.
WordPress, PHP, static HTML
Preview local CMS, static sites, and content-rich pages when GhostlyShare detects a stable browser-facing endpoint.
WebSockets, SSE, streaming responses
Maintain modern real-time previews via the public route using WebSocket proxying and streaming-aware timeouts.
Highlights
The essentials for a polished local-to-public workflow
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.
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.
HTTP and WebSocket forwarding
Modern apps continue functioning as GhostlyShare forwards standard HTTP traffic and WebSocket connections via the active public route.
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.
Desktop app for Windows and Linux
Install via the Microsoft Store on Windows or use the Ubuntu/Debian .deb package on Linux. The core sharing process is consistent across both platforms.
Safe lifecycle management
When local apps close or previews end, GhostlyShare updates state and clears routes, avoiding leftover public links.
Workflow
From localhost to public URL in just three simple steps
- 1
Launch your local app
Start Vite, ASP.NET Core, a dashboard, webhook receiver, or any local web service as normal.
- 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
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.
Why it feels responsive
The app handles the tedious tasks before you need to consider them
GhostlyShare continuously monitors local ports, tracks active previews, adjusts routes as apps appear or vanish, and provides clear feedback on Windows and Linux. The outcome is straightforward: no manual sharing commands, no copied terminal URLs, no guessing which port is safe to share.
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.
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.
- 1
Link Cloudflare
Enter a Cloudflare API token once; GhostlyShare then validates and securely stores it for future custom URL sessions.
- 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
Publish the Cloudflare route
GhostlyShare establishes the Cloudflare tunnel, configures ingress, writes the DNS record, and initiates the secure route to your local port.
Use cases
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.
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.
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.
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
Select the Microsoft Store version for Windows or the Ubuntu/Debian package from the GitHub releases for Linux. Both versions use the same local app to public preview process.
Windows
Install GhostlyShare from the Microsoft Store for Windows. Store updates manage the app, keeping the sharing process centred on local apps, APIs, dashboards, and webhook receivers.
Open the StoreUbuntu and Debian Linux
Open the newest GitHub release, pick the x64 .deb file, install it with apt and launch GhostlyShare from your app menu or by running ghostlyshare.
View Linux releaseRelease repo and documentation
The GitHub repository includes Linux downloads, installation instructions, troubleshooting, and documentation for both supported desktop platforms.
View on GitHubDocs
Browse the GhostlyShare docs
The GitHub wiki explains installation, app detection, link readiness, custom domains, Windows and Linux differences, and checks to perform if a local app does not appear.
First steps
Run a test app, launch GhostlyShare, generate a public URL, and stop sharing cleanly.
Open guideInstall and update
Use the Microsoft Store on Windows, or install and update the Ubuntu/Debian package via apt.
Open guideLocal app detection
Discover which local ports, frameworks, titles, APIs, and development processes provide strong detection signals.
Open guideWindows plus Linux
Compare packaging, secure token storage, tray functionality, desktop variations, and supported sharing workflows.
Open guideShare online
Understand random Cloudflare URLs, custom URLs, link readiness delays, and what occurs when sharing ends.
Open guideFix common issues
Investigate why an app is hidden, a link appears offline, or Linux desktop integration acts differently.
Open guideHelp and 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.
FAQ
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. GhostlyShare is available as an Ubuntu/Debian x64 .deb package from the GitHub release repository, while the Windows version is offered via the Microsoft Store.
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 details installation, app detection, going public, 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.

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