mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-05-06 13:06:11 +02:00
tor: move initscripts to src/initscripts/packages and use new macro
Signed-off-by: Jonatan Schlag <jonatan.schlag@ipfire.org>
This commit is contained in:
99
src/initscripts/packages/tor
Normal file
99
src/initscripts/packages/tor
Normal file
@@ -0,0 +1,99 @@
|
||||
#!/bin/sh
|
||||
########################################################################
|
||||
# Begin $rc_base/init.d/tor
|
||||
#
|
||||
# Description : Anonymizing overlay network for TCP
|
||||
#
|
||||
########################################################################
|
||||
|
||||
. /etc/sysconfig/rc
|
||||
. ${rc_functions}
|
||||
|
||||
FILEDESCRIPTORS="65535"
|
||||
|
||||
eval $(/usr/local/bin/readhash /var/ipfire/tor/settings)
|
||||
|
||||
function tor_is_enabled() {
|
||||
[ "${TOR_ENABLED}" = "on" ] || [ "${TOR_RELAY_ENABLED}" = "on" ]
|
||||
}
|
||||
|
||||
function setup_firewall() {
|
||||
# Flush all rules.
|
||||
flush_firewall
|
||||
|
||||
if [ "${TOR_RELAY_ENABLED}" = "on" -a -n "${TOR_RELAY_PORT}" ]; then
|
||||
iptables -A TOR_INPUT -p tcp --dport "${TOR_RELAY_PORT}" -j ACCEPT
|
||||
fi
|
||||
|
||||
if [ "${TOR_RELAY_ENABLED}" = "on" -a -n "${TOR_RELAY_DIRPORT}" ] && [ "${TOR_RELAY_DIRPORT}" -ne 0 ]; then
|
||||
iptables -A TOR_INPUT -p tcp --dport "${TOR_RELAY_DIRPORT}" -j ACCEPT
|
||||
fi
|
||||
}
|
||||
|
||||
function flush_firewall() {
|
||||
# Flush all rules.
|
||||
iptables -F TOR_INPUT
|
||||
}
|
||||
|
||||
case "${1}" in
|
||||
start)
|
||||
tor_is_enabled || exit 0
|
||||
|
||||
# Setup firewall.
|
||||
setup_firewall
|
||||
|
||||
# Increasing open file descriptors.
|
||||
if [ -n "${FILEDESCRIPTORS}" ]; then
|
||||
ulimit -n "${FILEDESCRIPTORS}"
|
||||
fi
|
||||
|
||||
boot_mesg "Starting tor..."
|
||||
loadproc /usr/bin/tor \
|
||||
--runasdaemon 1 \
|
||||
--defaults-torrc /usr/share/tor/defaults-torrc \
|
||||
-f /etc/tor/torrc \
|
||||
--quiet
|
||||
;;
|
||||
|
||||
stop)
|
||||
# Flush firewall.
|
||||
flush_firewall
|
||||
|
||||
boot_mesg "Stopping tor..."
|
||||
killproc /usr/bin/tor
|
||||
;;
|
||||
|
||||
reload)
|
||||
# Setup firewall.
|
||||
setup_firewall
|
||||
|
||||
boot_mesg "Reloading tor..."
|
||||
reloadproc /usr/bin/tor
|
||||
;;
|
||||
|
||||
restart)
|
||||
${0} stop
|
||||
sleep 1
|
||||
${0} start
|
||||
;;
|
||||
|
||||
reload-or-restart)
|
||||
# Reload the process if it is already running. Otherwise, restart.
|
||||
if pidofproc -s /usr/bin/tor; then
|
||||
$0 reload
|
||||
else
|
||||
$0 restart
|
||||
fi
|
||||
;;
|
||||
|
||||
status)
|
||||
statusproc /usr/bin/tor
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Usage: ${0} {start|stop|reload|restart|reload-or-restart|status}"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# End $rc_base/init.d/tor
|
||||
Reference in New Issue
Block a user