1024, # 1M
512,
256,
- 128,
- 64
+ 160
);
my @accounting_periods = ('daily', 'weekly', 'monthly');
&Header::showhttpheaders();
-# Load settings from file.
-&General::readhash("${General::swroot}/tor/settings", \%settings);
-
# Get GUI values.
&Header::getcgihash(\%settings);
}
}
+ # Burst bandwidth must be less or equal to bandwidth rate.
+ if ($settings{'TOR_RELAY_BANDWIDTH_RATE'} == 0) {
+ $settings{'TOR_RELAY_BANDWIDTH_BURST'} = 0;
+
+ } elsif ($settings{'TOR_RELAY_BANDWIDTH_BURST'} < $settings{'TOR_RELAY_BANDWIDTH_RATE'}) {
+ $settings{'TOR_RELAY_BANDWIDTH_BURST'} = $settings{'TOR_RELAY_BANDWIDTH_RATE'};
+ }
+
if ($errormessage eq '') {
# Write configuration settings to file.
&General::writehash("${General::swroot}/tor/settings", \%settings);
$settings{'ACTION'} = '';
}
+# Load settings from file.
+&General::readhash("${General::swroot}/tor/settings", \%settings);
+
&showMainBox();
# Close Tor control connection.
</tr>
<tr>
<td width='25%' class='base'>$Lang::tr{'tor enabled'}:</td>
- <td width='20%'><input type='checkbox' name='TOR_ENABLED' $checked{'TOR_ENABLED'}{'on'} /></td>
- <td width='25%' class='base'></td>
- <td width='30%'></td>
+ <td width='30%'><input type='checkbox' name='TOR_ENABLED' $checked{'TOR_ENABLED'}{'on'} /></td>
+ <td width='25%' class='base'>$Lang::tr{'tor socks port'}:</td>
+ <td width='20%'><input type='text' name='TOR_SOCKS_PORT' value='$settings{'TOR_SOCKS_PORT'}' size='5' /></td>
</tr>
<tr>
<td width='25%' class='base'>$Lang::tr{'tor relay enabled'}:</td>
- <td width='20%'><input type='checkbox' name='TOR_RELAY_ENABLED' $checked{'TOR_RELAY_ENABLED'}{'on'} /></td>
+ <td width='30%'><input type='checkbox' name='TOR_RELAY_ENABLED' $checked{'TOR_RELAY_ENABLED'}{'on'} /></td>
<td width='25%' class='base'></td>
- <td width='30%'></td>
+ <td width='20%'></td>
</tr>
</table>
END
- &Header::closebox();
-
if ($settings{'TOR_ENABLED'} eq 'on') {
my @temp = split(",", $settings{'TOR_ALLOWED_SUBNETS'});
$settings{'TOR_ALLOWED_SUBNETS'} = join("\n", @temp);
@temp = split(",", $settings{'TOR_USE_EXIT_NODES'});
$settings{'TOR_USE_EXIT_NODES'} = join("\n", @temp);
- &Header::openbox('100%', 'left', $Lang::tr{'tor configuration'});
-
print <<END;
- <table width='100%'>
- <tr>
- <td width='25%' class='base'>$Lang::tr{'tor socks port'}:</td>
- <td width='30%'><input type='text' name='TOR_SOCKS_PORT' value='$settings{'TOR_SOCKS_PORT'}' size='5' /></td>
- <td width='50%' class='base' colspan='2'></td>
- </tr>
- </table>
-
+ <br>
<hr size='1'>
+ <br>
<table width='100%'>
<tr>
</tr>
</table>
+ <br>
<hr size='1'>
+ <br>
<table width='100%'>
<tr>
print <<END;
</select>
</td>
- <td colspan='2'>
+ <td width='50%' colspan='2'>
<textarea name='TOR_USE_EXIT_NODES' cols='32' rows='3' wrap='off'>$settings{'TOR_USE_EXIT_NODES'}</textarea>
</td>
</tr>
</table>
+ <br><br>
END
-
- &Header::closebox();
}
+ &Header::closebox();
+
if ($settings{'TOR_RELAY_ENABLED'} eq 'on') {
$checked{'TOR_RELAY_NOADVERTISE'}{'on'} = '';
$checked{'TOR_RELAY_NOADVERTISE'}{'off'} = '';
my @nodes = &TorORConnStatus($torctrl);
if (@nodes) {
+ my $nodes_length = scalar @nodes;
print <<END;
<table width='100%'>
<tr>
- <td colspan='3' class='base'><b>$Lang::tr{'tor connected relays'}</b></td>
+ <td width='40%' class='base'><b>$Lang::tr{'tor connected relays'}</b></td>
+ <td width='60%' colspan='2'>($nodes_length)</td>
</tr>
END
# Restart the service.
if (($settings{'TOR_ENABLED'} eq 'on') || ($settings{'TOR_RELAY_ENABLED'} eq 'on')) {
- system("/usr/local/bin/torctrl restart");
+ system("/usr/local/bin/torctrl restart &>/dev/null");
} else {
- system("/usr/local/bin/torctrl stop");
+ system("/usr/local/bin/torctrl stop &>/dev/null");
}
}