-
Notifications
You must be signed in to change notification settings - Fork 20
Switch Maslow CNC web interface from HTTP to HTTPS #574
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: Maslow-Main
Are you sure you want to change the base?
Conversation
Co-authored-by: BarbourSmith <[email protected]>
|
@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 <[email protected]>
|
@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 <[email protected]>
|
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 <[email protected]>
- 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 <[email protected]>
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.