crschnick

joined 1 year ago
[–] crschnick@sh.itjust.works 3 points 2 hours ago (1 children)

In terms of xen support, I plan to implement an XCP-ng integration next

[–] crschnick@sh.itjust.works 2 points 4 hours ago (3 children)

Yes, that is the idea. Over time I hope to provide integrations for most other hypervisors that are not supported yet and various other tools. But it's getting there, a big chunk is already implemented.

 

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!

[–] crschnick@sh.itjust.works 2 points 1 month ago* (last edited 1 month ago) (1 children)

As I mentioned in reply to another comment of yours, the main difference in my opinion here is that I am posting this as an individual one-man company compared to something like Oracle. And the Oracle free tier still requires you to sign-up and provide your data. This free version does not have such a commitment.

A lot of projects are sharing status updates and development news and various platforms, some on lemmy as well. On average, I post status updates every 1-2 months when there is something to share. And yes this is self-serving, I am advertising my project after all.

I think blocking me would be a bit overkill? You could also just downvote the posts you don't want to see and move on, you don't have to read my posts if you don't like them. That is up to everyone themselves. People who are interested in these posts can do the opposite.

[–] crschnick@sh.itjust.works 3 points 1 month ago

In this case I am trying to market XPipe as a one-man company. Yes, that is technically still a company, but it's a little bit more personal. Because here you are not talking with the marketing department of XPipe but with the developer of it.

[–] crschnick@sh.itjust.works 1 points 1 month ago (1 children)

Yeah the pricing model requires the homelab plan for larger Proxmox cluster setups with multiple nodes. However, there are no limits to what you can do with that one Proxmox node. You can fully use every feature with it there is no limit on the amount of VMs you can manage in the community version on that node. Just when your homelab setup is larger and has multiple nodes, it requires the homelab plan. And at the end of the day, I think you can form an informed opinion on whether upgrading to the homelab plan would make sense to you after using the one node for some time. If you don't think the saved time and effort with XPipe is worth the 5$/month for you, that's fine. Everyone can determine that for themselves.

[–] crschnick@sh.itjust.works 3 points 1 month ago* (last edited 1 month ago) (3 children)

Wow, I missed quite a discussion up here when I was away.

I would argue this is part of this community, a showcase and status updates of projects that can be useful for the selfhosted community. I understand that there is a focus for completely free projects in here, but some tools showcased here also include a paid plan. In this case I'm trying to make a living out of this, so there is a payment model in place. I limit my posts to only major updates, so the post frequency is dependent on the development speed.

There is a free community plan available that covers many use cases, there is no need to pay for XPipe unless you want to fully commit to it and use all of its features.

 

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!

[–] crschnick@sh.itjust.works 2 points 2 months ago

This refers to having an enterprise license for Windows. If you have such a Windows product key enabled, the OS name will show as Windows Enterprise or as Windows Datacenter.

The goal is to just separate the users into personal and commercial customers, because you would have to spend quite a bit of money for these Windows licenses and keeping such systems running.

But in practice, you can just attempt to connect to any system from XPipe and it will tell you whether if you need a license for that.

 

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

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!

[–] crschnick@sh.itjust.works 1 points 6 months ago

The script was created initially because a surprising amount of users were a little bit overwhelmed with manually installing a .deb or .rpm file. I guess with package manages nowadays, you don't handle raw files that often anymore.

I will see what I can do about submitting it to package managers.

[–] crschnick@sh.itjust.works 2 points 6 months ago (2 children)

Yeah I guess I haven't really accounted for these atomic versions, so I don't think the install script would have worked.

I might have to try out fedora atomic myself one day.

[–] crschnick@sh.itjust.works 4 points 6 months ago (1 children)

You can if you're interested in any status updates

[–] crschnick@sh.itjust.works 4 points 6 months ago (3 children)

Yeah I can do that

[–] crschnick@sh.itjust.works 1 points 6 months ago

I think most of the users have something like VNC set up, I'm not sure how widespread moonlight is in the server space. Anyone who comes across this question, feel free to tell me whether moonlight can be considered for server administration.

 

Hello there,

I'm proud to share a major development status update of XPipe, a 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.

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

Coherent desktops

XPipe now comes with support for remote desktop connections. VNC connections are fully handled over SSH and can therefore be established on top of any existing SSH connection you have in XPipe. RDP support is realized similar to the terminal support, i.e., by launching your preferred RDP client with the connection information. X11-forwarding for SSH is also now supported.

With support for remote graphical desktop connection methods as well now in XPipe 9, the big picture idea is to implement the concept of coherent desktops. Essentially, you can launch predefined desktop applications, terminals, and scripts on any remote desktop connection, regardless of the underlying connection implementation. In combination with the improved SSH tunnel and background session support, you can launch graphical remote applications with one click in the same unified way for VNC over SSH connections, RDP connections, and X11-forwarded SSH connections.

SSH X11 Forwarding on Windows via WSL

You can now enable X11 forwarding for an SSH connection.

XPipe allows you to use the WSL2 X11 capabilities on Windows for your SSH connection. The only thing you need for this is a WSL2 distribution installed on your local system. XPipe will automatically choose a compatible installed distribution if possible, but you can also use another one in the settings menu.

This means that you don't need to install a separate X11 server on Windows. However, if you are using one anyway, XPipe will detect that and use the currently running X11 server.

SSH connection improvements

  • All tunneled and X11-forwarded custom SSH connections are now properly detected and can be toggled on and off to run in the background

  • The connection establishment has been reworked to reduce the amount of double prompts, e.g. for smartcards or 2FA, where user input is required twice

  • The custom SSH connections now properly apply all configuration options of your user configuration file. They also now correctly apply multiple options for the same key correctly

  • Any value specified for the RemoteCommand config option will now be properly applied when launching a terminal. This allows you to still use your preexisting init command setup, e.g. with tmux

  • There is now support defining multiple host entries in place in a custom SSH connection. This is useful for cases where you want to use ProxyJump hosts in place without having to define them elsewhere

Terminal improvements

The terminal integrations have been reworked across the board. The kitty terminal is also now fully supported with tabs on both Linux and macOS. The Warp terminal integration now correctly enables all Warp features on remote shells. On macOS, other third-party prompts also now work properly in the launched terminals.

Password manager improvements

The password manager handling has been improved, and some potential sources of errors and confusion have been eliminated. There are also now a few command templates available for established password managers to quickly get started.

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

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord for any sort of talking.

Enjoy!

 

Hello there,

I'm proud to share a major development status update of XPipe, a 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.

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

Coherent desktops

XPipe now comes with support for remote desktop connections. VNC connections are fully handled over SSH and can therefore be established on top of any existing SSH connection you have in XPipe. RDP support is realized similar to the terminal support, i.e., by launching your preferred RDP client with the connection information. X11-forwarding for SSH is also now supported.

With support for remote graphical desktop connection methods as well now in XPipe 9, the big picture idea is to implement the concept of coherent desktops. Essentially, you can launch predefined desktop applications, terminals, and scripts on any remote desktop connection, regardless of the underlying connection implementation. In combination with the improved SSH tunnel and background session support, you can launch graphical remote applications with one click in the same unified way for VNC over SSH connections, RDP connections, and X11-forwarded SSH connections.

SSH X11 Forwarding on Windows via WSL

You can now enable X11 forwarding for an SSH connection.

XPipe allows you to use the WSL2 X11 capabilities on Windows for your SSH connection. The only thing you need for this is a WSL2 distribution installed on your local system. XPipe will automatically choose a compatible installed distribution if possible, but you can also use another one in the settings menu.

This means that you don't need to install a separate X11 server on Windows. However, if you are using one anyway, XPipe will detect that and use the currently running X11 server.

SSH connection improvements

  • All tunneled and X11-forwarded custom SSH connections are now properly detected and can be toggled on and off to run in the background

  • The connection establishment has been reworked to reduce the amount of double prompts, e.g. for smartcards or 2FA, where user input is required twice

  • The custom SSH connections now properly apply all configuration options of your user configuration file. They also now correctly apply multiple options for the same key correctly

  • Any value specified for the RemoteCommand config option will now be properly applied when launching a terminal. This allows you to still use your preexisting init command setup, e.g. with tmux

  • There is now support defining multiple host entries in place in a custom SSH connection. This is useful for cases where you want to use ProxyJump hosts in place without having to define them elsewhere

Terminal improvements

The terminal integrations have been reworked across the board. The kitty terminal is also now fully supported with tabs on both Linux and macOS. The Warp terminal integration now correctly enables all Warp features on remote shells. On macOS, other third-party prompts also now work properly in the launched terminals.

Password manager improvements

The password manager handling has been improved, and some potential sources of errors and confusion have been eliminated. There are also now a few command templates available for established password managers to quickly get started.

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

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord for any sort of talking.

Enjoy!

 

I'm proud to share a development status update of XPipe, a 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.

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

Connections

Browser

Since the last status update some months ago, a lot of things have changed thanks to the community sharing a lot of feedback and reporting issues. Overall, the project is now in a much more stable state as all the accumulated issues have been fixed. Furthermore, many feature requests have been implemented.

XPipe 8 is this biggest update yet and includes many new features and changes that are necessary going forward to allow for future features to come. The versioning scheme has also been changed to simplify version numbers. So we are going straight from 1.7 to 8.0.

New terminal launcher

The terminal launcher functionality got completely reworked with the goal to make it more flexible and improve the terminal startup performance. You will quickly notice the new implementation whenever you launch any connection in your terminal. The new implementation allows us to start up a connection while the terminal is still opening, shaving off a lot of time.

File browser improvements

The file browser has been reworked in terms of performance and reliability. File transfers of many files are now faster, and any errors that can occur are now handled better.

In terms of the interface, there is also now a progress indicator for files being transferred. For any file conflicts, there is now a new dialog to choose how to resolve any conflict when copying or moving files.

Authentication improvements

This update comes with a newly created system for handling authentication that is better suited for arbitrary authentication prompts. This allows for better support for things like 2FA and other keyboard interactive authentications schemes. The sudo elevation authentication also has been reworked to be more intuitive and mirror the behavior of the system in regard to password prompts.

You also now have finer control over the caching behaviour of passwords and the sudo behaviour via additional settings.

Settings rework

This update comes with a complete rework of the settings menu. Many options have been added and existing ones have been improved, with a focus on providing more control over security settings. Make sure to give them a read to discover new options.

There has been a big focus on providing finer-grained control over security settings, which can be especially useful in enterprise contexts.

Kubernetes configs and namespaces

This update adds support to also add connections from other kubeconfig files.

Furthermore, you can also choose to use any namespace you want. This is useful in cases where you have not set up a context for every namespace you have.

Temporary containers

You can now run a temporary docker container using a specified image that will get automatically removed once it is stopped. The container will keep running even if the image does not have any command specified that will run.

This can be useful if you quickly want to set up a certain environment by using a certain container image, e.g. a simple ubuntu image. You can then enter the container as normal in XPipe, perform your operations, and stop the container once it's no longer needed. It is then removed automatically.

Quick access for connections

One common feedback that some users shared was that it could be quite cumbersome to access a specific nested connection as one would have to possibly expand several connections first. Expanded connections would then also take up a lot of space, leading to a lot of scrolling.

There is now a quick access button available for connections that enables you to quickly choose a connection in the hierarchy without having to expand any connection views.

Other changes

  • Add support for PowerShell on Linux and macOS
  • Add ability to easily add custom files to the git vault
  • Improve git vault performance
  • Fix scaling issues on Linux by providing a separate scaling option
  • Many more bug fixes

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.

Reworked pricing model

There was some feedback that the available plans for the professional edition were confusing. Even the FAQ could still not eliminate all points of confusion as most readers were already familiar with plans from other tools, so it was difficult to properly break up the terms.

So the pricing model has been simplified now with only the one-time payment remaining. The website and FAQ page have also been expanded and should now be easier to understand.

Outlook

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. Next up is probably RDP/VNC support. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord and Slack workspace for any sort of talking.

Enjoy!

 

I'm proud to share a development status update of XPipe, a 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.

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

Connections

Browser

Since the last status update some months ago, a lot of things have changed thanks to the community sharing a lot of feedback and reporting issues. Overall, the project is now in a much more stable state as all the accumulated issues have been fixed. Furthermore, many feature requests have been implemented.

XPipe 8 is this biggest update yet and includes many new features and changes that are necessary going forward to allow for future features to come. The versioning scheme has also been changed to simplify version numbers. So we are going straight from 1.7 to 8.0.

New terminal launcher

The terminal launcher functionality got completely reworked with the goal to make it more flexible and improve the terminal startup performance. You will quickly notice the new implementation whenever you launch any connection in your terminal. The new implementation allows us to start up a connection while the terminal is still opening, shaving off a lot of time.

File browser improvements

The file browser has been reworked in terms of performance and reliability. File transfers of many files are now faster, and any errors that can occur are now handled better.

In terms of the interface, there is also now a progress indicator for files being transferred. For any file conflicts, there is now a new dialog to choose how to resolve any conflict when copying or moving files.

Authentication improvements

This update comes with a newly created system for handling authentication that is better suited for arbitrary authentication prompts. This allows for better support for things like 2FA and other keyboard interactive authentications schemes. The sudo elevation authentication also has been reworked to be more intuitive and mirror the behavior of the system in regard to password prompts.

You also now have finer control over the caching behaviour of passwords and the sudo behaviour via additional settings.

Settings rework

This update comes with a complete rework of the settings menu. Many options have been added and existing ones have been improved, with a focus on providing more control over security settings. Make sure to give them a read to discover new options.

There has been a big focus on providing finer-grained control over security settings, which can be especially useful in enterprise contexts.

Kubernetes configs and namespaces

This update adds support to also add connections from other kubeconfig files.

Furthermore, you can also choose to use any namespace you want. This is useful in cases where you have not set up a context for every namespace you have.

Temporary containers

You can now run a temporary docker container using a specified image that will get automatically removed once it is stopped. The container will keep running even if the image does not have any command specified that will run.

This can be useful if you quickly want to set up a certain environment by using a certain container image, e.g. a simple ubuntu image. You can then enter the container as normal in XPipe, perform your operations, and stop the container once it's no longer needed. It is then removed automatically.

Quick access for connections

One common feedback that some users shared was that it could be quite cumbersome to access a specific nested connection as one would have to possibly expand several connections first. Expanded connections would then also take up a lot of space, leading to a lot of scrolling.

There is now a quick access button available for connections that enables you to quickly choose a connection in the hierarchy without having to expand any connection views.

Other changes

  • Add support for PowerShell on Linux and macOS
  • Add ability to easily add custom files to the git vault
  • Improve git vault performance
  • Fix scaling issues on Linux by providing a separate scaling option
  • Many more bug fixes

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

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. Next up is probably RDP/VNC support. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord and Slack workspace for any sort of talking.

Enjoy!

 

I'm proud to share a status update of XPipe, a 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.

Since the last status update some months ago, a lot of things have changed thanks to the community sharing a lot of feedback and reporting issues. Overall, the project is now in a much more stable state as all the accumulated issues have been fixed. Furthermore, many feature requests have been implemented.

Large connection sets

A lot of work went into improving the application for large use cases when you're managing hundreds of connections. This includes hierarchical organization features to group all your connections into different categories and subcategories. Furthermore, there have been multiple processing and memory optimizations to ensure that the user experience stays smooth all the time. As a side effect, the memory footprint also has gone down. For people who have to use a potato as their workstation, there's also now a performance mode setting to disable any visual effects that are not required.

You can also now tag connections by color for organizational purposes to help in situations when many connections are opened in the file browser and terminals at the same time. These colors will be shown to identify tabs everywhere within XPipe and also outside of XPipe, for example in terminal titles using unicode color symbols.

Connections

A new scripting system

XPipe 1.7 comes with a new scripting system, so now you can take your shell environment everywhere. The idea is to create modular and reusable shell scripts in XPipe that you can then use for various different use cases.

You can set certain scripts to be run on init for every connection independently of your profile files, allowing you to set up a consistent environment across all remote systems without any manual setup. In addition, you can choose to bring scripts to all your remote systems. This will make XPipe automatically copy and update these scripts to a target system if needed and put them in your PATH so that you're able to call them from anywhere.

As of now, there is one set of predefined scripts included for enabling the starship prompt in your shells, mainly as a proof of concept. What you will use the scripting system for is up to you. If you like, you can contribute scripts to be included by default.

Scripts

Other news

  • You can now sync your connection configurations with your own remote git repository

  • You can create fully customized SSH connections by using the OpenSSH config format within XPipe

  • Additional actions for containers have been added, such as attaching to a container or printing the live logs of a container in a terminal session

  • A transparency slider has been added so that you can make all windows partially transparent just as you like

  • Support for many more terminals and text editors across all platforms has been added

  • Support for BSD systems and special login shells like pfSense and OPNsense has been added

  • There's now support to open an SSH connection in your default installed SFTP client or Termius

  • The .deb and .rpm releases now correctly report all required dependencies. So you can install it on embedded systems or WSL2g without any hassle

  • There are now ARM releases for Linux

  • Support for VMware desktop hypervisors has been added

  • There have been many performance improvements to reduce the startup time, memory usage, file browser loading speed, and more

  • The homepage at https://xpipe.io/ got an upgrade

  • Of course, a lot of bugs have been fixed across the board

Going full-time

A few messages I received and the demand for XPipe so far convinced that there is a market for developing XPipe full-time and financing it by special commercial and enterprise plans for interested customers. It essentially encompasses support for enterprise systems and tools that you normally don't find outside of enterprises.

This will improve the development speed and quality as I can now fully focus on creating the best possible application. The scope is very small and only involves me, so no investors or other employees. This drastically lowers the break-even value compared to most other tools and allows me to implement a very lenient commercialization.

Essentially, you can use most current features without any limitation for free. Furthermore, most upcoming features will also be included in the free version. The open-source model and license also won't change. The only features that require a license are integrations for enterprise systems. For example, if you're trying to connect to a licensed RHEL system or an OpenShift cluster, it will ask you to buy a license. Conversely, with a Rocky Linux system and a k3s cluster, you can use everything for free. These commercial-exclusive implementations will probably not be included in the repository though. Other than that, there are no restrictions.

Outlook

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord and Slack workspace for any sort of talking.

Enjoy!

 

I'm proud to share a status update of XPipe, a 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.

Since the last status update some months ago, a lot of things have changed thanks to the community sharing a lot of feedback and reporting issues. Overall, the project is now in a much more stable state as all the accumulated issues have been fixed. Furthermore, many feature requests have been implemented.

Large connection sets

A lot of work went into improving the application for large use cases when you're managing hundreds of connections. This includes hierarchical organization features to group all your connections into different categories and subcategories. Furthermore, there have been multiple processing and memory optimizations to ensure that the user experience stays smooth all the time. As a side effect, the memory footprint also has gone down. For people who have to use a potato as their workstation, there's also now a performance mode setting to disable any visual effects that are not required.

You can also now tag connections by color for organizational purposes to help in situations when many connections are opened in the file browser and terminals at the same time. These colors will be shown to identify tabs everywhere within XPipe and also outside of XPipe, for example in terminal titles using unicode color symbols.

Connections

A new scripting system

XPipe 1.7 comes with a new scripting system, so now you can take your shell environment everywhere. The idea is to create modular and reusable shell scripts in XPipe that you can then use for various different use cases.

You can set certain scripts to be run on init for every connection independently of your profile files, allowing you to set up a consistent environment across all remote systems without any manual setup. In addition, you can choose to bring scripts to all your remote systems. This will make XPipe automatically copy and update these scripts to a target system if needed and put them in your PATH so that you're able to call them from anywhere.

As of now, there is one set of predefined scripts included for enabling the starship prompt in your shells, mainly as a proof of concept. What you will use the scripting system for is up to you. If you like, you can contribute scripts to be included by default.

Scripts

Other news

  • You can now sync your connection configurations with your own remote git repository

  • You can create fully customized SSH connections by using the OpenSSH config format within XPipe

  • Additional actions for containers have been added, such as attaching to a container or printing the live logs of a container in a terminal session

  • A transparency slider has been added so that you can make all windows partially transparent just as you like

  • Support for many more terminals and text editors across all platforms has been added

  • Support for BSD systems and special login shells like pfSense and OPNsense has been added

  • There's now support to open an SSH connection in your default installed SFTP client or Termius

  • The .deb and .rpm releases now correctly report all required dependencies. So you can install it on embedded systems or WSL2g without any hassle

  • There are now ARM releases for Linux

  • Support for VMware desktop hypervisors has been added

  • There have been many performance improvements to reduce the startup time, memory usage, file browser loading speed, and more

  • The homepage at https://xpipe.io/ got an upgrade

  • There's an official xpipe nixpkg available that you can install. This one is however not always up to date and is currently missing crucial bugfixes that were released a short while ago. There is also a repository that contains the latest up-to-date nixpkg releases: https://github.com/xpipe-io/nixpkg

  • Of course, a lot of bugs have been fixed across the board

  • If you are interested in a video demo, there is a nice YouTube video about it

Going full-time

A few messages I received and the demand for XPipe so far convinced that there is a market for developing XPipe full-time and financing it by special commercial and enterprise plans for interested customers. It essentially encompasses support for enterprise systems and tools that you normally don't find outside of enterprises.

This will improve the development speed and quality as I can now fully focus on creating the best possible application. The scope is very small and only involves me, so no investors or other employees. This drastically lowers the break-even value compared to most other tools and allows me to implement a very lenient commercialization.

Essentially, you can use most current features without any limitation for free. Furthermore, most upcoming features will also be included in the free version. The open-source model and license also won't change. The only features that require a license are integrations for enterprise systems. For example, if you're trying to connect to a licensed RHEL system or an OpenShift cluster, it will ask you to buy a license. Conversely, with a Rocky Linux system and a k3s cluster, you can use everything for free. These commercial-exclusive implementations will probably not be included in the repository though. Other than that, there are no restrictions.

Outlook

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord and Slack workspace for any sort of talking.

Enjoy!

 

Hello selfhosted community,

I just wanted to give you a short update on XPipe, a new type of shell connection hub and remote file manager that allows you to access your entire sever infrastructure from your local machine through your installed command-line programs.

Since I last posted about it here around one month ago, a lot of things have changed thanks to the community sharing a lot of feedback and reporting issues. Overall, the project is now in a much more stable state as all the accumulated issues have been fixed. Furthermore, many feature requests have been implemented. This includes for example:

  • SSH tunnel support (Local, Remote, and Dynamic)
  • Automatic import from your SSH configs
  • Podman support
  • Support for other Linux environments on Windows such as Cygwin or MSYS2
  • Fish support
  • Support for more terminals and editors such as Alacritty, Kitty, and more

Here are some screenshots:

Connection Hub

File Browser

Overall, there have also been a lot of changes across the board:

  • In terms of security and the handling of passwords, people did not like storing their passwords in yet another tool, so a lot of changes have been made. You can now source all required passwords either on the fly with a prompt or call the CLI of your password manager to fetch them.

  • The UI also got an overhaul and is now much more responsive and performant. Many of the icons were redone to achieve a more uniform look plus it now also displays the logo of the os/distro you connected to. It is also made to be more intuitive in many aspects.

  • In terms of availability, there are also now ARM builds available for Linux, plus a new xpipe AUR package. The available automatic installation scripts for bash and PowerShell have also been improved.

  • Of course a lot of bugs have been fixed as well and I learned a lot about in what kind of different environments people use this tool.

So if you gave this project a try a while ago or it sounds interesting to you, you can check it out on GitHub! There are still more features to come in the near future. I also appreciate any kind of feedback to guide me in the right development direction. There is also a Discord and Slack workspace for any sort of talking, now with a small community present.

Enjoy!

view more: next ›