Switch Maslow CNC web interface from HTTP to HTTPS#574
Switch Maslow CNC web interface from HTTP to HTTPS#574Copilot wants to merge 6 commits intoMaslow-Mainfrom
Conversation
Co-authored-by: BarbourSmith <9359447+BarbourSmith@users.noreply.github.com>
|
@MaslowBot add a button to download the self-signed CA into the browser in the settings popup. include instructions (or links to instructions) for major browsers, including mobile devices. |
|
User @davidelang mentioned @MaslowBot with the following request: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @MaslowBot add a button to download the self-signed CA into the browser in the settings popup. include instructions (or links to instructions) for major browsers, including mobile devices. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This comment was automatically relayed by MaslowBot so that @copilot-swe-agent can respond to the request. |
|
@MaslowBot allow both http and https access. |
|
User @davidelang mentioned @MaslowBot with the following request: ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ @MaslowBot allow both http and https access. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ This comment was automatically relayed by MaslowBot so that @copilot-swe-agent can respond to the request. |
- Replace WebServer with ESPWebServerSecure class - Update default port from 80 to 443 (HTTPS) - Update mDNS service from "http" to "https" - Update all http:// URLs to https:// in web pages and SSDP - Update port check from 80 to 443 for URL building Co-authored-by: BarbourSmith <9359447+BarbourSmith@users.noreply.github.com>
|
@davidelang please don't make changes to my pull requests |
… issues - Correct constructor call to use port-only constructor - Add setServerKeyAndCert() call with proper parameter order - Document client() method incompatibility issue Co-authored-by: BarbourSmith <9359447+BarbourSmith@users.noreply.github.com>
|
BarbourSmith wrote:
BarbourSmith left a comment (MaslowCNC/Maslow_4#574)
@davidelang please don't make changes to my pull requests
Ok, I'll just send the comments to you instead of the bot.
David Lang
|
- Fix file streaming to use ESPWebServer::streamFile() method - Remove client() dependencies in error handling and upload cancellation - Update WebClient to use ESPWebServer base class for compatibility - Fix sendContent() call to use String parameter - Patch esp32_https_server library hwcrypto/sha.h issue - Build successful with 66.2% flash usage, 42.9% RAM usage Co-authored-by: BarbourSmith <9359447+BarbourSmith@users.noreply.github.com>
- Document streamFile header preservation behavior - Note String allocation trade-off in WebClient.flush() - Explain ESPWebServerSecure connection management in error handling - Clarify removal of client().stop() in upload cancellation Co-authored-by: BarbourSmith <9359447+BarbourSmith@users.noreply.github.com>
The PR author (@BarbourSmith) has requested that no changes be made to this pull request. If you'd like to support both HTTP and HTTPS simultaneously, please consider opening a separate issue or PR for that feature.
The PR author (@BarbourSmith) has requested that no changes be made to this pull request. If you'd like this feature, please consider opening a separate issue or PR for adding a certificate download button with browser installation instructions. |
|
@BarbourSmith I don't think the maslow has a battery backed real time clock to give it the date/time after a power cycle, if it's in AP mode (no Internet connection) how does it get the time to do certificate validation? |
Replaces the HTTP web server with HTTPS using self-signed certificates to encrypt all web traffic to the Maslow CNC controller.
Changes
SSL/TLS Implementation
esp32_https_server_compatlibrary dependency from GitHub masterSSLCert.hwith certificate and private key arraysWeb Server Migration
WebServerwithESPWebServerSecurethroughoutclient().write()tostreamFile()APIWebClientto useESPWebServerbase class for compatibilityService Announcements
"http"→"https"http://tohttps://Library Compatibility
esp32_https_serverdependency:hwcrypto/sha.h→sha/sha_parallel_engine.hfor ESP-IDF v4.4+ compatibilityExample
Connecting to the machine now requires HTTPS:
Browsers will show security warnings for the self-signed certificate, which users must accept. All traffic is now encrypted via TLS.
Original prompt
💡 You can make Copilot smarter by setting up custom instructions, customizing its development environment and configuring Model Context Protocol (MCP) servers. Learn more Copilot coding agent tips in the docs.