# LocalCan > Put localhost on an always-on Public URL — test webhooks, share apps, websites and prototypes. The ngrok alternative with flat pricing. macOS, Windows, Linux. Documentation links below point to raw-markdown versions. Any /docs URL also serves markdown when requested with `Accept: text/markdown` or with `.md` appended to the path. ## Docs - [Quick start](https://www.localcan.com/docs.md): Get a local HTTPS domain and a shareable Public URL (tunnel) for an app running on your machine in a few minutes. - [Installation](https://www.localcan.com/docs/installation.md): LocalCan ships as a desktop app with a bundled daemon on macOS and Windows, and as a CLI-only build on Linux. - [Command Line: Overview](https://www.localcan.com/docs/cli/overview.md): The `localcan` binary is both a long-lived background daemon and a thin client that talks to it: same executable, different invocations. - [Command Line: Quick start](https://www.localcan.com/docs/cli/quick-start.md): Get a Public URL pointing at your local app in three commands. - [Command Line: Quick tunnels](https://www.localcan.com/docs/cli/quick-tunnels.md): Open a tunnel to a local port without writing any config: three subcommands cover HTTP, HTTPS, and raw TCP. - [Command Line: Daemon](https://www.localcan.com/docs/cli/daemon.md): Manage the long-lived `localcan` background process. - [Command Line: Traffic](https://www.localcan.com/docs/cli/traffic.md): Read captured request and response traffic from the terminal or an AI agent. - [Command Line: License](https://www.localcan.com/docs/cli/license.md): Activate, deactivate, and inspect your LocalCan license from the terminal. LocalCan also runs unlicensed (`.local` only). - [Command Line: Reference](https://www.localcan.com/docs/cli/reference.md): Full listing of every `localcan` command, flag, and what it returns. - [AI agents: Overview](https://www.localcan.com/docs/ai-agents/overview.md): Connect an AI agent to LocalCan, so it can inspect your captured traffic, manage your Public URLs, publish Snapshots, and password-protect what you share. - [AI agents: MCP server](https://www.localcan.com/docs/ai-agents/mcp.md): Run LocalCan's Model Context Protocol server and wire it into your MCP host, with a full reference of the tools and switches. - [Configuration: Overview](https://www.localcan.com/docs/configuration/overview.md): LocalCan keeps everything it persists in `~/.localcan/`. The desktop UI and the CLI both read and write the same files. - [Configuration: Daemon config](https://www.localcan.com/docs/configuration/daemon-config.md): Settings that apply to the daemon as a whole (license, proxy ports, and inspector limits) live in `~/.localcan/config.yml`. - [Configuration: Projects](https://www.localcan.com/docs/configuration/projects.md): A project is a YAML file under `~/.localcan/projects/` that groups related services and the URLs they should be reachable at. - [Configuration: Access control](https://www.localcan.com/docs/configuration/access-control.md): Protect a Public URL on LocalCan's servers with the `policy` endpoint key. - [Configuration: Headers](https://www.localcan.com/docs/configuration/headers.md): Rewrite request headers per-endpoint with set / append / remove semantics, including a couple of template variables for dynamic hosts. - [Configuration: Basic auth](https://www.localcan.com/docs/configuration/basic-auth.md): Protect any HTTP endpoint with one or more username/password pairs. - [Public URLs: Overview](https://www.localcan.com/docs/public-urls/overview.md): Public URLs let local apps or websites be reachable on the public internet. - [Public URLs: Custom domains](https://www.localcan.com/docs/public-urls/custom-domains.md): LocalCan allows Public URLs (tunnels) to be created on a domain you own. - [Public URLs: Snapshots](https://www.localcan.com/docs/public-urls/snapshots.md): An Offline Snapshot is a static copy of your app that stays available at your Public URL while your machine is offline, so teammates or clients can review your work on their own schedule. - [Public URLs: Access control](https://www.localcan.com/docs/public-urls/access-control.md): Access control decides who can open your Public URL: a password page, a secret link, or IP and user-agent rules, enforced on LocalCan's servers, so protection keeps working while your machine is asleep. - [Local Domains: Overview](https://www.localcan.com/docs/domains/overview.md): Local domains let you reach a local app at a name like `myapp.local` instead of `localhost:3000`. LocalCan advertises the name on your network over mDNS (Bonjour) and, when you want it, serves it through a built-in reverse proxy so the name works on standard ports and over HTTPS. - [Local Domains: Certificates](https://www.localcan.com/docs/domains/certificates.md): LocalCan creates a root Certificate Authority when you install it, and uses it to issue the server certificates that make HTTPS work on your local domains. - [Tools: Inspect traffic](https://www.localcan.com/docs/tools/inspect-traffic.md): LocalCan's traffic inspector shows the HTTP requests flowing through your local domains and Public URLs (tunnels). - [SSO & SCIM: Overview](https://www.localcan.com/docs/sso/overview.md) - [SSO & SCIM: Okta setup (SAML + SCIM)](https://www.localcan.com/docs/sso/okta-setup.md) - [SSO & SCIM: User lifecycle & seats](https://www.localcan.com/docs/sso/user-lifecycle.md) - [SSO & SCIM: Troubleshooting](https://www.localcan.com/docs/sso/troubleshooting.md) - [SSO & SCIM: OIDC (alternative)](https://www.localcan.com/docs/sso/oidc.md) - [Guides: Setting up SaaS development environment with LocalCan](https://www.localcan.com/docs/guides/setting-up-saas-development-environment-with-localcan.md): Learn how to create a production-like development environment for your SaaS application using LocalCan. This guide covers setting up local domains, custom domains, OAuth authentication, and debugging tools. - [Guides: Using LocalCan with Laravel Herd sites](https://www.localcan.com/docs/guides/using-localcan-with-laravel-herd-sites.md): A guide to configure Local Domains and Public URLs for Laravel 11+ development with Herd - [Guides: Install LocalCan Root Certificate on iPhone](https://www.localcan.com/docs/guides/install-localcan-root-certificate-on-iphone.md): Installing the LocalCan root certificate on your iPhone or iPad is necessary to avoid security warnings when accessing your `.local` domains. This also ensures that all features, like hot reloading, work correctly on your device. - [Troubleshooting: Local domains are slow or not working](https://www.localcan.com/docs/troubleshooting/local-domains.md): When your local domains have a slow response time or don't work at all, this may indicate issues with the mDNS protocol, browser DNS cache, system DNS cache, or system permissions. - [Troubleshooting: Error: unable to verify the first certificate](https://www.localcan.com/docs/troubleshooting/unable-to-verify-the-first-certificate.md): When making request from a server (e.g. Node.js) to .local domain over https, the server may not have access to the LocalCan’s Root Certificates which is trusted on macOS, or doesn’t accept self-signed certificates. - [Troubleshooting: Webpack hot reload (HMR) behind a reverse proxy](https://www.localcan.com/docs/troubleshooting/webpack-hot-reload-hmr-reverse-proxy.md) - [Troubleshooting: Laravel CORS errors when using reverse proxy](https://www.localcan.com/docs/troubleshooting/laravel-cors-error-reverse-proxy.md): When using Laravel with a reverse proxy like LocalCan, it's essential to perform a few setup steps to ensure compatibility. - [Troubleshooting: Invalid Host Header error](https://www.localcan.com/docs/troubleshooting/invalid-host-header-error.md) ## Blog - [How to Share a Vibe-Coded App With a Client (Every Real Option)](https://www.localcan.com/blog/share-ai-prototype-with-client): How to share a vibe-coded app with a client: Figma, Vercel, Netlify, ngrok, and one link that's live while you work, static while you sleep. Honestly compared. - [Add OAuth 2.1 to Your MCP Server (and Why the URL Has to Stay Put)](https://www.localcan.com/blog/mcp-server-oauth-2-1): Secure an MCP server with OAuth 2.1 using Scalekit, connect it to Claude, and see why a stable public URL is non-negotiable for the OAuth callback. - [From Localhost to Claude.ai: Test Your Local MCP Server End-to-End](https://www.localcan.com/blog/test-local-mcp-server-in-claude-ai): Build a local MCP server, expose it with a public HTTPS URL, and connect it to Claude.ai. A working TypeScript walkthrough with the version gotchas named. - [NPM Security Best Practices: Defending Against Supply Chain Attacks](https://www.localcan.com/blog/npm-security-best-practices-supply-chain-attacks): The npm security best practices we just rolled out across every LocalCan repo to defend against supply chain attacks: lockfile discipline, install-time cooldowns, --ignore-scripts, digest-pinned images, and locking down CI. - [How I use Claude Code on large projects](https://www.localcan.com/blog/claude-code-workflow-for-large-projects): A workflow built on context management, lead/implementer/reviewer agents, and ruthless planning. What works for me on multi-repo, multi-language codebases. - [LocalCan 3.0 Beta: The Biggest Update Yet](https://www.localcan.com/blog/localcan-3-0-beta): LocalCan 3.0 Beta brings a CLI, YAML configuration, Linux support, multiple endpoints per service, and a global edge network — the biggest update since the app launched. - [Testing Stripe Webhooks Locally: A Complete Guide with LocalCan](https://www.localcan.com/blog/testing-stripe-webhooks-locally-complete-guide): Learn how to test Stripe webhooks on your local machine using the Stripe CLI, LocalCan tunnels, and .local domains. Includes code examples for Express and Next.js, signature verification tips, and a debugging checklist. - [How to Use LocalCan for React Native (Expo) Development](https://www.localcan.com/blog/react-native-expo-localcan-tutorial): Replace Expo's unreliable built-in tunnel with LocalCan for persistent URLs, stable connections, and faster hot reloads on real devices. Step-by-step setup guide with tips for OAuth, webhooks, and device testing. - [Building Stripe-like Public IDs in Postgres with Nano ID ](https://www.localcan.com/blog/stripe-like-ids-postgres-nanoid): Learn how to create Stripe-style prefixed IDs like cus_abc123 or team_xyz789 in Postgres using Nano ID. No extensions required. - [Tutorial: Self-host Next.js with Docker Swarm and CI/CD Pipeline](https://www.localcan.com/blog/self-host-nextjs-with-docker-swarm-and-ci-cd): Learn how to self-host Next.js on any VPS using Docker Swarm and a GitLab CI pipeline. This tutorial shows how to create a blog with Postgre as data source. - [Ngrok vs Cloudflare Tunnel vs LocalCan vs Pinggy vs LocalXpose: Speed Test Results 2025](https://www.localcan.com/blog/ngrok-vs-cloudflare-tunnel-vs-localcan-speed-test-2025): Discover which tunneling service leads in speed for 2025. We compare Ngrok, Cloudflare Tunnel, LocalCan, Pinggy, and LocalXpose - see who tops the chart! - [Local Tunneling: Complete Guide to Exposing Localhost to the Internet](https://www.localcan.com/blog/local-tunneling-complete-guide): Discover how local tunneling tools simplify secure internet access to localhost applications, ideal for development, testing, and remote collaboration. - [AbortController in Node.js and React - Complete Guide with 5 Examples](https://www.localcan.com/blog/abortcontroller-nodejs-react-complete-guide-examples): Learn how AbortController can cancel fetch requests, event listeners, streams, child processes in JavaScript. Stop memory leaks and improve UX with examples - [8 Underrated macOS Developer Tools and Apps for Solo Developers](https://www.localcan.com/blog/macos-developer-tools-and-apps): Discover 8 underrated macOS developer tools that can supercharge your workflow. From tunneling to API testing, find efficient alternatives to mainstream tools. - [5+ Ngrok Alternatives [2025]](https://www.localcan.com/blog/best-ngrok-alternative): Discover the best Ngrok alternatives in 2025, including LocalCan, Cloudflare Tunnel, Zrok, and more. Compare features, pricing, and limitations to find the perfect tunneling solution for your development needs. - [Rate-limit and mitigate WebSockets DDoS attacks with Cloudflare API](https://www.localcan.com/blog/rate-limit-and-mitigate-websockets-ddos-attacks-with-cloudflare-api): Rate-limit and protect your WebSocket server from DDoS attacks with strategies using Cloudflare firewall (WAF). Example code implementation with CloudflareAPI, Fastify and node-cache. - [Self-signed certificate for local development (OpenSSL, JavaScript)](https://www.localcan.com/blog/self-signed-certificate-for-local-development-openssl-javascript): Learn how to create self-signed certificates for local development using OpenSSL and JavaScript (Node.js). Mirror your production environment closely to test critical features like authentication, secure cookies, service workers, PWAs, and the Geolocation API. Simplify the process with practical examples and step-by-step instructions. ## Optional - [Download](https://www.localcan.com/download): LocalCan for macOS, Windows and Linux. - [Changelog](https://www.localcan.com/changelog): Release notes for the LocalCan app. - [Ngrok alternative](https://www.localcan.com/ngrok-alternative): The native desktop alternative to ngrok — flat pricing, no metering, custom domains included. - [Cloudflare Tunnel alternative](https://www.localcan.com/cloudflare-tunnel-alternative): How LocalCan compares to Cloudflare Tunnel for development teams. - [Local domains](https://www.localcan.com/local-domains): .local HTTPS domains for local development. - [Test webhooks locally](https://www.localcan.com/webhooks): Receive, inspect and replay webhooks on localhost — Stripe, GitHub, Shopify and more. - [Terms of Service](https://www.localcan.com/terms) - [Privacy Policy](https://www.localcan.com/privacy) - [Data Processing Addendum](https://www.localcan.com/dpa) - [Test Stripe webhooks locally](https://www.localcan.com/webhooks/stripe) - [Test GitHub webhooks locally](https://www.localcan.com/webhooks/github) - [Test Shopify webhooks locally](https://www.localcan.com/webhooks/shopify) - [Test Twilio webhooks locally](https://www.localcan.com/webhooks/twilio) - [Test Slack webhooks locally](https://www.localcan.com/webhooks/slack) - [Test Clerk webhooks locally](https://www.localcan.com/webhooks/clerk) - [Test Supabase webhooks locally](https://www.localcan.com/webhooks/supabase)