companion
companion copied to clipboard
Formalise/tidy up the remote protocols
Describe the feature
The HTTP, TCP, UDP and OSC protocols are a bit of a mess
They vary in consistency, and how well defined they are. There is no form of security or access control, some of which will need to be engrained into the protocol
Additionally, the http implementation is using names at the root level. This means that the ui has to be careful to not use the same name or it will clash and cause issues. Everything here should be moved to /api/
or something.
This task should spend some time writing a proper definition of the protocols, and make a from scratch reimplementation of them. We should allow them to be run side by side with the old implementations (on different ports), and after a couple of releases remove the old implementation.
- Write a proper definition (something like https://github.com/bitfocus/companion/wiki/Satellite-API)
- Should we implement some kind of api-token security in tcp, udp and http?
- (Optional): How hard would it be to do ip based allow/deny lists.
- Should we implement some kind of api-token security in tcp, udp and http?
@Julusian, that is exactly what I was coming here to suggest now, might be easy to implement?
Alsso, what about disabling emulator and tablet pages at all? Or maybe add basic auth to them? What do you think? Is it easy to implement? Should I create an issue for these feature requests?
@otelom ~~please open a new issue for that~~ There already is an issue for that https://github.com/bitfocus/companion/issues/579
These apis were rewritten in 3.2, with the old apis put behind config flags. Security and firewalling will be covered by #1925