Skip Navigation

Introducing XPipe: A brand-new type of shell connection hub and remote file manager

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!

50

You're viewing a single thread.

50 comments
  • Just downloaded this and tried it out on a Debian VPS I have. Ran into a bunch of bugs to the point I couldn’t really do anything with it, but I can see a bunch of potential in the UI. I really like the idea of being able to see an overview of shell, containers, files, etc. I have a bunch of self hosted Proxmox VMs and various VPSs I use on a daily basis, and whole I’m totally comfortable with the command line, this tool seems genuinely useful.

    It seems like you have a bunch of functionality and UI implemented already, so I think taking a few weeks to just bug hunt would be super beneficial at this point. I’ll open up some GitHub issues when I have a minute later, but I ran into so many bugs in just 5 min that it was basically unusable which is extra frustrating because it really seems like it can be a useful tool if it works.

    • That is unfortunate that you had to deal with these bugs. The challenge here is that every setup and shell environment people run this in differs and there was only so much testing I was able to do on my end. Reporting bugs is very helpful to me and they can usually get fixed pretty quickly.

      • Just reopened the app and tried it again and figured out what happened. I had not entered a password in settings when adding the server since I connect using an ssh key. It detected I had docker but when I tried to click it, it errored out. If I had read the error, I would have seen that the problem was needing the password for sudo. I added the password to the server settings and now it's working.

        I guess then the only real "bug" I found so far is that on macOS the app defaults to using iTerm2.app which is a 3rd party terminal app which I don't have installed, so I had to change it to Terminal.app. I know iTerm2 is popular, but I think the default should be the one everyone has installed, and let iTerm2 users select their app in settings, not the other way around. But that's more a UI/UX/onboarding experience thing than a real bug (though maybe it's possible to detect if iTerm2 is installed).

        Anyway, I'm going to keep playing with this and will report anything I find. So far my second impression is that it just overall feels kind of sluggish and doesn't have the best UI feedback when you're waiting for things so I ended up clicking things more than once not thinking it was working then it would open multiple times (like clicking the root file directory).

        Hope to see you keep working on this, it seems like a really cool idea.

You've viewed 50 comments.