- #!/bin/sh /etc/rc.common
- # Copyright (C) 2006-2011 OpenWrt.org
-
- START=50
- STOP=50
-
- USE_PROCD=1
-
- 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_close_instance
- }
|