Search squid archive

Re: Authentication\Authorization using a PAC file?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

a sample of a .pac-File

function FindProxyForURL( url, host )
{
  var strURL = ( decodeURI( url ) ).toLowerCase( );

  var strHost = host.toLowerCase( );

  // Redirect to proxy with these URLs
  if ( ( strURL == "http://flickr.com/images/spaceball.gif"; ) ||
       ( strURL == "..." ) )
    return "PROXY host:port;";

  // Don't use a proxy with these domains/hosts
  if ( dnsDomainIs( strHost, "www.domain.tld" ) ||
       dnsDomainIs( strHost, "..." ) )
    return "DIRECT";

  // Bad words or combinations, use localhost as proxy
  if ( ( strURL.search(/advert/) == -1 ) &&
       ( strURL.search(/banner/) == -1 ) &&
       ( strURL.search(/realmedia/) == -1 ) &&
       ( strURL.search(/[^a-z0-9]ads/) == -1 ) &&
       ( strURL.search(/[a-z][c,k]lick/) == -1 ) );
  else
    return "PROXY ntwaldivm-001.waldinet.home:8080;";

  // Use a proxy on higher domain levels,
  // except for educational or academical domains
  if ( dnsDomainLevels( strHost ) > 3 )
    if ( ( strHost.search(/.ac.[a-z][a-z]/) == ( strHost.length - 6 ) ) ||
         ( strHost.search(/.edu.[a-z][a-z]/) == ( strHost.length - 7 ) ) ||
( strHost.search(/.mail.yahoo.com/) == ( strHost.length - 15 ) ) ||
         ( strHost.search(/.edu/) == ( strHost.length - 4 ) ) )
      return "PROXY host:port;";
    else
      return "DIRECT";

  // DIRECT connections to non-FQDN hosts
  if ( isPlainHostName( strHost ) )
    return "DIRECT";

  // Bad words or combinations in host, use proxy
  if ( ( strHost.search(/stat[0-9s]/) == -1 ) &&
       ( strHost.search(/media/) == -1 ) &&
       ( strHost.search(/spy/) == -1 ) &&
       ( strHost.search(/track/) == -1 ) &&
       ( strHost.search(/trade/) == -1 ) &&
       ( strHost.search(/klamm/) == -1 ) &&
       ( strHost.search(/trade/) == -1 ) &&
       ( strHost.search(/meter/) == -1 ) &&
       ( strHost.search(/poker/) == -1 ) &&
       ( strHost.search(/sex/) == -1 ) &&
       ( strHost.search(/xxx/) == -1 ) &&
       ( strHost.search(/cash/) == -1 ) &&
       ( strHost.search(/pay/) == -1 ) &&
       ( strHost.search(/popup/) == -1 ) &&
       ( strHost.search(/^ad./) == -1 ) &&
       ( strHost.search(/^www.ad./) == -1 ) &&
       ( strHost.search(/^www.free/) == -1 ) &&
       ( strHost.search(/^www.web/) == -1 ) );
  else
    return "PROXY host:port;";

  //  If nothing above matches, then go directly there,
  //  in case of a DNS failure use proxy
  if ( isResolvable( strHost ) )
    return "DIRECT";
  else
    return "PROXY host:port;";
}

any authorization to a proxy in this .pac-File is the same as if the proxy were
configured directly in the browser;
with such a setup you can use different proxies for e.g. specific sites
 even with SSL without SSL-bump ...

Walter


On 24.11.2014 11:25, Eliezer Croitoru wrote:
I do know that pac files contains some form of JS and in the past I
have seen couple complex PAC files but unsure about the options.
I want to know if a PAC file can be used for
Authentication\Authorization, maybe even working against another
external system to get a token?

Thanks,
Eliezer


<<attachment: smime.p7s>>

_______________________________________________
squid-users mailing list
squid-users@xxxxxxxxxxxxxxxxxxxxx
http://lists.squid-cache.org/listinfo/squid-users

[Index of Archives]     [Linux Audio Users]     [Samba]     [Big List of Linux Books]     [Linux USB]     [Yosemite News]

  Powered by Linux