X stands for Cross — cross-machine file operations.
A lightweight, high-performance Rust server for multi-machine file management. Connect to any number of remote machines from a single browser tab — copy, paste, move files across machines with drag-and-drop.
🌐 Website: sidecarx.dev | 🚀 Live Demo: demo.sidecarx.dev
There are many file browsers on GitHub. Here's why SidecarX exists.
File Browser is a mature, widely-adopted project. SidecarX builds on that foundation but is purpose-built for the AI-agent era:
| Capability | File Browser | SidecarX |
|---|---|---|
| Terminal | Shell execute only (no TTY) | Full WebSocket PTY terminal — interactive shell, resize-aware |
| Code Editor | Basic text editor | Advanced code editor with syntax highlighting (third-party) |
| Preview | Text + images | Lightbox viewer: Video, Image, Audio, PDF, Markdown, HTML |
| Markdown Preview | Not supported | Native Markdown rendering — critical for AI-generated content |
| HTML Preview | Not supported | Live HTML preview with security sandbox (CDN/external JS allowed; local JS blocked) |
| Multi-Machine | Single-instance only | Connect N machines from one browser tab with cross-machine clipboard |
SidecarX is not a DevOps dashboard. No CI/CD, no container orchestration, no metrics pipelines. It is a pure, focused multi-machine file browser — simple, direct file management and terminal access across all your machines. No complexity you didn't ask for.
The closest alternative in the multi-machine space is file-explorer, which uses a hub-and-spoke model: one central hub proxies all traffic to remote machines. SidecarX adopts a peer-to-peer model — every instance is an independent node with its own panel, its own server, and the ability to connect to others. No single point of failure, no hub to maintain. Each SidecarX instance is a self-contained, statically-linked Rust binary.
- Cross-Machine Clipboard: Copy files on machine A, paste to machine B. No SSH, SCP, or Rsync.
- Cross-Machine Drag-and-Drop: Drag files between machines in a single browser window.
- Unified Workspace: Editors and terminals for all connected machines inside one tab dock.
- Centralized Config: Define all target machines in
admin_cfg.json, switch with one click.
- Universal Preview: Overlay-based viewer supporting Video, Image, Audio, PDF, Markdown, and HTML.
- Security-First Sandboxing: In-place HTML rendering with native element sandboxing. Token-in-URL isolation — fetch tokens are strictly separate from auth tokens.
- Maximized Cache Efficiency: Default 7-day browser cache TTL. Configurable down to 1 day, 4 hours, or 1 hour for high-security environments.
- File Management: Remote search (regex/glob), upload/download, batch ZIP, directory ops, video frame extraction (optional
ffmpeg). - Interactive Terminal: WebSocket PTY (
xterm.js/portable-pty) with responsive resize. - Jail Isolation:
SIDECAR_ROOT_DIRsandboxes all file operations — path-traversal hardened.
- Business Sleek: Professional, minimal, performance-engineered visual style.
- Human Taste: Hand-calibrated aesthetics — organic, not AI-generated.
- Pure Handcrafted CSS: 1,000+ lines of custom CSS. Zero UI frameworks, zero component libraries, zero CDN stylesheets. Every style is embedded and pixel-perfected by hand.
Dark theme:
Markdown preview overlay:
Media preview overlay:
Mobile responsive:
Mobile responsive (sidebar):
Terminal running Hermes Agent:
Choose the method that matches your architecture:
For local machines or cloud VPS hosts. Downloads, configures, and installs SidecarX:
curl -fsSL https://raw.githubusercontent.com/pgmi-builds/sidecarx/main/install.sh | bash(On native VPS hosts, SidecarX registers as a standard systemd service.)
For Docker or container runtimes (e.g., Railway).
- Container Scripting: No SSH? Run the install script directly inside the container.
- SupervisorD: Production
Dockerfiletemplate usessupervisordas PID 1. - Co-location: Bundle your
Main Appside-by-side with SidecarX in the same container. - Config: See
docker-deploy/for theDockerfile,supervisord.conf, andstart.shtemplate.
Set via environment variables or .env:
| Variable | Default | Description |
|---|---|---|
SIDECAR_PORT |
3000 |
Server port |
SIDECAR_HOST |
0.0.0.0 |
Bind address |
SIDECAR_SECRET |
— | JWT signing secret (required in production) |
SIDECAR_PANEL_DIR |
./admin |
Admin panel static files directory |
SIDECAR_ROOT_DIR |
— | Jail directory for sandboxed file operations |
SIDECAR_UPLOAD_LIMIT |
1024 |
Upload size limit in MB |
SIDECAR_ENV_FILE |
.env |
Path to env file |
All API specifications live in the docs-and-specs/ directory. Refer there for endpoint details, request/response models, and route documentation.
Current release: v0.1.0
Pre-built binaries on the GitHub Releases page:
| Platform | Binary |
|---|---|
| Linux (x86_64) | sidecar-x86_64-unknown-linux-musl |
| Linux (ARM64) | sidecar-aarch64-unknown-linux-musl |
| macOS (Apple Silicon) | sidecar-aarch64-apple-darwin |
| Library | License | Role |
|---|---|---|
| Monaco Editor | MIT | Code editor |
| xterm.js | MIT | Terminal emulator |
| Lit | BSD-3-Clause | Web Components |
| marked | MIT | Markdown rendering |
| Material Symbols | Apache 2.0 | Icons |
| Roboto | OFL | Font |
Apache 2.0 © 2026 SidecarX Contributors
- Website: sidecarx.dev
- Live Demo: demo.sidecarx.dev
- GitHub: github.com/pgmi-builds/sidecarx








