Răsfoiți Sursa

Issue#91 and issue#107 (#111)

* issue#91: Fix in views/network_detail.pug

* issue#91: before-upgrade.sh = before-install.sh

* issue#91: Update README.md with new instruction for authtoken.secret for zerotier-one 1.10.4 onwards
key-networks 2 ani în urmă
părinte
comite
42248c1359
4 a modificat fișierele cu 31 adăugiri și 31 ștergeri
  1. 12 22
      README.md
  2. 8 0
      build/before-upgrade.sh
  3. 1 1
      src/package.json
  4. 10 8
      src/views/network_detail.pug

+ 12 - 22
README.md

@@ -10,7 +10,7 @@ Follow us on [![alt @key_networks on Twitter](https://i.imgur.com/wWzX9uB.png)](
 Instructions for installing on Linux from RPM or DEB packges are available at [key-networks.com/ztncui](https://key-networks.com/ztncui).
 
 ## Docker Container Image
-See [github.com/key-networks/ztncui-containerized](https://github.com/key-networks/ztncui-containerized)
+See [https://github.com/key-networks/ztncui-aio](https://github.com/key-networks/ztncui-aio)
 
 ## Getting Started
 
@@ -45,21 +45,9 @@ npm install
 
 ##### 3. authtoken.secret
 
-The app needs to know the zerotier-one authtoken.secret.  There are two options:
+The app needs to know the zerotier-one authtoken.secret.
 
-###### A: Allow access to /var/lib/zerotier-one/authtoken.secret
-The user running the ztncui app needs read access to authtoken.secret.  This can be achieved with:
-```shell
-sudo usermod -aG zerotier-one username
-sudo chmod g+r /var/lib/zerotier-one/authtoken.secret
-```
-Where:
-* username is the user running the ztncui app
-
-Note that you need to log out and in again to apply the new group membership.
-
-###### OR
-###### B: Make a .env file
+###### Make a .env file
 In the root of the ztncui directory, create a `.env` file with the content:
 ```
 ZT_TOKEN=########################
@@ -67,17 +55,19 @@ ZT_TOKEN=########################
 Where:
 * ######################## is the token string.
 
-You can also specify in the `.env` file a different address for the zerotier-one API (which defaults to localhost:9993):
-```
-ZT_ADDR=localhost:9995
+After all edits to the `.env file` (see other options below), make the `.env` readable by the user running ztncui only:
+```shell
+chmod 400 .env
+chown ztncui.ztncui .env
 ```
 
-Make `.env` readable by the user running ztncui only:
-```shell
-chmod 600 .env
+##### 4. Zerotier-one API port
+
+You can specify in the `.env` file a different address for the zerotier-one API (which defaults to localhost:9993):
+```
+ZT_ADDR=localhost:9995
 ```
 
-The `.env` file should make it easier to run ztncui on a non-Linux platform.
 
 ##### 4. Run in production mode
 To run the server in production mode, add the following to the `.env` file (see 3B above):

+ 8 - 0
build/before-upgrade.sh

@@ -0,0 +1,8 @@
+getent passwd ztncui || useradd --system --home-dir /opt/key-networks/ztncui --shell /bin/false ztncui
+if [ $(getent group zerotier-one) ]; then
+  echo "Adding user ztncui to group zerotier-one..."
+  usermod -a -G zerotier-one ztncui
+  chmod g+r /var/lib/zerotier-one/authtoken.secret
+else
+  echo "Could not add user ztncui to group zerotier-one... is zerotier-one installed?"
+fi

+ 1 - 1
src/package.json

@@ -1,6 +1,6 @@
 {
   "name": "ztncui",
-  "version": "0.8.11",
+  "version": "0.8.13",
   "private": true,
   "scripts": {
     "start": "node ./bin/www",

+ 10 - 8
src/views/network_detail.pug

@@ -1,6 +1,6 @@
 //-
   ztncui - ZeroTier network controller UI
-  Copyright (C) 2017-2021  Key Networks (https://key-networks.com)
+  Copyright (C) 2017-2023  Key Networks (https://key-networks.com)
   Licensed under GPLv3 - see LICENSE for details.
 
 extends network_layout
@@ -135,13 +135,15 @@ block net_content
             td
               if (peer)
                 each path in peer.paths
-                  - const [ip, port] = path.address.split('/');
-                  = ip
-                  span(style='color: gray;') /#{port}
-                  = ' '
-                if (peer.latency != -1)
-                  br
-                  | (#{peer.latency} ms)
+                  if (path.preferred == true)
+                    - const [ip, port] = path.address.split('/');
+                    = ip
+                    span(style='color: gray;') /#{port}
+                    = ' '
+                    if (peer.latency != -1)
+                      br
+                      | (#{peer.latency} ms)
+                    - break
         else
           .alert.alert-info
             strong There are no members on this network - invite users to join #{network.nwid}