-
Notifications
You must be signed in to change notification settings - Fork 1
[Request] Do not require external access for daemon #220
Comments
But doesn't your web browser connect to your daemon on the server, so you have to have it port forwarded. |
Close but not completely accurate. There's only 1 connection between the web server and the daemon. The reason why you need port forwarding is because the panel connects TO the daemon. The daemon just sends out a web request to the control panel on startup. |
It is possible to make the daemon connect outbound to the panel but at this point in time we're not planning on doing that. |
Ok thanks anyway :) |
I'm guessing you use Socket.IO? |
Client->server, yes Daemon->server, raw websockets with a semi-custom rpc |
Okay, I could help write a back end server which the daemons connect to and then when the browser says install "plugin x on server y", we find that daemon and we check if the user owns it and then we emit to the daemon's socket saying install "plugin x on server y". So, you wouldn't need to port forward. I'm also on my phone :( |
There's a few things that we have to consider before we can do this. However, we're revamping our auth protocol which will allow both ways of connection setup. The problem right now is that the panel needs to auth to the daemon using a password. If a daemon connects and says "Hi I'm daemon A" we wouldn't want the panel to send the daemon auth code without any means of verification. We're planning on switching to certificates on both sides, signed and issued by the panel. This would easily authenticate the panel against the daemon and the other way around. I'm also on my phone :p |
Right now you have to open up port 355somethingsomething and make sure it is accessible by the panel, however I would like to host a server on my home network (that is currently just command line) on SpaceCP without having to port forward anything. I do not believe this would require too much reworking since there is already a websocket connection that is started by the daemon that connects to the panel (I think), but I could be entirely wrong.
I will edit this in a bit with more accurate info.
The text was updated successfully, but these errors were encountered: