xpipe-mirror/README.md

213 lines
12 KiB
Markdown
Raw Normal View History

2024-04-03 05:02:38 +00:00
<p align="center">
<a href="https://xpipe.io" target="_blank" rel="noopener">
<img src="https://github.com/xpipe-io/.github/raw/main/img/banner.png" alt="XPipe Banner" />
</a>
</p>
<h1></h1>
2022-08-13 07:29:26 +00:00
2024-04-03 05:02:38 +00:00
## 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.
2023-06-03 23:17:27 +00:00
2023-06-08 18:34:37 +00:00
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.
2023-06-03 23:17:27 +00:00
2023-08-10 16:40:48 +00:00
It currently supports:
2023-09-27 00:47:51 +00:00
- [SSH](https://www.ssh.com/academy/ssh/protocol) connections, config files, and tunnels
2024-03-07 23:16:37 +00:00
- [Docker](https://www.docker.com/), [Podman](https://podman.io/), and [LXD](https://linuxcontainers.org/lxd/introduction/) container instances located on any host
2023-08-10 16:40:48 +00:00
- [Windows Subsystem for Linux](https://ubuntu.com/wsl), [Cygwin](https://www.cygwin.com/), and [MSYS2](https://www.msys2.org/) instances
2024-03-07 23:16:37 +00:00
- [Proxmox PVE](https://www.proxmox.com/en/proxmox-virtual-environment/overview) virtual machines and containers
- [Kubernetes](https://kubernetes.io/) clusters, pods, and containers
2023-04-16 23:06:59 +00:00
- [Powershell Remote Sessions](https://learn.microsoft.com/en-us/powershell/scripting/learn/remoting/running-remote-commands?view=powershell-7.3)
2023-06-23 19:47:09 +00:00
- Any other custom remote connection methods that work through the command-line
2023-06-08 18:34:37 +00:00
2024-04-03 05:02:38 +00:00
## Connection hub
2023-06-02 16:44:41 +00:00
2023-07-08 02:48:23 +00:00
- Easily connect to and access all kinds of remote connections in one place
2024-04-03 05:02:38 +00:00
- 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
2023-06-02 16:44:41 +00:00
2024-07-23 12:26:12 +00:00
![connections](https://github.com/user-attachments/assets/07312929-1792-4589-b139-aa10bbcdc649)
2023-03-28 11:43:55 +00:00
2024-04-03 05:02:38 +00:00
## Powerful file management
2023-01-27 02:34:46 +00:00
2023-06-02 08:42:34 +00:00
- Interact with the file system of any remote system using a workflow optimized for professionals
2023-11-04 05:36:47 +00:00
- Quickly open a terminal session into any directory in your favourite terminal emulator
2024-04-03 05:02:38 +00:00
- Utilize your entire arsenal of locally installed programs to open and edit remote files
2023-11-04 05:36:47 +00:00
- Dynamically elevate sessions with sudo when required without having to restart the session
2024-04-03 05:02:38 +00:00
- 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
2024-07-23 12:26:12 +00:00
![browser](https://github.com/user-attachments/assets/7e5d8b3b-8cd7-4b71-ad79-9afb385de3fd)
2023-04-10 15:47:17 +00:00
2024-04-03 05:02:38 +00:00
## Terminal launcher
2023-03-28 11:56:11 +00:00
2024-04-03 05:02:38 +00:00
- Boots you into a shell session in your favourite terminal with one click. Automatically fills password prompts and more
2023-06-08 00:00:52 +00:00
- Comes with support for all commonly used terminal emulators across all operating systems
2024-04-03 05:02:38 +00:00
- 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
2023-02-27 05:38:36 +00:00
2023-06-08 18:34:37 +00:00
<br>
2023-06-08 15:31:54 +00:00
<p align="center">
2024-07-23 12:26:12 +00:00
<img src="https://github.com/user-attachments/assets/6d369688-1c33-4b27-8de6-f7f2c5977410" alt="Terminal launcher"/>
2023-06-08 15:31:54 +00:00
</p>
2023-06-08 18:34:37 +00:00
<br>
2023-06-08 15:08:15 +00:00
2023-11-04 05:36:47 +00:00
## 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
2024-07-23 12:26:12 +00:00
![scripts](https://github.com/user-attachments/assets/cf39afaf-638d-48fc-9247-4c8d847d4ed4)
2023-06-23 19:47:09 +00:00
2024-04-03 05:02:38 +00:00
## Secure vault
2023-12-12 16:59:05 +00:00
2024-04-03 05:02:38 +00:00
- 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
2023-12-12 16:59:05 +00:00
2024-07-23 12:26:12 +00:00
## Programmatic connection control via the API
2024-07-03 16:59:28 +00:00
- 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:
* https://github.com/coandco/python_xpipe_client
- Full documentation can be either found in the application itself under the API tab or in the [OpenAPI](/openapi.yaml) spec file
2023-11-04 05:36:47 +00:00
# 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.
2023-08-26 03:13:08 +00:00
2024-01-18 22:12:37 +00:00
## Windows
2023-06-23 19:47:09 +00:00
2024-01-18 22:12:37 +00:00
Installers are the easiest way to get started and come with an optional automatic update functionality:
2023-06-23 19:47:09 +00:00
- [Windows .msi Installer (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-windows-x86_64.msi)
2024-07-03 16:59:28 +00:00
You can also install XPipe by pasting the installation command into your terminal. This will perform the .msi setup automatically:
2023-06-23 19:47:09 +00:00
2024-01-18 22:12:37 +00:00
```
2024-04-03 05:02:38 +00:00
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"
2024-01-18 22:12:37 +00:00
```
2023-06-23 19:47:09 +00:00
2024-01-18 22:12:37 +00:00
If you don't like installers, you can also use a portable version that is packaged as an archive:
2023-06-23 19:47:09 +00:00
2024-01-18 22:12:37 +00:00
- [Windows .zip Portable (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-windows-x86_64.zip)
2023-06-23 19:47:09 +00:00
2024-03-09 03:56:54 +00:00
Alternatively, you can also use the following package managers:
- [choco](https://community.chocolatey.org/packages/xpipe) to install it with `choco install xpipe`.
- [winget](https://github.com/microsoft/winget-cli) to install it with `winget install xpipe-io.xpipe --source winget`.
2023-06-23 19:47:09 +00:00
2024-01-18 22:12:37 +00:00
## Linux
2023-06-24 08:46:08 +00:00
2024-04-03 05:02:38 +00:00
You can install XPipe the fastest by pasting the installation command into your terminal. This will perform the setup automatically.
2024-01-18 22:12:37 +00:00
The script supports installation via `apt`, `dnf`, `yum`, `zypper`, `rpm`, and `pacman` on Linux:
2023-08-10 16:40:48 +00:00
2023-06-23 19:47:09 +00:00
```
2024-04-03 05:02:38 +00:00
bash <(curl -sL https://github.com/xpipe-io/xpipe/raw/master/get-xpipe.sh)
2023-06-23 19:47:09 +00:00
```
2024-04-03 05:02:38 +00:00
Of course, there are also other installation methods available.
2024-01-18 22:12:37 +00:00
### Debian-based distros
2023-09-30 07:04:09 +00:00
2024-01-18 22:12:37 +00:00
The following debian installers are available:
2023-09-28 06:30:53 +00:00
2024-01-18 22:12:37 +00:00
- [Linux .deb Installer (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-x86_64.deb)
- [Linux .deb Installer (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-arm64.deb)
2023-09-28 06:30:53 +00:00
2024-01-18 22:12:37 +00:00
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.
2024-01-11 19:51:17 +00:00
2024-01-18 22:12:37 +00:00
### RHEL-based distros
The following rpm installers are available:
- [Linux .rpm Installer (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-x86_64.rpm)
- [Linux .rpm Installer (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-linux-arm64.rpm)
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](https://aur.archlinux.org/packages/xpipe) 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](https://search.nixos.org/packages?channel=unstable&show=xpipe&from=0&size=50&sort=relevance&type=packages&query=xpipe) available that you can install with `nix-env -iA nixos.xpipe`. This one is however not always up to date.
2024-01-11 19:51:17 +00:00
2024-01-11 19:54:09 +00:00
There is also a custom repository that contains the latest up-to-date releases: https://github.com/xpipe-io/nixpkg.
2024-01-11 19:51:17 +00:00
You can install XPipe by following the instructions in the linked repository.
2024-01-18 22:12:37 +00:00
### Portable
In case you prefer to use an archive version that you can extract anywhere, you can use these:
- [Linux .tar.gz Portable (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-linux-x86_64.tar.gz)
- [Linux .tar.gz Portable (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-linux-arm64.tar.gz)
2024-07-03 16:59:28 +00:00
Alternatively, there are also AppImages available:
2024-06-29 06:50:01 +00:00
- [Linux .AppImage Portable (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-linux-x86_64.AppImage)
- [Linux .AppImage Portable (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-linux-arm64.AppImage)
Note that the portable version assumes that you have some basic packages for graphical systems already installed
2024-01-18 22:12:37 +00:00
as it is not a perfect standalone version. It should however run on most systems.
## macOS
2023-10-05 11:53:52 +00:00
2024-01-18 22:12:37 +00:00
Installers are the easiest way to get started and come with an optional automatic update functionality:
- [MacOS .pkg Installer (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-macos-x86_64.pkg)
- [MacOS .pkg Installer (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-installer-macos-arm64.pkg)
2024-07-03 16:59:28 +00:00
You also can install XPipe by pasting the installation command into your terminal. This will perform the `.pkg` installation automatically:
2024-01-18 22:12:37 +00:00
```
2024-04-03 05:02:38 +00:00
bash <(curl -sL https://github.com/xpipe-io/xpipe/raw/master/get-xpipe.sh)
2024-01-18 22:12:37 +00:00
```
If you don't like installers, you can also use a portable version that is packaged as an archive:
- [MacOS .dmg Portable (x86-64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-macos-x86_64.dmg)
- [MacOS .dmg Portable (ARM 64)](https://github.com/xpipe-io/xpipe/releases/latest/download/xpipe-portable-macos-arm64.dmg)
2023-10-05 11:53:52 +00:00
2024-01-18 22:12:37 +00:00
Alternatively, you can also use [Homebrew](https://github.com/xpipe-io/homebrew-tap) to install XPipe with `brew install --cask xpipe-io/tap/xpipe`.
2023-09-30 07:04:09 +00:00
2024-04-18 04:38:56 +00:00
## Early access releases
2024-07-03 16:59:28 +00:00
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.
2024-04-18 04:38:56 +00:00
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.
2024-01-11 19:54:09 +00:00
# Further information
2023-08-23 09:05:12 +00:00
## Open source model
2023-08-23 09:04:32 +00:00
2024-04-03 05:36:02 +00:00
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.
2023-09-27 00:47:51 +00:00
2024-04-03 05:36:02 +00:00
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](/LICENSE.md).
- The closed-source extensions, mostly for professional edition features, which are not included in this repository
2023-08-23 09:04:32 +00:00
2024-07-03 16:59:28 +00:00
Additional features are available in the professional edition. For more details see https://xpipe.io/pricing.
2024-08-08 06:59:39 +00:00
If your enterprise puts great emphasis on having access to the full source code, there are also full source-available enterprise options available.
2024-07-03 16:59:28 +00:00
2024-01-11 19:54:09 +00:00
## More links
2023-02-08 21:34:19 +00:00
2024-04-02 02:29:56 +00:00
You have more questions? Then check out the [FAQ](https://xpipe.io/#faq).
2023-09-27 00:47:51 +00:00
2024-04-02 02:29:56 +00:00
For information about the security model of XPipe, see the [security page](https://xpipe.io/features#security).
2022-06-17 22:29:41 +00:00
2024-04-03 05:36:02 +00:00
For information about the privacy policy of XPipe, see the [privacy policy](https://docs.xpipe.io/privacy-policy).
2023-04-21 13:04:19 +00:00
2023-10-05 11:53:52 +00:00
In case you're interested in development, check out the [contributing page](/CONTRIBUTING.md).
2023-06-02 08:42:34 +00:00
2023-12-11 16:18:53 +00:00
[![Discord](https://discordapp.com/api/guilds/979695018782646285/widget.png?style=banner2)](https://discord.gg/8y89vS8cRb)