tor-hs: reformat and cleanup
authorSergey Ponomarev <[email protected]>
Sun, 4 Feb 2024 20:54:08 +0000 (22:54 +0200)
committerJosef Schlehofer <[email protected]>
Tue, 20 May 2025 11:20:46 +0000 (13:20 +0200)
Remove unused description.
Quote variables.
Use hostname_file variable.
Remove unnecessary quotes around "common".
Use echo -n to truncate a TORRC_FILE.

Signed-off-by: Sergey Ponomarev <[email protected]>
net/tor-hs/files/tor-hs.init

index 512e3969b14b8692db7b1a1d6af5f912aaf02ebe..0e01fc06638c1f9b805072931ad30a09d88bbf6e 100755 (executable)
@@ -6,23 +6,21 @@ STOP=52
 USE_PROCD=1
 
 TORRC_FILE=/etc/tor/torrc_generated # file with torrc config
-HS_DIR_PATH=/etc/tor/hidden_service #hidden service directory path
+HS_DIR_PATH=/etc/tor/hidden_service # onion services directory
 TOR_USER=tor
 
 config_tor() {
        local restart_tor update_config
-       config_get_bool restart_tor "common" RestartTor
-       config_get_bool update_config "common" UpdateTorConf
+       config_get_bool restart_tor common RestartTor
+       config_get_bool update_config common UpdateTorConf
 
        tail_conf=$(uci show tor.conf.tail_include 2>/dev/null)
        head_conf=$(uci show tor.conf.head_include 2>/dev/null)
-       echo "tail_conf $tail_conf"
 
        if [ "$update_config" = "1" ]; then
                if [ -n "$(echo $tail_conf | grep $TORRC_FILE)" ] || [ -n "$(echo $head_conf | grep $TORRC_FILE)" ]; then
                        echo "Info. Not updating tor configuration"
                else
-                       #uci add_list
                        echo "Info. Updating tor configuration"
                        uci add_list tor.conf.tail_include="$TORRC_FILE"
                        uci commit tor
@@ -41,7 +39,7 @@ handle_hs_ports_conf() {
 
        public_port="${value#*;}"
        local_port="${value%;*}"
-       echo "HiddenServicePort $public_port $ipv4:$local_port">>$TORRC_FILE
+       echo "HiddenServicePort $public_port $ipv4:$local_port" >> "$TORRC_FILE"
 }
 
 parse_hs_conf() {
@@ -50,7 +48,6 @@ parse_hs_conf() {
 
        config_get name "$config" Name
        [ -z "$name" ] && return 0
-       config_get description "$config" Description
        config_get_bool enable_hs "$config" Enabled 0
        config_get ipv4 "$config" IPv4
 
@@ -61,7 +58,7 @@ parse_hs_conf() {
                chmod 700 "$HS_DIR_PATH/"
                chmod 700 "$HS_DIR_PATH/$name/"
 
-               echo "HiddenServiceDir $HS_DIR_PATH/$name" >>$TORRC_FILE
+               echo "HiddenServiceDir $HS_DIR_PATH/$name" >> "$TORRC_FILE"
                config_list_foreach "$config" PublicLocalPort handle_hs_ports_conf "$ipv4"
        fi
 }
@@ -75,11 +72,11 @@ parse_hs_conf_hooks() {
        config_get enable_hs "$config" Enabled 0
        config_get hook_script "$config" HookScript
 
-       hostname="$HS_DIR_PATH/$name/hostname"
+       hostname_file="$HS_DIR_PATH/$name/hostname"
 
        # check if we should run hook_script
-       if [ "$enable_hs" = "true" ] && [ -x "$hook_script" ] && [ -f "$hostname" ] ; then
-               hostname_uri=$(cat "$hostname")
+       if [ "$enable_hs" = "true" ] && [ -x "$hook_script" ] && [ -f "$hostname_file" ]; then
+               hostname_uri=$(cat "$hostname_file")
                # call hook script
                $hook_script "--update-onion" "$hostname_uri"
        fi
@@ -87,8 +84,8 @@ parse_hs_conf_hooks() {
 
 parse_common_conf() {
        local hs_dir generated_config
-       config_get generated_config "common" GenConf
-       config_get hs_dir "common" HSDir
+       config_get generated_config common GenConf
+       config_get hs_dir common HSDir
        [ -n "$hs_dir" ] && HS_DIR_PATH="$hs_dir"
        [ -n "$generated_config" ] && TORRC_FILE="$generated_config"
 }
@@ -96,17 +93,13 @@ parse_common_conf() {
 start_service() {
        config_load tor-hs
        # clean config
-       echo "" > $TORRC_FILE # clean config
-
+       echo -n "" > "$TORRC_FILE"
        # load common config
        parse_common_conf
-
        # load hs service
        config_foreach parse_hs_conf hidden-service
-
        # update tor config
        config_tor
-
        # load and run tor-hs hooks
        config_foreach parse_hs_conf_hooks hidden-service
 }