crschnick

joined 2 years ago

So I worked on this over the last couple of days and fixed several performance issues in the latest 15.4 release, especially when it comes to handling many added connections. Feel free to try it again, it should handle better now.

[โ€“] crschnick@sh.itjust.works 0 points 1 month ago (2 children)

When you say slow, what part do you refer to? I am always looking to improve on the performance front

 

XPipe - A connection hub for all your servers: Status update for the v15 release

Today I can share a major development status update of XPipe, a new 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

Tailscale SSH support

You can now connect to devices in your tailnet via Tailscale SSH and your locally installed tailscale command-line client. This integration supports multiple accounts as well to switch between different tailnets.

Custom icons

You can now add custom icons to use for your connections. This implementation replaces the old model of shipping the icons from https://github.com/selfhst/icons along XPipe. Instead, you can now dynamically add sources of icons. This can either be a local directory or a remote git repository that can be cloned and pulled by xpipe. XPipe will pick up any .svg files in there, rasterize them to cached .pngs, and display them in XPipe.

As default icon sources, it will still come with the https://github.com/selfhst/icons repository enabled, but now it can fetch these icons at runtime. If you are using the git vault sync, you can also add icons to a synced directory in your git vault to have access to them on all systems.

New docs

There is a new documentation site at https://docs.xpipe.io/. The goal is to expand this over time to provide proper documentation for many features.

Since it came up quite a bit last time I posted about XPipe here, I hope that any questions about what exactly XPipe is, how it makes your life easier, what it can do, and more, can now be answered in detail by the documentation.

Webtop enhancements

The webtop, a container-based KDE desktop environment, received a general overhaul. The list of terminals, editors, and rdp clients has been updated. The language support has been improved so that you can now easily run the desktop environment in any language you want. There were also many new additions and fixes for preinstalled tools of the desktop environment. There is also now more webtop documentation at https://docs.xpipe.io/guide/webtop

Package manager repositories

There is now an apt repository available at https://apt.xpipe.io/ and an rpm repository available at https://rpm.xpipe.io/. You can add them as sources to apt or your rpm-based package manager. This allows you to also install and upgrade xpipe via your native package manager instead of using the built-in self-updater.

Other

  • Add support for Gnome Console and Ptyxis Terminal
  • Add support for cursor, windsurf, and trae editor
  • Add support for cosmic-term of the new cosmic desktop environment
  • Add the ability to launch connections from the command-line with the xpipe launch command
  • Add new action to run scripts in the file browser and show their output without having to open a terminal
  • You can now import saved PuTTY sessions on a system when searching for available connections. This also works for KiTTY
  • Improve application performance when having many connections and categories

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 or visit the Website for more information.

Enjoy!

 

I'm proud to share a major development status update of XPipe, a new connection hub that allows you to access your entire server infrastructure from your local desktop. It works on top of your installed command-line programs and does not require any setup on your remote systems. XPipe integrates with your tools such as your favourite text/code editors, terminals, shells, command-line tools and more.

Here is how it looks like if you haven't seen it before:

Hub

Browser

Icons

A big new feature, which is probably going to be interesting for the selfhosted crowd here, is the addition of custom icons for services. A huge shoutout to https://github.com/selfhst/icons, without them this would have not been possible. Essentially, you can now set icons for any connection to better organize individual ones. For example, if you connect to an opnsense or immich system, you can now mark it with the correct icon of that service.

Icons

Other additions

There is now a popup to automatically save a file with sudo when permissions are denied in the file browser. This should make it much less of a hassle when forgetting to elevate to root before editing a file, which is a trap I also often fall into.

You can now restart any ended terminal session by pressing R in the terminal. This makes it much easier to reconnect, for example, if you restarted a server or your connection isn't stable.

There are new actions in the file browser to compress/uncompress zip/tar/tar.gz/7z files. There are options to compress both individual files or complete directory contents. This will save you having to deal with remembering tar CLI parameters.

You can now use the Windows Credential Manager as a password manager in XPipe.

XPipe does no longer use wmic on Windows as it seems like Microsoft actually pulled through and removed wmic from the latest Windows 11 releases. This fixes various errors on Windows ARM systems.

I implemented various performance improvements for lower-end systems, so hopefully things will run more smoothly on these as well now.

There is now support to specify SSH keys and change the SSH port for Proxmox VMs.

There has also been a lot of work going into the git sync feature to fix various issues. There is more documentation in the git settings, the workflow has been improved, and various bugs with xcode git and gpg were fixed.

There have been many other bug fixes, e.g., for csh, fish, opnsense, pfsense shells being broken, fixes for dashlane, some Proxmox VM issues, and much more.

XPipe Webtop

XPipe is a desktop application first and foremost. It requires a full desktop environment to function with various installed applications such as terminals, editors, shells, CLI tools, and more. So there is no true web-based interface for XPipe. Since it might make sense however to access your XPipe environment from the web, there is now a so-called webtop docker container image for XPipe. XPipe Webtop is a web-based desktop environment that can be run in a container and accessed from a browser via KasmVNC. The desktop environment comes with XPipe and various terminals and editors preinstalled and configured. You can use this with the git sync to have access to all your connections remotely as well.

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 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 or visit the Website for more information.

Enjoy!

 

I'm proud to share a major development status update of XPipe, a new connection hub that allows you to access your entire server infrastructure from your local desktop. It works on top of your installed command-line programs and does not require any setup on your remote systems. XPipe integrates with your tools such as your favourite text/code editors, terminals, shells, command-line tools and more.

Here is how it looks like if you haven't seen it before:

Hub

Hub Alt

Browser

More terminal integrations

There is now support to use the following terminals:

  • Termius
  • MobaXterm
  • Xshell
  • SecureCRT

These work via a local SSH bridge that is managed by XPipe. That way you can keep using your existing SSH terminal solution with the added functionality of XPipe.

Pricing model updates

I received plenty of user feedback, so I changed the old pricing model to one that should capture the demand better. The old pricing model was created at a time when XPipe had no customers at all and did not reflect the actual user demand. The main changes are the addition of a homelab plan, a new monthly subscription, and changes to the one-year professional edition. All changes only apply to new orders. The community edition is also not changed.

The homelab plan is essentially a cheaper alternative to the professional plan that should include all paid features necessary to operate XPipe in a typical larger homelab environment if the community edition is not enough. If you are looking for a detailed feature comparison of what is included in which plan, you can find that information at https://xpipe.io/pricing#comparision.

The old yearly plan differed from many established pricing models and required some bit of reading to fully understand. I think there were more people asking clarifying questions about it than actually buying it, which is not a good sign for a pricing model. And in the end, many customers who valued ownership of a product went for the lifetime variant anyway instead. So the pricing model has been changed to a more traditional subscription plan for monthly/yearly options, plus the already existing lifetime plan which stays the same. This makes it easier to understand for potential customers and hopefully easier to sell as well.

Hyper-V support

This release comes with an integration for Hyper-V. Searching for connections on a system where Hyper-V is installed should automatically add connections to your VMs. XPipe can connect to a VM via PSSession or SSH. PSSession is used by default for Windows guests if no SSH server is available on the guest. In all other cases, it will try to connect via SSH. Since Hyper-V cannot run guest commands on non-Windows systems from the outside, you have to make sure that an SSH server is already running in the VM in that case.

The Hyper-V integration is available starting from the homelab plan.

Teleport support

There is now support to add teleport connections that are available via tsh. You can do that by searching for available connections on any system which has tsh installed. This is a separate integration from SSH, SSH config entries for teleport proxies do not work due to tsh limitations and are automatically filtered out. The new implementation solely works through the tsh tool.

This feature is available in the Professional plan as Teleport is typically an enterprise tool.

VNC improvements

The VNC integration has been reworked. It now supports more encrypted authentication methods, allowing it to connect to more servers. Furthermore, it is also now possible to create VNC connections without an SSH tunnel for systems that do not have SSH connectivity. You can also now send CTRL+ALT+DEL via SHIFT+CTRL+ALT+DEL.

Experimental serial connection support

There is now support to add serial connections. This is implemented by delegating the serial connection to another installed tool of your choice and opening that in a terminal session.

Note that this feature is untested due to me not having physical serial devices around. The plan for this feature is to evolve over time with user feedback and issue reports. It is not expected that this will actually work at the initial release. You can help the development of this feature by reporting any issues and testing it with various devices you have.

TTYs and PTYs

Up until now, if you added a connection that always allocated pty, XPipe would complain about a missing stderr. This was usually the case with badly implemented third-party ssh wrappers and proxies. In XPipe 11, there has been a ground up rework of the shell initialization code which will allow for a better handling of these cases. You can therefore now also launch such connections from the hub in a terminal. More advanced operations, such as the file browser, are not possible for these connections though.

Scripting improvements

The scripting system has been reworked to make it more intuitive and powerful. You can now call a script from the connection hub directly for each connection. You can also now launch scripts either in the background or in a terminal if they are intended to be interactive. In the file browser, when multiple files are selected, you can now call a script with all the selected files as arguments.

Other

There have also been a lot of improvements and bug fixes across the board that are not listed here. The workflow has been streamlined, the Proxmox support has been refined, and the git sync has been made more robust.

The XPipe python API has now been designated the official API library to interact with XPipe. If you ever thought about programmatically interacting with systems through XPipe, feel free to check it out.

The website now contains a few new documents to maybe help you to convince your boss when you're thinking about deploying XPipe at your workplace. There is the executive summary for a short overview of XPipe and the security whitepaper for CISOs.

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 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!

Enjoy!