Prev: SO_BINDTODEVICE
Next: Ping domain name vs nslookup IP
From: Mark Hobley on 19 Sep 2009 21:08 In comp.infosystems.www.browsers.x Balwinder S Dheeman <bsd.SANSPAM(a)cto.homelinux.net> wrote: > The best way to control use of network is control it from your > gateway/router possibly with the help of filtering proxy sever. I use tinyproxy for filtering. Mark. -- Mark Hobley Linux User: #370818 http://markhobley.yi.org/
From: Balwinder S Dheeman on 20 Sep 2009 16:42
On 09/20/2009 06:38 AM, Mark Hobley wrote: > In comp.infosystems.www.browsers.x Balwinder S Dheeman <bsd.SANSPAM(a)cto.homelinux.net> wrote: > >> The best way to control use of network is control it from your >> gateway/router possibly with the help of filtering proxy sever. > > I use tinyproxy for filtering. "* Easily modified: If you're looking to build a custom web proxy, Tinyproxy is very easy to modify to your custom needs. The source is straightforward, adhering to the KISS principle. As such, it can be used as a foundation for anything you may need a web proxy to do." The above is quote from https://www.banu.com/tinyproxy/, home page of Tinyproxy; though I never had a chance to try it, but it seems promising and useful for your use case. Hope you will add a requisite routine to bypass client requests based on User-Agent header to it and be able to run it as a transparent proxy behind a firewall. On most of the school, college, cyber-cafe and, or Internet kiosk sites which I manage, we either use Squid or Polipo as transparent proxy. On other sites, where we want a relaxed control we provide an auto_proxy configuration script for most of the browsers, down-loaders and, or other such tools: -------- 8< -------- function FindProxyForURL(url, host) { /* If user have specified only a hostname, go directly. */ if (isPlainHostName(host)) return "DIRECT"; /* If user have specified on an ipaddr, go directly. */ if (isInNet(host, "192.168.1.0", "255.255.255.0") || isInNet(host, "192.168.2.0", "255.255.255.0") ... ) return "DIRECT"; /* Connect directly to our domains and, or vhosts */ if (dnsDomainIs(host, "local") || dnsDomainIs(host, "example.com") ... ) return "DIRECT"; /* We only cache http, https, ftp and, or gopher */ if (url.substring(0, 5) == "http:" || url.substring(0, 6) == "https:" ... ) /* Change the ":8123" to the port that your cache runs on, and point * the "proxy.sebs.org.in" to a machine that runs the caching server */ return "PROXY proxy.example.com:8123; DIRECT"; return "DIRECT"; } -------- 8< -------- Which the clients may or may not use. Or it is useful only for non-technical users and, or those who don't want to set a proxy by hand. -- Balwinder S "bdheeman" Dheeman Registered Linux User: #229709 Anu'z Linux(a)HOME (Unix Shoppe) Machines: #168573, 170593, 259192 Chandigarh, UT, 160062, India Plan9, T2, Arch/Debian/FreeBSD/XP Home: http://werc.homelinux.net/ Visit: http://counter.li.org/ |