From 3974578344dc4bc8c422edb7a0cd1ca6c0388db8 Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 26 Feb 2019 23:56:20 +0100 Subject: [PATCH 1/2] Use the pre-build single file HTML --- conf/app.src | 6 ----- manifest.json | 2 +- scripts/install | 15 ++++++++----- scripts/upgrade | 16 ++++++------- sources/extra_files/app/CNAME | 1 + sources/extra_files/app/browserconfig.xml | 12 ++++++++++ .../app/icons/android-chrome-192x192.png | Bin 0 -> 9255 bytes .../app/icons/android-chrome-512x512.png | Bin 0 -> 29456 bytes .../app/icons/apple-touch-icon.png | Bin 0 -> 10400 bytes .../extra_files/app/icons/favicon-16x16.png | Bin 0 -> 1168 bytes .../extra_files/app/icons/favicon-32x32.png | Bin 0 -> 1884 bytes .../extra_files/app/icons/mstile-150x150.png | Bin 0 -> 2927 bytes .../extra_files/app/icons/mstile-310x150.png | Bin 0 -> 3069 bytes .../extra_files/app/icons/mstile-310x310.png | Bin 0 -> 5302 bytes .../extra_files/app/icons/mstile-70x70.png | Bin 0 -> 2344 bytes .../app/icons/safari-pinned-tab.svg | 1 + sources/extra_files/app/index.html | 12 ++++++++++ sources/extra_files/app/manifest.appcache | 10 +++++++++ sources/extra_files/app/manifest.json | 21 ++++++++++++++++++ 19 files changed, 74 insertions(+), 22 deletions(-) delete mode 100644 conf/app.src create mode 100644 sources/extra_files/app/CNAME create mode 100644 sources/extra_files/app/browserconfig.xml create mode 100644 sources/extra_files/app/icons/android-chrome-192x192.png create mode 100644 sources/extra_files/app/icons/android-chrome-512x512.png create mode 100644 sources/extra_files/app/icons/apple-touch-icon.png create mode 100644 sources/extra_files/app/icons/favicon-16x16.png create mode 100644 sources/extra_files/app/icons/favicon-32x32.png create mode 100644 sources/extra_files/app/icons/mstile-150x150.png create mode 100644 sources/extra_files/app/icons/mstile-310x150.png create mode 100644 sources/extra_files/app/icons/mstile-310x310.png create mode 100644 sources/extra_files/app/icons/mstile-70x70.png create mode 100644 sources/extra_files/app/icons/safari-pinned-tab.svg create mode 100644 sources/extra_files/app/index.html create mode 100644 sources/extra_files/app/manifest.appcache create mode 100644 sources/extra_files/app/manifest.json diff --git a/conf/app.src b/conf/app.src deleted file mode 100644 index a7727af..0000000 --- a/conf/app.src +++ /dev/null @@ -1,6 +0,0 @@ -SOURCE_URL=https://github.com/keeweb/keeweb/archive/v1.7.7.tar.gz -SOURCE_SUM=cd36bd933c7f948d02be9beb02fe0ecdb46e630b875fbeebb42cb0a7558191af -SOURCE_SUM_PRG=sha256sum -SOURCE_FORMAT=tar.gz -SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= diff --git a/manifest.json b/manifest.json index f5fc5a1..65e9e4c 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Password manager compatible with KeePass.", "fr": "Gestionnaire de mots de passe compatible avec KeePass." }, - "version": "1.7.7~ynh2", + "version": "1.7.7~ynh3", "url": "https://keeweb.info/", "license": "MIT", "maintainer": { diff --git a/scripts/install b/scripts/install index 3e61ec1..59fb85a 100644 --- a/scripts/install +++ b/scripts/install @@ -52,15 +52,18 @@ ynh_webpath_register $app $domain $path_url ynh_app_setting_set $app domain $domain ynh_app_setting_set $app path $path_url ynh_app_setting_set $app is_public $is_public +ynh_app_setting_set $app final_path $final_path #================================================= # STANDARD MODIFICATIONS #================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE +# INSTALL SOURCES #================================================= -ynh_app_setting_set $app final_path $final_path -ynh_setup_source "$final_path" # Télécharge la source, décompresse et copie dans $final_path +# To avoid a complete rebuild, I downloaded the gh-pages as explained here: https://github.com/keeweb/keeweb#self-hosting +# and put all files in "../sources/extra_files/app/", like that I can assure the version install in YunoHost is the version described in the manifest +mkdir -p "$final_path" +cp ../sources/extra_files/app/* "$final_path" #================================================= # NGINX CONFIGURATION @@ -74,20 +77,20 @@ ynh_add_nginx_config # USE THE CONFIG FILE #================================================= -ynh_replace_string "(no-config)" "config.json" "$final_path/app/index.html" +ynh_replace_string "(no-config)" "config.json" "$final_path/index.html" #================================================= # COPY THE CONFIG FILE #================================================= -cp ../conf/config.json "$final_path/app/" +cp ../conf/config.json "$final_path/" #================================================= # STORE THE CHECKSUM OF THE CONFIG FILE #================================================= # Enregistre la somme de contrôle du fichier de config -ynh_store_file_checksum "$final_path/app/config.json" +ynh_store_file_checksum "$final_path/config.json" #================================================= # GENERIC FINALISATION diff --git a/scripts/upgrade b/scripts/upgrade index 689fddc..0be9abb 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -71,13 +71,11 @@ ynh_maintenance_mode_ON #================================================= # STANDARD UPGRADE STEPS #================================================= -# DOWNLOAD, CHECK AND UNPACK SOURCE +# INSTALL SOURCES #================================================= -if [ "$upgrade_type" == "UPGRADE_APP" ] -then - ynh_setup_source "$final_path" # Télécharge la source, décompresse et copie dans $final_path -fi +mkdir -p "$final_path" +cp ../sources/extra_files/app/* "$final_path" #================================================= # NGINX CONFIGURATION @@ -91,16 +89,16 @@ ynh_add_nginx_config # USE THE CONFIG FILE #================================================= -ynh_replace_string "(no-config)" "config.json" "$final_path/app/index.html" +ynh_replace_string "(no-config)" "config.json" "$final_path/index.html" #================================================= # COPY THE CONFIG FILE #================================================= # Copie ou modification d'un fichier de config -ynh_backup_if_checksum_is_different "$final_path/app/config.json" # Créé un backup du fichier de config si il a été modifié. -cp ../conf/config.json "$final_path/app/" -ynh_store_file_checksum "$final_path/app/config.json" # Réenregistre la somme de contrôle du fichier de config +ynh_backup_if_checksum_is_different "$final_path/config.json" # Créé un backup du fichier de config si il a été modifié. +cp ../conf/config.json "$final_path/" +ynh_store_file_checksum "$final_path/config.json" # Réenregistre la somme de contrôle du fichier de config #================================================= # GENERIC FINALISATION diff --git a/sources/extra_files/app/CNAME b/sources/extra_files/app/CNAME new file mode 100644 index 0000000..f268389 --- /dev/null +++ b/sources/extra_files/app/CNAME @@ -0,0 +1 @@ +app.keeweb.info diff --git a/sources/extra_files/app/browserconfig.xml b/sources/extra_files/app/browserconfig.xml new file mode 100644 index 0000000..57b24d9 --- /dev/null +++ b/sources/extra_files/app/browserconfig.xml @@ -0,0 +1,12 @@ + + + + + + + + + #6386ec + + + diff --git a/sources/extra_files/app/icons/android-chrome-192x192.png b/sources/extra_files/app/icons/android-chrome-192x192.png new file mode 100644 index 0000000000000000000000000000000000000000..b4887a6ac601ab6a1eee536f66c52fc381a54d51 GIT binary patch literal 9255 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 V;JCeIu4o9b-pSqZjy*f+{{T^R8hZc$ literal 0 HcmV?d00001 diff --git a/sources/extra_files/app/icons/apple-touch-icon.png b/sources/extra_files/app/icons/apple-touch-icon.png new file mode 100644 index 0000000000000000000000000000000000000000..b31afc25af14a9b0b26c63aa470a93feb5082a84 GIT binary patch literal 10400 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 KMNUMnLSTYdox3go literal 0 HcmV?d00001 diff --git a/sources/extra_files/app/icons/favicon-16x16.png b/sources/extra_files/app/icons/favicon-16x16.png new file mode 100644 index 0000000000000000000000000000000000000000..a8f0ad8fd42aca3aeaa94a9c49b3a70e17d96483 GIT binary patch literal 1168 zcmV;B1aJF^P)Px%XHZO3MNDaNsIl0Ou<^^vz5Dz6sj}F`)b+^7#l+P1 z_W1g9hT6-?zuDvW|Nr}qtMLE-{(qF^_4D9zi{|m~>AlD5yusAK%I$=j>f7V@|NrdI z)a7r4+O)~^skP+U-th45)6mh;o~qh}mE6zL+uPjR+10(v&)9g2-in*zdX3+*!0-C{ z`nkW>wa4@D^7rxb^oXJD|Nr!fr0?YE_T=gHn6U5v|N51x?wYsp>F)U5<@Vd;_T}pJ zn5Nv4uJ85s_0`kJslD+3|M7f~-EW8A%FWiq%HG4s+q1&%<>cOfmE-X6@9F91oUP`> z%<2FCM&;-2(A40~*YR+P;IO~zdZO=cmF!S%+){Ggberwr=lO%B?_zn`NoCk@nC^9+ z?@VdhcAf8UmhDb!+H;xha*pQU=lWE1-%4iKZi?n&e&pEU_|)9@*x>kMf92WY`KP$> zPHWsyYT198>)GM?Qgq~MkLy%*;B1oYRde7_Z{Tl~?#$QsTz%$IZ{BT;>XokVO={j? zfagnS-B4}aS9#$|X4{Ub?$_Y>f1mA1W!hwj>3E;-TYl(hjq6~8>12uPXN~N2lIPLf z_f>b_ZIkLwY}kX za+&RTpzc$0-A!uSYn1GUsPCM)^4sJ1*5LTc+4sxX_iT;kxy3*E-YLM%D zoa@8R^L3HtZI0-zzVJ?M-D8O8kE!mq#qv~k;o<4}c9`tjf`JCjjQiof#z6x<9?ayg%c7M00010bW%=J0I&WJ7^}A*yeIk-fE4`#_X_?Lm}Q#x zatc@d*tS~?G{5OfFAq)i=JmQFbI3e2_YL?~Q|=Y%_*Z&-T+aC?8{Px+{Y-Li$s_h4 zAK8cjGgOTI$nCuXc>n+b14%?dR2b7^U;qLqdmC#jOKpAzDDVz)w3|1>LWYM0!VmD+ zvUTOs`O`z0I5Z-S9AgS*S_ z%~5L>Mon(dZ|LqfFkx_YUa@@1;@Oir(n@OTd(HJ39BgM!3y+x6nwpzkT-&5&$iSc@ zosk?KkzSseQ&1`{2Xq)WV@zy9VM|?AR-TZUB*>}ktXxH1ZOx690wTf?&oGNBDyeH~ z$Vv&qyvv}fpr))M4`u=YXOUD9+jA{600012dQ@0+Qek%>aB^>EX>4U6ba`-PAZc)P zV*mhnoa6Eg2ys>@D9TUE%t_@^00ScnE@KN5BNI!L6ay0=M1VBIWCJ6!R3OXP)X2ol i#2my2%YaCrN-hBE7ZG&wLN%2D0000Px&08mU+MNDaN-{9lpgwyfy}+xith2r1@A3G6fq~1_@c8)o-{<)7@bc>I^v}}T#>?Ql#OUej>%`IX^!54l z^!4-f_3!ZU!_M&a_V@Sq`PSIm)7|y>`1so0c$n5Oy^7Q$!vb5;#`Pkp`;^y+q&e7uO`0MZawzs(H>hAaW`PJO- zxVgK|(b?Fo2* z)aTye==u5i^!EAJ-t)}U>getF(b3V<)6>({*45V7@bdT4)YjYE-PPCJ(Ao0;|NnWR z?@(^tcAoE2a^FpA+jpPuRCV8QnC(?|;BJ-dN@m(mY}r-^$Ym(~V=K1mU{YqunYLVHYryV1(t6ukri*{*|%tUV-Umjp*p@`$=Tn zT6^Mond@$p>TQkanX>Psx$sG3*I$9A?mF{1H=}~XsRdwW2bK$ti^JjzOU4Q6% zob8mU>wT8#V~Oa9o8xAS?Aqn}ufXwypX`yP?3bz}mlaF6HB+4pvr?AhY^T6^YllIozj@t>{Z zl&$Z&%k-*4A8gPG@zqwA@`@{FPCqqy&|z38X2 zW)TWSaCmu_;w)a>{+Wiuf6R7)-G`;P29w?A1buH0(>ud3Ql6X6(%V`=p@vci_9? zyfu*N?$by&d3UCWYpD0Mf8pr>00S*aL_t(I%VS_b2JF%-ES&5NH~@>dW+bnM2Ct-g z04Ek{86jcC&DR&qo7ejNoFK1&G@3M*fw08Q%Y_+f)y1`m*-ww@7+RyqbJ&}#%qhtM z$tPyV$H%AKe_$+t`g6zcldFFC31>!a*)-(c5*tX#Mg2{>5Kn3yHiN!Uo7E(~}F>Nnh)7W_JTfz01qvj-^#sS65c1 zWfZo33XuUSi2jw{(Rp!k+=tuy7A;!#Wln2G8W3bmDa>h`q6o4>;ZIU}`nNfK7w7K$ zeBn}F#i`{PKv0;I(^j(kmOKLktMaaf)YJoU=hn=f`!g>t?p7}lKrGnTL1Rx+bx?X>P$tF*xinu?mY^u;ZfxH2bieq6=f zohuK1ST=3iwC?WpAO);3yOI-%n!ont#pRvd{4*b@Vp(6@hs%wPv(_)%s}6Kz)Q#jU zpo%T~FKnM(R(2piZt=~3adCfFtY5!%y(}m?RC%(%Dw(;t= zL7>>+_IZ{GR*?z}kEKgX|L4b@-M3cDil{7RbZQ8VH$BvCtHy-zZr+!PeN2^y)$gE0kYHA0n*|4Fd zrDfxJCPqZ6wPibe=;(yZE}&DI+S}V(PM>~#oXH6}-5ZJU+?#OpXl7Se?j#`C@WRWJ z5jE%N>am@9`>`r>$&#-3Z+3~fGIL<$J#KFiQJ&v7Zk!SGQ)br3ntSaB^>EX>4U6ba`-PAZc)PV*mhnoa6Eg2ys>@ zD9TUE%t_@^00ScnE@KN5BNI!L6ay0=M1VBIWCJ6!R3OXP)X2ol#2my2%YaCrN-hBE W7ZG&wLN%2D0000E)z^qnOYYq=phO0YqvjN{KW9;gAGG5TvLCq(neC zsuYnHq#6*Vt3e1sihza^I3D-&{dseL-^_ipJ3HUbH#(mKn39~~O18PR4=l}p~%QY+eD^`Bk z=ikn6WPQjD7>Rq!zs&Rc zjkRlEftC6v#}2t$OYdi#u^O#CKK@&T@o4yk-|xx)ltnKr_99V*xP0>GXW(;YQ}gM; z;l8(HlOyKzjp`jR8FdfCB6S;KCTH9X;s+{=tIPdfUL7Q?~& z$L6L+_K`E|g}Y9|E+S;Gt*|-pEPIxat{I5EH1%19tR1^ZCUh!hvt#$Qf35$f_ot@S zs@W6Tyssn5gIU0Ms29!~wCyZ2_p@3FVawV1QM(JfK0uZeJO2T?;*z}Pr%R+k6GNn1 zVIFhMyB)w_zBXVp?(p`+%FT`+>_x{z8ib6r@lqbr(vKwfb$O{Ijt(`~F!d5{36&N0 zr~nz-q2_rs#sk~%C9#X^49Cd8j~W$*;9O?zygMZ9-JZ(fsa;dUl^3TZ{h>8ne*g<> zS-?eu?d-|yHPoY6I&&h>=rUy=H>*05E~;ycgN|v-$JL7I_7DGcIJ4)4e{b8qf%S)I zC16M4$LlU-WqM*(YPw*{)UT6p6-Rh%iR6_PgKJtrzG;)qO5TCvH!^>VSaD(U2T@kc4(g!nLDBLH#aY zsYgnXqbFk$b&1@Py^ry$8r#}9?mX-GR%#0oH&Q3_k^$a1<0qkjZ|lzH>j`&^YEpkN z4a!%<7xX&pUMwynrcE<7cE36x#zTF!I+4%uqQy`h)C+u)>GFu353^&^vKNiPgQZmll*HB)+ro~UIbF5yH|3onGHmJZut5QPmm?4m z6bT>M5PicLJ?8r}*_yKta?2-#2yuCRFy&u+Q&&yZv22H}&xEzRg@U!P>+TG;RUN2* zAkpxCI6b369*LMnaC7wGiJV&#dNP~lMb5N$76ESM1^0S5LWqk(lN`m&=ZR-EEY4St zPeNKLY6RW7!gKppfu)O^brEBh<#MqPUu^`ZjSYoKLINf>B@2$)neaZGxzx!8R&D8FhQbtAcYw#(+528wpUgy1SSIx>-uje8X# zrMX31yl1wxJk27l7%;=oz=VDHULjUXrrq}HpGV(G6}miLXRCiTiPyKk+H+dG?jA%E zLuwJx%N~Bfd{jn!NGf_X(VLzQUq*N7=X#+j*NOu&?W@{Rqudwimx4`>m7TN)c&h^2 z*AQ^$17MVNpL}O{DesHeHPjOEKz$>J!nRj$)Gct0Mmzh)^J%Q92ltaSv_`&L6O^0ysGlA}Ec5Aj zQ=zAUT0~Zx0X-CUh@7ddSbtYFZo6F+mNlbS?qB7NeViSEUd-6oUD0C#-$0_}tP5X2 z!Km49<0FvHwonMDCG!_Hb#SI;l4Opca(vyC+rm1IyV)=utzq0LM?EmAacS~`5~u@P zpy_@*b`Y|V>vFwX4t&H6|I!;XM#6qa57^MXK3hVO{YRJ0DtVvEl=Hb8%pZt1+C@hO z8G`m(D&Lb6*Mh3^^I5?R-_rXgAHFTZ%Mxjbps1ZiD~ANa^HG>GX#g=*sThPwVu+&y zhvq;3m%W_&zgfVvfx@2Um>jk^{2 z4m@X0Cp{Cd-oLr>dE!c3qqdtrtW$8QMVpQRAx$-xP4sP58Z5U7JEA2n;C`96z2o_V zbbjFy2e3e3!}9kM9kpLe$)+Tj%&aUXj+p|S2Q3&n3@|7@#Kwg!E3vsC!q6;Y06 zazISO+PVV>p6Ym4Nl@jt`NMH}rPiv9u}*ayd$^EJ9u$dp<)YLJ5NzyEQ+WTto!*NV z`0pSb2jA6`f%QrOQv|ja=5<-Ya`KTq_xIK-L|DQ6LFChWAwTlL2?7){8kitJwrPFN z4wKqhgK8uY7@$G8p|R#BalM)`Jmbka+^lUl*G58JYvxy%5h~D$8=}Mta^(Gk|MEX2 zU2nQjlU^b7=*Al+Cqk!ad*^UFuRF3Kp}{_W0p7CVQ6b*4ej(v#03fn(ahn&2byQFo zygD>&zGMergYYP$d4wUtmf0d~!m_6Enmrgc$e;GILsK6HdWU$=$M zIxHn~ouS+>X-Xn<`Mlpb-}(Oh&im(g&inlSc+T&6e&;#Q`JLySC(#}SKe%6ZKL7wY zh(y3J002J(0N@i77TBv$d+}C#X`jEDof!b|=Ar18x8NSfU@`U3w!E1ds|0K z+knvBf8rkp{@)ykxMi`vchGa;7?cCx-S(*t%`HCHg&p7~zmUfIzImSb{_ld!U$jHI zUsfcA71j={%Hhyn;OO{Lh2nrzbz1FDTQh8qHJT#=!0#|Kq}umZik|123l4zCP~H!1vs4 z7Mm4qpxe2(XW5<}a%wz!b*7i?5_+b-6&LvJVc#t)b<@~mKa?+zPqn#Wvx!v3M6Qx5 zVt6d+TDbr9==cbZp;_fcU-Fw&LZp7Rv4xC>(VfncoYLO|UZcBTL1ix~*7=2`J?Ubs zUU&rn2$7L6Gsj5w^4Og7A!k6xXTfmiMQcfkgtxz^%Y!ZyFJH4AX zDQ;M4-{y_m2pNF4C)C|7-$HFR?lJXk5%HR{tiO{p=E;CK zA-!XNq$xhN+gd8T1xkcRKR2dHqt*x{tx}!lu8|C}yu-VJMzd*_`zUKE(Q}xbor_$5 z1j?#DrpBXqemm0M<1VxKabOq9xD`wu1*X4Ls4c+U(3OvVuu{M}(_N=E71i*rx^}V5 z0Sz`9NpA4wWNht=t)`;b+H&2UXvkd#8MISHAX^Px@wXpAOXYg#9z2y}YI0Vw$+e26 z^6esjnl;(0+3#k|w~Y#7PX!Q|hU_K8%+w3!ft{}2i%>VG9xx8%WXu-kfr+yv3Y2#cEq3%^RY3Dl%V z>}m(7=8XLGk+lu(aSLoOy3nQIiDjGn;`-PPn%D5`gx)}$U16Vg1XFU zL4^>daH|BrF*oAx#94y?$sNZGYH0WXx$g9_|dC4%8Uelw~45UKYy z={9c@T`FeOIgFXG+FVABKUSmejzfUNFt!hxF5=ZssbJqj7bwX1;#C^ygvL(Jn+n$q z0+Qum!Khwa-I4>AkrL^z^ubThK6|7!y=0$1!_HTsB?0Zi+bf_6I4n^j$Z`5vOtPrn~0wwbF9y&z_tUnNvj)NL4#+XQaE-kCYF z>7$^hX_rkuv{qgshcAL|d+@^I_l9y7N))?+qd0uXw$~X_*QNHkqG= zF^-cWX=grn?m6bGDIy!~*V}>APUO2Db;UChakD?S_2bSxB@sp5+k1Ks(#(hF*>(daI4M!58O)-NUHYCTBReL6j#R0eIS(Xe(5OwETb zHXY!y$9s0h7bE}8i1}_{u>o|A&q$LE7PcjAxipA{oa-Vt3A6i((tAc=RkJtZ`sb7C zv~)*J2cTVS9z{}?6v~p$S~hJJFnL>kPf~^yIx3x2iX~y+!dEm5HhnlCu4Sog2fm!9 zW#T14C+;)DX1u(Hpso28SN?DVdYkoA5K04?br0B5%`m}G>|5g5*iI4hyr?PmzW{9V z{|6&H;Q6~(yqcgw?ve*>*V~QLeD{b{EaJB!9wrBQ>eLv;fMX}VO8S)?mAu!9kK<>N zL_Vu8dpAIT4j4LvaJ)&qm@}ZrMH>Xk{rgK-R=oP%+S;vEyg#qy#gd3XPT?Ww@U7Q2 z{I#d}|JH~5-{O_s4N+ZI$XMpNID^ss!m$0@6#U z3DOe~Od>%*sS?`dyxiCObk}(}=UZ#9nQvyVJ!|hh->fx>CPvz0k-jSL)27npbHkN(hhfR|sJ z@UCeL&L6C7lg7G1F+YE4KfHZInmokX%Jz7I|Lv7!KG@tP6reZCGGUWvi(S7)es=W^ zUgb9@m#M@?{XVW=L}8K=a6M3trEW>)GkD>1AE*crKoVjJ+o`nrf9;W%p6Nxp*Yq@g+hKZLw(m)DRk;-Q%yi z9$FOd;3R7=pf>!bNm0}ItBZSeNDjuU_7>ICuRc8fq3{bH50oFz$YVuYtPpOR#$a;G2(nk=H&m zmEBCbqKTAE6i0XIW4N4WaL<}+U|$BP`Pe%_v)6TRs^Zy^|;QL%GDi_=~A9n!GZM4 z-*ROdw(Cv(5EY+-r}YkDREAWyVas~b&SP43?GXdDr5S1_GXk2v?2gsM`#{YzzRSE} z_%Y=0W_c~=j={BGHbD^ntcpRM#};q0vZeO=Y9lqxKHT+QF0TSP&6+-2dNa#b#jT{O zIKWk&oIs2QnTk|}Uf(GNV7nBteWU3h<}hNufy<>fyJqD)gbdAxoFe;GHBa&BZ;wpR zwwq~pS(hl|TiwQpC{T$*l*|bD1rhW4IUID$m+9Bpg=m^0_tQGRRhW=Z=!KhiYB|{ zUuD_6lu+Z|>Y+0I1;{FJrNytj^q`X#4SGs9ARPGjwtfAV`T7RhrMuqIQq{^;RW09j z5sNUguXW&4@<0#4wkpsx2-Vf4u0CJ3ty15E0ZMo?R^;&{lB{EB5RA=;p|(sL#~c2-Jy zWJyuZNzc0*+}_{C3lMO;pDi|KEGsHq{KhH1p;W}M`s2_#eH}`o+n`4I^*`L(76Nk+ zWm84xo?58a>*m-i&Gdp{Y;`lhR;X9juF8JKRB8Gqu3bA3 ztIl%--lE`7&L%^i6L_);m(ttTRXGgqq>s%eV@E|uVXr{Qu9pt8L7JBDc_hGL3?Bu@ zsG9vHmBkXRr(9z{z9IiP%kghX7y!GYk}}0f5BHZ4jqqk^TPuA5jw#~ddH;UPSf`ljE)otE?VmFj5q8P| zkIZ~B10m`)`%Eln4O#4?_I02Cy{^%{x3vPmYqs7oC$MdjQnC#|ztHPOs~1RmoIRD- z6)h=`x_RQdH=+Uc>|%YE62cFUh%nbbet)P^i@T7pR~2V_ZrLO6e=oafYi}NV_@=_~ zXxPH+oo|KmJaFr*N^|vAYFszD5n)eR&Z#4n7UvC0hu+`;p~ymwfUPHs#?gSh1h*J4))yZnPtIY*ozam1({J`Byvdo{$#Wo%Enyej@(@D9u7u?@g@PcJ8YJG zz64EM&j)WI!3!MW`dwSVj5eRGk3?HMV>|&<&ehSO&CEN!vmx*Ny`exC(h+l7$fU{Y zKpsnO=GT?`wGqz)w4|9tybF^d!+n4n?(C18vo&5kbAjSX;g=kIs)yEyD_I}zNw?v& zrR<$~xLD`cs_QBatIbyA?%lxya#^+ZWGm3$+)Xypu{{0v&+Z)XCrhi2K+g4gEpZ1L zJr~R2b({Ia(?hy)PWCX@+TKCj#jD9Nz25W=LDqf7!Gp!vw^}{mbC)qU)&y16Dtbnw zRyn)#BJ|2ulpP+MX*bc6&O}gQ0xk?|(P?k}@LukRpMslRZmxbcFW z#`8!1=)V-Q`+2aI-s2>Tq$tMOXz%X{KY+IxkT%xb`PsK2l6I?*#HZ;!62*&`>4(R+_DSQY#OzIfCXVD{OgZvG?7{;E8} z3K7K-CCI8D9U%2S>QAoIE^GH}K=BE6pzSFJR0TT_n(S~@iPCPNT<`Ng+68&JFH032 zU@@T*8}AKwK_jULQU??E!XLH=c~w_IGa5?weAkZua{Lq8ho;%BGAgACMsPmM1t?DE@4CjzOPT!Sj*MZnEs+Ig@N0=4e>6>VW9~Z$3XJnR_XFdl^7m zSV%&gKZYNgb2+*yvvV31V10_f?Qw!qrjK$N#Vp@`Ot2h4#d`y$l z5|tskOJo+Y?nIsd7Kio237)s;C;Kaoa4We!y2B$(OtlXj!4F}QrjL#hJ^1OZ{Jmbv zyVBW|R&QvR=uj5*_E}HITkamit9MW5Xi>UKt-Fv_E0R9=0`Dp83g$8(Y2j-kehv>SW!xyreULVLfh6x@(dVbDjLa_+~>;)`P+jgI#n3}t+;2NM-8JS}qA%IVo2oFl44gUGD4F}%maTpIWmVN@L|U{#By!n` zCTs!0QBv1{r>q&dsza3Irkd6Ug_EUM2yN-T_$cP-S?Z=}*HzrRMt=X!;r8$V%e{;s z=5LM<;=w8bTSsNWAwCOf-O?|h>+WnuEnP8%TV{I}1Lm-?Qh1TeVYzK$ZIJ$aqKumT z$Q^_>$u?g$pH=?;CT%#zmYdm%Ux2|!vYZHDZ);WAQ7C?NjEYttKPR}Q;`VNmzit2b z#-Lx|`|4-)heza#x@cSGv@BZgdG_CXN~f+98}qxE`n9h|naMYhD71YeZRZtm-@vdf z^3gf6X@DKlBXKh|=|17N%UIX5#e9V7`0Rq5&l;D*X49#{m(a4)ZtB8D9Esq_Sqw-r zI*e|a8R8*e&@O+vn;b!#6^f-s1v#T@0pVnT=~*liTg+01SatY&2{BXZ=iLExK=@8p zv1cN3w!^l%*evlw3EmN4PT)c#uaSYPe=N6bRT0%`aYHg=^+aZ58 zrZYjjwuSfWH745YW3wies3%eC8=i@LH_SKFs6c##%k-17pZTz{^paa7@v63-7#!@` zZc6{%gORV^6%NkZ!YX3sB|EM$gI}VuWHGy06ZOe$`X_-?)x{78^yHRQX6AkAJ@-K@ zHTqR%R>!@GgrT|`MFG{Ymr__P6a%%1a2ekBYACR(sBKF&#`d=T8vYB8Ae7YeVX>ri z4-3nZ-D`s3Zf}^d*dC&kXg7`JYG~NJCPb6J{N(HsIR)zo4Ui=W4DFW;k?-AQIIT%7&ra)|{Om+~h$C1{*UeFf#!b9?C;Tg!2 zR6ry#%<$+0{S4TsVY=O{0{G_GN7Ijj@Erd+1P13d4(LCDNTj9>-`?Rpz8K!A1ddTV z<8OKYcRKF)e~@LzO95*GumK85>iHXb9Ofw$jrb zNYf94DDaA8wb4^hXv+qMd~K38H~ja>R=OQWK5v#*+*nZw>ValJjJ#imQP(zZ?~?+D zQmRoIXXi0094*AL;7HV|-wte)M;<-S2n>`QJ6g(MQE|3?Xl*77a4Kb z;WdA}khvFJ&{oc8AdW$=xT;&`fdBtL#(*W``r0esj~OA2XNOrwSlGbKoI-B~1o^vp z`ao~O!ULc;Jp*7abaY`KR<>9e0~o!udg63cUJlq6SSI6N`RHmIX`sPRV*dvLHL?K! literal 0 HcmV?d00001 diff --git a/sources/extra_files/app/icons/mstile-70x70.png b/sources/extra_files/app/icons/mstile-70x70.png new file mode 100644 index 0000000000000000000000000000000000000000..bf8938575c06bc29c16296c29d1fbe1291bc5ed1 GIT binary patch literal 2344 zcmeH}={MVn7skIL_FbsGf>=r?M%yTADp6`*C)3a}wQr@isI^UeO~<}V#RM^^(m`9= zqO@WuC9#y!Qd?_RYmwNEdGY)G4fA3?=iK|8`|6(aoadf%6K$uX5y9N)17IhQ#$B3`gZy$`jI>*$Xk`)N%O8e4c475}1edDq$d=R}v5qpoy04~;=yp9${zP=W zU!CrkJ$3Vuv2X6E!OY^*%m?A(udD`f zuag!B3(0R|%bia8Z3?NZ166f^L&5uK>G1Hnj%@A1SB;I0(TxO4rLjuJ@&^7=CjBC9WKX}9?E4m&|=dWOgVZWx@OXr- z`(U8rLkKXYSD>b8+dlu`kemzr2 zPOWZX;*q_6+wwZi)wclg1kQSPWZ}h8FOikvuJPM&-Jh7k-g=F|!4rGH zKt&2&@5N*l$CzK&n|K5*bRFhnEJ4eZXX5-br&|Y`u&DTjZJ#sItwlUXODM0hUSxfR zk4oa)7u-~GT?vL2M@EeJAb4rF!63$|29PZxY1t}%Eg5KRU!Q1g%)(VYt?zUX5t7}# zUU@|k?jTn`ysv>MD-PUUtGn16Sz3j3c#>d}L24jZki_L~B7FMwVj zo8fBnr-zkS2DDq}2T`4PDLpNaj9J~xaU2+p%Z+2HdhkJSm|^gK>Vi)Wx&*Uj4E6nP0{)3bA2d#{wK zsdExp*M_QN%3qZi^M@`a3L}u>mU5fZdU>NG4v-I2*WU}eMaao^gpTJ{PsCap=uGtM z1CB?ZM@I#76p03VdxFfgmi%rAFO1AtP_+Kj4vtg;s9Cs3Hy)16GHqVi-h-eWA)m>i z>Kc=m9ZYVq*^-M8w(p}ii^)_24zw>=eHa@sFB4S<17>*?Tes16b`Wzkk6H_XOgqxD z&6`?xB=PWbpglnp+8NR_jdli~dlVrt@w~^;@07_hT-eNe->uzmP?`nHOZx|ZDr`H{ z+#^PrGiu0e;{W599}flYB1<>7!dw4&Sa4BT2fV#&I6NpM(974~6ONAz@`U>a;oSis zB7gcjKX>poHMMRVI>T(%9$;7EL%Q?9lwcOwV(c)u5%EHs2fI=&7Eb^4;axkUUACQz dPBbktM*>R{BKYryDALIaz|7d%sM^p4{2Q;3v \ No newline at end of file diff --git a/sources/extra_files/app/index.html b/sources/extra_files/app/index.html new file mode 100644 index 0000000..80fe162 --- /dev/null +++ b/sources/extra_files/app/index.html @@ -0,0 +1,12 @@ +KeeWeb \ No newline at end of file diff --git a/sources/extra_files/app/manifest.appcache b/sources/extra_files/app/manifest.appcache new file mode 100644 index 0000000..5af265a --- /dev/null +++ b/sources/extra_files/app/manifest.appcache @@ -0,0 +1,10 @@ +CACHE MANIFEST + +# 2019-02-09:v1.7.7 +# updmin:v4.0.1 + +CACHE: +index.html + +NETWORK: +* diff --git a/sources/extra_files/app/manifest.json b/sources/extra_files/app/manifest.json new file mode 100644 index 0000000..1e1460f --- /dev/null +++ b/sources/extra_files/app/manifest.json @@ -0,0 +1,21 @@ +{ + "name": "KeeWeb", + "short_name": "KeeWeb", + "description": "Free cross-platform password manager compatible with KeePass", + "display": "standalone", + "orientation": "any", + "theme_color": "#6386ec", + "background_color": "#6386ec", + "icons": [ + { + "src": "icons/android-chrome-192x192.png", + "sizes": "192x192", + "type": "image/png" + }, + { + "src": "icons/android-chrome-512x512.png", + "sizes": "512x512", + "type": "image/png" + } + ] +} From 96978b0642688a27b7e013545667654f2fa4b764 Mon Sep 17 00:00:00 2001 From: Kayou Date: Tue, 26 Feb 2019 23:58:19 +0100 Subject: [PATCH 2/2] Fix with the new install method --- conf/nginx.conf | 2 +- scripts/install | 2 +- scripts/upgrade | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/conf/nginx.conf b/conf/nginx.conf index eeb9a51..b7dc034 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,6 +1,6 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; location __PATH__/ { - alias __FINALPATH__/app/; + alias __FINALPATH__/; if ($scheme = http) { rewrite ^ https://$server_name$request_uri? permanent; diff --git a/scripts/install b/scripts/install index 59fb85a..9fdf10c 100644 --- a/scripts/install +++ b/scripts/install @@ -63,7 +63,7 @@ ynh_app_setting_set $app final_path $final_path # To avoid a complete rebuild, I downloaded the gh-pages as explained here: https://github.com/keeweb/keeweb#self-hosting # and put all files in "../sources/extra_files/app/", like that I can assure the version install in YunoHost is the version described in the manifest mkdir -p "$final_path" -cp ../sources/extra_files/app/* "$final_path" +cp -r ../sources/extra_files/app/* "$final_path" #================================================= # NGINX CONFIGURATION diff --git a/scripts/upgrade b/scripts/upgrade index 0be9abb..60ef9d6 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -75,7 +75,7 @@ ynh_maintenance_mode_ON #================================================= mkdir -p "$final_path" -cp ../sources/extra_files/app/* "$final_path" +cp -r ../sources/extra_files/app/* "$final_path" #================================================= # NGINX CONFIGURATION