WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: age second
WARNING: untranslated string: age seconds
WARNING: untranslated string: age shour
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: age second
WARNING: untranslated string: age seconds
WARNING: untranslated string: age shour
WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: Scan for Songs
WARNING: untranslated string: advproxy cache-digest
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: age second
WARNING: untranslated string: age seconds
WARNING: untranslated string: age shour
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: age second
WARNING: untranslated string: age seconds
WARNING: untranslated string: age shour
WARNING: untranslated string: advproxy cache-digest
WARNING: untranslated string: advproxy errmsg cache
WARNING: untranslated string: advproxy errmsg invalid upstream proxy
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: age second
WARNING: untranslated string: age seconds
WARNING: untranslated string: age shour
WARNING: translation string unused: year-graph
WARNING: translation string unused: yearly firewallhits
WARNING: untranslated string: Scan for Songs
+WARNING: untranslated string: advproxy errmsg proxy ports equal
+WARNING: untranslated string: advproxy proxy port transparent
WARNING: untranslated string: bytes
WARNING: untranslated string: dnsforward
WARNING: untranslated string: dnsforward add a new entry
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
+< advproxy errmsg proxy ports equal
+< advproxy proxy port transparent
< age second
< age seconds
< age shour
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
+< advproxy errmsg proxy ports equal
+< advproxy proxy port transparent
< age second
< age seconds
< age shour
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
+< advproxy errmsg proxy ports equal
+< advproxy proxy port transparent
< age second
< age seconds
< age shour
< advproxy cache-digest
< advproxy errmsg cache
< advproxy errmsg invalid upstream proxy
+< advproxy errmsg proxy ports equal
+< advproxy proxy port transparent
< age second
< age seconds
< age shour
$proxysettings{'TRANSPARENT'} = 'off';
$proxysettings{'TRANSPARENT_BLUE'} = 'off';
$proxysettings{'PROXY_PORT'} = '800';
+$proxysettings{'TRANSPARENT_PORT'} = '3128';
$proxysettings{'VISIBLE_HOSTNAME'} = '';
$proxysettings{'ADMIN_MAIL_ADDRESS'} = '';
$proxysettings{'ADMIN_PASSWORD'} = '';
$errormessage = $Lang::tr{'advproxy errmsg invalid proxy port'};
goto ERROR;
}
+ if (!(&General::validport($proxysettings{'TRANSPARENT_PORT'})))
+ {
+ $errormessage = $Lang::tr{'advproxy errmsg invalid proxy port'};
+ goto ERROR;
+ }
+ if ($proxysettings{'PROXY_PORT'} eq $proxysettings{'TRANSPARENT_PORT'}) {
+ $errormessage = $Lang::tr{'advproxy errmsg proxy ports equal'};
+ goto ERROR;
+ }
if (!($proxysettings{'UPSTREAM_PROXY'} eq ''))
{
my @temp = split(/:/,$proxysettings{'UPSTREAM_PROXY'});
<tr>
<td class='base'>$Lang::tr{'advproxy transparent on'} <font color="$Header::colourgreen">Green</font>:</td>
<td><input type='checkbox' name='TRANSPARENT' $checked{'TRANSPARENT'}{'on'} /></td>
- <td class='base'>$Lang::tr{'advproxy visible hostname'}: <img src='/blob.gif' alt='*' /></td>
- <td><input type='text' name='VISIBLE_HOSTNAME' value='$proxysettings{'VISIBLE_HOSTNAME'}' /></td>
+ <td width='25%' class='base'>$Lang::tr{'advproxy proxy port transparent'}:</td>
+ <td width='30%'><input type='text' name='TRANSPARENT_PORT' value='$proxysettings{'TRANSPARENT_PORT'}' size='5' /></td>
</tr>
<tr>
END
print "<td colspan='2'> </td>";
}
print <<END
- <td colspan='2'> </td>
+ <td class='base'>$Lang::tr{'advproxy visible hostname'}: <img src='/blob.gif' alt='*' /></td>
+ <td><input type='text' name='VISIBLE_HOSTNAME' value='$proxysettings{'VISIBLE_HOSTNAME'}' /></td>
</tr>
<tr>
END
}
print FILE "http_port $netsettings{'GREEN_ADDRESS'}:$proxysettings{'PROXY_PORT'}";
- if ($proxysettings{'TRANSPARENT'} eq 'on') { print FILE " transparent" }
if ($proxysettings{'NO_CONNECTION_AUTH'} eq 'on') { print FILE " no-connection-auth" }
print FILE "\n";
+ if ($proxysettings{'TRANSPARENT'} eq 'on') {
+ print FILE "http_port $netsettings{'GREEN_ADDRESS'}:$proxysettings{'TRANSPARENT_PORT'} intercept";
+ if ($proxysettings{'NO_CONNECTION_AUTH'} eq 'on') { print FILE " no-connection-auth" }
+ print FILE "\n";
+ }
+
if ($netsettings{'BLUE_DEV'} && $proxysettings{'ENABLE_BLUE'} eq 'on') {
print FILE "http_port $netsettings{'BLUE_ADDRESS'}:$proxysettings{'PROXY_PORT'}";
- if ($proxysettings{'TRANSPARENT_BLUE'} eq 'on') { print FILE " transparent" }
if ($proxysettings{'NO_CONNECTION_AUTH'} eq 'on') { print FILE " no-connection-auth" }
print FILE "\n";
+
+ if ($proxysettings{'TRANSPARENT_BLUE'} eq 'on') {
+ print FILE "http_port $netsettings{'BLUE_ADDRESS'}:$proxysettings{'TRANSPARENT_PORT'} intercept";
+ if ($proxysettings{'NO_CONNECTION_AUTH'} eq 'on') { print FILE " no-connection-auth" }
+ print FILE "\n";
+ }
}
if ($proxysettings{'CACHE_SIZE'} > 0)
# Check if squidclamav is enabled.
if ($proxysettings{'ENABLE_CLAMAV'} eq 'on') {
print FILE "\n#Settings for squidclamav:\n";
- print FILE "http_port 127.0.0.1:$proxysettings{'PROXY_PORT'} transparent\n";
+ print FILE "http_port 127.0.0.1:$proxysettings{'PROXY_PORT'}\n";
print FILE "acl purge method PURGE\n";
print FILE "http_access deny to_localhost\n";
print FILE "http_access allow localhost\n";
'advproxy errmsg password length 1' => 'Passwort muss mindestens',
'advproxy errmsg password length 2' => ' Zeichen enthalten',
'advproxy errmsg passwords different' => 'Passwörter stimmen nicht überein',
+'advproxy errmsg proxy ports equal' => 'Der Proxy-Port darf nicht identisch mit dem transparenten Port sein.',
'advproxy errmsg radius port' => 'Ungültige RADIUS Portnummer',
'advproxy errmsg radius secret' => 'Shared Secret erforderlich',
'advproxy errmsg radius server' => 'Ungültige IP-Adresse für den RADIUS-Server',
'advproxy on' => 'Proxy an',
'advproxy privacy' => 'Datenschutz',
'advproxy proxy port' => 'Proxy-Port',
+'advproxy proxy port transparent' => 'Transparenter Port',
'advproxy ram cache size' => 'Cachegröße im Arbeitsspeicher (MB)',
'advproxy redirector children' => 'Anzahl der Filterprozesse',
'advproxy reset' => 'Zurücksetzen',
'advproxy errmsg password length 1' => 'Password must have at least ',
'advproxy errmsg password length 2' => ' characters',
'advproxy errmsg passwords different' => 'Passwords don\'t match',
+'advproxy errmsg proxy ports equal' => 'The proxy port and the transparent port cannot be equal.',
'advproxy errmsg radius port' => 'Invalid RADIUS port number',
'advproxy errmsg radius secret' => 'RADIUS shared secret required',
'advproxy errmsg radius server' => 'Invalid IP address for RADIUS Server',
'advproxy on' => 'Proxy on',
'advproxy privacy' => 'Privacy',
'advproxy proxy port' => 'Proxy port',
+'advproxy proxy port transparent' => 'Transparent port',
'advproxy ram cache size' => 'Memory cache size (MB)',
'advproxy redirector children' => 'Number of filter processes',
'advproxy reset' => 'Reset',
eval $(/usr/local/bin/readhash /var/ipfire/proxy/settings)
# If the proxy port is not set we set the default to 800.
- if [ -z $PROXY_PORT ]; then
- PROXY_PORT=800
+ if [ -z "${TRANSPARENT_PORT}" ]; then
+ TRANSPARENT_PORT=800
fi
LOCALIP=`cat /var/ipfire/red/local-ipaddress | tr -d \n`
iptables -t nat -A SQUID -i $1 -p tcp -d $LOCALIP --dport 80 -j RETURN
- iptables -t nat -A SQUID -i $1 -p tcp --dport 80 -j REDIRECT --to-port $PROXY_PORT
+ iptables -t nat -A SQUID -i $1 -p tcp --dport 80 -j REDIRECT --to-port "${TRANSPARENT_PORT}"
}
case "$1" in