gitmyhub

xpipe

Java ★ 14k updated 4h ago

Access your entire server infrastructure from your local desktop

A desktop app that centralizes all your server, container, cloud, and VM connections in one place, letting you browse files and open terminals on remote machines without changing their setup.

Javasetup: easycomplexity 2/5

XPipe is a desktop application that gives you a single place to manage connections to servers, virtual machines, containers, and cloud systems from your local computer. It works by sitting on top of tools you already have installed, like SSH clients and Docker, rather than requiring you to install anything on the remote machines. This means you can start using it without touching your existing server setup.

The connection hub is the central screen where you organize every system you want to connect to. You can group connections into folders, add labels, and jump into a shell session on any of them in one click. It supports SSH connections and config files, Docker and Podman containers, Kubernetes clusters, virtual machines running on Proxmox, Hyper-V, VMware, or KVM, VPN-based networks like Tailscale and Netbird, cloud servers on AWS or Hetzner, and remote desktop protocols like RDP and VNC.

The built-in file browser lets you navigate the file system on a remote machine much like you would on your own desktop. You can open remote files with local programs, transfer files by dragging them between systems, open a terminal directly into any folder, and elevate your permissions with sudo when needed without restarting your session. Multiple systems can be open in separate tabs at the same time.

XPipe also includes a terminal launcher, which opens a shell session in whatever terminal emulator you prefer with one click. It works with common shells like bash, zsh, fish, PowerShell, and cmd, and integrates with terminal multiplexers and prompt tools you might already be using. There is also a scripting system where you can create reusable shell scripts that automatically become available on any connected remote system.

Settings and connection data can be synced across multiple computers via a self-hosted git repository, which also makes it possible to share configuration with a team. The application is open source and written in Java.

Where it fits