PAC est un mécanisme permettant de déterminer le comportement d'un client Web lors de l'accès à une ressource. Il s'agit souvent d'une URL configurée sur le client qui pointe vers un fichier téléchargé et interprété localement (dans le navigateur par exemple). La syntaxe utilisée est celle du javascript. Fonctions disponibles/utiles, en vrac : * ''isPlainHostName(HOST)'' : vérifie que le HOST n'ai pas de suffixe DNS (pas de . dans le nom) * ''dnsDomainIs(HOST,DOMAIN)'' : vérifie si le suffixe DNS du HOST est égal à DOMAIN * ''localHostOrDomainIs(HOST,HOSTNAME)'' : vrai si HOST match sur le nom partiel ou complet HOSTNAME * ''shExpMatch'' : vrai si match avec l'expression régulière * ''isInNet(IP,NETWORK,MASK)'' : vrai si IP est comprise dans le réseau défini par NETWORK/MASK * ''myIpAddress()'' : adresse IP du client * ''dnsResolve(HOST)'' : résout le DNS fourni en paramètre (HOST) * ''weekdayRange("MON","FRI")'' : teste si le jour courant est inclus dans l'intervalle entre MON(day) -> FRI(day) * ''dateRange("JAN", "MAR")'' : permet de décrire des règle par rapport à la date courante (ex ici entre janvier et mars) * ''timeRange(8,18)'' permet de tester l'heure courante (ici entre 8h et 18h) Exemples : // ne pas utiliser le proxy pour les plages d'IPs privées if (isInNet(dnsResolve(host), "10.0.0.0", "255.0.0.0") || isInNet(dnsResolve(host), "172.16.0.0", "255.240.0.0") || isInNet(dnsResolve(host), "192.168.0.0", "255.255.0.0") || return "DIRECT";