better-remote-commander
Health Uyari
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Basarisiz
- rimraf — Recursive directory removal in package.json
- process.env — Environment variable access in packages/agent/src/cli.ts
- process.env — Environment variable access in packages/agent/src/core/config-manager.ts
- os.homedir — User home directory access in packages/agent/src/core/config.ts
- process.env — Environment variable access in packages/agent/src/core/config.ts
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Self-hosted remote control of your own computers from Claude and ChatGPT. Files, terminal and processes on any machine you pair — through a relay you host, on your domain.
Better Remote Commander
Self-hosted remote control of your own computers from Claude and ChatGPT.
Files, terminal and processes on any machine you pair — through a relay you host, on your domain.
Claude / ChatGPT ──HTTPS (OAuth 2.0)──▶ relay (your server or PC) ──outbound WebSocket──▶ agent on your machine
- Claude: add the relay as a custom connector (remote MCP). Works in claude.ai web, desktop and mobile.
- ChatGPT: add the relay as a remote MCP connector.
- Your infrastructure: run the relay on a VPS, or on your PC behind a Cloudflare Tunnel / ngrok. SQLite, one container, no third-party service.
- Many machines: pair Windows, macOS, Linux boxes and containers to one relay; agents only connect outbound.
- Control: browser dashboard to pair, pause, rename and remove devices, manage OAuth clients and see an audit log.
Features
- Remote MCP relay with OAuth 2.0 (dynamic client registration, PKCE) and API keys, for Claude and ChatGPT.
- Device pairing: the agent shows a code, you approve it in the browser. Device tokens are stored hashed.
- Multi-device: every tool takes an optional
deviceId. With one device online it is picked automatically. - Outbound-only agents: no open ports on your machines. Automatic reconnect, heartbeat and re-pairing.
- Admin dashboard (
/admin): rename, pause, resume and delete devices, view the audit log and stats./auth/clientsmanages OAuth clients and/auth/apikeysmanages API keys. - Audit log of every tool call, and per-device pause switch.
- Encrypted file transfer between devices (see below).
- OS service install (
--install-service) so the agent starts at login. - Security: login rate limiting, signed session cookies, security headers, blocked-command list and
allowedDirectorieson the agent. SeeSECURITY.md. - Deployment: Docker Compose profiles for Caddy (auto-TLS), Cloudflare Tunnel, ngrok or localhost.
- Android agent (branch
feat/android-agent): native Kotlin agent that exposes Android-specific tools
(accessibility automation, screenshots, notifications, contacts, SMS, location, camera/mic capture, screen
recording, app install, automation jobs, Shizuku/Device Owner modes). See docs/android-agent.md.
Tools available to the AI
The relay adds list_devices. The agent provides 28 tools, derived from Desktop Commander plus BRC additions.
| Category | Tools |
|---|---|
| Devices | list_devices |
| Config | get_config, set_config_value |
| Files | read_file, read_multiple_files, write_file, create_directory, list_directory, move_file, get_file_info |
| Editing | edit_block (surgical text replace), write_pdf |
| Search | start_search, get_more_search_results, stop_search, list_searches |
| Processes | start_process, read_process_output, interact_with_process, force_terminate, list_sessions, list_processes, kill_process |
| File transfer | prepare_file_transfer, send_file_transfer, receive_file_transfer |
| Diagnostics | get_usage_stats, get_recent_tool_calls, get_prompts, give_feedback_to_desktop_commander |
Note: write_pdf downloads Chrome on first use.
Encrypted file transfer
Move a file from one paired device to another without routing it through the relay. The encrypted blob is hosted temporarily on tmpfiles.org:
prepare_file_transferon the destination. Returns areceiveIdandrecipientPublicKey.send_file_transferon the source with that public key. The file is encrypted and uploaded;
it returns atransferTokenholding the download URL and a wrapped key (never the raw AES key).receive_file_transferon the destination with thereceiveIdandtransferToken.
It downloads, authenticates, decrypts and saves the file.
Install
1. Relay (once, on a server or your PC)
Docker (recommended)
git clone https://github.com/shahidx0x/better-remote-commander.git && cd better-remote-commander
cp .env.example .env # set PUBLIC_URL, BRC_ADMIN_PASSWORD, BRC_SESSION_SECRET
docker compose --profile cloud up -d # VPS with your domain (Caddy, auto-TLS)
docker compose --profile tunnel --profile cloudflare up -d # your PC via Cloudflare Tunnel
docker compose --profile tunnel --profile ngrok up -d # your PC via a static ngrok domain
docker compose --profile local up -d # localhost only (testing)
Images are published to ghcr.io/shahidx0x/better-remote-commander/relay and /agent.
Without Docker
npm i -g brc-relay
PUBLIC_URL=https://rdp.example.com BRC_ADMIN_PASSWORD=... BRC_SESSION_SECRET=... brc-relay
Put it behind any HTTPS reverse proxy (Caddy, nginx, Cloudflare Tunnel) that forwards WebSockets, and set TRUST_PROXY=true.
2. Agent (on every machine you want to control)
npm i -g brc-agent # any OS with Node 22.13+
brc-agent --relay https://rdp.example.com --name "My PC"
The agent prints a pairing code and opens https://rdp.example.com/device/verify; sign in and approve.
Then make it start at login: brc-agent --install-service.
Docker agent (Linux servers): docker run -d -v brc-agent:/home/rdp/.brc -e BRC_RELAY=https://rdp.example.com -e BRC_NAME=srv1 ghcr.io/shahidx0x/better-remote-commander/agent
Android phone (branch feat/android-agent): build the APK from apps/android-agent, install it, enter your relay
URL and approve the pairing. Full guide, tool list and permissions: docs/android-agent.md.
3. Connect your AI
- Claude: Settings → Connectors → Add custom connector → URL
https://rdp.example.com/mcp→ Add → Connect → sign in → Allow. - ChatGPT (MCP): Settings → Connectors → add
https://rdp.example.com/mcp.
Useful URLs on your relay: /admin (devices, audit), /device/verify (pairing), /auth/clients, /health.
Build from source
pnpm install && pnpm build && pnpm test
node packages/relay/dist/cli.js # relay
node packages/agent/dist/cli.js # agent
Requires Node 22.13+ (uses node:sqlite) and pnpm 11. Design notes: docs/architecture.md. Security notes: SECURITY.md.
License
MIT — see LICENSE.
Credits
The agent's tool implementation (packages/agent/src/core) is derived from
Desktop Commander MCP by Eduard Ruzga and contributors (MIT).
Desktop Commander's hosted remote relay is proprietary; this project provides an open, self-hostable relay with the same
device-agent model, plus OAuth for Claude/ChatGPT, device pairing, and a browser dashboard. See NOTICE.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi