I somehow missed the Comet-X announcement, it looks great and I'm on the notification list since it'll fix the broken external KVM switch issue I'm currently experiencing in 1.10. Since I haven't seen the UI maybe this is already here, but it would be great to be able to bond multiple devices together and it can be done just through software. Here's how I'd implement it:
Every time a user is created or a password is changed, a cryptographically secure access token is stored in the database.
In the settings UI you'd have a "bond/pair additional Comet X".
This would allow you to enter a hostname/IP of the additional Comet X (prepopulating a list from the cloud or an Bonjour scan as needed). It would pop up a window asking you to authenticate and, if successful you'd exchange metadata and access tokens.
Then in the UI for both devices instead of selecting between 4 ports you'd add blocks of additional ports and either proxy the connection though to the remote switch (which is a bit cleaner) or change the URL to point to it (which means all switches need to be accessible from the browser and is a bit more limiting/less clean).
You could even allow single-port devices if you'd like.
The net result is I have a single hostname I can hit and have an infinitely expandable number of ports available without needing to switch devices when you want to talk to server #6. Effectively mimicking the functionality of the modular PiKVM 4-port blocks for a fraction of the price (and with more sane rear-facing ports).
Many thanks for your suggestion. Unfortunately, this is not technically feasible at the moment due to the limitations of the Comet X hardware and software architecture. Comet X only supports a single HDMI input and cannot display 4-channel video simultaneously. It requires switching to the corresponding port to access another device.
Maybe you misinterpreted my request because I don't think this means major architectural changes. Without a Comet X in-hand, my assumption is that there will be a list of four ports in a selector either via a menu or graphical buttons. This is how you direct inputs 1-4 to the output.
My basic request is that if I have two Comet X devices, that construct can be extended to 8 entries and allow a single browser tab to seamlessly select ONE stream from either device.
Let's say for simplicity that those are links to https://comet-a/port/1 through https://comet-a/port/4 - I'd recommend something that's at least bookmarkable so I can open a link and have it auto-switch to.
Then there are two options:
The easy mode is that ports 5-8 map to https://comet-b/ports/1-4 - this could also bypass authentication issues by forcing the user to login when they click on them. Not seamless, but "good enough" and after the first switch it'll provide decent functionality.
The hard mode is that you use a simple proxy and create phantom paths at https://comet-a/ports/5-8, so from browser-to-comet it's all one hostname, but on the back end comet-a is a simple proxy and talks to comet-b. Still, one input is displayed at a time but now it behaves as though there were 8 ports.
This is where authentication becomes more of a concern, especially if you're only opening up the stream itself and the UI is still from comet-a. But there are plenty of options, such as generating an M-TLS configuration and then trusting the browser cookie OR the M-TLS authentication, generating simple API keys for box-to-box communication, creative cookie domains, etc. This is to only difficult thinking needs to happen. Personally, I'd go the machine-to-machine API route since you can use that to handle configuration sync and key rotation as well.
However, with 45 views and no reactions perhaps this is a cool feature only I care about which is also valid! Still, it was a fun solution to design.
Understood. Thanks for clarifying. I've shared your feedback with our PM team for evaluation. While it is not currently on our development roadmap, we will keep this thread open for further discussion.