{"slug": "free-remote-desktop-without-servers", "title": "Free Remote Desktop Without Servers", "summary": "Developer Teylersf released FreeRemoteDesk, an open-source remote desktop tool that runs entirely on users' own Cloudflare and Vercel free tiers with no server costs. The tool uses WebRTC for peer-to-peer connections and can be deployed via AI coding agents like Claude Code or Cursor with a single command.", "body_md": "Reach your home dev machine from any browser. Zero servers you run. Zero monthly cost. You own the whole stack.\n\nOpen your AI coding tool (Claude Code, Cursor, Aider, Codex, Continue — anything with a terminal) and paste one line:\n\n\"Set up FreeRemoteDesk for me. Read AGENTS.md at[https://github.com/Teylersf/freeremotedesk/blob/main/AGENTS.md]and follow it exactly.\"\n\nYour agent will:\n\n- Check you have\n`node`\n\n,`pnpm`\n\n,`gh`\n\ninstalled (install if missing) - Prompt you to log into\n`gh`\n\n,`wrangler`\n\n, and`vercel`\n\n(three one-time browser sign-ins) - Deploy the signaling Worker to your Cloudflare account\n- Deploy the PWA to your Vercel account with the right env var\n- Download the host installer for your OS\n- Hand you the two URLs to paste into the agent's first-run wizard\n\n**Total user work:** three CLI logins + one installer double-click + copy-paste two URLs.\n\n- Deploy signaling to your Cloudflare:\n- Deploy PWA to your Vercel:\n- Download the\n[latest release](https://github.com/Teylersf/freeremotedesk/releases/latest), install, paste the two URLs into the wizard.\n\nFull walkthrough: [ docs/DEPLOY.md](/Teylersf/freeremotedesk/blob/main/docs/DEPLOY.md).\n\nIf you have the CLIs installed and don't want to click through UIs:\n\n```\ngit clone https://github.com/Teylersf/freeremotedesk\ncd freeremotedesk\nbash scripts/setup.sh      # macOS/Linux\n# or\npwsh scripts/setup.ps1     # Windows\n```\n\nThe script does everything Path A does, minus the AI narration.\n\n**No middleman.** Signaling on your Cloudflare, PWA on your Vercel. Nobody (including us) sits between your devices.**No monthly bill.** Free tiers cover a personal instance easily. You pay $0.**No app store.** The PWA installs from any browser onto phone/tablet/desktop.**Direct P2P over WebRTC.** Video and input flow between your two devices; signaling is <1 KB per session.**Passkey-secured saved hosts***(v0.2.0, coming next)*— biometric reconnect without typing codes.\n\n| Path | What |\n|---|---|\n`agent/` |\nTauri v2 + Rust host agent — WebView does WebRTC + `getDisplayMedia` , Rust does OS input injection via `enigo` |\n`pwa/` |\nReact + Vite PWA — the browser viewer |\n`signaling/` |\nCloudflare Workers Durable Object relay |\n`scripts/setup.{sh,ps1}` |\nOne-shot automated deploy |\n`AGENTS.md` |\nStructured instructions for AI agents doing setup on your behalf |\n`docs/` |\nArchitecture, deploy, protocol, security, development |\n\nThree terminals from repo root:\n\n```\npnpm dev:signaling   # Miniflare on :8787\npnpm dev:pwa         # Vite on :5173\npnpm dev:agent       # Tauri window\n```\n\nBoth wizards accept `http://localhost:8787`\n\nas the signaling URL.\n\nSmoke test signaling: `pnpm --filter @freeremotedesk/signaling smoke`\n\n.\n\nFull setup: [ docs/DEVELOPMENT.md](/Teylersf/freeremotedesk/blob/main/docs/DEVELOPMENT.md).\n\nThe agent is a Tauri app whose WebView calls `navigator.mediaDevices.getDisplayMedia()`\n\nand standard browser WebRTC — no custom video codec, no native capture layer. The PWA client uses the same WebRTC APIs. Signaling is a Cloudflare Worker + one Durable Object per pairing code — it relays SDP/ICE, video is E2E encrypted by DTLS-SRTP and never touches signaling infrastructure. Input events return over a WebRTC DataChannel and get injected on the host via Rust `enigo`\n\n.\n\nFull design + rationale: [ ARCHITECTURE.md](/Teylersf/freeremotedesk/blob/main/ARCHITECTURE.md).\n\n**v0.1.0 shipped** — Phase 1 MVP + BYO-infra pivot + Phase 4 packaging complete. CI green on Windows/macOS/Linux. Installers on the [releases page](https://github.com/Teylersf/freeremotedesk/releases).\n\n**v0.2.0 planned** — WebAuthn/passkey saved hosts, biometric reconnect, session PIN as fallback.\n\nApache-2.0 (pending — will be locked in before v0.2.0).", "url": "https://wpnews.pro/news/free-remote-desktop-without-servers", "canonical_source": "https://github.com/Teylersf/freeremotedesk", "published_at": "2026-07-16 00:25:10+00:00", "updated_at": "2026-07-16 00:55:09.645819+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools"], "entities": ["Teylersf", "Cloudflare", "Vercel", "Claude Code", "Cursor", "Aider", "Codex", "Continue"], "alternates": {"html": "https://wpnews.pro/news/free-remote-desktop-without-servers", "markdown": "https://wpnews.pro/news/free-remote-desktop-without-servers.md", "text": "https://wpnews.pro/news/free-remote-desktop-without-servers.txt", "jsonld": "https://wpnews.pro/news/free-remote-desktop-without-servers.jsonld"}}