Talk:Proxy auto-config

From Wikipedia, the free encyclopedia
Jump to: navigation, search
WikiProject Computing  
WikiProject icon This article is within the scope of WikiProject Computing, a collaborative effort to improve the coverage of computers, computing, and information technology on Wikipedia. If you would like to participate, please visit the project page, where you can join the discussion and see a list of open tasks.
 ???  This article has not yet received a rating on the project's quality scale.
 ???  This article has not yet received a rating on the project's importance scale.

PAD file can be a local file.[edit]

Instructions from here:

Autoconfigure the Proxy Settings from a Local Copy of the PROXY.PAC File (IE or Netscape)

In this method, useful for laptops that travel on and off your LAN, you copy the file to some local directory, and point to it.

1. Copy the PROXY.PAC file to the C:\WINDOWS directory, or other directory of your choice. 2. In the browser proxy settings, configure the Automatic Proxy Configuration (Netscape) or Use Automatic Configuration Script (IE) URL to:

Netscape, use: file:///c|/windows/proxy.pac

Internet Explorer, use: file://c:/windows/proxy.pac

In Netscape, click on the Reload button.

However, this removes the ability to change the proxy settings on the fly.
Axel Eble 15:46, 21 June 2006 (UTC)

Only newer versions of Internet Explorer can use a local PAC file. (talk) 17:31, 1 February 2008 (UTC) Ninho

Efficient direct intranet configuration[edit]

From the Google Accelerator project:

var proxy = "PROXY";

function FindProxyForURL (url, host) {
  if (host == "localhost" || host == "" ||
      private_re.test(host) ||
      isPlainHostName (host) ||
      url.substring(0, 6) == "https:"
    return "DIRECT";

  return proxy + "; DIRECT";

/* quick version to avoid DNS resolving, performs a regular expression to
 * detect RFC 1918, RFC 1112, 239/24 bogon, and class E experimental ranges.
var private_re = new RegExp("^((0\\.0\\.0\\.0)|(127\\.\\d+\\.\\d+\\.\\d+)|(10\\.\\d+\\.\\d+\\.\\d+)|(172\\.(1[6789]|2[0-9]|3[01])\\.\\d+\\.\\d+)|(169\\.254\\.\\d+\\.\\d+)|(192\\.168\\.\\d+\\.\\d+)|(22[3-9]\\.\\d+\\.\\d+\\.\\d+)|(2[3-5][0-9]\\.\\d+\\.\\d+\\.\\d+))$");

A more traditional approach to RFC 1918 finding would be like this:

function isRFC1918 (host) {
  var ip = dnsResolve(host);
  if (isInNet(ip, "", "") ||
      isInNet(ip, "", "") ||
      isInNet(ip, "", "") ||
      isInNet(ip, "", ""))
    return true;
  return false;

Load sharing and high availability[edit]

Sharp in 1996 created the Super Proxy Script a auto-config proxy script that selects proxy servers based upon a hash value of the URL requested. Later updated in 1997 to work optimally with HTTP 1.1 by sending matching directories to the same proxy.

Many mechanisms exist for creating the hash, some are listed below.

Fourth IP octet[edit]

As per Novell Cool Solutions:

function URLhash (name) {
  var ip = dnsResolve(host);
  var octets = ip.split(".");
  return parseInt(octets[3]);

Hostname hash[edit]

As MSIE caches the proxy per host it is redundant to calculate the hash for the directory. The JavaScript language has also advacned to include charAt() and charCodeAt() to simplify the code even further.

var proxy0 = "PROXY";
var proxy1 = "PROXY";

function FindProxyForURL(url, host)
  ret = HostHash(host);
  if ((ret % 3) < 2)
    return proxy0 + "; " + proxy1 + "; DIRECT";
  return proxy1 + "; " + proxy0 + "; DIRECT";

function HostHash(host)
  var cnt = 0; 
  if (host.length == 0)
    return cnt; 

  for (var i = host.length - 1; i >= 0; i--)
    cnt = cnt + host.charCodeAt(i);
  return cnt;
} 10:46, 23 October 2007 (UTC)

IPv6 Extensions starting in IE7[edit]

This article should mention the IPv6 extensions Microsoft did in Wininet/IE7: Apernick (talk) 15:25, 5 January 2009 (UTC)

redirect from Proxy Configuration[edit]

As I've said before & elsewhere, "Redirection" requires that whoever establishes the redirection, address the original 'direct' topic, at the redirected location, and not just abandon the original topic to the perhaps long gone or inattentive authors of the redirected topic. (If you wave someone off the road, you are responsible if you've forced them over a cliff.) Failure to do so should be considered vandalism. The original (direct) material should be moved to, merged with, or developed at the redirected location, or at least explained there. (ie: "APC did not exist and is a common mis-spelling of PAC" or "'Proxy Configuration' should be explained here for novice computer users."). Reason for tirade: "(redirect from Automatic Proxy Configuration)" —Preceding unsigned comment added by Wikidity (talkcontribs) 20:44, 17 May 2011 (UTC)

broken link[edit]

"Proxy Auto Config for Firefox (PAC). Fully working examples including anti-ad and anti-adult filter rules". 2012-05-12.