Howdy folks,
what do you think about enclosing the web browsers to use a proxy for
various services? This would make it a lot easier for system
administrators to make the installed software *use* the proxies.
On my systems I have a file /etc/www.conf that looks like
--------------------------------------------------------------------
# /etc/www.conf - Configuration file for all WWW browser and tools
#
port=8086
if [ "$client" = "httpget" ]; then
http_proxy="http://escher.North.DE:${port}/"
else
http_proxy="http://proxy.Infodrom.North.DE:${port}/"
# http_proxy="http://escher.North.DE:3128/"
fi
ftp_proxy="http://proxy.Infodrom.North.DE:${port}/"
gopher_proxy="http://proxy.Infodrom.North.DE:${port}/"
wais_proxy="http://proxy.Infodrom.North.DE:${port}/"
no_proxy="uni-oldenburg.de north.de"
--------------------------------------------------------------------
Lynx, Mosaic etc. are not called by their binary name. Instead
/usr/bin/lynx and /usr/X11/bin/xmosaic are small shell scripts that
evaluate this file and set various variables to make these programs
aware of the proxies. After that the "real" browser is executed.
The above file could be easyly included in a script using soure or .
All such scripts have to set a `client' variable to determine which
client is run. This way you can use different proxies for different
clients.
If the particular client doesn't understand this sort but needs
different variables that could be handled in the wrapper script.
The script for Lynx could look like:
--------------------------------------------------------------------
#! /bin/sh
#
# Wrapper around any WWW browser or related tool
#
conf=/etc/www.conf
client=lynx
bin=/usr/bin/lynx.bin
name='Lynx 2.8'
if [ "$1" = '-nocache' -o "$1" = '--nocache' ] ; then
shift
if [ -n "$name" ]; then echo "$name (no cache)"; fi
else
if [ -f $conf ]; then
. $conf
export http_proxy ftp_proxy gopher_proxy wais_proxy no_proxy
if [ -n "$name" ]; then echo "$name ($http_proxy)"; fi
fi
fi
exec ${bin} $*
--------------------------------------------------------------------
I'd be very happy if this mechanism would be included into Debian
GNU/Linux wherever is is possible. This means lynx, mosaic, chimera,
wget etc.
I'd suggest the configuration file would be included in the
debianutils package.
If we decide to use such a mechanism we should consider a policy
change that web browsers must use this if it is possible (I fear that
it's impossible for Netscape, so I'm careful with my must/should/can).
Best regards,
Joey
--
/ Martin Schulze * joey@infodrom.north.de * 26129 Oldenburg /
/ No question is too silly to ask, /
/ but, of course, some are too silly to answer -- perl book /
Attachment:
pgpAzW5R_39un.pgp
Description: PGP signature