crschnick

joined 2 years ago
[–] [email protected] 1 points 1 month 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 like in your case. Feel free to try it again, it should handle better now.

[–] [email protected] 1 points 1 month 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.

[–] [email protected] 2 points 1 month ago (1 children)

So I worked on the performance over the last couple of days. There were some regressions that I discovered. This should be fixed now in the latest 15.4 release.

[–] [email protected] 1 points 1 month ago

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

[–] [email protected] 1 points 1 month ago

Thanks for the info, I see the issue with that many host entries. I will fix that for the next release

[–] [email protected] 1 points 1 month ago

The only possibility I see here is that this is a Windows 10 system with an older SSHD if mobaxterm doesn't work anymore as there were some changes on which SSHD executable XPipe will use for mobaxterm.

About the X11, I am not aware of any changes that could change that behaviour. If no parent connection of the LXC container has that explicitly enabled, it shouldn't use that.

For both issues, feel free to post on GitHub and Discord and I can help troubleshoot this

[–] [email protected] 1 points 1 month ago (3 children)

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

[–] [email protected] 3 points 1 month ago (3 children)

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

[–] [email protected] 1 points 1 month ago (5 children)

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.

[–] [email protected] 2 points 1 month ago (3 children)

What system did you try it on? I can look into it

 

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!

 

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

[–] [email protected] 1 points 2 months ago

Alright, feel free to let me know how it compares to your other tools that you use. That is always a valuable insight for me

[–] [email protected] 1 points 2 months ago

Yes, you can use any local editor to edit your remote files

 

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. XPipe 14 is the biggest rework so far and provides an improved user experience, better team features, performance and memory improvements, and fixes to many existing bugs and limitations.

If you haven't seen it before, XPipe works on top of your installed command-line programs and does not require any setup on your remote systems. It integrates with your tools such as your favourite text/code editors, terminals, shells, command-line tools and more. Here is what it looks like:

Hub

Browser

Reusable identities + Team vaults

You can now create reusable identities for connections instead of having to enter authentication information for each connection separately. This will also make it easier to handle any authentication changes later on, as only one config has to be changed.

Furthermore, there is a new encryption mechanism for git vaults, allowing multiple users to have their own private identities in a shared git vault by encrypting them with the personal key of your user.

Incus support

  • There is now full support for incus
  • The newly added features for incus have also been ported to the LXD integration

Webtop

For users who also want to have access to XPipe when not on their desktop, there exists the XPipe Webtop docker image, which is a web-based desktop environment that can be run in a container and accessed from a browser.

This docker image has seen numerous improvements. It is considered stable now. There is now support for ARM systems to host the container as well. If you use Kasm Workspaces, you can now integrate the webtop into your workspace environment via the XPipe Kasm Registry.

Terminals

Performance updates

  • Many improvements have been made for the RAM usage and memory efficiency, making it much less demanding on available main memory
  • Various performance improvements have also been implemented for local shells, making almost any task in XPipe faster

Services

  • There is now the option to specify a URL path for services that will be appended when opened in the browser
  • You can now specify the service type instead of always having to choose between http and https when opening it
  • There is now a new service type to run commands on a tunneled connection after it is established
  • Services now show better when they are active or inactive

File transfers

  • You can now abort an active file transfer. You can find the button for that on the bottom right of the browser status bar
  • File transfers where the target write fails due to permissions issues or missing disk space are now better cancelled

Miscellaneous

  • There are now translations for Swedish, Polish, Indonesian
  • There is now the option to censor all displayed contents, allowing for a more simple screensharing workflow for XPipe
  • The Yubikey PIV and PKCS#11 SSH auth option have been made more resilient for any PATH issues
  • XPipe will now commit a dummy private key to your git sync repository to make your git provider potentially detect any leaks of your repository contents
  • Fix password manager requests not being cached and requiring an unlock every time
  • Fix Yubikey PIV and other PKCS#11 SSH libraries not asking for pin on macOS
  • Fix some container shells not working do to some issues with /tmp
  • Fix fish shells launching as sh in the file browser terminal
  • Fix zsh terminal not launching in the current working directory in file browser
  • Fix permission denied errors for script files in some containers
  • Fix some file names that required escapes not being displayed in file browser

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. XPipe 14 is the biggest rework so far and provides an improved user experience, better team features, performance and memory improvements, and fixes to many existing bugs and limitations.

If you haven't seen it before, XPipe works on top of your installed command-line programs and does not require any setup on your remote systems. It integrates with your tools such as your favourite text/code editors, terminals, shells, command-line tools and more. Here is what it looks like:

Hub

Browser

Reusable identities + Team vaults

You can now create reusable identities for connections instead of having to enter authentication information for each connection separately. This will also make it easier to handle any authentication changes later on, as only one config has to be changed.

Furthermore, there is a new encryption mechanism for git vaults, allowing multiple users to have their own private identities in a shared git vault by encrypting them with the personal key of your user.

Incus support

  • There is now full support for incus
  • The newly added features for incus have also been ported to the LXD integration

Webtop

For users who also want to have access to XPipe when not on their desktop, there exists the XPipe Webtop docker image, which is a web-based desktop environment that can be run in a container and accessed from a browser.

This docker image has seen numerous improvements. It is considered stable now. There is now support for ARM systems to host the container as well. If you use Kasm Workspaces, you can now integrate the webtop into your workspace environment via the XPipe Kasm Registry.

Terminals

  • Launched terminals are now automatically focused after launch
  • Add support for the new Ghostty terminal on Linux
  • There is now support for Wave terminal on all platforms
  • The Windows Terminal integration will now create and use its own profile to prevent certain settings from breaking the terminal integration

Performance updates

  • Many improvements have been made for the RAM usage and memory efficiency, making it much less demanding on available main memory
  • Various performance improvements have also been implemented for local shells, making almost any task in XPipe faster

Services

  • There is now the option to specify a URL path for services that will be appended when opened in the browser
  • You can now specify the service type instead of always having to choose between http and https when opening it
  • There is now a new service type to run commands on a tunneled connection after it is established
  • Services now show better when they are active or inactive

File transfers

  • You can now abort an active file transfer. You can find the button for that on the bottom right of the browser status bar
  • File transfers where the target write fails due to permissions issues or missing disk space are now better cancelled

Miscellaneous

  • There are now translations for Swedish, Polish, Indonesian
  • There is now the option to censor all displayed contents, allowing for a more simple screensharing workflow for XPipe
  • The Yubikey PIV and PKCS#11 SSH auth option have been made more resilient for any PATH issues
  • XPipe will now commit a dummy private key to your git sync repository to make your git provider potentially detect any leaks of your repository contents
  • Fix password manager requests not being cached and requiring an unlock every time
  • Fix Yubikey PIV and other PKCS#11 SSH libraries not asking for pin on macOS
  • Fix some container shells not working do to some issues with /tmp
  • Fix fish shells launching as sh in the file browser terminal
  • Fix zsh terminal not launching in the current working directory in file browser
  • Fix permission denied errors for script files in some containers
  • Fix some file names that required escapes not being displayed in file browser
  • Fix special Windows files like OneDrive links not being shown in file browser

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

Browser

VMs

  • There is now support for KVM/QEMU virtual machines that can be accessed via the libvirt CLI tools virsh. This includes support for other driver URLs as well aside from KVM and QEMU. This integration is available starting from the homelab plan and can be used for free for two weeks after this release using the new release preview
  • You can now override a VM IP if you're using an advanced networking setup where the default IP detection is not suitable. For example, if you are using a firewall like opnsense on your hypervisor
  • Fix remote VM SSH connections not being able to use the keys and identities from the local system
  • There is now a new restart button for containers and VMs

File browser

  • There is now a new option in the context menu of a tab to pin it, allowing for having a split view with two different file systems
  • The previous system history tab is now always shown
  • You can now change the default download location for the move to downloads button

Pin

Other

  • The application style has been reworked
  • Improve license requirement handling for systems. You can now add all systems without a license and also search for available subconnections. Only establishing the actual connection in a terminal or in the file browser will show any license requirement notice. This allows you to check whether all systems and installed tools are correctly recognized before considering purchasing a license.
  • Add download context menu action in file browser as an alternative to dragging files to the download box
  • Fix proxmox detection not working when not using the PVE distro and not logging in as root
  • The settings menu now shows a restart button when a setting has been changed that requires a restart to apply
  • There is now an intro to scripts to provide some more information before using scripts
  • Add ability to enable agent forwarding when using the SSH-Agent for identities
  • Closing a terminal tab/window while the session is loading will now cancel the loading process in XPipe as well
  • The .rpm releases are now signed

Shell sessions

Many improvements have been implemented for the reusability of shell sessions running in the background. Whenever you access a system or a parent system, XPipe will connect to it just as before but keep this session open in the background for some time. It does so under the assumption that you will typically perform multiple actions shortly afterward. This will improve the speed of many actions and also results in less authentication prompts when you are using something like 2FA.

Security updates

There's now a new mechanism in place for checking for security updates separately from the normal update check. This is important going forward, to be able to act quickly when any security patch is published. The goal is that all users have the possibility to get notified even if they don't follow announcements on the GitHub repo or on Discord. You can also disable this functionality in the settings if you want.

Fixes

  • Fix Proxmox detection not working when not logging in as root
  • Fix tunnels not closing properly when having to be closed forcefully
  • Fix vmware integration failing when files other than .vmx were in the VM directories
  • Fix SSH and docker issues with home assistant systems
  • Fix git readme not showing connections in nested children 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 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

VMs

  • There is now support for KVM/QEMU virtual machines that can be accessed via the libvirt CLI tools virsh. This includes support for other driver URLs as well aside from KVM and QEMU. This integration is available starting from the homelab plan and can be used for free for two weeks after this release using the new release preview
  • You can now override a VM IP if you're using an advanced networking setup where the default IP detection is not suitable. For example, if you are using a firewall like opnsense on your hypervisor
  • Fix remote VM SSH connections not being able to use the keys and identities from the local system
  • There is now a new restart button for containers and VMs

File browser

  • There is now a new option in the context menu of a tab to pin it, allowing for having a split view with two different file systems
  • There is now the option to dock terminals in the file browser (this is only available on Windows for now). You can disable this in the settings if you don't like it
  • The previous system history tab is now always shown
  • You can now change the default download location for the move to downloads button

Pin

Dock

Other

  • The application style has been reworked
  • Improve license requirement handling for systems. You can now add all systems without a license and also search for available subconnections. Only establishing the actual connection in a terminal or in the file browser will show any license requirement notice. This allows you to check whether all systems and installed tools are correctly recognized before considering purchasing a license.
  • Rework Windows msi installer to support both per-user and system-wide installations. The installer will also now respect the properties ALLUSERS. This makes it possible to install XPipe with tools such as intune
  • Add download context menu action in file browser as an alternative to dragging files to the download box
  • Fix proxmox detection not working when not using the PVE distro and not logging in as root
  • The settings menu now shows a restart button when a setting has been changed that requires a restart to apply
  • There is now an intro to scripts to provide some more information before using scripts
  • Add ability to enable agent forwarding when using the SSH-Agent for identities
  • Closing a terminal tab/window while the session is loading will now cancel the loading process in XPipe as well
  • A newly opened terminal will now regain focus after any password prompt was entered in xpipe
  • Add warning message when the incompatible coreutils homebrew package is in the PATH on macOS
  • The .rpm releases are now signed

Shell sessions

Many improvements have been implemented for the reusability of shell sessions running in the background. Whenever you access a system or a parent system, XPipe will connect to it just as before but keep this session open in the background for some time. It does so under the assumption that you will typically perform multiple actions shortly afterward. This will improve the speed of many actions and also results in less authentication prompts when you are using something like 2FA.

Security updates

There's now a new mechanism in place for checking for security updates separately from the normal update check. This is important going forward, to be able to act quickly when any security patch is published. The goal is that all users have the possibility to get notified even if they don't follow announcements on the GitHub repo or on Discord. You can also disable this functionality in the settings if you want.

Fixes

  • Fix Proxmox detection not working when not logging in as root
  • Fix tunnels not closing properly when having to be closed forcefully
  • Fix vmware integration failing when files other than .vmx were in the VM directories
  • Fix Tabby not launching properly on Windows
  • Fix SSH and docker issues with home assistant systems
  • Fix git readme not showing connections in nested children categories
  • Fix Windows Terminal Preview and Canary not being recognized

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

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!

 

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. So if you normally use CLI tools like ssh, docker, kubectl, etc. to connect to your servers, it will automatically integrate with them.

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

Hub

Hub Alt

Browser

Local forwarding for services

Many systems run a variety of different services such as web services and others. There is now support to detect, forward, and open the services. For example, if you are running a web service on a remote container, you can automatically forward the service port via SSH tunnels, allowing you to access these services from your local machine, e.g., in a web browser. These service tunnels can be toggled at any time. The port forwarding supports specifying a custom local target port and also works for connections with multiple intermediate systems through chained tunnels. For containers, services are automatically detected via their exposed mapped ports. For other systems, you can manually add services via their port.

Markdown notes

Another feature commonly requested was the ability to create and share notes for connections. As Markdown is everywhere nowadays, it makes sense so to implement any kind of note-taking functionality with Markdown. So you can now add notes to any connection with Markdown. The full spec is supported. The editing is delegated to a local editor of your choice, so you can have access to advanced editing features and syntax highlighting there.

Markdown

Proxmox improvements

You can now automatically open the Proxmox dashboard website through the new service integration. This will also work with the service tunneling feature for remote servers.

You can now open VNC sessions to Proxmox VMs.

The Proxmox support has been reworked to support one non-enterprise PVE node in the community edition.

Scripting improvements

The scripting system has been reworked. There have been several issues with it being clunky and not fun to use. The new system allows you to assign each script one of multiple execution types. Based on these execution types, you can make scripts active or inactive with a toggle. If they are active, the scripts will apply in the selected use cases. There currently are these types:

  • Init scripts: When enabled, they will automatically run on init in all compatible shells. This is useful for setting things like aliases consistently
  • Shell scripts: When enabled, they will be copied over to the target system and put into the PATH. You can then call them in a normal shell session by their name, e.g. myscript.sh, also with arguments.
  • File scripts: When enabled, you can call them in the file browser with the selected files as arguments. Useful to perform common actions with files

Scripts

AppImage support

There are now AppImage releases available for x86_64 and arm64 platforms.

While there were already other artifact types available for most Linux systems, this is useful for atomic distributions.

A new HTTP API

For a programmatic approach to manage connections, XPipe 10 comes with a built-in HTTP server that can handle all kinds of local API requests. There is an openapi.yml spec file that contains all API definitions and code samples to send the requests.

To start off, you can query connections based on various filters. With the matched connections, you can start remote shell sessions and for each one and run arbitrary commands in them. You get the command exit code and output as a response, allowing you to adapt your control flow based on command outputs. Any kind of passwords and other secrets are automatically provided by XPipe when establishing a shell connection. You can also access the file systems via these shell connections to read and write remote files.

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.

The system is designed to allow for unlimited usage in non-commercial environments and only requires a license for more enterprise-level environments. This system is never going to be perfect as there is not a very clear separation in what kind of systems are used in, for example, homelabs and enterprises. But I try my best to give users as many free features as possible for their personal environments.

Outlook

If this project sounds interesting to you, you can check it out on GitHub! There are more features to come in the near future.

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. So if you normally use CLI tools like ssh, docker, kubectl, etc. to connect to your servers, it will automatically integrate with them.

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

Hub

Hub Alt

Browser

Local forwarding for services

Many systems run a variety of different services such as web services and others. There is now support to detect, forward, and open the services. For example, if you are running a web service on a remote container, you can automatically forward the service port via SSH tunnels, allowing you to access these services from your local machine, e.g., in a web browser. These service tunnels can be toggled at any time. The port forwarding supports specifying a custom local target port and also works for connections with multiple intermediate systems through chained tunnels. For containers, services are automatically detected via their exposed mapped ports. For other systems, you can manually add services via their port.

Markdown notes

Another feature commonly requested was the ability to create and share notes for connections. As Markdown is everywhere nowadays, it makes sense so to implement any kind of note-taking functionality with Markdown. So you can now add notes to any connection with Markdown. The full spec is supported. The editing is delegated to a local editor of your choice, so you can have access to advanced editing features and syntax highlighting there.

Markdown

Proxmox improvements

You can now automatically open the Proxmox dashboard website through the new service integration. This will also work with the service tunneling feature for remote servers.

You can now open VNC sessions to Proxmox VMs.

The Proxmox support has been reworked to support one non-enterprise PVE node in the community edition.

Scripting improvements

The scripting system has been reworked. There have been several issues with it being clunky and not fun to use. The new system allows you to assign each script one of multiple execution types. Based on these execution types, you can make scripts active or inactive with a toggle. If they are active, the scripts will apply in the selected use cases. There currently are these types:

  • Init scripts: When enabled, they will automatically run on init in all compatible shells. This is useful for setting things like aliases consistently
  • Shell scripts: When enabled, they will be copied over to the target system and put into the PATH. You can then call them in a normal shell session by their name, e.g. myscript.sh, also with arguments.
  • File scripts: When enabled, you can call them in the file browser with the selected files as arguments. Useful to perform common actions with files

Scripts

Native window styles

The application styling has been improved to fit in better with native window decorations:

Windows style

macOS style

A new HTTP API

For a programmatic approach to manage connections, XPipe 10 comes with a built-in HTTP server that can handle all kinds of local API requests. There is an openapi.yml spec file that contains all API definitions and code samples to send the requests.

To start off, you can query connections based on various filters. With the matched connections, you can start remote shell sessions and for each one and run arbitrary commands in them. You get the command exit code and output as a response, allowing you to adapt your control flow based on command outputs. Any kind of passwords and other secrets are automatically provided by XPipe when establishing a shell connection. You can also access the file systems via these shell connections to read and write remote files.

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.

The system is designed to allow for unlimited usage in non-commercial environments and only requires a license for more enterprise-level environments. This system is never going to be perfect as there is not a very clear separation in what kind of systems are used in, for example, homelabs and enterprises. But I try my best to give users as many free features as possible for their personal environments.

Outlook

If this project sounds interesting to you, you can check it out on GitHub! There are more features to come in the near future.

Enjoy!

 

Hello there Lemmy users, I recently posted an announcement of my project on the selfhosted subreddit and I think it is a good idea to also post it here for the Lemmy users.

About this project

I always wanted to have an easy file system and terminal access to all of my servers, including containers and clusters that you normally can't connect to with existing solutions out of the box. So over the last months I worked on my new project XPipe to fix that.

In short, it is a brand-new type of shell connection hub with an included remote file manager that works by only interacting with already installed command-line tools on local and remote shell connections. This approach makes it much more flexible as it doesn't have to deal with file system APIs, protocols, or libraries at all, everything is delegated to your own CLI tools. This also allows you to open connections in your favorite terminal application through XPipe. 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 without any setup required on your servers.

Here are some screenshots:

Shell Connection Hub

File Manager

In the context of the selfhosted community, the application is technically not hosted as it is implemented as a desktop application to have access to your shells,command-line programs, and terminals, but you can use it to access all your self-hosted infrastructure. The application matches the spirit of selfhosted as you have full control over your data. Everything is stored on your system, it doesn't need to connect to any online service and there are no accounts or anything like that. It is also designed to be cross-platform and should also run on every operating system.

So if this project sounds interesting to you, you can give it a try! There are more features to come in the near future. I also appreciate any kind of bug reports and feedback to guide me in the right development direction. There is also a Discord and a Slack workspace for any sort of talking, although there isn't really a community yet. Any sort of issue reports are important as I only had the ability to test it in a few different server environments and your setups can differ wildly from mine.

Enjoy!

view more: next ›