From a30b5e2bd76fdc4e7334dda6b0571e0e090b26cd Mon Sep 17 00:00:00 2001 From: wuhgit Date: Sat, 22 Mar 2025 10:07:35 +0800 Subject: [PATCH] Customizing the OTA page --- README.md | 41 +++++++++++++++++++++------ image-4_n_filesystem.png | Bin 0 -> 5398 bytes image-4_n_firmware.png | Bin 0 -> 4976 bytes image-4_s_filesystem.png | Bin 0 -> 34179 bytes image-4_s_firmware.png | Bin 0 -> 33349 bytes src/ESPAsyncHTTPUpdateServer.cpp | 47 +++++++++++++++++++++++++------ 6 files changed, 72 insertions(+), 16 deletions(-) create mode 100644 image-4_n_filesystem.png create mode 100644 image-4_n_firmware.png create mode 100644 image-4_s_filesystem.png create mode 100644 image-4_s_firmware.png diff --git a/README.md b/README.md index 14ff21c..5b4a91b 100644 --- a/README.md +++ b/README.md @@ -80,19 +80,44 @@ or _updateServer.setup(&_server, "/customroute", "username", "password"); ``` -### Styling -- Stylized - -Stylized OTA Page - -- Minimal - -Minimal OTA Page +### Styling and Customizing OTA Page + + + + + + + + + + + + + + + + + + + + + + +
OTA ModeStylizedMinimal(default)
DefaultStylized OTA PageMinimal OTA Page
Firmware OnlyStylized OTA Firmware Only PageMinimal OTA Firmware Only Page
Filesystem OnlyStylized OTA Filesystem OnlyPageMinimal OTA Filesystem Only Page
> [!IMPORTANT] > By default styling is disabled to save ~350 bytes of flash memory. > > You can enable the styling by adding the `-DESPASYNCHTTPUPDATESERVER_PRETTY` Build Flag to your environment. +> +> Adding the `-DESPASYNCHTTPUPDATESERVER_MODE` Build Flag to choose different update mode. this flag has three values: +> +> `-DESPASYNCHTTPUPDATESERVER_MODE=0` firmware and filesystem, which is the default. +> +> `-DESPASYNCHTTPUPDATESERVER_MODE=1` update firmware only. +> +> `-DESPASYNCHTTPUPDATESERVER_MODE=2` update filesystem only. + ### Selecting FileSystem > [!IMPORTANT] diff --git a/image-4_n_filesystem.png b/image-4_n_filesystem.png new file mode 100644 index 0000000000000000000000000000000000000000..fc06f394ab5266de46a5076f7f3dabdff55be672 GIT binary patch literal 5398 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 N(bY20M5$Yc{s%dTSNs3~ literal 0 HcmV?d00001 diff --git a/image-4_n_firmware.png b/image-4_n_firmware.png new file mode 100644 index 0000000000000000000000000000000000000000..35861aa94c83e30d5b9f0e5b4c8ccfad0e2f0117 GIT binary patch literal 4976 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 HhtdB9mST;! literal 0 HcmV?d00001 diff --git a/image-4_s_filesystem.png b/image-4_s_filesystem.png new file mode 100644 index 0000000000000000000000000000000000000000..b2a4836abdf60276391696bef8a23f1f9e250d04 GIT binary patch literal 34179 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

ZcNfsyz>|n`W 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 PK3WfTAC%sI9`t_zc2dC0 literal 0 HcmV?d00001 diff --git a/image-4_s_firmware.png b/image-4_s_firmware.png new file mode 100644 index 0000000000000000000000000000000000000000..b7f6ebbe0b3ee3f631f3f474e897495c496ed99c GIT binary patch literal 33349 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 literal 0 HcmV?d00001 diff --git a/src/ESPAsyncHTTPUpdateServer.cpp b/src/ESPAsyncHTTPUpdateServer.cpp index c763887..4d9bbbf 100644 --- a/src/ESPAsyncHTTPUpdateServer.cpp +++ b/src/ESPAsyncHTTPUpdateServer.cpp @@ -26,17 +26,48 @@ #define Log(...) #endif +#ifndef ESPASYNCHTTPUPDATESERVER_MODE + #define ESPASYNCHTTPUPDATESERVER_MODE 0 +#endif + //https://kangax.github.io/html-minifier/ -#ifdef ESPASYNCHTTPUPDATESERVER_PRETTY -//https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0PjxzdHlsZT4qe2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXItcmFkaXVzOjEwcHh9aDJ7bWFyZ2luLXRvcDowfWgxe2NvbG9yOiNlZWFlY2E7Zm9udC1zaXplOjgwcHh9Ym9keXtiYWNrZ3JvdW5kOiMyMjI7Z2FwOjMwcHg7bWFyZ2luOjA7aGVpZ2h0OjEwMHZofWZvcm17Y29sb3I6IzZiMzU0ZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2VlYWVjYSAwLCM5NGJiZTkgMTAwJSk7cGFkZGluZzozMHB4fWlucHV0e2JvcmRlcjoycHggc29saWQgIzZiMzU0Zjtib3gtc2hhZG93OjAgMTBweCAxMHB4IDJweCAjMDAwMztoZWlnaHQ6MzVweH1pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24saW5wdXRbdHlwZT1zdWJtaXRde2JhY2tncm91bmQ6IzZiMzU0Zjtjb2xvcjojZmZmO2hlaWdodDoxMDAlO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXI6bm9uZX0uY3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfTwvc3R5bGU%2BPGJvZHkgY2xhc3M9Yz48aDE%2BKOKMkOKWoF/ilqApIE9UQTwvaDE%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maXJtd2FyZSJjbGFzcz1jIGVuY3R5cGU9bXVsdGlwYXJ0L2Zvcm0tZGF0YSBtZXRob2Q9UE9TVD48aDI%2BRmlybXdhcmU8L2gyPjxkaXY%2BPGlucHV0IHR5cGU9ZmlsZSBhY2NlcHQ9LmJpbiwuYmluLmd6IG5hbWU9ZmlybXdhcmU%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpcm13YXJlIj48L2Rpdj48L2Zvcm0%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maWxlc3lzdGVtImNsYXNzPWMgZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPjxoMj5GaWxlU3lzdGVtPC9oMj48ZGl2PjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpbGVzeXN0ZW0%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpbGVTeXN0ZW0iPjwvZGl2PjwvZm9ybT4&oeol=FF -static const uint8_t serverIndex[] PROGMEM = - {31,139,8,0,54,195,148,102,0,255,157,146,77,110,219,60,16,134,175,194,218,8,144,20,102,44,203,73,155,80,63,31,186,233,54,5,146,174,138,162,160,200,145,52,45,69,10,36,229,159,24,190,65,23,93,117,253,157,45,39,9,37,203,69,82,32,64,145,133,6,16,201,121,159,121,103,38,125,35,141,240,219,22,106,223,168,60,237,35,81,92,87,25,232,60,109,192,115,34,106,110,29,248,172,243,37,189,58,158,25,237,65,251,108,178,70,233,235,76,194,10,5,208,225,103,134,26,61,114,69,157,224,10,178,197,68,243,6,178,21,194,186,53,214,231,169,243,91,5,249,219,93,25,36,104,201,27,84,91,214,24,109,92,203,5,36,133,177,18,44,181,92,98,231,216,34,106,55,251,58,222,53,220,86,168,169,55,45,139,246,245,98,39,140,50,150,77,1,56,8,158,12,74,14,239,129,93,245,239,11,35,183,187,130,139,31,149,53,157,150,108,26,199,113,82,241,150,45,195,109,114,144,98,81,82,3,86,181,15,136,104,85,239,75,99,155,163,234,187,98,121,121,81,38,79,20,20,106,224,150,86,125,85,193,245,105,252,62,146,80,205,70,62,137,102,211,235,139,162,128,107,18,196,78,206,146,150,75,137,186,26,120,123,212,109,231,119,7,91,44,110,55,196,25,133,146,252,161,152,13,117,53,151,102,205,162,144,30,238,135,208,63,156,70,81,180,60,150,185,188,60,106,49,86,162,2,234,64,129,240,198,210,162,243,222,232,208,245,112,247,165,31,100,230,186,162,65,255,245,89,15,70,220,104,177,44,203,39,254,79,14,29,124,97,22,76,27,13,251,115,177,147,232,90,197,183,172,84,176,73,250,64,37,218,80,3,26,205,130,110,215,232,228,123,231,60,150,91,58,174,7,19,33,128,77,184,194,74,83,244,208,184,241,104,159,206,15,123,144,246,211,34,66,113,231,50,17,214,111,145,159,62,252,252,245,240,251,255,111,225,59,35,55,119,31,210,121,56,76,251,1,17,62,192,178,201,127,195,74,149,104,155,53,183,48,25,179,9,232,97,145,179,166,83,30,91,110,253,188,207,162,146,135,133,13,91,91,27,153,125,186,185,189,11,148,56,255,56,38,7,245,56,79,37,174,242,116,232,32,25,20,250,14,7,154,128,214,103,231,5,234,89,31,206,171,123,242,12,156,147,167,57,135,174,147,21,87,29,100,147,207,109,192,2,57,98,38,121,58,31,32,67,73,47,216,81,224,182,46,52,233,149,134,20,220,14,233,175,179,116,132,255,147,169,35,234,47,91,143,204,254,125,32,76,4,0,0}; -#else -//https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0Pjxmb3JtIGFjdGlvbj0iP25hbWU9ZmlybXdhcmUiZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpcm13YXJlOjxicj48aW5wdXQgdHlwZT1maWxlIGFjY2VwdD0uYmluLC5iaW4uZ3ogbmFtZT1maXJtd2FyZT4gPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJVcGRhdGUgRmlybXdhcmUiPjwvZm9ybT48Zm9ybSBhY3Rpb249Ij9uYW1lPWZpbGVzeXN0ZW0iZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpbGVTeXN0ZW06PGJyPjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpbGVzeXN0ZW0%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpbGVTeXN0ZW0iPjwvZm9ybT4&oeol=FF -static const uint8_t serverIndex[] PROGMEM = - {31,139,8,0,47,63,148,102,0,255,149,142,77,75,196,48,16,64,255,74,204,121,187,226,77,36,19,111,94,21,86,127,192,52,157,110,7,242,69,58,109,89,127,253,182,193,138,30,4,247,50,144,73,94,222,51,119,93,114,114,201,52,72,240,214,108,83,121,140,103,160,104,77,32,65,229,6,44,35,9,76,210,55,143,251,46,69,161,40,160,23,238,100,128,142,102,118,212,212,195,129,35,11,163,111,70,135,158,224,65,71,12,4,51,211,146,83,17,107,250,84,130,66,39,156,34,232,231,122,217,115,9,11,22,210,20,107,10,132,201,11,103,44,114,191,189,110,58,92,149,171,119,72,29,188,189,158,222,237,203,23,240,100,218,98,13,199,60,137,170,96,207,158,214,207,29,101,129,99,203,241,176,141,227,249,83,253,242,88,245,147,25,167,54,176,168,25,253,68,160,63,242,106,35,181,27,180,53,181,225,143,110,79,227,101,20,10,55,148,123,58,85,228,230,246,221,245,175,250,221,242,221,127,5,2,22,24,226,232,1,0,0}; +#if ESPASYNCHTTPUPDATESERVER_MODE == 0 + #ifdef ESPASYNCHTTPUPDATESERVER_PRETTY + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0PjxzdHlsZT4qe2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXItcmFkaXVzOjEwcHh9aDJ7bWFyZ2luLXRvcDowfWgxe2NvbG9yOiNlZWFlY2E7Zm9udC1zaXplOjgwcHh9Ym9keXtiYWNrZ3JvdW5kOiMyMjI7Z2FwOjMwcHg7bWFyZ2luOjA7aGVpZ2h0OjEwMHZofWZvcm17Y29sb3I6IzZiMzU0ZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2VlYWVjYSAwLCM5NGJiZTkgMTAwJSk7cGFkZGluZzozMHB4fWlucHV0e2JvcmRlcjoycHggc29saWQgIzZiMzU0Zjtib3gtc2hhZG93OjAgMTBweCAxMHB4IDJweCAjMDAwMztoZWlnaHQ6MzVweH1pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24saW5wdXRbdHlwZT1zdWJtaXRde2JhY2tncm91bmQ6IzZiMzU0Zjtjb2xvcjojZmZmO2hlaWdodDoxMDAlO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXI6bm9uZX0uY3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfTwvc3R5bGU%2BPGJvZHkgY2xhc3M9Yz48aDE%2BKOKMkOKWoF/ilqApIE9UQTwvaDE%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maXJtd2FyZSJjbGFzcz1jIGVuY3R5cGU9bXVsdGlwYXJ0L2Zvcm0tZGF0YSBtZXRob2Q9UE9TVD48aDI%2BRmlybXdhcmU8L2gyPjxkaXY%2BPGlucHV0IHR5cGU9ZmlsZSBhY2NlcHQ9LmJpbiwuYmluLmd6IG5hbWU9ZmlybXdhcmU%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpcm13YXJlIj48L2Rpdj48L2Zvcm0%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maWxlc3lzdGVtImNsYXNzPWMgZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPjxoMj5GaWxlU3lzdGVtPC9oMj48ZGl2PjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpbGVzeXN0ZW0%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpbGVTeXN0ZW0iPjwvZGl2PjwvZm9ybT4&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,54,195,148,102,0,255,157,146,77,110,219,60,16,134,175,194,218,8,144,20,102,44,203,73,155,80,63,31,186,233,54,5,146,174,138,162,160,200,145,52,45,69,10,36,229,159,24,190,65,23,93,117,253,157,45,39,9,37,203,69,82,32,64,145,133,6,16,201,121,159,121,103,38,125,35,141,240,219,22,106,223,168,60,237,35,81,92,87,25,232,60,109,192,115,34,106,110,29,248,172,243,37,189,58,158,25,237,65,251,108,178,70,233,235,76,194,10,5,208,225,103,134,26,61,114,69,157,224,10,178,197,68,243,6,178,21,194,186,53,214,231,169,243,91,5,249,219,93,25,36,104,201,27,84,91,214,24,109,92,203,5,36,133,177,18,44,181,92,98,231,216,34,106,55,251,58,222,53,220,86,168,169,55,45,139,246,245,98,39,140,50,150,77,1,56,8,158,12,74,14,239,129,93,245,239,11,35,183,187,130,139,31,149,53,157,150,108,26,199,113,82,241,150,45,195,109,114,144,98,81,82,3,86,181,15,136,104,85,239,75,99,155,163,234,187,98,121,121,81,38,79,20,20,106,224,150,86,125,85,193,245,105,252,62,146,80,205,70,62,137,102,211,235,139,162,128,107,18,196,78,206,146,150,75,137,186,26,120,123,212,109,231,119,7,91,44,110,55,196,25,133,146,252,161,152,13,117,53,151,102,205,162,144,30,238,135,208,63,156,70,81,180,60,150,185,188,60,106,49,86,162,2,234,64,129,240,198,210,162,243,222,232,208,245,112,247,165,31,100,230,186,162,65,255,245,89,15,70,220,104,177,44,203,39,254,79,14,29,124,97,22,76,27,13,251,115,177,147,232,90,197,183,172,84,176,73,250,64,37,218,80,3,26,205,130,110,215,232,228,123,231,60,150,91,58,174,7,19,33,128,77,184,194,74,83,244,208,184,241,104,159,206,15,123,144,246,211,34,66,113,231,50,17,214,111,145,159,62,252,252,245,240,251,255,111,225,59,35,55,119,31,210,121,56,76,251,1,17,62,192,178,201,127,195,74,149,104,155,53,183,48,25,179,9,232,97,145,179,166,83,30,91,110,253,188,207,162,146,135,133,13,91,91,27,153,125,186,185,189,11,148,56,255,56,38,7,245,56,79,37,174,242,116,232,32,25,20,250,14,7,154,128,214,103,231,5,234,89,31,206,171,123,242,12,156,147,167,57,135,174,147,21,87,29,100,147,207,109,192,2,57,98,38,121,58,31,32,67,73,47,216,81,224,182,46,52,233,149,134,20,220,14,233,175,179,116,132,255,147,169,35,234,47,91,143,204,254,125,32,76,4,0,0}; + #else + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0Pjxmb3JtIGFjdGlvbj0iP25hbWU9ZmlybXdhcmUiZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpcm13YXJlOjxicj48aW5wdXQgdHlwZT1maWxlIGFjY2VwdD0uYmluLC5iaW4uZ3ogbmFtZT1maXJtd2FyZT4gPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJVcGRhdGUgRmlybXdhcmUiPjwvZm9ybT48Zm9ybSBhY3Rpb249Ij9uYW1lPWZpbGVzeXN0ZW0iZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpbGVTeXN0ZW06PGJyPjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpbGVzeXN0ZW0%2BIDxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpbGVTeXN0ZW0iPjwvZm9ybT4&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,47,63,148,102,0,255,149,142,77,75,196,48,16,64,255,74,204,121,187,226,77,36,19,111,94,21,86,127,192,52,157,110,7,242,69,58,109,89,127,253,182,193,138,30,4,247,50,144,73,94,222,51,119,93,114,114,201,52,72,240,214,108,83,121,140,103,160,104,77,32,65,229,6,44,35,9,76,210,55,143,251,46,69,161,40,160,23,238,100,128,142,102,118,212,212,195,129,35,11,163,111,70,135,158,224,65,71,12,4,51,211,146,83,17,107,250,84,130,66,39,156,34,232,231,122,217,115,9,11,22,210,20,107,10,132,201,11,103,44,114,191,189,110,58,92,149,171,119,72,29,188,189,158,222,237,203,23,240,100,218,98,13,199,60,137,170,96,207,158,214,207,29,101,129,99,203,241,176,141,227,249,83,253,242,88,245,147,25,167,54,176,168,25,253,68,160,63,242,106,35,181,27,180,53,181,225,143,110,79,227,101,20,10,55,148,123,58,85,228,230,246,221,245,175,250,221,242,221,127,5,2,22,24,226,232,1,0,0}; + #endif +#endif + +#if ESPASYNCHTTPUPDATESERVER_MODE == 1 + #ifdef ESPASYNCHTTPUPDATESERVER_PRETTY + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0PjxzdHlsZT4qe2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXItcmFkaXVzOjEwcHh9aDJ7bWFyZ2luLXRvcDowfWgxe2NvbG9yOiNlZWFlY2E7Zm9udC1zaXplOjgwcHh9Ym9keXtiYWNrZ3JvdW5kOiMyMjI7Z2FwOjMwcHg7bWFyZ2luOjA7aGVpZ2h0OjEwMHZofWZvcm17Y29sb3I6IzZiMzU0ZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2VlYWVjYSAwLCM5NGJiZTkgMTAwJSk7cGFkZGluZzozMHB4fWlucHV0e2JvcmRlcjoycHggc29saWQgIzZiMzU0Zjtib3gtc2hhZG93OjAgMTBweCAxMHB4IDJweCAjMDAwMztoZWlnaHQ6MzVweH1pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24saW5wdXRbdHlwZT1zdWJtaXRde2JhY2tncm91bmQ6IzZiMzU0Zjtjb2xvcjojZmZmO2hlaWdodDoxMDAlO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXI6bm9uZX0uY3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfTwvc3R5bGU%2BPGJvZHkgY2xhc3M9Yz48aDE%2BKOKMkOKWoF/ilqApIE9UQTwvaDE%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maXJtd2FyZSJjbGFzcz1jIGVuY3R5cGU9bXVsdGlwYXJ0L2Zvcm0tZGF0YSBtZXRob2Q9UE9TVD48ZGl2PjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpcm13YXJlPiA8aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9IlVwZGF0ZSBGaXJtd2FyZSI%2BPC9kaXY%2BPC9mb3JtPg&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,245,7,222,103,0,255,117,82,205,110,219,56,16,126,21,214,70,128,164,48,99,217,78,218,132,18,85,244,210,107,22,104,122,90,44,10,138,28,73,211,165,72,130,164,252,19,195,111,176,135,158,122,238,179,229,73,66,201,246,34,57,244,160,1,52,195,249,190,153,111,190,226,157,178,50,238,28,180,177,211,101,49,68,162,133,105,56,152,178,232,32,10,34,91,225,3,68,222,199,154,222,157,115,214,68,48,145,79,54,168,98,203,21,172,81,2,29,127,102,104,48,162,208,52,72,161,129,47,38,70,116,192,215,8,27,103,125,44,139,16,119,26,202,247,251,58,65,208,90,116,168,119,172,179,198,6,39,36,228,149,245,10,60,245,66,97,31,216,34,115,219,67,187,220,119,194,55,104,104,180,142,101,135,118,177,151,86,91,207,166,0,2,164,200,71,164,128,79,192,238,134,247,149,85,187,125,37,228,191,141,183,189,81,108,186,92,46,243,70,56,182,74,213,252,8,197,178,188,5,108,218,152,40,178,117,123,168,173,239,206,168,31,170,213,237,77,157,191,66,208,104,64,120,218,12,83,165,173,47,151,31,51,5,205,236,196,79,178,217,244,254,166,170,224,158,36,176,139,171,220,9,165,208,52,35,223,1,141,235,227,254,184,22,91,186,45,9,86,163,34,255,179,216,45,13,173,80,118,195,178,212,158,234,99,24,30,78,179,44,91,157,199,92,221,158,177,24,171,81,3,13,160,65,70,235,105,213,199,104,77,82,61,213,254,30,14,201,67,95,117,24,255,121,163,193,137,238,180,98,93,215,175,246,191,56,42,248,135,91,48,99,13,28,174,229,94,97,112,90,236,88,173,97,155,15,129,42,244,105,6,180,134,37,220,190,51,249,143,62,68,172,119,244,100,15,38,83,0,159,11,141,141,161,24,161,11,167,212,161,152,31,125,80,12,215,34,82,139,16,184,76,246,91,148,151,207,255,253,124,254,245,251,123,250,174,200,195,227,231,98,158,146,197,112,32,34,70,50,62,249,52,90,170,70,223,109,132,135,201,169,155,128,25,141,204,187,94,71,116,194,199,249,208,69,149,72,134,77,174,109,173,226,127,61,124,125,44,11,133,235,178,24,5,35,99,195,32,104,2,151,224,34,191,174,208,204,134,112,221,60,145,55,60,37,121,221,115,20,153,172,133,238,129,79,190,185,196,2,228,203,121,164,178,152,143,36,227,4,229,11,21,94,161,135,100,3,0,0}; + #else + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0Pjxmb3JtIGFjdGlvbj0iP25hbWU9ZmlybXdhcmUiZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpcm13YXJlPjxpbnB1dCB0eXBlPXN1Ym1pdCB2YWx1ZT0iVXBkYXRlIEZpcm13YXJlIj48L2Zvcm0%2B&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,7,8,222,103,0,255,85,142,177,110,195,48,12,68,127,69,245,28,167,232,214,65,84,183,174,45,208,246,3,24,137,142,9,72,148,32,83,54,154,175,143,45,32,67,150,3,72,30,223,157,125,9,217,235,127,161,89,83,116,246,80,19,81,174,64,226,108,34,69,227,103,172,11,41,52,157,198,247,199,46,139,146,40,12,27,7,157,33,208,202,158,198,62,156,88,88,25,227,184,120,140,4,111,131,96,34,88,153,182,146,171,58,59,229,154,12,122,229,44,48,124,244,227,196,53,109,88,105,32,233,85,32,181,168,92,176,234,235,225,30,3,238,145,123,238,156,3,124,127,253,252,58,203,82,154,154,238,157,56,210,206,243,84,20,206,23,150,211,33,231,235,205,60,161,159,94,150,118,73,172,102,197,216,8,134,191,178,243,201,124,62,74,56,219,83,221,29,72,103,234,133,26,1,0,0}; + #endif #endif +#if ESPASYNCHTTPUPDATESERVER_MODE == 2 + #ifdef ESPASYNCHTTPUPDATESERVER_PRETTY + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0PjxzdHlsZT4qe2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXItcmFkaXVzOjEwcHh9aDJ7bWFyZ2luLXRvcDowfWgxe2NvbG9yOiNlZWFlY2E7Zm9udC1zaXplOjgwcHh9Ym9keXtiYWNrZ3JvdW5kOiMyMjI7Z2FwOjMwcHg7bWFyZ2luOjA7aGVpZ2h0OjEwMHZofWZvcm17Y29sb3I6IzZiMzU0ZjtiYWNrZ3JvdW5kOmxpbmVhci1ncmFkaWVudCgyNzBkZWcsI2VlYWVjYSAwLCM5NGJiZTkgMTAwJSk7cGFkZGluZzozMHB4fWlucHV0e2JvcmRlcjoycHggc29saWQgIzZiMzU0Zjtib3gtc2hhZG93OjAgMTBweCAxMHB4IDJweCAjMDAwMztoZWlnaHQ6MzVweH1pbnB1dDo6ZmlsZS1zZWxlY3Rvci1idXR0b24saW5wdXRbdHlwZT1zdWJtaXRde2JhY2tncm91bmQ6IzZiMzU0Zjtjb2xvcjojZmZmO2hlaWdodDoxMDAlO2ZvbnQtZmFtaWx5Om1vbm9zcGFjZTtib3JkZXI6bm9uZX0uY3tkaXNwbGF5OmZsZXg7ZmxleC1kaXJlY3Rpb246Y29sdW1uO2p1c3RpZnktY29udGVudDpjZW50ZXI7YWxpZ24taXRlbXM6Y2VudGVyfTwvc3R5bGU%2BPGJvZHkgY2xhc3M9Yz48aDE%2BKOKMkOKWoF/ilqApIE9UQTwvaDE%2BPGZvcm0gYWN0aW9uPSI/bmFtZT1maWxlc3lzdGVtImNsYXNzPWMgZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPjxkaXY%2BPGlucHV0IHR5cGU9ZmlsZSBhY2NlcHQ9LmJpbiwuYmluLmd6IG5hbWU9ZmlsZXN5c3RlbT48aW5wdXQgdHlwZT1zdWJtaXQgdmFsdWU9IlVwZGF0ZSBGaWxlU3lzdGVtIj48L2Rpdj48L2Zvcm0%2B&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,25,8,222,103,0,255,117,82,65,110,219,58,16,189,10,107,35,64,82,152,177,108,39,109,66,137,42,186,249,219,20,72,186,42,62,10,138,28,73,211,82,164,64,82,182,21,195,55,232,162,171,174,123,182,156,36,148,108,23,73,129,46,52,128,56,51,239,205,188,121,217,27,101,101,232,91,168,67,163,243,108,136,68,11,83,113,48,121,214,64,16,68,214,194,121,8,188,11,37,189,57,189,89,19,192,4,62,217,160,10,53,87,176,70,9,116,252,153,161,193,128,66,83,47,133,6,190,152,24,209,0,95,35,108,90,235,66,158,249,208,107,200,223,238,202,8,65,75,209,160,238,89,99,141,245,173,144,144,22,214,41,112,212,9,133,157,103,139,164,221,238,235,229,174,17,174,66,67,131,109,89,178,175,23,59,105,181,117,108,10,32,64,138,116,68,242,248,8,236,102,168,47,172,234,119,133,144,223,43,103,59,163,216,116,185,92,166,149,104,217,42,102,211,3,20,75,210,26,176,170,67,164,72,214,245,190,180,174,57,161,190,43,86,215,87,101,250,2,65,163,1,225,104,53,76,21,183,62,95,190,79,20,84,179,35,63,73,102,211,219,171,162,128,91,18,193,206,46,210,86,40,133,166,26,249,246,104,218,46,236,14,107,177,101,187,37,222,106,84,228,15,139,221,82,95,11,101,55,44,137,237,49,63,134,161,112,154,36,201,234,52,230,234,250,132,197,88,137,26,168,7,13,50,88,71,139,46,4,107,162,234,49,247,101,56,36,247,93,209,96,248,255,149,6,71,186,227,138,101,89,190,216,255,236,160,224,63,110,193,140,53,176,191,148,59,133,190,213,162,103,165,134,109,58,4,170,208,197,25,208,26,22,113,187,198,164,223,58,31,176,236,233,209,30,76,198,0,46,21,26,43,67,49,64,227,143,79,251,108,126,240,65,54,92,139,72,45,188,231,50,218,111,145,159,63,253,248,249,244,235,247,215,248,93,144,187,135,143,217,60,62,102,195,129,136,24,201,248,228,195,104,169,65,6,223,251,136,58,57,246,19,48,163,149,121,211,233,128,173,112,97,62,244,81,37,162,101,163,111,107,171,248,167,187,251,135,60,83,184,206,179,81,50,50,54,12,88,17,94,66,27,248,101,129,102,54,132,203,234,145,252,197,244,170,233,160,51,89,11,221,1,159,124,110,35,13,144,255,98,237,253,97,170,60,155,143,60,227,16,249,51,124,120,193,92,105,3,0,0}; + #else + //https://gchq.github.io/CyberChef/#recipe=Gzip('Dynamic%20Huffman%20Coding','','',false)To_Decimal('Comma',false)&input=PCFkb2N0eXBlaHRtbD48aHRtbCBsYW5nPWVuPjxtZXRhIGNoYXJzZXQ9dXRmLTg%2BPG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPXZpZXdwb3J0Pjxmb3JtIGFjdGlvbj0iP25hbWU9ZmlybXdhcmUiZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpcm13YXJlOjxicj48aW5wdXQgdHlwZT1maWxlIGFjY2VwdD0uYmluLC5iaW4uZ3ogbmFtZT1maXJtd2FyZT4gPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJVcGRhdGUgRmlybXdhcmUiPjwvZm9ybT48Zm9ybSBhY3Rpb249Ij9uYW1lPWZpbGVzeXN0ZW0iZW5jdHlwZT1tdWx0aXBhcnQvZm9ybS1kYXRhIG1ldGhvZD1QT1NUPkZpbGVTeXN0ZW06PGJyPjxpbnB1dCB0eXBlPWZpbGUgYWNjZXB0PS5iaW4sLmJpbi5neiBuYW1lPWZpbGVzeXN0ZW0%2BPGlucHV0IHR5cGU9c3VibWl0IHZhbHVlPSJVcGRhdGUgRmlsZVN5c3RlbSI%2BPC9mb3JtPg&oeol=FF + static const uint8_t serverIndex[] PROGMEM = + {31,139,8,0,39,8,222,103,0,255,149,142,61,110,243,48,12,64,175,162,106,142,83,116,43,10,81,221,186,126,5,210,239,0,180,76,199,4,244,7,153,182,145,158,62,182,80,23,205,144,33,11,1,81,122,122,207,60,117,201,201,37,211,32,193,91,179,77,229,49,158,129,162,53,129,4,149,27,176,140,36,48,73,223,188,238,187,20,133,162,128,94,184,147,1,58,154,217,81,83,15,7,142,44,140,190,25,29,122,130,23,29,49,16,204,76,75,78,69,172,233,83,9,10,157,112,138,160,223,235,101,207,37,44,88,72,83,172,41,16,38,47,156,177,200,243,246,186,233,112,85,174,222,33,117,240,249,239,244,101,63,126,128,55,211,22,107,56,230,73,84,5,123,246,180,126,238,40,11,28,91,142,135,109,28,207,223,234,198,99,213,95,102,156,218,192,162,102,244,19,129,254,159,87,27,169,221,160,173,169,13,119,186,61,141,151,81,40,60,80,238,233,84,145,135,219,119,215,13,116,39,126,151,252,230,95,1,96,12,142,211,231,1,0,0}; + #endif +#endif + + static const char successResponse[] PROGMEM = R"(Update Success! Rebooting...)";