Skip to content

decolua/9remote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

9Remote Dashboard

9Remote β€” Terminal in Your Pocket

Want to code from bed? Fix bugs while having coffee? Deploy while on vacation?

Your Mac/Linux/Windows terminal, remote desktop, and file explorer β€” accessible from any phone or browser, anywhere, instantly.

npm version Downloads License

πŸš€ Quick Start β€’ πŸ“Š Comparison β€’ πŸ’‘ Features β€’ 🌐 Website β€’ πŸ“– Docs β€’ πŸ’¬ Facebook

πŸ‡ΊπŸ‡Έ English β€’ πŸ‡»πŸ‡³ TiαΊΏng Việt


🚧 Development Status

9Remote is currently in active development.

The source code is not open-source yet. If this project gets enough ⭐ support from the community, we will fully open-source it so everyone can contribute and self-host.

⭐ Star this repo to help us reach the open-source milestone!


πŸ€” Why 9Remote?

Remote access today is painful:

  • ❌ SSH is a hassle β€” firewall rules, port forwarding, SSH keys, IP whitelisting
  • ❌ VPN is overkill β€” complex setup just to check a terminal
  • ❌ ngrok / tunnels expire β€” lose connection, restart everything
  • ❌ TeamViewer is slow β€” high latency, desktop-only, paid for commercial use
  • ❌ Chrome Remote Desktop β€” no terminal, no file explorer, no mobile
  • ❌ Termius β€” SSH-only, no remote desktop, no browser access

9Remote solves all of it:

  • βœ… One command β€” install, scan QR, done in 30 seconds
  • βœ… Auto tunnel β€” Cloudflare tunnel starts automatically, no port forwarding
  • βœ… All-in-one β€” terminal + remote desktop + file explorer + code editor in one app
  • βœ… Works on phone β€” full workspace from your browser, under 50ms latency
  • βœ… Persistent sessions β€” PTY daemon survives server restarts
  • βœ… Pair Device security β€” only approved devices can connect, zero signup friction

⚑ Quick Start

Install globally:

npm install -g 9remote
9remote

πŸŽ‰ Scan the QR code on your phone β†’ pair your device β†’ you're in.

That's it! No config, no firewall rules, no signup.

Ready in 30 seconds. Works on macOS, Linux, and Windows.


πŸ“Š 9Remote vs Other Remote Solutions

Feature 9Remote Claude Remote TeamViewer Chrome Remote Termius
Zero Config βœ… βœ… βœ… βœ… ❌
Terminal Access βœ… βœ… ❌ ❌ βœ…
Remote Desktop βœ… ❌ βœ… βœ… ❌
File Explorer βœ… ❌ βœ… ❌ βœ…
Code Editor βœ… ❌ ❌ ❌ ❌
Git Integration βœ… ❌ ❌ ❌ ❌
Mobile Optimized βœ… βœ… ❌ ❌ βœ…
Browser-Based βœ… βœ… ❌ βœ… ❌
QR Login βœ… βœ… ❌ ❌ ❌
Auto Tunnel βœ… βœ… βœ… βœ… ❌
Persistent Sessions βœ… βœ… ❌ ❌ βœ…
Multi-Device Sync βœ… βœ… βœ… ❌ βœ…
Push Notifications βœ… βœ… ❌ ❌ ❌
AI Integration βœ… βœ… ❌ ❌ ❌
No Port Forwarding βœ… βœ… βœ… βœ… ❌
No Account Required βœ… ❌ ❌ ❌ ❌
TOTAL 16 / 16 11 / 16 7 / 16 5 / 16 7 / 16

πŸ† 9Remote: All-in-one solution with 16/16 features.


✨ Key Features

Feature What It Does Why It Matters
πŸ–₯️ Remote Terminal Full PTY shell via WebSocket Code like you're sitting at your Mac
πŸ–±οΈ Remote Desktop Live screen streaming via WebRTC View & control your machine from phone
πŸ“ File Explorer Browse, upload, download files Manage files without SSH/SFTP
πŸ’» Code Editor Built-in editor with syntax highlighting Quick edits without opening IDE
πŸ”— Git Integration Run git commands with visual status Commit/push from your phone
πŸ“± Mobile Optimized Touch-friendly UI, gesture controls Full workspace on a 6" screen
πŸ”‘ QR Login One-time 30-min key, scan to connect Zero-friction mobile access
πŸ”’ Auto Tunnel Cloudflare tunnel, no port forwarding Works behind any NAT/firewall
πŸ”„ Persistent Sessions PTY daemon survives restarts Long-running commands stay alive
🌍 Multi-Device Sync Same session across phone/tablet/laptop Switch devices without losing context
πŸ”” Push Notifications Build finished? Get notified Never miss a critical event
πŸ€– AI Integration Works with Claude Code, Codex, OpenClaw Code with AI from anywhere
🌐 Local Sites Proxy Expose localhost:3000 to phone Test dev servers on mobile instantly
⚑ Low Latency <50ms typical, WebRTC for desktop Feels like local
πŸ” Pair Device Approve each device before it connects No unauthorized access, full control
πŸ†“ No Account Required Machine ID + QR key, zero signup Privacy-first design

πŸ“± Available Platforms

πŸ’» CLI
npm install -g 9remote
macOS β€’ Linux β€’ Windows
πŸ–₯️ Desktop App
Tauri native app
macOS β€’ Windows β€’ Linux
🌐 Web Client
9remote.cc
Any modern browser
πŸ“± Mobile App
iOS β€’ Android
React Native / Expo

🎯 Use Cases

Case 1: "Code from bed"

Problem: It's 11 PM, you remember a bug but laptop is in another room.

Solution:

1. Open 9remote app on phone
2. Scan QR (or use saved session)
3. Open terminal β†’ fix bug β†’ git push
4. Sleep well 😴

Case 2: "Fix bugs at a cafe"

Problem: Production is down. You only have your phone and a bad cafΓ© Wi-Fi.

Solution:

1. Connect to your home/office Mac via 9remote
2. Tail logs in terminal
3. Edit config in built-in editor
4. Deploy β†’ crisis averted

Case 3: "Deploy while on vacation"

Problem: Client needs a hotfix. You're on the beach.

Solution:

1. Phone β†’ 9remote β†’ your dev machine
2. git pull β†’ build β†’ deploy
3. Back to the beach in 5 minutes πŸ–οΈ

Case 4: "On-call engineer"

Problem: PagerDuty alert at 3 AM. Don't want to power on laptop.

Solution:

1. Push notification β†’ tap β†’ 9remote opens
2. Terminal + remote desktop ready
3. Diagnose + restart service from bed
4. Resolve incident without getting up

πŸ“– Setup Guide

πŸš€ Installation Options

Option 1 β€” NPM (recommended)

npm install -g 9remote
9remote

Option 2 β€” Desktop App

Download from 9remote.cc/download β€” native app with system tray integration, auto-start on boot, and background mode.

Option 3 β€” Mobile App

  • iOS: App Store β†’ "9Remote"
  • Android: Google Play β†’ "9Remote"
πŸ”‘ First Run & QR Login

On first run, 9Remote generates two keys:

  • Permanent Key β€” stored locally, tied to your machine ID, used for trusted devices
  • One-Time Key β€” 30-minute temporary key, used for the QR code shown in terminal

Connect from phone:

  1. Run 9remote on your Mac/Linux/Windows machine
  2. A QR code appears in the terminal
  3. Open 9Remote app (or 9remote.cc) on your phone
  4. Scan the QR β†’ connected instantly

Keys are never stored on our servers after the session ends.

πŸ–±οΈ Remote Desktop Setup (macOS)

Remote Desktop requires two system permissions on macOS:

  1. Screen Recording β€” System Settings β†’ Privacy & Security β†’ Screen Recording β†’ enable Terminal (or 9Remote Desktop app)
  2. Accessibility β€” System Settings β†’ Privacy & Security β†’ Accessibility β†’ enable Terminal (or 9Remote Desktop app)

Then enable in 9Remote:

TUI menu β†’ Remote Desktop β†’ Toggle ON

Performance:

  • Adaptive framerate: 60ms active / 400ms idle
  • Tile-based diff rendering (only changed regions sent)
  • WebRTC DataChannel for minimal latency
🌐 Local Sites Proxy

Expose your local dev servers (e.g. localhost:3000, localhost:5173) to your phone automatically.

9Remote auto-detects running ports and proxies them:
  http://localhost:3000  β†’  https://<tunnel>/proxy/3000/
  http://localhost:5173  β†’  https://<tunnel>/proxy/5173/

Perfect for:

  • Testing responsive design on real devices
  • Sharing WIP builds with clients
  • Mobile debugging without USB cable
⌨️ CLI Commands
Command Description
9remote TUI mode β€” interactive menu with QR code
9remote ui Web UI mode β€” opens browser dashboard at localhost:2208

❓ Frequently Asked Questions

πŸ”’ Is 9Remote secure?

Yes. 9Remote uses a Pair Device approval system β€” every new device must be explicitly approved by you before it can access the host. Plus:

  • No open ports on your machine (Cloudflare tunnel, outbound-only)
  • Keys are never stored on our servers after the session ends
  • No terminal output, files, or screen data is collected
  • One-time QR keys expire in 30 minutes
  • Pending/rejected devices can be managed anytime from the TUI menu
πŸ’° Is it free?

Yes, during the development phase. 9Remote is free to use. No signup, no credit card.

Once we open-source, it will remain free forever (MIT license planned).

πŸ“¦ When will it be open-source?

When the project reaches enough ⭐ GitHub stars to prove community interest.

We want to make sure there's a real community before committing to open-source maintenance. Star this repo to help us hit the milestone faster!

🌐 Do I need to open any ports?

No. 9Remote uses Cloudflare Quick Tunnel β€” outbound connection only. Works behind:

  • Home NAT routers
  • Corporate firewalls
  • Mobile hotspots
  • VPNs
πŸ“΄ Does it work offline / on LAN only?

Yes. 9Remote includes a LocalFirstAdapter that races LAN vs tunnel connection and uses whichever is faster. If phone and host are on the same Wi-Fi, traffic stays local.

πŸ€– Can I use AI coding tools through 9Remote?

Yes! 9Remote works seamlessly with:

  • Claude Code
  • OpenAI Codex CLI
  • Cursor
  • OpenClaw
  • Any CLI tool that runs in a terminal

Run them on your host machine, access them from your phone. Combined with 9Router, you get free AI coding from anywhere.

πŸ–₯️ What platforms are supported?

Host (where 9Remote agent runs):

  • βœ… macOS (Intel + Apple Silicon)
  • βœ… Linux (x64, arm64)
  • βœ… Windows (x64)

Client (where you connect from):

  • βœ… Any modern browser (Chrome, Safari, Firefox, Edge)
  • βœ… iOS 14+
  • βœ… Android 8+
  • βœ… Tauri desktop app (macOS, Windows, Linux)

πŸ› οΈ Tech Stack

  • Runtime: Node.js 20+
  • Tunnel: Cloudflare Quick Tunnel β€” zero-config secure tunnel
  • Terminal: node-pty β€” persistent PTY sessions
  • Remote Desktop: node-datachannel (WebRTC) + robotjs (input control)
  • Real-time: Socket.IO β€” terminal streaming + WebRTC signaling
  • Agent UI: Preact β€” lightweight embedded dashboard
  • Web Client: Next.js 16 + React 19 + Tailwind CSS 4
  • Desktop App: Tauri 2 β€” native shell with auto-updater
  • Mobile App: Expo β€” React Native with WebView shell
  • Edge API: Cloudflare Workers β€” session management + TURN credentials

πŸ› Troubleshooting

"Port 2208 already in use"

  • Another 9Remote instance is running β†’ pkill -f 9remote then retry
  • Or run on a different port: PORT=3308 9remote

"Cloudflare tunnel failed to start"

  • Check internet connection
  • cloudflared auto-installed on first run β€” if it fails, install manually: cloudflared docs

"Screen Recording / Accessibility permission denied" (macOS)

  • Grant permissions in System Settings β†’ Privacy & Security
  • Restart 9Remote after granting

"QR code expired"

  • One-time keys expire in 30 minutes β†’ regenerate from TUI menu: Key β†’ Regenerate

"Can't connect from phone"

  • Check both devices have internet
  • Try forcing tunnel mode (skip LAN): Settings β†’ Connection β†’ Tunnel only

"Remote desktop laggy"

  • Reduce resolution in settings
  • Switch to terminal-only if desktop not needed
  • Use LAN mode if on same Wi-Fi for lowest latency

⭐ Show Your Support

9Remote is in active development and we need your support to reach the open-source milestone!

  • ⭐ Star this repo β€” every star brings us closer to going open-source
  • 🐦 Share on Twitter / X β€” tell other devs about 9Remote
  • πŸ’¬ Join our Facebook community β€” facebook.com/groups/9teamvn
  • πŸ› Report issues β€” found a bug? Let us know!
  • πŸ’‘ Request features β€” what would make your remote workflow better?

πŸ“§ Support & Links


πŸ“„ License

Proprietary β€” All Rights Reserved.

9Remote is currently in active development and is not open-source yet. The published npm package is free to use, but the source code is not publicly available.

🎯 Open-source milestone: once this repo reaches enough ⭐ support, the full source code will be released under the MIT license.


Built with ❀️ for developers who code from anywhere β€” bed, beach, or bus.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors