瀏覽代碼

A better way of displaying installed apps

Bob Mottram 8 年之前
父節點
當前提交
0ab4ab0d78
共有 1 個檔案被更改,包括 46 行新增104 行删除
  1. 46
    104
      src/freedombone-controlpanel

+ 46
- 104
src/freedombone-controlpanel 查看文件

@@ -302,6 +302,13 @@ function pad_string {
302 302
 }
303 303
 
304 304
 function show_domains {
305
+    clear
306
+    echo ''
307
+    echo $'  Detecting installed apps...'
308
+    detect_apps
309
+    get_apps_installed_names
310
+    clear
311
+
305 312
     DEFAULT_DOMAIN_NAME=$(cat $CONFIGURATION_FILE | grep "DEFAULT_DOMAIN_NAME=" | awk -F '=' '{print $2}')
306 313
 
307 314
     echo 'Domains'
@@ -322,76 +329,48 @@ function show_domains {
322 329
         echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
323 330
         echo "$(cat ${COMPLETION_FILE} | grep 'Email onion domain' | awk -F ':' '{print $2}')"
324 331
     fi
325
-    if grep -q "XMPP onion domain" $COMPLETION_FILE; then
326
-        echo -n -e "$(pad_string 'XMPP')"
327
-        echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
328
-        echo "$(cat ${COMPLETION_FILE} | grep 'XMPP onion domain' | awk -F ':' '{print $2}')"
329
-    fi
330
-    if grep -q "VoIP onion domain" $COMPLETION_FILE; then
331
-        echo -n -e "$(pad_string 'VoIP/Mumble')"
332
-        echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
333
-        echo "$(cat ${COMPLETION_FILE} | grep 'VoIP onion domain' | awk -F ':' '{print $2}')"
334
-    fi
335
-    if grep -q "SIP onion domain" $COMPLETION_FILE; then
336
-        echo -n -e "$(pad_string 'SIP')"
337
-        echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
338
-        echo "$(cat ${COMPLETION_FILE} | grep 'SIP onion domain' | awk -F ':' '{print $2}')"
339
-    fi
340
-    if grep -q "IRC onion domain" $COMPLETION_FILE; then
341
-        echo -n -e "$(pad_string 'IRC')"
342
-        echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
343
-        echo "$(cat ${COMPLETION_FILE} | grep 'IRC onion domain' | awk -F ':' '{print $2}')"
344
-    fi
345
-    if grep -q "tox onion domain" $COMPLETION_FILE; then
346
-        echo -n -e "$(pad_string 'Tox Bootstrap')"
347
-        echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})"
348
-        echo "$(cat ${COMPLETION_FILE} | grep 'tox onion domain' | awk -F ':' '{print $2}')"
349
-    fi
350
-    if grep -q "Wiki domain" $COMPLETION_FILE; then
351
-        echo -n -e "$(pad_string 'Wiki')"
352
-        WIKIDOM=$(cat ${COMPLETION_FILE} | grep 'Wiki domain' | awk -F ':' '{print $2}')
353
-        echo -n -e "$(pad_string ${WIKIDOM})"
354
-        if [ -d /var/lib/tor/hidden_service_wiki ]; then
355
-            echo -n "$(cat /var/lib/tor/hidden_service_wiki/hostname)"
356
-        fi
357
-        echo ''
358
-    fi
359
-    if grep -q "Hubzilla domain" $COMPLETION_FILE; then
360
-        echo -n -e "$(pad_string 'Hubzilla')"
361
-        HUBZILLADOM=$(cat ${COMPLETION_FILE} | grep 'Hubzilla domain' | awk -F ':' '{print $2}')
362
-        echo -n -e "$(pad_string ${HUBZILLADOM})"
363
-        if [ -d /var/lib/tor/hidden_service_hubzilla ]; then
364
-            echo -n "$(cat /var/lib/tor/hidden_service_hubzilla/hostname)"
365
-        fi
366
-        echo ''
367
-    fi
368
-    if grep -q "Blog domain" $COMPLETION_FILE; then
369
-        echo -n -e "$(pad_string 'Blog')"
370
-        BLOGDOM=$(cat ${COMPLETION_FILE} | grep 'Blog domain' | awk -F ':' '{print $2}')
371
-        echo -n -e "$(pad_string ${BLOGDOM})"
372
-        if [ -d /var/lib/tor/hidden_service_blog ]; then
373
-            echo -n "$(cat /var/lib/tor/hidden_service_blog/hostname)"
332
+
333
+    for app_name in "${APPS_INSTALLED_NAMES[@]}"
334
+    do
335
+        icann_address=${DEFAULT_DOMAIN_NAME}
336
+        onion_address='-'
337
+
338
+        # handle the foibles of capitalisation
339
+        if ! grep -q "${app_name} domain" $COMPLETION_FILE; then
340
+            app_name_upper=$(echo ${app_name} | awk '{print toupper($0)}')
341
+            if grep -q "${app_name_upper} domain" $COMPLETION_FILE; then
342
+                app_name=${app_name_upper}
343
+            else
344
+                app_name_first_upper="$(tr '[:lower:]' '[:upper:]' <<< ${app_name:0:1})${app_name:1}"
345
+                if grep -q "${app_name_first_upper} domain" $COMPLETION_FILE; then
346
+                    app_name=${app_name_first_upper}
347
+                else
348
+                    if [[ ${app_name] == "mumble" ]]; then
349
+                        app_name="VoIP"
350
+                    fi
351
+                    if [[ ${app_name] == "gnusocial" ]]; then
352
+                        app_name="GNU Social"
353
+                    fi
354
+                    if [[ ${app_name] == "searx" ]]; then
355
+                        app_name="Search engine"
356
+                    fi
357
+                fi
358
+            fi
374 359
         fi
375
-        echo ''
376
-    fi
377
-    if grep -q "GNU Social domain" $COMPLETION_FILE; then
378
-        echo -n -e "$(pad_string 'GNU Social')"
379
-        GNUSOCIALDOM=$(cat ${COMPLETION_FILE} | grep 'GNU Social domain' | awk -F ':' '{print $2}')
380
-        echo -n -e "$(pad_string ${GNUSOCIALDOM})"
381
-        if [ -d /var/lib/tor/hidden_service_microblog ]; then
382
-            echo -n "$(cat /var/lib/tor/hidden_service_microblog/hostname)"
360
+
361
+        if grep -q "${app_name} domain" $COMPLETION_FILE; then
362
+            icann_address=$(cat ${COMPLETION_FILE} | grep "${app_name} domain" | head -n 1 | awk -F ':' '{print $2}')
383 363
         fi
384
-        echo ''
385
-    fi
386
-    if grep -q "Gogs domain" $COMPLETION_FILE; then
387
-        echo -n -e "$(pad_string 'Gogs')"
388
-        GOGSDOM=$(cat ${COMPLETION_FILE} | grep 'Gogs domain' | awk -F ':' '{print $2}')
389
-        echo -n -e "$(pad_string ${GOGSDOM})"
390
-        if [ -d /var/lib/tor/hidden_service_gogs ]; then
391
-            echo -n "$(cat /var/lib/tor/hidden_service_gogs/hostname)"
364
+
365
+        if grep -q "${app_name} onion domain" $COMPLETION_FILE; then
366
+            onion_address=$(cat ${COMPLETION_FILE} | grep "${app_name} onion domain" | awk -F ':' '{print $2}')
392 367
         fi
393
-        echo ''
394
-    fi
368
+
369
+        echo -n -e "$(pad_string '${app_name}')"
370
+        echo -n -e "$(pad_string ${icann_address})"
371
+        echo "${onion_address}"
372
+    done
373
+
395 374
     if grep -q "RSS reader domain" $COMPLETION_FILE; then
396 375
         if [ -d /var/lib/tor/hidden_service_ttrss ]; then
397 376
             echo -n -e "$(pad_string 'RSS reader')"
@@ -408,43 +387,6 @@ function show_domains {
408 387
             echo ''
409 388
         fi
410 389
     fi
411
-    if grep -q "Webmail onion domain" $COMPLETION_FILE; then
412
-        echo -n -e "$(pad_string 'Webmail')"
413
-        WEBMAILDOM='-'
414
-        echo -n -e "$(pad_string ${WEBMAILDOM})"
415
-        if [ -d /var/lib/tor/hidden_service_webmail ]; then
416
-            echo -n "$(cat /var/lib/tor/hidden_service_webmail/hostname)"
417
-        fi
418
-        echo ''
419
-    fi
420
-    if grep -q "Search engine onion domain" $COMPLETION_FILE; then
421
-        echo -n -e "$(pad_string 'Search engine')"
422
-        SEARCHDOM='-'
423
-        echo -n -e "$(pad_string ${SEARCHDOM})"
424
-        if [ -d /var/lib/tor/hidden_service_searx ]; then
425
-            echo -n "$(cat /var/lib/tor/hidden_service_searx/hostname)"
426
-        fi
427
-        echo ''
428
-    fi
429
-    if grep -q "Mediagoblin domain" $COMPLETION_FILE; then
430
-        echo -n -e "$(pad_string 'Mediagoblin')"
431
-        MEDIADOM=$(cat ${COMPLETION_FILE} | grep 'Mediagoblin domain' | awk -F ':' '{print $2}')
432
-        echo -n -e "$(pad_string ${MEDIADOM})"
433
-        if [ -d /var/lib/tor/hidden_service_mediagoblin ]; then
434
-            echo -n "$(cat /var/lib/tor/hidden_service_mediagoblin/hostname)"
435
-        fi
436
-        echo ''
437
-    fi
438
-    if grep -q "Media server domain" $COMPLETION_FILE; then
439
-        echo -n -e "$(pad_string 'Media server')"
440
-        MEDIADOM=$(cat ${COMPLETION_FILE} | grep 'Media server domain' | awk -F ':' '{print $2}')
441
-        echo -n -e "$(pad_string ${MEDIADOM})"
442
-        if [ -d /var/lib/tor/hidden_service_mediadrop ]; then
443
-            echo -n "$(cat /var/lib/tor/hidden_service_mediadrop/hostname)"
444
-        fi
445
-        echo ''
446
-    fi
447
-
448 390
     echo ''
449 391
 }
450 392