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.
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!
Slow as hell, unusable
+1 I bought the pro version but stopped using it because is too slow
When you say slow, what part do you refer to? I am always looking to improve on the performance front
I like the app; it has many useful features. Unfortunately, opening it, the UI, and adding new hosts are slow (as is typical for programs written in Java). This makes it inconvenient when working with many hosts. It could probably be improved by leveraging more background tasks or using a more modern and performant development language.
I think it’s mainly bad optimization on my part. I will work on that for the next release as best as I can. So hopefully I can fix your issues somewhat until then
The last few updates in particular seem to have very long launch times
I am a bit confused by the feedback on the performance here. Now the performance wasn’t that great previously, but that should have been fixed over time, especially in the latest updates.
Maybe I am missing something when testing. So if you want, feel free to elaborate on where the performance issues occur, I can look into that.
It does seem a bit better now on 15.3, but essentially on 15.x often the first time I start it up in the morning after my PC has been in sleep state all night, it will sit for 10-20 seconds on “Loading connections”. Starts after that first one are only a few seconds like normal.
Is there a log file I can poke through to see if anything stand out next time it happens? I only have about 20 connections in total.
Regardless I love the software, it’s very useful even for my small set of self hosting stuff I use it for!
You can go to Settings -> Troubleshoot and either take a look at the log files or launch it in debug mode. If you find anything, feel free to post on GitHub or Discord
Thanks, I’ll check it next time startup takes awhile, the only thing standing out from my current log (wasn’t a low startup this time) is loading images took about 3 seconds.
What system did you try it on? I can look into it
First, I like the idea of xpipe. It could be a quite useful tool. I have almost 500 Host entries in my .ssh/config which I manage with https://github.com/grahame/sedge btw
my work host CPU: 8-core AMD Ryzen 7 4700U with Radeon Graphics (-MCP-) speed/min/max: 1590/1400/2000 MHz Kernel: 6.8.0-54-generic x86_64 Up: 5d 2h 47m Mem: 3.7/14.85 GiB (24.9%) Linux Mint with Regolith desktop
What I mean with “slow”: every action in the UI is almost non responsive
Thanks for the info, I see the issue with that many host entries. I will fix that for the next release