- cross-posted to:
- selfhosted@lemmy.world
- cross-posted to:
- selfhosted@lemmy.world
I’m proud to share a status update of XPipe, a new type of 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.
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.
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.
Other improvements
-
In terms of availability, there is now a new xpipe nixpkg package which works but not merged yet, a Microsoft Store package, and the choco package is finally marked as trusted
-
You can now optionally sync your connection configurations with a remote git repository
-
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 OPNsense has been added
-
There’s now support to open an SSH connection in your default installed SFTP client or Termius
-
The powershell execution policy usage has been reworked to always preserve the system default setting
-
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 so
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! In the near future, I’m looking to add support for VMs through their CLIs. On top of that, maybe also an automatic network scan functionality to detect all available systems in a network plus support for more device types and shell types like cisco devices. If you have any other ideas, please share them with me. I’m always interested in what kind of use cases other people can come up with.
Enjoy!
-