Today I can share a major development status update of XPipe, a connection hub that allows you to access your entire server infrastructure from your local desktop. It can make your life easier when working with any kind of servers by eliminating all the commonly tedious tasks that come up when interacting with remote systems, either from the terminal or from a graphical interface. XPipe comes with integrations for SSH, docker and other containers, various hypervisors, and more without requiring setup on your remote systems. You can also keep using your favourite text/code editors, terminals, password managers, shells, command-line tools, and more with it.

Hub

Docker compose

This release introduces support for docker compose. Containers in compose projects are grouped together and can be managed all at the same time via compose project entries.

The container state information shown is also improved, always showing the container state in combination with the system information.

Compose

Batch mode

There is now a batch mode available that allows you to select multiple systems via checkboxes and perform actions for the entire batch. This can include starting/stopping, automatically adding available subconnections, or running scripts on all selected systems.

You can toggle the batch mode in the top left corner.

Batch

Password managers

The password manager integrations have been upgraded:

  • There is now support for KeePassXC
  • All password manager integrations have been reworked to work out of the box without configuration
  • There is now support to use password manager SSH agents more easily
  • You can now unlock the xpipe vault with your password manager

Password Manager

Terminals

The terminal integration comes with many new features:

  • There is now built-in support for the terminal multiplexers tmux, zellij, and screen. This is especially useful for terminals without tabbing support.
  • There is also now built-in support for custom prompts with starship, oh-my-posh, and oh-my-zsh.
  • On Windows, you now have the ability to use a WSL distribution as the terminal environment, allowing you to use the new terminal multiplexer integration seamlessly on Windows systems as well.

SSH

Various improvements were made to the SSH implementation:

  • The SSH gateway implementation has been reworked so that you can now use local SSH keys and other identities for connections with gateways
  • The VSCode SSH remote integration has been reworked to allow more connections it to be opened in vscode. It now supports essentially all simple SSH connections, custom SSH connections, SSH config connections, and VM SSH connections. This support includes gateways
  • There is now built-in support to refresh an SSO openpubkey with the opkssh tool when needed
  • There is now the option to enable verbose ssh output to diagnose connection issues better
  • For VMs, you can now choose to not use the hypervisor host as SSH gateway and instead directly connect to the VM IP

Other

  • Connection names, e.g. VM names, will now automatically update on refresh when they were changed
  • You can now launch custom scripts within XPipe with a command output dialog window without having to open a terminal
  • Various installation types like the linux apt/rpm repository and homebrew installations now support automatic updates as well
  • The k8s integration will now automatically add all namespaces for the current context when searching for connections
  • The application window will now hide any unnecessary sidebars when being resized to a small width. This makes it much easier to use XPipe in a tiling window arrangement
  • The webtop has been updated to have terminal multiplexers, proper konsole tab support, disabled kwallet, and more
  • Various error messages and connection creation dialogs now contain a help link to the documentation sections

A note on the open-source model

Since it has come up a few times, in addition to the note in the git repository, I would like to clarify that XPipe is not fully FOSS software. The core that you can find on GitHub is Apache 2.0 licensed, but the distribution you download ships with closed-source extensions. There’s also a licensing system in place with limitations on what kind of systems you can connect to in the community edition as I am trying to make a living out of this. I understand that this is a deal-breaker for some, so I wanted to give a heads-up.

Outlook

If this project sounds interesting to you, you can check it out on GitHub, visit the Website, or check out the Docs for more information.

Enjoy!

  • Ruud@lemmy.worldM
    link
    fedilink
    English
    arrow-up
    1
    ·
    4 hours ago

    This looks very nice. A question, we use Teleport, and it does discover all hosts. But when connecting, I need to configure the username for every host separately. Can’t I set a default somewhere?

    • crschnick@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      3 hours ago

      Right now, you have to set the user separately. But I will think about fixing this for next release, there already is a way to configure a default identity for new connections, but it does not apply to teleport yet

  • SavvyWolf@pawb.social
    link
    fedilink
    English
    arrow-up
    4
    ·
    9 hours ago

    Had a quick look through your website and something jumped out at me (about the enterprise edition, I assume that the community edition doesn’t have this clause):

    There is not a hard limit for activations per license as we understand the need to run XPipe on many machines per user. There is instead a soft activation/usage limit that is tracked for the license key and uses common usage patterns as a reference.

    I may be missing something obvious (it’s a hobby of mine), but I can’t seem to find anywhere what exactly these soft limits are.

    • crschnick@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      8 hours ago

      Yes, the community edition doesn’t have any limitation.

      For paid plans, it’s relative to the average usage and activations across all licenses. E.g. if you, as an enterprise, purchase licenses for 5 users, but have a usage like other customers with 20 users, I might inquire about how you are using it. If it is a special case where you install and use it on many servers and VMs in parallel, this can be taken into account and the limits can be adapted. But in general, the license limits are permissive and do not interfere with your usage.