diff --git a/config/rootfiles/packages/tor b/config/rootfiles/packages/tor index 58de7da86..f9c657c88 100644 --- a/config/rootfiles/packages/tor +++ b/config/rootfiles/packages/tor @@ -5,7 +5,7 @@ etc/rc.d/rc0.d/K40tor etc/rc.d/rc3.d/S60tor etc/rc.d/rc6.d/K40tor #etc/tor -etc/tor/tor-tsocks.conf +#etc/tor/tor-tsocks.conf etc/tor/torrc srv/web/ipfire/cgi-bin/tor.cgi usr/bin/tor @@ -25,6 +25,7 @@ usr/local/bin/torctrl usr/share/tor usr/share/tor/defaults-torrc usr/share/tor/geoip +usr/share/tor/geoip6 var/ipfire/backup/addons/includes/tor var/ipfire/menu.d/EX-tor.menu var/ipfire/tor diff --git a/html/cgi-bin/tor.cgi b/html/cgi-bin/tor.cgi index b920724de..befd50834 100755 --- a/html/cgi-bin/tor.cgi +++ b/html/cgi-bin/tor.cgi @@ -108,6 +108,7 @@ $settings{'TOR_RELAY_ENABLED'} = 'off'; $settings{'TOR_RELAY_MODE'} = 'exit'; $settings{'TOR_RELAY_ADDRESS'} = ''; $settings{'TOR_RELAY_PORT'} = 9001; +$settings{'TOR_RELAY_DIRPORT'} = 0; $settings{'TOR_RELAY_NICKNAME'} = ''; $settings{'TOR_RELAY_CONTACT_INFO'} = ''; $settings{'TOR_RELAY_BANDWIDTH_RATE'} = 0; @@ -143,6 +144,11 @@ if ($settings{'ACTION'} eq $Lang::tr{'save'}) { if (!&General::validport($settings{'TOR_RELAY_PORT'})) { $errormessage = "$Lang::tr{'tor errmsg invalid relay port'}: $settings{'TOR_RELAY_PORT'}"; } + if ($settings{'TOR_RELAY_DIRPORT'} ne '0') { + if (!&General::validport($settings{'TOR_RELAY_DIRPORT'})) { + $errormessage = "$Lang::tr{'tor errmsg invalid directory port'}: $settings{'TOR_RELAY_DIRPORT'}"; + } + } if ($settings{'TOR_RELAY_ADDRESS'} ne '') { if ((!&General::validfqdn($settings{'TOR_RELAY_ADDRESS'})) && (!&General::validip($settings{'TOR_RELAY_ADDRESS'}))) { @@ -382,7 +388,7 @@ END $Lang::tr{'tor relay nickname'}: * - + @@ -395,6 +401,14 @@ END + +   +   + $Lang::tr{'tor directory port'}: + +  $Lang::tr{'tor 0 = disabled'} + + $Lang::tr{'tor contact info'}: * @@ -607,7 +621,7 @@ END END if (exists($node->{'country_code'})) { - if ($node->{'country_code'} eq '??') { + if (!$node->{'country_code'} or $node->{'country_code'} eq '??') { print ""; } else { print "$node->{"; @@ -683,6 +697,10 @@ sub BuildConfiguration() { print FILE "ORPort $settings{'TOR_RELAY_PORT'}\n"; + if ($settings{'TOR_RELAY_DIRPORT'} ne '0') { + print FILE "DirPort $settings{'TOR_RELAY_DIRPORT'}\n"; + } + if ($settings{'TOR_RELAY_ADDRESS'} ne '') { print FILE "Address $settings{'TOR_RELAY_ADDRESS'}\n"; } diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 4e005e1a8..f9814d579 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1798,6 +1798,7 @@ 'tone dial' => 'Tonwahl:', 'too long 80 char max' => ' ist zu lang, es sind maximal 80 Zeichen erlaubt', 'tor' => 'Tor', +'tor 0 = disabled' => '0 = deaktiviert', 'tor accounting' => 'Accounting', 'tor accounting bytes' => 'Traffic (empfangen/gesendet)', 'tor accounting bytes left' => 'übrig', @@ -1818,11 +1819,13 @@ 'tor connected relays' => 'Verbundene Relays', 'tor contact info' => 'Kontaktinformationen', 'tor daemon' => 'Daemon', +'tor directory port' => 'Directory-Port', 'tor enabled' => 'Tor einschalten', 'tor errmsg invalid accounting limit' => 'Ungültiges Accounting-Limit', +'tor errmsg invalid directory port' => 'Ungültiger Directory-Port', 'tor errmsg invalid ip or mask' => 'Ungültiges IP-Subnetz', 'tor errmsg invalid relay address' => 'Ungültige Relay-Adresse', -'tor errmsg invalid relay name' => 'Ungültiger Relay-Nickname.', +'tor errmsg invalid relay name' => 'Ungültiger Relay-Nickname', 'tor errmsg invalid relay port' => 'Ungültiger Relay-Port', 'tor errmsg invalid socks port' => 'Ungültiger SOCKS-Port', 'tor exit country' => 'Exit-Land', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index ba80985a8..1c5029672 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1832,6 +1832,7 @@ 'tone dial' => 'Tone dial:', 'too long 80 char max' => ' is too long, maximum allowed is 80 characters', 'tor' => 'Tor', +'tor 0 = disabled' => '0 = disabled', 'tor accounting' => 'Accounting', 'tor accounting bytes' => 'Traffic (read/written)', 'tor accounting bytes left' => 'left', @@ -1853,8 +1854,10 @@ 'tor connected relays' => 'Connected relays', 'tor contact info' => 'Contact Info', 'tor daemon' => 'Daemon', +'tor directory port' => 'Directory port', 'tor enabled' => 'Enable Tor', 'tor errmsg invalid accounting limit' => 'Invalid accounting limit', +'tor errmsg invalid directory port' => 'Invalid directory port', 'tor errmsg invalid ip or mask' => 'Invalid IP subnet', 'tor errmsg invalid node id' => 'Invalid node ID', 'tor errmsg invalid relay address' => 'Invalid relay address', diff --git a/lfs/tor b/lfs/tor index 6161a5648..795f7c3eb 100644 --- a/lfs/tor +++ b/lfs/tor @@ -24,7 +24,7 @@ include Config -VER = 0.2.3.25 +VER = 0.2.4.17-rc THISAPP = tor-$(VER) DL_FILE = $(THISAPP).tar.gz @@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = tor -PAK_VER = 3 +PAK_VER = 4 DEPS = "libevent2" @@ -44,7 +44,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = a1c364189a9a66ed9daa8e6436489daf +$(DL_FILE)_MD5 = 2cdfb8dcc3306a43cf465a858bf97b2d install : $(TARGET) diff --git a/src/initscripts/init.d/tor b/src/initscripts/init.d/tor index d631e867f..9c1dfc769 100644 --- a/src/initscripts/init.d/tor +++ b/src/initscripts/init.d/tor @@ -22,6 +22,10 @@ function setup_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() {