Zero-Trust, VPN-free remote access

Your devices.
Accessible everywhere.
Exposed nowhere.

Reach your computers, servers, terminal, files, and code editor from any browser — through secure direct connections. Nothing listens on the public internet. No VPN to run. No port to forward.

Works behind NATNo firewall changes requiredNo static IP neededEnd-to-End encrypted

Control, without complexity.

Desktop, terminal, file transfer, and code editing — directly from your browser.

Reach your home PC from anywhere

Pick up exactly where you left off — desktop, terminal, files — from any browser. No tunnels to babysit, no IP to remember.

Share files between your devices

Drag and drop files between your laptop, desktop, and servers. Transfers go directly, encrypted, at full local speed.

Edit code from any browser

Open your projects in a full editor running against the real filesystem. No syncing, no remote IDE, no setup.

What people use it for

XShell is for the everyday cases where the machine is yours, but reaching it still feels harder than it should.

  • Your own private cloud

    Keep your files on your own machine and reach them from any browser. No third-party drive, no upload, no quota.

  • SSH without the setup

    Open a shell on a home or office computer from work, travel, or your phone — no static IP, no router changes, no VPN.

  • Develop on the real machine

    Edit code in the browser against the actual filesystem. Build, run, restart services — without syncing or remote IDEs.

  • Fix things from your phone

    When something is wrong and the machine that needs attention is at home, your phone is enough.

  • Move files between your devices

    Drag and drop directly between your laptop, desktop, and servers. Transfers go peer-to-peer, encrypted, at full speed.

  • Reach servers behind NAT

    Manage lab boxes, Raspberry Pis, and private servers while keeping every inbound port closed.

How it works

Three steps from a fresh machine to a working session in your browser.

1

Install the agent

Install on the machine you want to reach. One command for Debian, Fedora, or macOS. Open source, runs as you, no daemon listening on the internet.

2

Pair it with your account

Log in in the browser, click Add device, then run the generated pairing command in the agent terminal. The device appears in your workspace.

3

Open a session from any browser

Pick the device, get a terminal, file manager, or code editor — over a direct, end-to-end encrypted connection.

All your devices, one list

Every machine you've paired shows up in one place — laptops, home PCs, hosting boxes, Raspberry Pis. You can see what's online, share a device with someone you trust, rename it, rotate its credentials, or revoke access entirely.

  • Online / offline state at a glance
  • Share a device with another XShell user
  • Re-enroll or revoke any device in one click
  • Keyboard-first navigation for the people who care

Private by design, not by promise

XShell is built so that even the service operating it can't see what you do with it.

Even we can't read your sessions

Every keystroke, file transfer, and editor action is encrypted between your device and your browser. The relay we run is cryptographically excluded — it can route traffic, but it can't see inside it.

Nothing exposed to the internet

Your machine doesn't open ports, doesn't forward, doesn't accept inbound connections. The agent reaches out — attackers have no surface to scan.

Your password never leaves your device

Authentication uses a zero-knowledge proof. Your password is never sent to the server in any form — not encrypted, not hashed in transit. The server can't impersonate you either.

The agent is open source

What runs on your machine is GPLv3-licensed and auditable. You can read the code, build it yourself, and verify exactly what's connecting where.

Why not just use…

XShell is purpose-built for one job: secure remote access to your devices. Here's how it lines up against common alternatives.

vs SSH

No port forwarding, no static IP, no key files to manage. Works from any browser including mobile, with a file manager and code editor built in.

vs VPN (WireGuard, Tailscale)

A VPN puts your whole network on the line and asks you to install a client, configure routing, and manage keys on every device. XShell is a one-command install on the machine you want to reach — no network config, no client app, no headaches. One controlled channel instead of full network access.

vs Cloud drives (Dropbox, Drive)

Files stay on your machine. Transfers go directly between your devices — no third-party storage, no upload quota, no provider that can read your data.

Simple pricing

Start free, upgrade when you need more devices or relay-backed fallback for trickier networks.

Public beta

Free

For trying it out and personal use

$0forever
  • 1 device
  • Up to 3 parallel sessions
  • Terminal, file manager, and code editor
  • End-to-end encryption
  • Direct peer-to-peer connections
Get started free
Most popular

Pro

For people with more than one machine

View live pricein workspace
  • Up to 5 devices
  • Up to 20 parallel sessions
  • Everything in Free
  • TURN-assisted fallback for hard networks (50 GB / month)
  • Bring your own TURN server — opt out of our quota entirely
  • Priority support

P2P traffic is always free. Only TURN-relayed bytes count toward your quota.

View pricing

Install the agent

Add the repository and install with a single command. The agent is open source — you can read it before you run it.

Debian / Ubuntu / Raspbian (apt)

# Add the XShell signing keycurl -fsSL https://pkg.xshell.online/keys/xshell.asc \  | sudo gpg --dearmor -o /usr/share/keyrings/xshell.gpg# Add the XShell repositoryecho "deb [signed-by=/usr/share/keyrings/xshell.gpg] https://pkg.xshell.online/apt stable main" \  | sudo tee /etc/apt/sources.list.d/xshell.list# Installsudo apt updatesudo apt install xshell

Fedora / RHEL / Alma / Rocky (dnf)

# Add the XShell signing keysudo rpm --import https://pkg.xshell.online/keys/xshell.asc# Add the XShell repositorysudo tee /etc/yum.repos.d/xshell.repo >/dev/null <<'EOF'[xshell]name=XShellbaseurl=https://pkg.xshell.online/rpm/el/8/$basearchenabled=1gpgcheck=1repo_gpgcheck=0gpgkey=https://pkg.xshell.online/keys/xshell.ascEOF# Installsudo dnf install xshell

macOS (Homebrew)

# Add the XShell tapbrew tap xshelld/xshell# Installbrew install xshell

Other platforms

If your platform is not listed here, clone the agent and build it from source. XShell has a small dependency set and should build on most Unix-like systems. The project README will carry the build and install steps for source installs.

GitHub repository

Frequently asked questions

Do I need a static IP, port forwarding, or a VPN?

No. The agent on your device opens an outbound connection to our relay. Nothing on your network needs to be reachable from the public internet.

Can XShell read my terminal sessions or my files?

No. Session data is end-to-end encrypted between your device and your browser. Our relay forwards encrypted bytes and cannot decrypt them. Even file transfers stay encrypted end-to-end.

What happens if a direct peer-to-peer connection isn't possible?

Connections fall back through three layers so sessions stay reliable. First we try direct P2P. If a symmetric NAT or strict firewall blocks it, traffic moves to a TURN-assisted WebRTC path. If even that doesn't work, the session keeps running over our WebSocket relay. End-to-end encryption is preserved at every layer.

Will I be charged for traffic?

Direct peer-to-peer traffic is always free and never counted. Only TURN-assisted fallback bytes count toward your monthly quota. Pro users who don't want to use our TURN at all can configure their own TURN server in workspace settings — fallback then goes to it instead.

Is XShell open source?

The agent — the code that runs on your machine — is open source under GPLv3. You can audit, build, and verify it yourself. The hosted service and control plane are operated by us.

Which operating systems does the agent support?

Linux (Debian, Ubuntu, Raspbian, Fedora, RHEL, Alma, Rocky) on x86_64 and ARM, macOS via Homebrew, and Raspberry Pi. Windows support is in progress — see the roadmap for status.

What does the browser need?

Any modern browser with WebRTC support — Chrome, Firefox, Safari, Edge. No extensions, no native client to install.

Ready to get started?

Sign in, install the agent on one machine, and you'll be in a session from your browser in under five minutes.