|
|
@ -6,18 +6,48 @@ STOP=50 |
|
|
|
|
|
|
|
USE_PROCD=1 |
|
|
|
|
|
|
|
start_service() { |
|
|
|
touch /var/run/tor.pid |
|
|
|
chown tor:tor /var/run/tor.pid |
|
|
|
TORRC_GEN="/tmp/torrc" |
|
|
|
|
|
|
|
handle_conf_file() { |
|
|
|
local conf_path="$1" |
|
|
|
if [ -f "$conf_path" ] || [ -d "$conf_path" ]; then |
|
|
|
echo "%include $conf_path" |
|
|
|
fi |
|
|
|
} |
|
|
|
|
|
|
|
generate_conf() { |
|
|
|
local default_conf generated_conf |
|
|
|
|
|
|
|
config_load tor |
|
|
|
config_get default_conf conf default "/etc/tor/torrc" |
|
|
|
config_get generated_conf conf generated "/tmp/torrc" |
|
|
|
TORRC_GEN="$generated_conf" |
|
|
|
|
|
|
|
{ |
|
|
|
echo "## This file was automatically generated please do not edit here !" |
|
|
|
config_list_foreach "conf" head_include handle_conf_file |
|
|
|
echo "%include $default_conf" |
|
|
|
config_list_foreach "conf" tail_include handle_conf_file |
|
|
|
} > "$TORRC_GEN" |
|
|
|
} |
|
|
|
|
|
|
|
reload_service() { |
|
|
|
procd_send_signal /usr/sbin/tor |
|
|
|
} |
|
|
|
|
|
|
|
start_service() { |
|
|
|
mkdir -m 0700 -p /var/lib/tor |
|
|
|
chown -R tor:tor /var/lib/tor |
|
|
|
|
|
|
|
mkdir -m 0755 -p /var/log/tor |
|
|
|
chown -R tor:tor /var/log/tor |
|
|
|
|
|
|
|
generate_conf |
|
|
|
|
|
|
|
procd_open_instance |
|
|
|
procd_set_param command /usr/sbin/tor --runasdaemon 0 |
|
|
|
procd_append_param command -f "$TORRC_GEN" |
|
|
|
procd_set_param respawn |
|
|
|
procd_set_param pidfile /var/run/tor.pid |
|
|
|
procd_close_instance |
|
|
|
} |