Public Welfare · Free · Forever Free

SamVNC

Turn any desktop into a browser-accessible remote desktop. Supports X11/GDI screen capture, keyboard & mouse input injection, and Chrome CDP automation. One-line install, public URL access.

Why SamVNC

Built on aitun.cc tunnel — no public IP required. Get a public HTTPS URL on startup, control desktop and Chrome from any browser.

🌐
Browser Remote Desktop
Open the public URL in any browser to see the remote desktop. Supports X11 (Linux) and GDI (Windows) screen capture with adjustable FPS.
Keyboard & Mouse Input
Real-time keyboard and mouse event injection via WebSocket. Linux uses XTEST + xdotool, Windows uses SendInput. Supports click, drag, scroll.
📁
Chrome CDP Automation
Connect to Chrome DevTools Protocol (CDP) via HTTP API. Navigate, eval JS, read DOM, manipulate iframes, screenshot, drag slider captchas.
🔗
Clipboard Sharing
Bidirectional clipboard sync — copy locally, paste remotely. Supports text and images.
🛡️
Auto Subdomain Registration
Built-in aitun.cc management API client. Auto-registers subdomain on startup. Zero config — one command gets you a public URL.
📱
Cross-platform + Demo Mode
Linux/Windows/macOS all supported. Headless servers can use --demo mode with synthetic desktop for testing.

One-line Install

Auto-detects platform, downloads samvnc-server to /usr/local/bin or ~/.local/bin.

Linux / macOS · curl + bash
# One-line install (auto-detects amd64/arm64/arm) curl -fsSL https://samai.cc/samvnc/downloads/install.sh | bash # Re-run this same command anytime to update to the latest version samvnc-server --verbose
Windows · PowerShell
# Run in PowerShell (admin: Program Files, else %LOCALAPPDATA%) irm https://samai.cc/samvnc/downloads/install.ps1 | iex
Headless Server · Demo Mode
# No display? Run demo mode with synthetic desktop samvnc-server --demo --verbose # Get a public URL on startup, open in browser # Auto-registers subdomain samvnc-<hostname>-<random>.t.aitun.cc

Remote Desktop in 30 Seconds

Three steps after install — browser-accessible remote desktop.

1️⃣ Start samvnc-server

samvnc-server --token mysecret --verbose

Auto-registers subdomain on startup. Open the URL in any browser.

2️⃣ Open in Browser

# Open the URL from startup output https://samvnc-myhost-abc123.t.aitun.cc # Or take a screenshot via API curl https://samvnc-myhost-abc123.t.aitun.cc/api/screenshot -o screen.png # Check status curl https://samvnc-myhost-abc123.t.aitun.cc/api/status

Browser shows live desktop. API returns PNG screenshot.

3️⃣ Chrome Automation

# Navigate to URL curl -X POST https://samvnc-myhost.t.aitun.cc/api/navigate \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com"}' # Execute JavaScript curl -X POST https://samvnc-myhost.t.aitun.cc/api/eval \ -H "Content-Type: application/json" \ -d '{"script":"document.title"}' # Click coordinates curl -X POST https://samvnc-myhost.t.aitun.cc/api/click \ -H "Content-Type: application/json" \ -d '{"x":100,"y":200}'

Full CDP: navigate, JS eval, DOM read, iframe ops, screenshot, slider captcha.

Download Binaries

All binaries are statically linked — zero runtime deps. See checksums-sha256.txt

Platform Architecture File Size Download
🐧Linux x86-64 (amd64) samvnc-server-linux-amd64 8.2 MB Download
🐧Linux ARM 64-bit (arm64) samvnc-server-linux-arm64 7.7 MB Download
🐧Linux ARM 32-bit v7 (armv7l) samvnc-server-linux-arm 7.9 MB Download
🪟Windows x86-64 (amd64) samvnc-server-windows-amd64.exe 8.2 MB Download
🍎macOS Intel (amd64) samvnc-server-darwin-amd64 8.2 MB Download
🍎macOS Apple Silicon (arm64) samvnc-server-darwin-arm64 6.9 MB Download
📜Install Script Linux / macOS install.sh 2.1 KB Download
📜Install Script Windows PowerShell install.ps1 2.0 KB Download

HTTP Endpoints

HTTP API requires no auth (WebSocket auth via Hello handshake, set token with --token flag).

MethodPathPurpose
GET/api/statusServer status (CDP, capture, injector)
GET/api/screenshotDesktop screenshot (PNG)
GET/api/targetsList all CDP targets (pages, iframes)
GET/api/cookiesGet Chrome cookies
POST/api/navigateNavigate Chrome to URL
POST/api/evalExecute JavaScript, return result
POST/api/domGet DOM element outerHTML
POST/api/scrollScroll page
POST/api/clickMouse click (X11 injection)
POST/api/typeType text via keyboard
POST/api/dragMouse drag (slider captcha)
POST/api/iframe/evalExecute JS inside iframe
POST/api/iframe/clickClick inside iframe
POST/api/mouse/clickMouse click (specify button)
POST/api/mouse/dragMouse drag (any button)
POST/api/mouse/wheelScroll wheel
POST/api/key/downKey down
POST/api/key/upKey up
WS/wsWebSocket remote desktop (video stream + input injection)