Bläddra i källkod

Show domains style

Bob Mottram 7 år sedan
förälder
incheckning
c742ce3362
1 ändrade filer med 112 tillägg och 50 borttagningar
  1. 112
    50
      src/freedombone-controlpanel

+ 112
- 50
src/freedombone-controlpanel Visa fil

@@ -203,9 +203,114 @@ function pad_string {
203 203
     echo -n -e "$1" | sed -e :a -e 's/^.\{1,25\}$/& /;ta'
204 204
 }
205 205
 
206
+function show_tor_bridges {
207
+    if ! grep -q "#BridgeRelay" /etc/tor/torrc; then
208
+        if grep -q "BridgeRelay 1" /etc/tor/torrc; then
209
+            read_config_param 'TOR_BRIDGE_PORT'
210
+            read_config_param 'TOR_BRIDGE_NICKNAME'
211
+            if [ ${#TOR_BRIDGE_NICKNAME} -gt 0 ]; then
212
+                W+=($"Your Tor Bridge" "$(get_ipv4_address):${TOR_BRIDGE_PORT} ${TOR_BRIDGE_NICKNAME}")
213
+            fi
214
+        fi
215
+    fi
216
+    bridges_list=$(grep "Bridge " /etc/tor/torrc | grep -v '##')
217
+    if [ ${#bridges_list} -gt 0 ]; then
218
+        for i in "${bridges_list[@]}"
219
+        do
220
+            bridgestr=$(i//Bridge /)
221
+            W+=($"Tor Bridge" "$bridgestr")
222
+        done
223
+    fi
224
+}
225
+
206 226
 function show_domains {
207 227
     read_config_param "DEFAULT_DOMAIN_NAME"
208 228
 
229
+    W=()
230
+
231
+    if grep -q "ssh onion domain" "$COMPLETION_FILE"; then
232
+        domain_onion=$(grep 'ssh onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
233
+        W+=("ssh" "${DEFAULT_DOMAIN_NAME} / ${domain_onion}")
234
+    fi
235
+    if grep -q "email onion domain" "$COMPLETION_FILE"; then
236
+        domain_onion=$(grep 'email onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
237
+        W+=("Email" "${DEFAULT_DOMAIN_NAME} / ${domain_onion}")
238
+    fi
239
+    if grep -q "sks onion domain" "$COMPLETION_FILE"; then
240
+        read_config_param "KEYSERVER_DOMAIN_NAME"
241
+        domain_onion=$(grep 'sks onion domain' "${COMPLETION_FILE}" | awk -F ':' '{print $2}')
242
+        W+=("SKS" "${KEYSERVER_DOMAIN_NAME} / ${domain_onion}")
243
+    fi
244
+
245
+    INTRODUCER_FILENAME=/home/tahoelafs/data/private/introducer.furl
246
+    if [ -f $INTRODUCER_FILENAME ]; then
247
+        W+=("Tahoe-LAFS" "$(cat $INTRODUCER_FILENAME)")
248
+    fi
249
+
250
+    show_tor_bridges
251
+
252
+    # shellcheck disable=SC2068
253
+    for app_name in ${APPS_INSTALLED_NAMES[@]}
254
+    do
255
+        if ! grep -q "SHOW_ON_ABOUT=1" "/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${app_name}"; then
256
+            continue
257
+        fi
258
+
259
+        # handle the foibles of capitalisation
260
+        if ! grep -q "${app_name} domain" "$COMPLETION_FILE"; then
261
+            app_name_upper=$(echo "${app_name}" | awk '{print toupper($0)}')
262
+            if grep -q "${app_name_upper} domain" "$COMPLETION_FILE"; then
263
+                app_name=${app_name_upper}
264
+            else
265
+                app_name_first_upper="$(tr '[:lower:]' '[:upper:]' <<< "${app_name:0:1}")${app_name:1}"
266
+                if grep -q "${app_name_first_upper} domain" "$COMPLETION_FILE"; then
267
+                    app_name=${app_name_first_upper}
268
+                fi
269
+            fi
270
+        fi
271
+
272
+        if [ ${#app_name} -gt 0 ]; then
273
+            icann_address=$(get_app_icann_address "$app_name")
274
+            if grep -q "SHOW_ICANN_ADDRESS_ON_ABOUT=0" "/usr/share/${PROJECT_NAME}/apps/${PROJECT_NAME}-app-${app_name}"; then
275
+                icann_address='-'
276
+            fi
277
+            if [[ "$ONION_ONLY" != 'no' ]]; then
278
+                if [[ "${icann_address}" != "${LOCAL_NAME}.local" ]]; then
279
+                    icann_address='-'
280
+                fi
281
+            fi
282
+            onion_address=$(get_app_onion_address "$app_name")
283
+            if [ ${#onion_address} -eq 0 ]; then
284
+                onion_address="-"
285
+            fi
286
+
287
+            W+=("${app_name}" "${icann_address} / ${onion_address}")
288
+
289
+            if grep -q "mobile${app_name} onion domain" "$COMPLETION_FILE"; then
290
+                onion_address=$(get_app_onion_address "${app_name}" "mobile")
291
+                W+=("${app_name} (mobile)" "${icann_address} / ${onion_address}")
292
+            fi
293
+        fi
294
+    done
295
+
296
+    if grep -q "rss reader domain" "$COMPLETION_FILE"; then
297
+        if [ -d /var/lib/tor/hidden_service_ttrss ]; then
298
+            domain_onion=$(cat /var/lib/tor/hidden_service_ttrss/hostname)
299
+            W+=("RSS Reader" "${domain_onion}")
300
+        fi
301
+        if [ -d /var/lib/tor/hidden_service_mobilerss ]; then
302
+            domain_onion=$(cat /var/lib/tor/hidden_service_mobilerss/hostname)
303
+            W+=("RSS mobile" "${domain_onion}")
304
+        fi
305
+    fi
306
+
307
+    # shellcheck disable=SC2068
308
+    dialog --backtitle $"Freedombone Control Panel" --title $"Domains" --menu $"You can use shift+cursors to select text" 28 78 28 ${W[@]} 3>&2 2>&1 1>&3
309
+}
310
+
311
+function show_domains_old {
312
+    read_config_param "DEFAULT_DOMAIN_NAME"
313
+
209 314
     echo 'Domains'
210 315
     echo '======='
211 316
     echo ''
@@ -345,34 +450,6 @@ function show_ip_addresses {
345 450
     echo ''
346 451
 }
347 452
 
348
-function show_tor_bridges {
349
-    bridges_list=$(grep "Bridge " /etc/tor/torrc | grep -v '##')
350
-    if [ ${#bridges_list} -gt 0 ]; then
351
-        echo $'Tor Bridges'
352
-        echo '==========='
353
-        echo ''
354
-        echo "${bridges_list}"
355
-        echo ''
356
-        echo ''
357
-    fi
358
-    if ! grep -q "#BridgeRelay" /etc/tor/torrc; then
359
-        if grep -q "BridgeRelay 1" /etc/tor/torrc; then
360
-            read_config_param 'TOR_BRIDGE_PORT'
361
-            read_config_param 'TOR_BRIDGE_NICKNAME'
362
-            if [ ${#TOR_BRIDGE_NICKNAME} -gt 0 ]; then
363
-                echo "Tor bridge on this system"
364
-                echo '========================='
365
-                echo ''
366
-                echo "IP Address: $(get_ipv4_address)"
367
-                echo "Port:       ${TOR_BRIDGE_PORT}"
368
-                echo "Nickname:   ${TOR_BRIDGE_NICKNAME}"
369
-                echo ''
370
-                echo ''
371
-            fi
372
-        fi
373
-    fi
374
-}
375
-
376 453
 function show_ssh_public_key {
377 454
     echo $'SSH Public Keys'
378 455
     echo '==============='
@@ -382,33 +459,18 @@ function show_ssh_public_key {
382 459
     echo ''
383 460
 }
384 461
 
385
-function show_tahoelafs_introducer {
386
-    INTRODUCER_FILENAME=/home/tahoelafs/data/private/introducer.furl
387
-    if [ ! -f $INTRODUCER_FILENAME ]; then
388
-        return
389
-    fi
390
-    echo $'Tahoe-LAFS introducer'
391
-    echo '====================='
392
-    echo ''
393
-    cat $INTRODUCER_FILENAME
394
-    echo ''
395
-    echo ''
396
-}
397
-
398 462
 function show_about {
399 463
     detect_apps
400 464
     get_apps_installed_names
401 465
 
402
-    clear
403
-    echo "==== ${PROJECT_NAME} version ${VERSION} ($DEBIAN_VERSION) ===="
404
-    echo ''
405
-    show_ip_addresses
406
-    show_tor_bridges
407
-    show_ssh_public_key
466
+    #clear
467
+    #echo "==== ${PROJECT_NAME} version ${VERSION} ($DEBIAN_VERSION) ===="
468
+    #echo ''
469
+    #show_ip_addresses
470
+    #show_ssh_public_key
408 471
     show_domains
409
-    show_tahoelafs
410
-    show_users
411
-    any_key
472
+    #show_users
473
+    #any_key
412 474
 }
413 475
 
414 476
 function select_user {