Your entire server infrastructure at your fingertips
Find a file
2024-08-09 07:00:29 +00:00
.github Use dependabot for gh actions as well 2024-03-21 05:48:26 +00:00
app Fix shutdown requests 2024-08-09 07:00:29 +00:00
beacon Fix shutdown requests 2024-08-09 07:00:29 +00:00
core Improve shell error messages 2024-08-03 01:50:04 +00:00
dist [stage] 2024-08-06 14:35:20 +00:00
ext Small fixes 2024-08-06 14:19:13 +00:00
gradle Vnc auth fixes [stage] 2024-07-22 09:55:28 +00:00
lang I18n fixes 2024-08-08 14:04:06 +00:00
.gitattributes Merge branch vnc into master 2024-04-13 16:23:09 +00:00
.gitignore Merge branch mac-window into master 2024-07-18 13:47:21 +00:00
build.gradle Enable zgc 2024-07-28 19:48:33 +00:00
CODE_OF_CONDUCT.md Add coc 2023-12-09 02:49:02 +00:00
CONTRIBUTING.md Small fixes 2024-06-20 01:23:57 +00:00
get-xpipe.ps1 Fix install script sometimes uninstalling PTB version 2024-03-04 20:09:12 +00:00
get-xpipe.sh Fix install script for macos 2024-06-15 13:16:51 +00:00
gradlew Small fixes 2023-10-14 16:13:04 +00:00
gradlew.bat Small fixes 2023-10-14 16:13:04 +00:00
LICENSE.md More readme fixes 2024-04-03 05:26:04 +00:00
openapi.yaml Move ptb auth file 2024-07-13 06:56:22 +00:00
README.md Implement profiles 2024-08-01 22:29:13 +00:00
SECURITY.md More readme fixes 2024-04-03 05:20:06 +00:00
settings.gradle Build fixes 2024-04-24 17:31:48 +00:00
version [stage] 2024-08-06 14:35:20 +00:00

XPipe Banner

About

XPipe is a new type of shell connection hub and remote file manager that allows you to access your entire server infrastructure from your local machine. It works on top of your installed command-line programs and does not require any setup on your remote systems. So if you normally use CLI tools like ssh, docker, kubectl, etc. to connect to your servers, you can just use XPipe on top of that.

XPipe fully integrates with your tools such as your favourite text/code editors, terminals, shells, command-line tools and more. The platform is designed to be extensible, allowing anyone to add easily support for more tools or to implement custom functionality through a modular extension system.

It currently supports:

Connection hub

  • Easily connect to and access all kinds of remote connections in one place
  • Organize all your connections in hierarchical categories so you can keep an overview hundreds of connections
  • Create specific login environments on any system to instantly jump into a properly set up environment for every use case
  • Quickly perform various commonly used actions like starting/stopping containers, establishing tunnels, and more
  • Create desktop shortcuts that automatically open remote connections in your terminal without having to open any GUI

connections

Powerful file management

  • Interact with the file system of any remote system using a workflow optimized for professionals
  • Quickly open a terminal session into any directory in your favourite terminal emulator
  • Utilize your entire arsenal of locally installed programs to open and edit remote files
  • Dynamically elevate sessions with sudo when required without having to restart the session
  • Seamlessly transfer files from and to your system desktop environment
  • Work and perform transfers on multiple systems at the same time with the built-in tabbed multitasking

browser

Terminal launcher

  • Boots you into a shell session in your favourite terminal with one click. Automatically fills password prompts and more
  • Comes with support for all commonly used terminal emulators across all operating systems
  • Supports opening custom terminal emulators as well via a custom command-line spec
  • Works with all command shells such as bash, zsh, cmd, PowerShell, and more, locally and remote
  • Connects to a system while the terminal is still starting up, allowing for faster connections than otherwise possible

Terminal launcher


Versatile scripting system

  • Create reusable simple shell scripts, templates, and groups to run on connected remote systems
  • Automatically make your scripts available in the PATH on any remote system without any setup
  • Setup shell init environments for connections to fully customize your work environment for every purpose
  • Open custom shells and custom remote connections by providing your own commands

scripts

Secure vault

  • All data is stored exclusively on your local system in a cryptographically secure vault. You can also choose to increase security by using a custom master passphrase for further encryption
  • XPipe is able to retrieve secrets automatically from your password manager via it's command-line interface.
  • There are no servers involved, all your information stays on your systems. The XPipe application does not send any personal or sensitive information to outside services.
  • Vault changes can be pushed and pulled from your own remote git repository by multiple team members across many systems

Programmatic connection control via the API

  • The XPipe API provides programmatic access to XPipes features via an HTTP interface
  • Manage all your remote systems and access their file systems in your own favorite programming language
  • Either call the API directly or with the help of a community-made library, such as:
  • Full documentation can be either found in the application itself under the API tab or in the OpenAPI spec file

Downloads

Note that this is a desktop application that should be run on your local desktop workstation, not on any server or containers. It will be able to connect to your server infrastructure from there.

Windows

Installers are the easiest way to get started and come with an optional automatic update functionality:

You can also install XPipe by pasting the installation command into your terminal. This will perform the .msi setup automatically:

powershell -ExecutionPolicy Bypass -Command iwr "https://github.com/xpipe-io/xpipe/raw/master/get-xpipe.ps1" -OutFile "$env:TEMP\get-xpipe.ps1" ";"  "&" "$env:TEMP\get-xpipe.ps1"

If you don't like installers, you can also use a portable version that is packaged as an archive:

Alternatively, you can also use the following package managers:

  • choco to install it with choco install xpipe.
  • winget to install it with winget install xpipe-io.xpipe --source winget.

Linux

You can install XPipe the fastest by pasting the installation command into your terminal. This will perform the setup automatically. The script supports installation via apt, dnf, yum, zypper, rpm, and pacman on Linux:

bash <(curl -sL https://github.com/xpipe-io/xpipe/raw/master/get-xpipe.sh)

Of course, there are also other installation methods available.

Debian-based distros

The following debian installers are available:

Note that you should use apt to install the package with sudo apt install <file> as other package managers, for example dpkg, are not able to resolve and install any dependency packages.

RHEL-based distros

The following rpm installers are available:

The same applies here, you should use a package manager that supports resolving and installing required dependencies if needed.

Arch

There is an official AUR package available that you can either install manually or via an AUR helper such as with yay -S xpipe.

NixOS

There's an official xpipe nixpkg available that you can install with nix-env -iA nixos.xpipe. This one is however not always up to date.

There is also a custom repository that contains the latest up-to-date releases: https://github.com/xpipe-io/nixpkg. You can install XPipe by following the instructions in the linked repository.

Portable

In case you prefer to use an archive version that you can extract anywhere, you can use these:

Alternatively, there are also AppImages available:

Note that the portable version assumes that you have some basic packages for graphical systems already installed as it is not a perfect standalone version. It should however run on most systems.

macOS

Installers are the easiest way to get started and come with an optional automatic update functionality:

You also can install XPipe by pasting the installation command into your terminal. This will perform the .pkg installation automatically:

bash <(curl -sL https://github.com/xpipe-io/xpipe/raw/master/get-xpipe.sh)

If you don't like installers, you can also use a portable version that is packaged as an archive:

Alternatively, you can also use Homebrew to install XPipe with brew install --cask xpipe-io/tap/xpipe.

Early access releases

Prior to major releases, there will be several Public Test Build (PTB) releases published at https://github.com/xpipe-io/xpipe-ptb to see whether everything is production ready and contain the latest new features.

In case you're interested in trying out the PTB versions, you can easily do so without any limitations. The regular releases and PTB releases are designed to not interfere with each other and can therefore be installed and used side by side.

Further information

Open source model

XPipe follows an open core model, which essentially means that the main application is open source while certain other components are not. This mainly concerns the features only available in the professional edition and the shell handling library implementation. Furthermore, some CI pipelines and tests that run on private servers are also not included in the open repository.

The distributed XPipe application consists out of two parts:

  • The open-source core that you can find this repository. It is licensed under the Apache License 2.0.
  • The closed-source extensions, mostly for professional edition features, which are not included in this repository

Additional features are available in the professional edition. For more details see https://xpipe.io/pricing. If your enterprise puts great emphasis on having access to the full source code, there are also full source-available enterprise options available.

You have more questions? Then check out the FAQ.

For information about the security model of XPipe, see the security page.

For information about the privacy policy of XPipe, see the privacy policy.

In case you're interested in development, check out the contributing page.

Discord