toniebox-reverse-engineering / teddycloud

teddyCloud is an open source server replacement for the Boxine Cloud
https://toniebox-reverse-engineering.github.io/docs/tools/teddycloud/
GNU General Public License v2.0
483 stars 36 forks source link

latest develop branch web serial/https 401: unauthorized #183

Closed moviebrain closed 6 months ago

moviebrain commented 6 months ago

I was just updating to the latest develop branch this evening, [TeddyCloud vX.X.X (1b2994a) - 2024-05-26 20:15:02 +0000 ubuntu linux-aarch64(64)] and when attempting to add another toniebox and ESP32 flash, moving to any https interface gives me a 401: unauthorized failure.

This is installed via the docker-compose

rolling back to master branch 5.2 resolves the https failure issue, although I don't seem to be able to access the webserial flash utility in any of the menus for the /web interface

henryk86 commented 6 months ago

The webserial utility is only available in the old gui. In new gui it’s currently not available, just a poc is started which actually links to the old gui if https is enabled (http only is disabled).

Did you disable http only?

moviebrain commented 6 months ago

Yes, i did disable https only, and when the interface auto-reloaded the https inteface is when i discovered the issue.

Sorry about assuming the new flash in the /web was working, most of the other non-working bits there were labeled and I just assumed incorrectly. Thanks for the heads up, i'm happy to close this issue until the feature is ready.

henryk86 commented 6 months ago

There is a big panel which states that the flashing is only available in the old gui currently:

image

Besides that, I rechecked the link and it’s currently leading to the same page and not to the old gui. That will be fixed soon.

I also tried to access the old gui with https enabled, but the page stays empty. Will check on that later.

henryk86 commented 6 months ago

But the new web gui works fine with https? I just switched to https in the mentioned version. Can you try another browser or restart the browser?

moviebrain commented 6 months ago

But the new web gui works fine with https? I just switched to https in the mentioned version. Can you try another browser or restart the browser?

My apologies but I had to step away but can double check this in about 9 hours when I’m in front of my computer again. I tried Firefox (doesn’t support web serial I know) and latest chrome. Neither would load https interface in /web at all. I cleared all cookies, cache, and site data and tried again, no change.

I tried restarting the toniecloud server in the interface, restarting the whole server, the only way I could access any https /web page was to roll back off the develop branch to master.

Let me know what, if any, debug info I can provide.

henryk86 commented 6 months ago

I will recheck later. as i just tested with my iPad and safari (I stated insecure Blabla and I had to confirm that I will proceed…)

SciLor commented 6 months ago

The 401 is there because, even the access via HTTPS allowed, you are not allowed to access without (client auth) authentication.

image

moviebrain commented 6 months ago

image I do have client cert auth enabled, and it still fails https

SciLor commented 6 months ago

image I do have client cert auth enabled, and it still fails https

Then you shouldn't be able to visit HTTPS without a certificate. If disabled, it should work without

moviebrain commented 6 months ago

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

SciLor commented 6 months ago

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

I think it makes sense to include this in the flags on the new webinterface on the ESP32 page for fast toggling those options at once. This way, this won't be a problem.

henryk86 commented 6 months ago

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

I think it makes sense to include this in the flags on the new webinterface on the ESP32 page for fast toggling those options at once. This way, this won't be a problem.

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

I think it makes sense to include this in the flags on the new webinterface on the ESP32 page for fast toggling those options at once. This way, this won't be a problem.

On the prepared flashing site is the http only flag included already. I will include the other one also and add a save button which stores both. Instead of auto saving.

moviebrain commented 6 months ago

There is a big panel which states that the flashing is only available in the old gui currently:

image

Besides that, I rechecked the link and it’s currently leading to the same page and not to the old gui. That will be fixed soon.

I also tried to access the old gui with https enabled, but the page stays empty. Will check on that later.

Just fyi, this message is not present in the develop build I’m running. IMG_6800

moviebrain commented 6 months ago

Oh I see, when I couldn’t load the page because of the client auth flag it wouldn’t https page with the banner, and on http-only I don’t see the banner at all. Sorry for the confusion.

henryk86 commented 6 months ago

Yes. The page must be open with https.

I do not differentiate between http only enabled and http and http only disabled and http when showing the message

henryk86 commented 6 months ago

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

I think it makes sense to include this in the flags on the new webinterface on the ESP32 page for fast toggling those options at once. This way, this won't be a problem.

Your information is much appreciated. Can I ask, for a new install, is there a planned mechanism to generate self-signed certs for this server within the teddycloud docker or installer? Otherwise I imagine having this set as the default would frustrate someone (me) who is otherwise simply following the "Check this once to enable https so you can perform the firmware flash" instructions, instructions which worked previously.

I think it makes sense to include this in the flags on the new webinterface on the ESP32 page for fast toggling those options at once. This way, this won't be a problem.

On the prepared flashing site is the http only flag included already. I will include the other one also and add a save button which stores both. Instead of auto saving.

So. Latest Web GUI PR contains the extended prepared Page:

image