From 0f5a0e8f7564f0a4cb20065ad8ed09cf5bc68fd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Xose=20P=C3=A9rez?= Date: Mon, 12 Dec 2016 00:08:34 +0100 Subject: [PATCH] Forward to password change page if default password --- code/data/index.html.gz | Bin 45655 -> 2579 bytes code/data/password.html.gz | Bin 0 -> 602 bytes code/data/script.js.gz | Bin 0 -> 37417 bytes code/data/style.css.gz | Bin 0 -> 5872 bytes code/gulpfile.js | 27 ++++++++++++-- code/html/custom.js | 35 +++++++++++++++++- code/html/index.html | 34 +++++++++++++++--- code/html/password.html | 72 +++++++++++++++++++++++++++++++++++++ code/package.json | 5 ++- code/pio_hooks.py | 2 +- code/src/web.ino | 32 +++++++++++++---- 11 files changed, 189 insertions(+), 18 deletions(-) create mode 100644 code/data/password.html.gz create mode 100644 code/data/script.js.gz create mode 100644 code/data/style.css.gz create mode 100644 code/html/password.html diff --git a/code/data/index.html.gz b/code/data/index.html.gz index ecad9c847f6b76802d1b1852f0327144013f133b..d879c6416c1a747e0513785478c4c96b25875c19 100644 GIT binary patch literal 2579 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 literal 0 HcmV?d00001 diff --git a/code/data/script.js.gz b/code/data/script.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..df8381039010d7c315601825afb805b93e612543 GIT binary patch literal 37417 zcmV(#K;*w4iwFP!000001KhoNciTp`FZ%!e6e8l50kcSn&TvkHhIl---R-Gkr;{|r zk09uko_Gf?lw`)KF1fBFb_ulo^%Zfz|RfQUM?b`ERuCsZSLRRY{JGhc(Wj_Bv@3V#f z*LQDT56h}Zvh!qlh;k}dM9A-7Xp`rgAr9^B;XgL17euHvjZsPcmX)efo)d9aY5lDV9Cwui^PNFE;g zU+ieipAS85#zS{|qoCO>>O)37|M$DLNJ?GzU|Hms+{yX6C?vi9@x`+j2brv{^5VmP zyUV)uu5Q22&(BloOHrwAXVEGyO8FwId^wD(s_;Ep^wdJ{gQ?uvtIy;yU;OoNFJHZW^Y-uGzkC0~KYsk_=YKXU zedSg<9^L=?n{U7SkN^C0v(SI-w%jbxa|`_I|LOhLS9kvO%i%pg__aTXZnx7}cJ@4vpPLFSiUQyYmY<|8SOH-nrU9Git#M(q4MB_aK$HTN3HufS^7P{Iynvk143C{`n|kdVFC_@D?&Jfb1#@4 z&qNX(kCO*-ob>yu{eo&_!Em0^#1PWH;}^kjNx-Zpnm#7u`Gs%#$n&zZoFWOffsiKz z_J9KZ{;$b`pqbXRx=elV!0RW0D2DNBMR?RGL577px6NOXVfeUb$LieJ$_ucE4t@yVfnp^q}mI@W%0A>#$@G*8b(6$tMl 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%0De$uT!`Fv_=Ix&T ze`%fb`4?AOd1G4LH>9#_y5H8rB@gXze&NUUTO6`~f5lwn_o|n&LEQpwdSBIC;!A4= zez(6rhsawNDhKQ-KIXGe@7TTg)T=n$WWfsV?9geV6TRG2;(y0UiBu$h)PB?6T@|gR zm)Rg&DcY?)X1y-j8~FL?3nc!4!*rLXb*W;X-7tx9timWwFAO8C$>CR*I0@*Qu*wRm| z!2a1lL&Hh_L>LG<2zIqcm^syA>j(~3ht(QTr`0rWWd%nC&O6DbY}!XRL{PQcHWgGB zl6mp@1nEtH&gYLAZLMZ@#mawkzGfBOmB&ymh^oZRUbpv=TO#ZAq}%-`RQrqiqql&4 zzUo-~7kVws{5G22H(6XA^jkI>=t6QR90yj`oARX%C}09eEXYOR)B86d#S6q|>-fZ*gICpH`PcgZo88 zyT8AEvB|JfgRWpah^sFeXOFLe4L8!Kd!)+8+4zr%UZ&7WZ7sRG?MdQZA6(Xw;KsIE zeh-MadfZRAF2jZDpIz+K!Dbka`%=HtnUsd=z-)`g4_cj(abK zlqVF(Eg~#OpmgC2K@zHgcZzK5IOO5nA3RJa!S=B@eY}Mrr*r)V2{+tOwyo?-!D)~ZN;rT z^Em|R0sXUk@2BO!TWT-9w81^1^@<~x%c{jufvX5WhFiLtR_4U^+%ZEP!OEQ_ zdiB{?WaW<@ZMu?)cQzIBI2(HN;7EmR@&5i^SAFvJzr%t%%DysUx>@>}Zq4sAT%*=o z6)a~vBGKa)q}AP%ZR_#cAu|8MS=;@TA%X)RoBZCf+^b7%JwN{m%G^EH9WfYY8vBPf zr;zEMh_)qt9`j$|BzN7>y1&mxg4sDzD)yLyQI$NFPSTUN??DG@ME%9y+00OpGSG%Y zj72>^G!j28hsWW+z0Y0~pH>VHi&NCs_hok$-50)~zBVI`Uj7)VP#r_}o;{0{uRTKm zX-74NTfquRBTw~UW<64&t|=&F>xz`Gf(gp}AP-CltyCH)GM`7vQ#=GEq!aeJ(;p0! zlBcGuQwR(ceJuvQUFg1ld*moKzZy#zUGsWW39ecd1ddL8s2+8Mi>KvWH)1ZKwS}YelP~p3S67Y~M+`z}9UPJn!!z{rJ8O6co8<_XOq4 x)^RJ}4QONzIB)rK3Q!+37Xy7;oUdwtjOySf;9Tv+;DwUo{|EoXOJY%|0RR_zu)6>N literal 0 HcmV?d00001 diff --git a/code/data/style.css.gz b/code/data/style.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ed7c596d0d22a8d2973601e3f2c42e0730e192b GIT binary patch literal 5872 zcmVFExo##!>Lf~(G*a1>JKJ}csw7S&en{2c zK2RbgF+-6olG>SBmA-rMm+Wo;l*aL$^AL}BmjD_-qZ|Ee0Bmrw(;>*&ffeaxTh=M7 z*OTkGI@c`Rp4+x8*86gIZh~Z;?Aq)L;}6I33#%{Xxy`eJb<}OL%~>G-)(wTbGS8E$ zVQcfS(FIMF?6Ts(>mJ)ve%Y5r8}5@+mcOl=q-es1)!BX%o|>>_uWi_5Us;%>|9x)S z^>i}%W)r@!?Q_<;ORw89eY>2J`j8d8hoo+^9p@}*vXliWYm+Q*f_-+_B~_c1g?Qxr z2m7*YSsff%l8S#0b$PCWQ<4?Ii52IdNWKIO+sPWu`NW%lyQEoD<;mN6o0q%iYjRGr zGT0@>m!t`*x;)gZX@W1j*RrF`3L&#lR@iVUa@LYOO!DkdthY(SM5$_MU6k#^ryZ9} zUFOZ_$F7N@EZFAAvcs|Eqx*Es(v%gSgO;6mamx_hHMwk)-Ln`=kqUK`^}4OOgsY@x zMSD%Q+xkFlwtv075&p{I_uG;3j z<W)=K7AHF3;LoAN=;C)MlqSYN_Z`ISrZRj?@LxlkjQx5(OfvOA4dd@hQ4 z%{7$tT_)$YyzWXqgP*r)AZVK8R3Xbbl|?BGiv``&rk4|E@2U(s$cpOR0;RH?&+EQV zrGl(DawBYI3tgf!DhLp&y$e)AQPx~}y1#x9U$Q3S@L>2*9bcpo%UQYS)zrMz6apPa zviVQ#TgARr*`EWD#f^-$D2MCul(nBP1|*WIVhL}4$JVO;W_PX|KE$fbxcqC~*(Yu| z0=&}Cu-h*4qAR6rpPchnS6Z*7swG5*Sy6E0koD~R4qP`?lBNp$0Mol8+dcDnfX9|_ zAP|<>&6v(eU){|V=hK$epLzFs@Um}?w^@O-<)P-7j;SwNp>p~`8FPv5j!qd1b?!5k zr<)-wFcsfrBn}RG-c?4p6HMfe!TKtsY**Ha01Ve?}rUpK8Yb zlUr!;hdMiz!G|B}l8;{Gde$U#*tb&SkjxVC}B<}(DNK5X5bm-$KZJZo>%?z1hs@a#Jxl)HAAU6O2sI(K&d54tx)O- zrXrk}f#-f$5n?|=3`e*H#BhWdp5X+1j=^&;HB@^Jh+-%|B!(DKEx>c%ERxg`Hnqeh zeHA1?AwO!N%7t#w9MpMaIm1^l)Q}Mnpf%^$QY`KaEQ~(w@}z10@ms~nXU|If+G$!a zs&HpMo-P*4Z$J?kcGT0Y#xwpOq+22VX|icFjv>(k>C6x<#tYJEtc#*apBwizqRDtg zx}PJp89LDU5@bJFqnsfXYP#8sj1o?|CqTD^ql`N4=YV@`*$N%cDK zhOh!dh=?i{hK8ye1K6?~>k8=`qjUt6@vi{LQ~|^0 z<(Rch0*+YwNcT(N=ET=1Ia7$Ea&}BCqsgkebIfNBAz@l42eorW*=h%%3&d*Ck=xjr zHkG}a1S@5_4h2Q-T!?~jAEb9uV#Q^x1V27KJ(=9e2yC)9)(-sRj|=gmMA$Ds)mjs3 zDwHQJf#Wm=WvTO+eU@{vuf@Sbmac#JuYW!z2llhsR*nBP+tp=L?%VM}Y%4fp4{{mw zy%aY-*mTSPeiw|mCjkZ1q$~KduKcrDQcoV?;4;x+x4Q0n5pyi5gUM*Z{|MOy z`?@?m00}(?QZ9U1R#p!j3WNHvO&&No{~1r>$H$;8A7I|}@o}JM)nU&7=!v#GqP z4U73>wOUqIYm+4NoQhL*7dy_fj-9U5 zu`*rp!I)7rqKeeQ@L|$FO85^o!At+oyRlUl9h_(=3Y8`yk3R zcrRexMGxT%S1@4aXH~z5)o+m^`SRPhG_mwT*63Q#r*qzBm53{VZx8`po@`l;(QzbJ z6p*HS?`Gbwk#}no^;(VYQ&jsZqy+))2D~!sTav)6dN9!sBGXK^*=)A4V}kgfVVkA zH8rw<^YK~$pnL!4-l!Uw>SLz(22kSNfSOFGSQn3^L6ujXVpvs=Qg5Mza+X?7#X)ny z+fEVDg?72lUX(}(kas{jajmFT6*{d@p=U-Lc0{|qy{i>pb}-tbl5M zuI}XK9UPEe!^qY%7lRha&F=NQ*#7_M`TzFOGu%y}MZ7Z_4uFlVZcysb zw^a%i?ku!5?j`dQAe~#KNa)Y!h zv^aB26tG?sD7W!#9Dl(A?7dKY2RbXR08Gk#Fgls%o8uKnPTjeI+osIVEmQMP3Rz7-dz!dsrF*DduV7ls zI7_8W9VZ0aQE>|2Iog1Nm8Y#L(nkd-xGK<%4jn6EKWVyp-;r6oPWEm8ieIniV!57E z@zEdt8pVHHeE`rRui@M=v2OQ@`uOn!Y?H6)#1%1dcg)-t3E$Q#chlv(nwvMynqCVT zFpc*$blcS2LvjSwfl;b4!BNU-B_iLtJOFmxU5&0xb|mI=Tb_4EyeXf&gHLcZLgsCg z8kyMDY54YuusA0+;M#Ay)Isa*iPX2OQL^eTM@^-t?l$)0J|G`r8@*6;t}0gVlBRoo z5HI3%F~5>Ydg)&-IKgJ<?6^XiH%1%}L7VcP{H|yqDzPR33Y{d_(HPUxJ zL8JPDo4m3(TE*Y|emY9%HJ0vNNxmwuB41Gtt)5gE~QVz54gE$t)=PxOS$YOT;4NrC2d%yDUmXV z$2zOTxo^GZTOl=`ho}grkIt4q?j!MoT2-SLZFG{bU-#HE3e*$Vj=$p^^oLU4(Y9Q2 zg)m5l1xvbl)Xx-f$aWX2u(|gzEALZV=$M@jVa=MVEE*9U>c5e8{m30id2WM`@*?%P zN5SqIx6rg+(B#}1M9qkCycX9H)vjcipcyVN2a5;F4CD5W1Rsb^4B=RT>PQY$trMrQ zIE&VT5zmwsh@-D?wM0d>R%$`3dmrnCRlms@sq5B8BddvE0$$LaijcJHSY3ASU$25! zo_2h{X+4rSBe$3XFGhtYP|c5y)9%M zoAXxUmF`(cm77d7G1zLix>~K2+|BWT6mMv0aAVFKy4}N6fF8WbK7E?5rYpF}Q%kxV zOE=a1$XvmOR|?b?#{m68?e7;lwoupWJ!n8PM(6wjTLR3A0}6|L+-<}7dP97|ARTBj z)F=K%_k8-;E#}!szZJ1tl4W#Fv39o8t*ER5M^G_W#D0~g3%iwW)zQgXEarTj0UGcU z!FMzO`zI3vhQlu((VY@Lulnhvr<<^1c(u2;K(P|hHf*ic{L3`Gis}eP+`SeKbR!!l zOdpW6+T2;WTgDgP%)M&f*p5Ple!Qn;d%q8WAe14u-G+1Y!QJ)+RFTru?-?FWJX2q+ zTd~vQ#lT8nAQL$N@G3N{RSb$q8-S;>GGcq8T%q zF{c?Z%~;TkCCymTj3<&o*@&=IA}of84m6_UimV3dxFR|(N-zsaGR8?HdfM0=Q^!OP zRD>}lU*II_i;8@Ne(a_~< zWrU9V*IJFfE7-OzdoE&Yjrs0k+Ym8yBio*t-h0`~tQ=RfT}U!?LEGSp?~b+u13fpj z4gUBpYrEiR=*qS-TgRw zCs!yrp>12dSiMIyV@5OPG$W=N3!1T{87rFcL^3EF5td4X#SqbfMs!?})gT>LM8`!5 zW+6$&IEh408=GV5nCO9uFs9@SoJ4(5aW6^ZRQgL?o$BJZ^V`}QJbv3@N&|k|wg#`? zw(V%hZ!05o_-(C5pWn7^+2gmh#(aL;hKM1*ZO=@v-&SVj@Y^mV8S>i(SA2fkfq@>s zZScqEw_R{FVCY+u)ziZ@b{o?Y9k1`uw(n8He9?A>@GHcHyVb zZ@Zkzpx-vo>+{<;oT-J<@ABJ=IrQ840kka=Rx-kAnw;bG3@1rxjFStTT%qKIwr%lZ z^&ZiT8O@l}jF@IDXvUIetZ2p)$)IdRSSk?~LqrD}(Q!pqgLGUG9Tz2-g(Ml{BoaMs zY>ug8q6aF%n36AW67@yJy(EoO=`V40s*B&wZ)jk?3h-b4(o*Jx~$G zlzf4cs4pt+C25>We~GJ8UHo=_TU&$2Z#ztBz;D~u;PunJ|7my-O-tm0gJ+-sZ7C?d$ygW_0cT<>jCk%6axf&Ad%sJoKH5n0 zQHMX6KyIh1VxX&Wd`+`2u&p|Gc@>!?nyU4$n(?xQhtXB^Oj14!pQ--crf0a4A8r85{e^GAa(ZKO0H58MJHh65 z?^OLIBbZKB{cjKH=gvprT;6`xzuqYrpUU){i#wu8!Ql$u&#{L8y$szA?1KLga&V~a z{mSz83U4_M0D(^$v)HLn#dtrv^j!W$0$)TX)Y=vFNxt|EZ&_F|%H6M6>SD3M$0o$5 z4glQE`>&qpFHQjXGQIGrFq+z*v#^0c#NE>GFh^V|;y0J+_8Sxgt-PmwhXqzJpTg)g z*k9v{braXI{+RE%64%#VQMZPoW?U$R{1#A`BY&F?sIp6DyV +Copyright (C) 2016 by Xose PĆ©rez This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -24,11 +24,14 @@ along with this program. If not, see . // ----------------------------------------------------------------------------- const gulp = require('gulp'); +const plumber = require('gulp-plumber'); const htmlmin = require('gulp-htmlmin'); const cleancss = require('gulp-clean-css'); const uglify = require('gulp-uglify'); const gzip = require('gulp-gzip'); const del = require('del'); +const useref = require('gulp-useref'); +const gulpif = require('gulp-if'); const inline = require('gulp-inline'); /* Clean destination folder */ @@ -66,6 +69,24 @@ gulp.task('inline', function() { .pipe(gulp.dest('data')); }) +/* Process HTML, CSS, JS */ +gulp.task('html', function() { + return gulp.src('html/*.html') + .pipe(useref()) + .pipe(plumber()) + .pipe(gulpif('*.css', cleancss())) + .pipe(gulpif('*.js', uglify())) + .pipe(gulpif('*.html', htmlmin({ + collapseWhitespace: true, + removeComments: true, + minifyCSS: true, + minifyJS: true + }))) + .pipe(gzip()) + .pipe(gulp.dest('data')); +}); + /* Build file system */ -gulp.task('buildfs', ['clean', 'files', 'inline']); -gulp.task('default', ['buildfs']); +gulp.task('buildfs_split', ['clean', 'files', 'html']); +gulp.task('buildfs_inline', ['clean', 'files', 'inline']); +gulp.task('default', ['buildfs_inline']); diff --git a/code/html/custom.js b/code/html/custom.js index 5d6ef086..8b80db50 100644 --- a/code/html/custom.js +++ b/code/html/custom.js @@ -1,4 +1,5 @@ var websock; +var password = false; function doUpdate() { var data = $("#formSave").serializeArray(); @@ -87,8 +88,11 @@ function processData(data) { // title if ("app" in data) { - $(".pure-menu-heading").html(data.app); var title = data.app; + if ("version" in data) { + title = title + " " + data.version; + } + $(".pure-menu-heading").html(title); if ("hostname" in data) { title = data.hostname + " - " + title; } @@ -97,6 +101,35 @@ function processData(data) { Object.keys(data).forEach(function(key) { + // Actions + if (key == "action") { + + if (data.action == "reload") { + if (password) { + + // Forget current authentication + $.ajax({ + 'method': 'GET', + 'url': '/', + 'async': false, + 'username': "logmeout", + 'password': "123456", + 'headers': { "Authorization": "Basic xxx" } + }).done(function(data) { + // If we don't get an error, we actually got an error as we expect an 401! + }).fail(function(){ + // We expect to get an 401 Unauthorized error! In this case we are successfully + // logged out and we redirect the user. + window.location = "/"; + }); + + } + } + + return; + + } + // Wifi if (key == "wifi") { var groups = $("#panel-wifi .pure-g"); diff --git a/code/html/index.html b/code/html/index.html index 71524dbf..c4606df0 100644 --- a/code/html/index.html +++ b/code/html/index.html @@ -40,6 +40,10 @@ GENERAL +
  • + SECURITY +
  • +
  • WIFI
  • @@ -196,16 +200,36 @@
    Define how the different relays should be synchronized.
    +
    +
    +
    +
    + + + + + +
    + +
    +

    SECURITY

    +

    Device security settings

    +
    + +
    + +
    +
    - - + +
     
    The administrator password is used to access this web interface (user 'admin'), but also to connect to the device when in AP mode or to flash a new firmware over-the-air (OTA).
    -
    -
    -
    +
    + +
    diff --git a/code/html/password.html b/code/html/password.html new file mode 100644 index 00000000..ebb35459 --- /dev/null +++ b/code/html/password.html @@ -0,0 +1,72 @@ + + + + + ESPurna 0.0.0 + + + + + + + + + + + + + + + + +
    + +
    + +
    + +
    + +
    +

    SECURITY

    +

    Before using this device you have to change the default password for the user 'admin'. This password will be used for the AP mode hotspot, the web interface (where you are now) and the over-the-air updates.

    +
    + +
    + +
    + +
    + + +
    + +
    + + +
    + + + +
    +
    +
    + +
    + +
    + +
    + + + + + + + + + + + diff --git a/code/package.json b/code/package.json index 6ce9b531..2e8bff34 100644 --- a/code/package.json +++ b/code/package.json @@ -11,8 +11,11 @@ "gulp-clean-css": "^2.0.10", "gulp-gzip": "^1.4.0", "gulp-htmlmin": "^2.0.0", + "gulp-if": "^2.0.1", "gulp-inline": "^0.1.1", - "gulp-uglify": "^1.5.3" + "gulp-plumber": "^1.1.0", + "gulp-uglify": "^1.5.3", + "gulp-useref": "^3.1.2" }, "dependencies": {} } diff --git a/code/pio_hooks.py b/code/pio_hooks.py index 9a3f7fec..7abf6075 100644 --- a/code/pio_hooks.py +++ b/code/pio_hooks.py @@ -13,7 +13,7 @@ def is_valid_ip(ip): return False def before_build_spiffs(source, target, env): - env.Execute("gulp buildfs") + env.Execute("gulp buildfs_split") def before_upload(source, target, env): upload_port = env.get('UPLOAD_PORT', False) diff --git a/code/src/web.ino b/code/src/web.ino index 36a88046..43caeced 100644 --- a/code/src/web.ino +++ b/code/src/web.ino @@ -94,6 +94,7 @@ void _wsParse(uint32_t client_id, uint8_t * payload, size_t length) { bool fauxmoEnabled = false; #endif unsigned int network = 0; + String adminPass; for (unsigned int i=0; irequestAuthentication(); - request->send(SPIFFS, "/index.html"); + String password = getSetting("adminPass", ADMIN_PASS); + if (password.equals(ADMIN_PASS)) { + request->send(SPIFFS, "/password.html"); + } else { + request->send(SPIFFS, "/index.html"); + } + } bool _apiAuth(AsyncWebServerRequest *request) {