diff --git a/debian/install b/debian/install index a373fde..703976c 100644 --- a/debian/install +++ b/debian/install @@ -1,6 +1,8 @@ debian/readynas/config.xml apps/nastools-zerotier-one debian/readynas/fvapp-nastools-zerotier-one.service apps/nastools-zerotier-one debian/readynas/logo.png apps/nastools-zerotier-one +debian/readynas/https.conf apps/nastools-zerotier-one +debian/readynas/authtoken apps/nastools-zerotier-one/cgi zerotier-one apps/nastools-zerotier-one/sbin ext/installfiles/mac/ui/*.html apps/nastools-zerotier-one/var/ui ext/installfiles/mac/ui/*.js apps/nastools-zerotier-one/var/ui diff --git a/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch b/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch new file mode 100644 index 0000000..104c72f --- /dev/null +++ b/debian/patches/0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch @@ -0,0 +1,27 @@ +From: NAStools +Date: Tue, 29 Nov 2016 17:41:16 -0800 +Subject: Allow automatic retrieval of authtoken from CGI + +--- + ext/installfiles/mac/ui/main.js | 8 +++++++- + 1 file changed, 7 insertions(+), 1 deletion(-) + +diff --git a/ext/installfiles/mac/ui/main.js b/ext/installfiles/mac/ui/main.js +index a164712..08d716f 100644 +--- a/ext/installfiles/mac/ui/main.js ++++ b/ext/installfiles/mac/ui/main.js +@@ -42,7 +42,13 @@ function getUrlParameter(parameter) + + var ztAuthToken = getUrlParameter('authToken'); + if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { +- ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); ++ xmlhttp = new XMLHttpRequest(); ++ xmlhttp.open("GET", "/apps/nastools-zerotier-one/cgi/authtoken", false); ++ xmlhttp.send(); ++ ztAuthToken = xmlhttp.responseText; ++ if ((!ztAuthToken)||(ztAuthToken.length <= 0)) { ++ ztAuthToken = prompt('No authToken specified in URL. Enter token from\nauthtoken.secret to authorize.'); ++ } + } + + React.render( diff --git a/debian/patches/series b/debian/patches/series index e4a416a..ac8b132 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -1 +1,2 @@ 0001-Update-platformDefaultHomePath-for-ReadyNAS-OS.patch +0002-Allow-automatic-retrieval-of-authtoken-from-CGI.patch diff --git a/debian/readynas/authtoken.c b/debian/readynas/authtoken.c new file mode 100644 index 0000000..8dc1d69 --- /dev/null +++ b/debian/readynas/authtoken.c @@ -0,0 +1,17 @@ +#include +#include + +int main() { + FILE *f; + char c; + + f=fopen("/apps/nastools-zerotier-one/var/authtoken.secret","rt"); + + printf("Content-Type: text/plain\n\n"); + + while ((c=fgetc(f))!=EOF) + printf("%c", c); + + fclose(f); + return 0; +} diff --git a/debian/readynas/config.xml b/debian/readynas/config.xml index 72728f7..84259ce 100644 --- a/debian/readynas/config.xml +++ b/debian/readynas/config.xml @@ -4,10 +4,10 @@ ZeroTier One NT NAStools 0 - + https://localhost/apps/nastools-zerotier-one/ui/ https://github.com/nastools/zerotierone nastools-zerotier-one - ZeroTier network virtualization service (CLI only) + ZeroTier network virtualization service fvapp-nastools-zerotier-one.service diff --git a/debian/readynas/https.conf b/debian/readynas/https.conf new file mode 100644 index 0000000..dcd1742 --- /dev/null +++ b/debian/readynas/https.conf @@ -0,0 +1,21 @@ + + LoadModule proxy_module /usr/lib/apache2/modules/mod_proxy.so + + + LoadModule proxy_http_module /usr/lib/apache2/modules/mod_proxy_http.so + + +ScriptAlias /apps/nastools-zerotier-one/cgi /apps/nastools-zerotier-one/cgi + + + Include "/etc/frontview/apache/Admin_Auth.conf" + + + + + + ProxyPass http://localhost:9993/ + ProxyPassReverse http://localhost:9993/ + + + diff --git a/debian/rules b/debian/rules index c34429d..6ce46ff 100755 --- a/debian/rules +++ b/debian/rules @@ -3,4 +3,12 @@ %: dh $@ +override_dh_auto_build: + make ZT_USE_MINIUPNPC=1 -j$(nproc) + gcc $$(pwd)/debian/readynas/authtoken.c -o $$(pwd)/debian/readynas/authtoken + chmod u+s $$(pwd)/debian/readynas/authtoken + +override_dh_fixperms: + dh_fixperms -Xauthtoken + override_dh_auto_install: