Share localhost, LAN services and HTTP APIs

MyShare gives local websites, LAN HTTP/HTTPS services and selected HTML files a temporary link protected by a passcode. Share a webpage or a backend HTTP API without a frontend, without deploying it first.

Who is MyShare for?

Why can’t I send someone my localhost or LAN address?

An address containing localhost or 127.0.0.1 points to the computer opening it. On your friend’s device, it points to their computer, so it cannot locate your website. Send the new link MyShare creates to let them visit the work you are sharing.

Keep your computer and browser running while sharing. A local preview also needs its project to keep running. In browser sharing mode, keep the MyShare tab open too.

AI creators: find your preview address

If you use Cursor, Claude Code, Codex or another vibe coding tool, first check that your work opens on your computer. These are creation examples, not dedicated integrations.

Copy this message to the coding assistant that helped you make the project:

Start this website and give me the full address I can open in this computer’s browser. If it is static HTML, tell me which HTML file or website folder to select.

Open the address first and check that you can see your work, then paste it into MyShare. If you already have an HTML file, select it directly. For a page with styles, images or scripts, select the whole website folder.

Create your first share

  1. Choose a website, service or file.Enter the service’s root URL, such as http://localhost:3000 or http://192.168.1.20:8080. An API needs no frontend. For files, choose an HTML file or website folder instead.
  2. Create your share link.Complete the verification, then choose “Create share link”. An installed extension is selected automatically; otherwise, the page shares from this tab. You can switch under “More options”. Approve local access if the browser or extension popup asks. Sharing then continues automatically.
  3. Send it to your visitors.Once the link is ready, send the link or QR code. Visitors need a browser, but no MyShare account or extension.

The default link and QR code include this share’s temporary passcode. Anyone with them can enter. You can also send the link and passcode separately. Visitors still sign in to your application with their own credentials.

Browser or extension sharing

Browser sharing needs no installation; keep the MyShare tab open. The extension keeps sharing in the background after it connects. Use its toolbar popup to view or stop individual shares after closing the original page. Both modes need your computer, browser and local project to remain running.

Install in Chrome, Edge or Brave

Use desktop Chrome 127 or later. Edge and Brave use the same ZIP; follow the steps for your browser.

  1. Download the Chrome / Edge / Brave extension ZIP and extract it into a folder you’ll keep.
  2. Open your browser’s extension page: chrome://extensions in Chrome, edge://extensions in Edge, or brave://extensions in Brave. Enable Developer mode, choose Load unpacked, and select the extracted folder containing manifest.json.
  3. Return to MyShare. The page detects your extension and selects it automatically; refresh if it is not detected. Choose “Create share link” and approve access in the toolbar popup if asked. Sharing continues automatically. If you close the popup by mistake, reopen it with the MyShare toolbar icon. Pending permissions are kept for up to 10 minutes.

Install in Firefox

  1. Use desktop Firefox 140 or later. Download the Firefox extension ZIP and extract it.
  2. Open about:debugging#/runtime/this-firefox, use the add-on loading button, and select manifest.json in the extracted folder.
  3. Return to MyShare, refresh the page, select your URL or files and choose “Create share link”. After restarting Firefox, load the extension and select your files again.

See the Edge installation guide, Brave installation guide and Firefox installation guide for more details.

Create multiple shares in separate tabs, within your plan’s active-share limit. Reloading or disabling the extension, or quitting the browser, interrupts sharing. Selected files live only in local memory and must be selected again afterward. Refresh the preview manually after edits in extension mode.

HTML files and website folders

Single files can be .html or .htm. For styles, images or scripts, select the full folder with index.html or index.htm at its root. Only the files you choose are read; no local server is needed.

Select up to 500 files, 50 MiB total and 10 MiB per file. File sharing provides no backend API. Select the files again after edits, or after refreshing or closing the sharing tab in browser mode.

Share a service on your LAN

A LAN address identifies a device on that network; people outside it usually cannot reach it directly. Enter the exact address of a service you are authorized to share and your sharing computer can reach, such as http://192.168.1.20:8080. It can run on another computer or development device. No network scan or automatic discovery is needed.

Supported addresses are private IPv4 ranges 10.0.0.0/8, 172.16.0.0/12 and 192.168.0.0/16, plus localhost, 127.0.0.1 and [::1]. Use the IP address: internal hostnames, .local names, other IPv6, link-local addresses and public targets are not supported. Forwarding covers HTTP/HTTPS, not arbitrary TCP/UDP, database or SSH tunnels.

Browser mode needs local network permission and service CORS rules allowing the exact MyShare origin and required headers. HTTPS certificates must be trusted by your browser. Extension mode needs the updated extension with LAN support and approval for each address. For LAN cookie sign-in, use the extension; the downloadable Node project adapter remains loopback-only. Keep the sharing computer, browser and service’s device running.

Backend APIs: how does the share passcode work?

Use the HTTP API’s root origin as the main service; no frontend or HTML homepage is needed. A readable 401, 403, 404 or 405 at the root does not prevent sharing. Connectivity and CORS requirements still apply. API paths, methods, JSON bodies and each visitor’s Basic/Bearer Authorization are forwarded with the request.

Call the complete API URL with its passcode directly. There is no browser visit or access-cookie exchange. Change the share link’s path to your API endpoint and keep ?__myshare_password=....

curl 'https://YOUR-SHARE.sharemydemo.com/api/echo?__myshare_password=ABC234' \
  -H 'Authorization: Bearer YOUR_API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{"message":"hello"}'

For cookie-based APIs, replace Authorization with -H 'Cookie: session=YOUR_SESSION' and share through the extension or project adapter. In Postman, enter the full endpoint URL and configure your normal business authentication and body. Webhook callers that preserve URL query parameters can POST directly too.

Alternatively, remove the URL passcode and send X-MyShare-Password: ABC234. Both methods grant the same share access; conflicting values are rejected. The gateway removes its passcode parameter and header before forwarding the business request.

Browsers carry the share credential automatically after opening a passcode link or entering the passcode. MyShare does not set a preview access cookie. Your app’s Basic/Bearer or cookie login still applies. Cross-origin browser calls require an approved origin. Both access methods expire when the share ends. Treat the full link like a password.

Backends and sign-in

If your project already proxies /api requests through its dev server, share the frontend URL. If it calls another local origin directly, add it under “Backend & sign-in”—up to two additional origins. Only confirmed origins are mapped; start a new share to change the list.

Bearer and Basic HTTP authentication use each visitor’s credentials. For Cookie/HttpOnly sign-in, use the extension or ask your AI coding assistant to add the project adapter to your existing Node dev server. Browser mode still needs precise CORS permissions for MyShare and the required headers; the in-app AI prompt describes the configuration.

Your own local sign-in is not inherited by visitors. The updated extension or project adapter supports HTTP login redirects within approved services. OAuth redirects and authenticated local WebSockets are not supported. Keep your application’s login protection in place.

Saved addresses and visitor feedback

Paid accounts can reserve a MyShare name or use their own subdomain. Add the required DNS records and finish ownership and HTTPS certificate verification, then select the address before sharing. Browsers retain storage for a saved address, so use separate names for different projects.

Analytics, comments and Studio replay are off by default. Enable them before sharing; visitors then separately choose whether to allow analytics and replay. Declining does not prevent browsing or commenting. Replays mask text and inputs; some images and styles are omitted.

If a connection fails

Choose Stop share when you’re done to close access immediately. Paid shares can be extended within the paid period; extending does not reset transfer usage.

Start sharing for free ↗