Skip to content

Commit e4cb8f8

Browse files
author
Spacehuhn
committed
Updated webConverter for new files
1 parent 04feef1 commit e4cb8f8

File tree

3 files changed

+132
-113
lines changed

3 files changed

+132
-113
lines changed

.gitignore

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,5 @@
66
*.map
77

88
.DS_Store
9+
10+
*.pyc

esp8266_deauther/wifi.cpp

Lines changed: 111 additions & 94 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,7 @@ namespace wifi {
185185

186186
void sendProgmem(const char* ptr, size_t size, const char* type) {
187187
server.sendHeader("Content-Encoding", "gzip");
188-
server.sendHeader("Cache-Control", "max-age=86400");
188+
server.sendHeader("Cache-Control", "max-age=3600");
189189
server.send_P(200, str(type).c_str(), ptr, size);
190190
}
191191

@@ -212,11 +212,11 @@ namespace wifi {
212212
String getMode() {
213213
switch (mode) {
214214
case wifi_mode_t::off:
215-
return W_MODE_OFF;
215+
return "OFF";
216216
case wifi_mode_t::ap:
217-
return W_MODE_AP;
217+
return "AP";
218218
case wifi_mode_t::st:
219-
return W_MODE_ST;
219+
return "ST";
220220
default:
221221
return String();
222222
}
@@ -267,100 +267,117 @@ namespace wifi {
267267

268268
server.on("/list", HTTP_GET, handleFileList); // list directory
269269

270-
// ================================================================
271-
// post here the output of the webConverter.py
272270
#ifdef USE_PROGMEM_WEB_FILES
273-
if (!settings::getWebSettings().use_spiffs) {
274-
server.on("/", HTTP_GET, [] () {
275-
sendProgmem(indexhtml, sizeof(indexhtml), W_HTML);
276-
});
277-
server.on("/attack.html", HTTP_GET, [] () {
278-
sendProgmem(attackhtml, sizeof(attackhtml), W_HTML);
279-
});
280-
server.on("/index.html", HTTP_GET, [] () {
281-
sendProgmem(indexhtml, sizeof(indexhtml), W_HTML);
282-
});
283-
server.on("/info.html", HTTP_GET, [] () {
284-
sendProgmem(infohtml, sizeof(infohtml), W_HTML);
285-
});
286-
server.on("/scan.html", HTTP_GET, [] () {
287-
sendProgmem(scanhtml, sizeof(scanhtml), W_HTML);
288-
});
289-
server.on("/ap_settings.html", HTTP_GET, [] () {
290-
sendProgmem(settingshtml, sizeof(settingshtml), W_HTML);
291-
});
292-
server.on("/ssids.html", HTTP_GET, [] () {
293-
sendProgmem(ssidshtml, sizeof(ssidshtml), W_HTML);
294-
});
295-
server.on("/style.css", HTTP_GET, [] () {
296-
sendProgmem(stylecss, sizeof(stylecss), W_CSS);
297-
});
298-
server.on("/js/attack.js", HTTP_GET, [] () {
299-
sendProgmem(attackjs, sizeof(attackjs), W_JS);
300-
});
301-
server.on("/js/scan.js", HTTP_GET, [] () {
302-
sendProgmem(scanjs, sizeof(scanjs), W_JS);
303-
});
304-
server.on("/js/ap_settings.js", HTTP_GET, [] () {
305-
sendProgmem(settingsjs, sizeof(settingsjs), W_JS);
306-
});
307-
server.on("/js/site.js", HTTP_GET, [] () {
308-
sendProgmem(sitejs, sizeof(sitejs), W_JS);
309-
});
310-
server.on("/js/ssids.js", HTTP_GET, [] () {
311-
sendProgmem(ssidsjs, sizeof(ssidsjs), W_JS);
312-
});
313-
server.on("/lang/cn.lang", HTTP_GET, [] () {
314-
sendProgmem(cnlang, sizeof(cnlang), W_JSON);
315-
});
316-
server.on("/lang/cs.lang", HTTP_GET, [] () {
317-
sendProgmem(cslang, sizeof(cslang), W_JSON);
318-
});
319-
server.on("/lang/de.lang", HTTP_GET, [] () {
320-
sendProgmem(delang, sizeof(delang), W_JSON);
321-
});
322-
server.on("/lang/en.lang", HTTP_GET, [] () {
323-
sendProgmem(enlang, sizeof(enlang), W_JSON);
324-
});
325-
server.on("/lang/es.lang", HTTP_GET, [] () {
326-
sendProgmem(eslang, sizeof(eslang), W_JSON);
327-
});
328-
server.on("/lang/fi.lang", HTTP_GET, [] () {
329-
sendProgmem(filang, sizeof(filang), W_JSON);
330-
});
331-
server.on("/lang/fr.lang", HTTP_GET, [] () {
332-
sendProgmem(frlang, sizeof(frlang), W_JSON);
333-
});
334-
server.on("/lang/it.lang", HTTP_GET, [] () {
335-
sendProgmem(itlang, sizeof(itlang), W_JSON);
336-
});
337-
server.on("/lang/ru.lang", HTTP_GET, [] () {
338-
sendProgmem(rulang, sizeof(rulang), W_JSON);
339-
});
340-
server.on("/lang/tlh.lang", HTTP_GET, [] () {
341-
sendProgmem(tlhlang, sizeof(tlhlang), W_JSON);
342-
});
271+
// ================================================================
272+
// paste here the output of the webConverter.py
273+
if(!settings::getWebSettings().use_spiffs){
274+
server.on("/", HTTP_GET, [](){
275+
sendProgmem(indexhtml, sizeof(indexhtml), W_HTML);
276+
});
277+
server.on("/index.html", HTTP_GET, [](){
278+
sendProgmem(indexhtml, sizeof(indexhtml), W_HTML);
279+
});
280+
server.on("/scan.html", HTTP_GET, [](){
281+
sendProgmem(scanhtml, sizeof(scanhtml), W_HTML);
282+
});
283+
server.on("/info.html", HTTP_GET, [](){
284+
sendProgmem(infohtml, sizeof(infohtml), W_HTML);
285+
});
286+
server.on("/ssids.html", HTTP_GET, [](){
287+
sendProgmem(ssidshtml, sizeof(ssidshtml), W_HTML);
288+
});
289+
server.on("/attack.html", HTTP_GET, [](){
290+
sendProgmem(attackhtml, sizeof(attackhtml), W_HTML);
291+
});
292+
server.on("/settings.html", HTTP_GET, [](){
293+
sendProgmem(settingshtml, sizeof(settingshtml), W_HTML);
294+
});
295+
server.on("/style.css", HTTP_GET, [](){
296+
sendProgmem(stylecss, sizeof(stylecss), W_CSS);
297+
});
298+
server.on("/js/ssids.js", HTTP_GET, [](){
299+
sendProgmem(ssidsjs, sizeof(ssidsjs), W_JS);
300+
});
301+
server.on("/js/site.js", HTTP_GET, [](){
302+
sendProgmem(sitejs, sizeof(sitejs), W_JS);
303+
});
304+
server.on("/js/attack.js", HTTP_GET, [](){
305+
sendProgmem(attackjs, sizeof(attackjs), W_JS);
306+
});
307+
server.on("/js/scan.js", HTTP_GET, [](){
308+
sendProgmem(scanjs, sizeof(scanjs), W_JS);
309+
});
310+
server.on("/js/settings.js", HTTP_GET, [](){
311+
sendProgmem(settingsjs, sizeof(settingsjs), W_JS);
312+
});
313+
server.on("/lang/ja.lang", HTTP_GET, [](){
314+
sendProgmem(jalang, sizeof(jalang), W_JSON);
315+
});
316+
server.on("/lang/fi.lang", HTTP_GET, [](){
317+
sendProgmem(filang, sizeof(filang), W_JSON);
318+
});
319+
server.on("/lang/cn.lang", HTTP_GET, [](){
320+
sendProgmem(cnlang, sizeof(cnlang), W_JSON);
321+
});
322+
server.on("/lang/ru.lang", HTTP_GET, [](){
323+
sendProgmem(rulang, sizeof(rulang), W_JSON);
324+
});
325+
server.on("/lang/de.lang", HTTP_GET, [](){
326+
sendProgmem(delang, sizeof(delang), W_JSON);
327+
});
328+
server.on("/lang/it.lang", HTTP_GET, [](){
329+
sendProgmem(itlang, sizeof(itlang), W_JSON);
330+
});
331+
server.on("/lang/en.lang", HTTP_GET, [](){
332+
sendProgmem(enlang, sizeof(enlang), W_JSON);
333+
});
334+
server.on("/lang/fr.lang", HTTP_GET, [](){
335+
sendProgmem(frlang, sizeof(frlang), W_JSON);
336+
});
337+
server.on("/lang/ro.lang", HTTP_GET, [](){
338+
sendProgmem(rolang, sizeof(rolang), W_JSON);
339+
});
340+
server.on("/lang/ptbr.lang", HTTP_GET, [](){
341+
sendProgmem(ptbrlang, sizeof(ptbrlang), W_JSON);
342+
});
343+
server.on("/lang/cs.lang", HTTP_GET, [](){
344+
sendProgmem(cslang, sizeof(cslang), W_JSON);
345+
});
346+
server.on("/lang/tlh.lang", HTTP_GET, [](){
347+
sendProgmem(tlhlang, sizeof(tlhlang), W_JSON);
348+
});
349+
server.on("/lang/es.lang", HTTP_GET, [](){
350+
sendProgmem(eslang, sizeof(eslang), W_JSON);
351+
});
352+
server.on("/lang/th.lang", HTTP_GET, [](){
353+
sendProgmem(thlang, sizeof(thlang), W_JSON);
354+
});
355+
356+
}
357+
server.on("/lang/default.lang", HTTP_GET, [](){
358+
if(!settings::getWebSettings().use_spiffs){
359+
if(String(settings::getWebSettings().lang) == "ja") sendProgmem(jalang, sizeof(jalang), W_JSON);
360+
else if(String(settings::getWebSettings().lang) == "fi") sendProgmem(filang, sizeof(filang), W_JSON);
361+
else if(String(settings::getWebSettings().lang) == "cn") sendProgmem(cnlang, sizeof(cnlang), W_JSON);
362+
else if(String(settings::getWebSettings().lang) == "ru") sendProgmem(rulang, sizeof(rulang), W_JSON);
363+
else if(String(settings::getWebSettings().lang) == "de") sendProgmem(delang, sizeof(delang), W_JSON);
364+
else if(String(settings::getWebSettings().lang) == "it") sendProgmem(itlang, sizeof(itlang), W_JSON);
365+
else if(String(settings::getWebSettings().lang) == "en") sendProgmem(enlang, sizeof(enlang), W_JSON);
366+
else if(String(settings::getWebSettings().lang) == "fr") sendProgmem(frlang, sizeof(frlang), W_JSON);
367+
else if(String(settings::getWebSettings().lang) == "ro") sendProgmem(rolang, sizeof(rolang), W_JSON);
368+
else if(String(settings::getWebSettings().lang) == "ptbr") sendProgmem(ptbrlang, sizeof(ptbrlang), W_JSON);
369+
else if(String(settings::getWebSettings().lang) == "cs") sendProgmem(cslang, sizeof(cslang), W_JSON);
370+
else if(String(settings::getWebSettings().lang) == "tlh") sendProgmem(tlhlang, sizeof(tlhlang), W_JSON);
371+
else if(String(settings::getWebSettings().lang) == "es") sendProgmem(eslang, sizeof(eslang), W_JSON);
372+
else if(String(settings::getWebSettings().lang) == "th") sendProgmem(thlang, sizeof(thlang), W_JSON);
373+
374+
else handleFileRead("/web/lang/"+String(settings::getWebSettings().lang)+".lang");
375+
} else {
376+
handleFileRead("/web/lang/"+String(settings::getWebSettings().lang)+".lang");
343377
}
344-
server.on(str(W_DEFAULT_LANG).c_str(), HTTP_GET, [] () {
345-
if (!settings::getWebSettings().use_spiffs) {
346-
if (String(settings::getWebSettings().lang) == String(F("cn"))) sendProgmem(cnlang, sizeof(cnlang), W_JSON);
347-
else if (String(settings::getWebSettings().lang) == String(F("cs"))) sendProgmem(cslang, sizeof(cslang), W_JSON);
348-
else if (String(settings::getWebSettings().lang) == String(F("de"))) sendProgmem(delang, sizeof(delang), W_JSON);
349-
else if (String(settings::getWebSettings().lang) == String(F("en"))) sendProgmem(enlang, sizeof(enlang), W_JSON);
350-
else if (String(settings::getWebSettings().lang) == String(F("es"))) sendProgmem(eslang, sizeof(eslang), W_JSON);
351-
else if (String(settings::getWebSettings().lang) == String(F("fi"))) sendProgmem(filang, sizeof(filang), W_JSON);
352-
else if (String(settings::getWebSettings().lang) == String(F("fr"))) sendProgmem(frlang, sizeof(frlang), W_JSON);
353-
else if (String(settings::getWebSettings().lang) == String(F("it"))) sendProgmem(itlang, sizeof(itlang), W_JSON);
354-
else if (String(settings::getWebSettings().lang) == String(F("ru"))) sendProgmem(rulang, sizeof(rulang), W_JSON);
355-
else if (String(settings::getWebSettings().lang) == String(F("tlh"))) sendProgmem(tlhlang, sizeof(tlhlang), W_JSON);
356-
357-
else handleFileRead(String(F("/web/lang/")) + String(settings::getWebSettings().lang) + String(F(".lang")));
358-
} else {
359-
handleFileRead(String(F("/web/lang/")) + String(settings::getWebSettings().lang) + String(F(".lang")));
360-
}
361378
});
362-
#endif /* ifdef USE_PROGMEM_WEB_FILES */
363379
// ================================================================
380+
#endif /* ifdef USE_PROGMEM_WEB_FILES */
364381

365382
server.on("/run", HTTP_GET, [] () {
366383
server.send(200, str(W_TXT), str(W_OK).c_str());

utils/web_converter/webConverter.py

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,8 @@
8989
hex_formatted_content += "0x" + char + ", "
9090
hex_formatted_content = hex_formatted_content[:-2]
9191
progmem_definitions += "const char " + array_name + "[] PROGMEM = {" + hex_formatted_content + "};\n"
92-
copy_files_function += ' if(!LittleFS.exists(String(F("/web/' + base_file + '.gz"))) || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), String(F("/web/' + base_file + '.gz")));\n'
93-
webserver_events += 'server.on(String(F("/' + base_file + '")).c_str(), HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_HTML);\n});\n'
92+
copy_files_function += ' if(!LittleFS.exists("/web/' + base_file + '.gz") || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), "/web/' + base_file + '.gz");\n'
93+
webserver_events += 'server.on("/' + base_file + '", HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_HTML);\n});\n'
9494

9595
for file in css_files:
9696
base_file = os.path.basename(str(file))
@@ -117,8 +117,8 @@
117117
hex_formatted_content += "0x" + char + ", "
118118
hex_formatted_content = hex_formatted_content[:-2]
119119
progmem_definitions += "const char " + array_name + "[] PROGMEM = {" + hex_formatted_content + "};\n"
120-
copy_files_function += ' if(!LittleFS.exists(String(F("/web/' + base_file + '.gz"))) || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), String(F("/web/' + base_file + '.gz")));\n'
121-
webserver_events += 'server.on(String(F("/' + base_file + '")).c_str(), HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_CSS);\n});\n'
120+
copy_files_function += ' if(!LittleFS.exists("/web/' + base_file + '.gz") || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), "/web/' + base_file + '.gz");\n'
121+
webserver_events += 'server.on("/' + base_file + '", HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_CSS);\n});\n'
122122

123123
for file in js_files:
124124
q = PurePath('js')
@@ -149,8 +149,8 @@
149149
hex_formatted_content += "0x" + char + ", "
150150
hex_formatted_content = hex_formatted_content[:-2]
151151
progmem_definitions += "const char " + array_name + "[] PROGMEM = {" + hex_formatted_content + "};\n"
152-
copy_files_function += ' if(!LittleFS.exists(String(F("/web/js/' + base_file + '.gz"))) || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), String(F("/web/js/' + base_file + '.gz")));\n'
153-
webserver_events += 'server.on(String(F("/js/' + base_file + '")).c_str(), HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JS);\n});\n'
152+
copy_files_function += ' if(!LittleFS.exists("/web/js/' + base_file + '.gz") || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), "/web/js/' + base_file + '.gz");\n'
153+
webserver_events += 'server.on("/js/' + base_file + '", HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JS);\n});\n'
154154

155155
for file in lang_files:
156156
q = PurePath('lang')
@@ -179,12 +179,12 @@
179179
hex_formatted_content += "0x" + char + ", "
180180
hex_formatted_content = hex_formatted_content[:-2]
181181
progmem_definitions += "const char " + array_name + "[] PROGMEM = {" + hex_formatted_content + "};\n"
182-
copy_files_function += ' if(!LittleFS.exists(String(F("/web/lang/' + base_file + '.gz"))) || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), String(F("/web/lang/' + base_file + '.gz")));\n'
183-
webserver_events += 'server.on(String(F("/lang/' + base_file + '")).c_str(), HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n});\n'
182+
copy_files_function += ' if(!LittleFS.exists("/web/lang/' + base_file + '.gz") || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), "/web/lang/' + base_file + '.gz");\n'
183+
webserver_events += 'server.on("/lang/' + base_file + '", HTTP_GET, [](){\n sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n});\n'
184184
if(len(load_lang) > 0):
185-
load_lang += ' else if(settings::getLang() == String(F("'+lang_name+'"))) sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n'
185+
load_lang += ' else if(String(settings::getWebSettings().lang) == "'+lang_name+'") sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n'
186186
else:
187-
load_lang += ' if(settings::getLang() == String(F("'+lang_name+'"))) sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n'
187+
load_lang += ' if(String(settings::getWebSettings().lang) == "'+lang_name+'") sendProgmem(' + array_name + ', sizeof(' + array_name + '), W_JSON);\n'
188188

189189
base_file = os.path.basename(license_file_path)
190190
new_file = str(os.path.join(str(compressed), str("LICENSE")))
@@ -206,7 +206,7 @@
206206
hex_formatted_content += "0x" + char + ", "
207207
hex_formatted_content = hex_formatted_content[:-2]
208208
progmem_definitions += "const char " + array_name + "[] PROGMEM = {" + hex_formatted_content + "};\n"
209-
copy_files_function += ' if(!LittleFS.exists(String(F("/web/' + base_file + '.gz"))) || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), String(F("/web/' + base_file + '.gz")));\n'
209+
copy_files_function += ' if(!LittleFS.exists("/web/' + base_file + '.gz") || force) progmemToSpiffs(' + array_name + ', sizeof(' + array_name + '), "/web/' + base_file + '.gz");\n'
210210

211211
print("[+] Saving everything into webfiles.h...")
212212
f = open(arduino_file_path, 'w')
@@ -232,19 +232,19 @@
232232
f.close()
233233

234234
print("\n[+] Done, happy uploading :)")
235-
print("Here are the updated functions for wifi.h, in case you added or removed files:")
235+
print("Here are the updated functions for wifi.cpp, in case you added or removed files:")
236236
print();
237-
print('if(!settings::getWebSpiffs()){')
238-
print(' server.on(String(SLASH).c_str(), HTTP_GET, [](){')
237+
print('if(!settings::getWebSettings().use_spiffs){')
238+
print(' server.on("/", HTTP_GET, [](){')
239239
print(' sendProgmem(indexhtml, sizeof(indexhtml), W_HTML);')
240240
print('});')
241241
print(webserver_events)
242242
print('}')
243-
print("server.on(str(W_DEFAULT_LANG).c_str(), HTTP_GET, [](){")
244-
print(" if(!settings::getWebSpiffs()){")
243+
print('server.on("/lang/default.lang", HTTP_GET, [](){')
244+
print(" if(!settings::getWebSettings().use_spiffs){")
245245
print(load_lang)
246-
print(' else handleFileRead(String(F("/web/lang/"))+settings::getLang()+String(F(".lang")));')
246+
print(' else handleFileRead("/web/lang/"+String(settings::getWebSettings().lang)+".lang");')
247247
print(' } else {')
248-
print(' handleFileRead(String(F("/web/lang/"))+settings::getLang()+String(F(".lang")));')
248+
print(' handleFileRead("/web/lang/"+String(settings::getWebSettings().lang)+".lang");')
249249
print(' }')
250-
print("});");
250+
print("});")

0 commit comments

Comments
 (0)