Pages : 1
#1 Le 15/12/2015, à 16:22
- jjack
Configuration d'un fichier .pac pour Firefox
Bonjour,
J'ai un peu de mal avec le paramétrage d'un fichier .pac pour Firefox et j'aimerais avoir quelques explications concernant les fonctions dnsDomainIs ainsi que isInNet
Peux t'on afficher le résultat d'une fonction ou d'une variable ?
j'ai fait deux fichiers pour tester et le résultat est troublant...
Le premier test.pac :
function FindProxyForURL(url, host)
{
if (dnsDomainIs(host, ".toto.priv") ||
(host == "toto.priv"))
{
return 'DIRECT';
}
if (isResolvable(host))
{
var hostIP = dnsResolve(host);
if (isInNet(hostIP, '10.0.0.0', '255.0.0.0') ||
isInNet(hostIP, '127.0.0.0', '255.0.0.0'))
{
return 'DIRECT';
}
if (url.substring(0, 5) == 'http:' ||
url.substring(0, 6) == 'https:' ||
url.substring(0, 4) == 'ftp:')
{
return 'PROXY srvproxy:3128';
}
}
return 'DIRECT';
}
Et le second test2.pac en mettant une partie en commentaires.
function FindProxyForURL(url, host)
{
if (dnsDomainIs(host, ".toto.priv") ||
(host == "toto.priv"))
{
return 'DIRECT';
}
/* if (isResolvable(host))
{
var hostIP = dnsResolve(host);
if (isInNet(hostIP, '10.0.0.0', '255.0.0.0') ||
isInNet(hostIP, '127.0.0.0', '255.0.0.0'))
{
return 'DIRECT';
}
*/
if (url.substring(0, 5) == 'http:' ||
url.substring(0, 6) == 'https:' ||
url.substring(0, 4) == 'ftp:')
{
return 'PROXY srvproxy:3128';
}
/* } */
return 'DIRECT';
}
Le fichier du résultat de pastester en ligne commande
toto@uc1451:~/tools$ ./pactester -p test.pac -u http://www.google.com
DIRECT
toto@uc1451:~/tools$ ./pactester -p test.pac -u http://www.toto.priv
DIRECT
toto@uc1451:~/tools$ ./pactester -p test.pac -u http://10.64.10.10
DIRECT
toto@uc1451:~/tools$
toto@uc1451:~/tools$
toto@uc1451:~/tools$ ./pactester -p test2.pac -u http://10.64.10.10
PROXY srvproxy:3128
toto@uc1451:~/tools$ ./pactester -p test2.pac -u http://www.toto.priv
PROXY srvproxy:3128
toto@uc1451:~/tools$ ./pactester -p test2.pac -u http://www.google.com
PROXY srvproxy:3128
toto@uc1451:~/tools$
Dans le premier test pour www.google.com je devrais sortir avec le PROXY valorisé, mais tout est DIRECT
Dans le second test pour www.toto.priv je devrais sortir DIRECT, mais dans tous les cas le PROXY est valorisé
Si quelqu'un peut m’aiguiller, ce serait avec grand plaisir, car j'ai l'impression que rien ne fonctionne comme ça devrait.
Dernière modification par jjack (Le 15/12/2015, à 16:41)
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne
#2 Le 15/12/2015, à 17:15
- tiramiseb
Re : Configuration d'un fichier .pac pour Firefox
Salut,
As-tu testé avec autre chose que pactester ?
Ton "pactester", c'est bien celui-là https://github.com/manugarg/pactester, qui n'a connu aucune modification depuis 8 ans ?
As-tu essayé pacparser ?
Peut-être pactester a-t-il du mal avec les fonctions "dns*"...
Sébastien Maccagnoni - https://www.maccagnoni.eu - https://www.domotego.com
Hors ligne
#3 Le 16/12/2015, à 08:41
- jjack
Re : Configuration d'un fichier .pac pour Firefox
Bonjour,
oui il s'agit bien de ce "pactester".
J'ai substitué la fonction dnsDomainIs(host, ...) au profit de ShExpMatch(url, ......) qui me semble plus approprié et qui fonctionne dans tous mes cas de figures.
L'avantage c'est que l'on met l'Url et non pas le résultat d'une pseudo variable que je ne sais pas afficher pour vérifier sa valeur, l'inconvénient il faut l'Url complète mais je devrais m'en sortir comme ça.
Pour isInNet( c'est plus compliqué car je ne vois pas comment faire autrement pour ne pas appliquer de PROXY si je m'adresse a cette liste d'@ Ip.
Mon fichier .pac devrait être assez simple, je ne veux pas de PROXY dans le cas ou le nom de Domaine ou Url ou @ Ip se trouve dans une liste.
Afficher le résultat d'une variable m'aiderait beaucoup.
Dernière modification par jjack (Le 16/12/2015, à 08:49)
Kubuntu 22.04 Lts Maj depuis 20.04 sur VPC11X9
Ubuntu Studio 22.04 Lts Maj depuis 20.04 (J'aurais mieux fait de le garder..) installé sur Sony VPC11X9E en Dual Boot
Hors ligne