Website previews
Let clients and teammates try your latest changes in their browser, without a test deployment.
GhostlyShare · Windows & Linux
Built locally. Shared with the world. GhostlyShare finds your web app — you share it in one click.
Quick start
Start your website, development server or API as usual. GhostlyShare checks local ports and detects reachable web apps automatically.
Choose a detected app and click Go Public once. GhostlyShare creates the public link through Cloudflare. No deployment, router configuration or manual tunnel command is needed.
Send the public URL to your reviewer or open it on your phone. Keep your computer, local app, and GhostlyShare running.

See the desktop app in action
See the workflow before you install: find a running app, start sharing, and open the public preview.
Watch directly on YouTube ↗The video connects to YouTube only when you press play.
What do you want to share?
Let clients and teammates try your latest changes in their browser, without a test deployment.
Give an external service a public callback URL that forwards to your local API. Check its authentication requirements before enabling a preview password.
Open the preview on a phone or tablet, even outside your Wi-Fi network. A QR code makes the handoff easier.
Inside GhostlyShare
Open these controls from the app card. The screenshots show the actual desktop interface; the values are examples, not recommended settings.
Protect a preview with a temporary password. Visitors enter it before they can reach your local app.
Set a limit for failed attempts and choose how long an unlocked visitor session lasts. Available for temporary links and custom domains.

Works with your stack
GhostlyShare works with reachable local HTTP and HTTPS apps. No framework plugin is required. It also forwards WebSocket connections for supported app workflows.
Open the QR code and scan it with your phone or tablet. The public preview opens in the device’s browser without typing a long URL.
Check touch controls, responsive layouts and real-device behavior, including outside your local Wi-Fi network.

Optional custom domains
Temporary public links work without a Cloudflare account or your own domain. For a branded address, connect a Cloudflare-managed domain with your API token and select a hostname.
GhostlyShare sets up the managed tunnel and DNS entry for your selected app. Password protection and link lifetime remain available.
Set up a custom domain ↗CLI · Windows & Linux
Build sharing into your development workflow with the optional ghs CLI for Windows and Linux. Start previews from scripts, test webhooks, and pass the public URL to your own tools.
ghs share 5173 --expires-after 15m
After installing the CLI, replace 5173 with your app port. Keep the command running while you share; Ctrl+C ends the preview early.
CLI installation and commands ↗
View requests, approximate visitors and active users during the current sharing session.
These counters give quick feedback during a demo. They are session statistics, not a full analytics or security audit.
The traffic counters stay local to your current sharing session; they are not sent to GhostlyInc.

Keep building
Share temporary links without signing up or logging in. GhostlyShare is free, and we do not collect usage analytics from the app.
Choose the Windows or Linux package on the download page. Desktop and CLI downloads are listed separately.
Download GhostlyShare ↗No. GhostlyShare is built for quick local previews without login, account creation, or a subscription step.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.