diff --git a/src/freedombone-controlpanel b/src/freedombone-controlpanel index 8c0c3bc9..a74e42db 100755 --- a/src/freedombone-controlpanel +++ b/src/freedombone-controlpanel @@ -302,6 +302,13 @@ function pad_string { } function show_domains { + clear + echo '' + echo $' Detecting installed apps...' + detect_apps + get_apps_installed_names + clear + DEFAULT_DOMAIN_NAME=$(cat $CONFIGURATION_FILE | grep "DEFAULT_DOMAIN_NAME=" | awk -F '=' '{print $2}') echo 'Domains' @@ -322,76 +329,48 @@ function show_domains { echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" echo "$(cat ${COMPLETION_FILE} | grep 'Email onion domain' | awk -F ':' '{print $2}')" fi - if grep -q "XMPP onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'XMPP')" - echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" - echo "$(cat ${COMPLETION_FILE} | grep 'XMPP onion domain' | awk -F ':' '{print $2}')" - fi - if grep -q "VoIP onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'VoIP/Mumble')" - echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" - echo "$(cat ${COMPLETION_FILE} | grep 'VoIP onion domain' | awk -F ':' '{print $2}')" - fi - if grep -q "SIP onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'SIP')" - echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" - echo "$(cat ${COMPLETION_FILE} | grep 'SIP onion domain' | awk -F ':' '{print $2}')" - fi - if grep -q "IRC onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'IRC')" - echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" - echo "$(cat ${COMPLETION_FILE} | grep 'IRC onion domain' | awk -F ':' '{print $2}')" - fi - if grep -q "tox onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Tox Bootstrap')" - echo -n -e "$(pad_string ${DEFAULT_DOMAIN_NAME})" - echo "$(cat ${COMPLETION_FILE} | grep 'tox onion domain' | awk -F ':' '{print $2}')" - fi - if grep -q "Wiki domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Wiki')" - WIKIDOM=$(cat ${COMPLETION_FILE} | grep 'Wiki domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${WIKIDOM})" - if [ -d /var/lib/tor/hidden_service_wiki ]; then - echo -n "$(cat /var/lib/tor/hidden_service_wiki/hostname)" + + for app_name in "${APPS_INSTALLED_NAMES[@]}" + do + icann_address=${DEFAULT_DOMAIN_NAME} + onion_address='-' + + # handle the foibles of capitalisation + if ! grep -q "${app_name} domain" $COMPLETION_FILE; then + app_name_upper=$(echo ${app_name} | awk '{print toupper($0)}') + if grep -q "${app_name_upper} domain" $COMPLETION_FILE; then + app_name=${app_name_upper} + else + app_name_first_upper="$(tr '[:lower:]' '[:upper:]' <<< ${app_name:0:1})${app_name:1}" + if grep -q "${app_name_first_upper} domain" $COMPLETION_FILE; then + app_name=${app_name_first_upper} + else + if [[ ${app_name] == "mumble" ]]; then + app_name="VoIP" + fi + if [[ ${app_name] == "gnusocial" ]]; then + app_name="GNU Social" + fi + if [[ ${app_name] == "searx" ]]; then + app_name="Search engine" + fi + fi + fi fi - echo '' - fi - if grep -q "Hubzilla domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Hubzilla')" - HUBZILLADOM=$(cat ${COMPLETION_FILE} | grep 'Hubzilla domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${HUBZILLADOM})" - if [ -d /var/lib/tor/hidden_service_hubzilla ]; then - echo -n "$(cat /var/lib/tor/hidden_service_hubzilla/hostname)" + + if grep -q "${app_name} domain" $COMPLETION_FILE; then + icann_address=$(cat ${COMPLETION_FILE} | grep "${app_name} domain" | head -n 1 | awk -F ':' '{print $2}') fi - echo '' - fi - if grep -q "Blog domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Blog')" - BLOGDOM=$(cat ${COMPLETION_FILE} | grep 'Blog domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${BLOGDOM})" - if [ -d /var/lib/tor/hidden_service_blog ]; then - echo -n "$(cat /var/lib/tor/hidden_service_blog/hostname)" + + if grep -q "${app_name} onion domain" $COMPLETION_FILE; then + onion_address=$(cat ${COMPLETION_FILE} | grep "${app_name} onion domain" | awk -F ':' '{print $2}') fi - echo '' - fi - if grep -q "GNU Social domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'GNU Social')" - GNUSOCIALDOM=$(cat ${COMPLETION_FILE} | grep 'GNU Social domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${GNUSOCIALDOM})" - if [ -d /var/lib/tor/hidden_service_microblog ]; then - echo -n "$(cat /var/lib/tor/hidden_service_microblog/hostname)" - fi - echo '' - fi - if grep -q "Gogs domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Gogs')" - GOGSDOM=$(cat ${COMPLETION_FILE} | grep 'Gogs domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${GOGSDOM})" - if [ -d /var/lib/tor/hidden_service_gogs ]; then - echo -n "$(cat /var/lib/tor/hidden_service_gogs/hostname)" - fi - echo '' - fi + + echo -n -e "$(pad_string '${app_name}')" + echo -n -e "$(pad_string ${icann_address})" + echo "${onion_address}" + done + if grep -q "RSS reader domain" $COMPLETION_FILE; then if [ -d /var/lib/tor/hidden_service_ttrss ]; then echo -n -e "$(pad_string 'RSS reader')" @@ -408,43 +387,6 @@ function show_domains { echo '' fi fi - if grep -q "Webmail onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Webmail')" - WEBMAILDOM='-' - echo -n -e "$(pad_string ${WEBMAILDOM})" - if [ -d /var/lib/tor/hidden_service_webmail ]; then - echo -n "$(cat /var/lib/tor/hidden_service_webmail/hostname)" - fi - echo '' - fi - if grep -q "Search engine onion domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Search engine')" - SEARCHDOM='-' - echo -n -e "$(pad_string ${SEARCHDOM})" - if [ -d /var/lib/tor/hidden_service_searx ]; then - echo -n "$(cat /var/lib/tor/hidden_service_searx/hostname)" - fi - echo '' - fi - if grep -q "Mediagoblin domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Mediagoblin')" - MEDIADOM=$(cat ${COMPLETION_FILE} | grep 'Mediagoblin domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${MEDIADOM})" - if [ -d /var/lib/tor/hidden_service_mediagoblin ]; then - echo -n "$(cat /var/lib/tor/hidden_service_mediagoblin/hostname)" - fi - echo '' - fi - if grep -q "Media server domain" $COMPLETION_FILE; then - echo -n -e "$(pad_string 'Media server')" - MEDIADOM=$(cat ${COMPLETION_FILE} | grep 'Media server domain' | awk -F ':' '{print $2}') - echo -n -e "$(pad_string ${MEDIADOM})" - if [ -d /var/lib/tor/hidden_service_mediadrop ]; then - echo -n "$(cat /var/lib/tor/hidden_service_mediadrop/hostname)" - fi - echo '' - fi - echo '' }