Créer son proxy.pac

Créer son proxy.pac - Réseaux - Réseaux grand public / SoHo

Marsh Posté le 05-01-2017 à 15:31:38    

Bonjour à tous,
 
J'ai un proxy socks5 avec ID:PASS que je souhaiterai rendre accessible sur Mozilla Firefox.
 
Je ne vois qu'un script (.pac) qui permettrai de le faire de manière "simple"... Ai-je tors ?
 
Malheureusement, je code trop peu, et encore moins sur du JavaScript !
 
L'un de vous pourrait me fournir un code type pour mes configs ou bien m'expliquer ?
 
Merci !

Reply

Marsh Posté le 05-01-2017 à 15:31:38   

Reply

Marsh Posté le 08-01-2017 à 12:21:09    

Basiquement :

Code :
  1. Function FindProxyForURL(url, host)
  2. {
  3. If (isInNet(myIpAddress(), "192.168.4.0", "255.255.255.0" ))
  4. return "PROXY 192.168.4.14:8080";
  5. Else
  6. return "DIRECT";
  7. }


Ton adresse IP est dans le sous-réseau 192.168.4.x alors ça utilisera le proxy situé à l'adresse:port 192.168.4.14:8080
Seulement là toutes tes requêtes, y compris les requêtes internes, passeront par ton proxy. Il te faudra donc aller beaucoup plus loin pour faire plus propre :

Code :
  1. function FindProxyForURL(url, host)
  2. {
  3. if (isPlainHostName(host) || //si l'url est un seul mot
  4. dnsDomainIs(host,".mon-domaine.prv" ) || //si l'url correspond a un hote du domaine
  5. isInNet(host,"192.x.A.x","255.255.255.0" ) || //si l'adresse correspond à un réseau de l'entreprise
  6. isInNet(host,"10.x.B.x","255.255.255.0" ) ||
  7. isInNet(host,"10.x.C.x","255.255.255.0" ) ||
  8. isInNet(host,"10.x.D.x","255.255.255.0" ) ||
  9. isInNet(host,"10.x.E.x","255.255.255.0" ) ||
  10. isInNet(host,"10.x.F.x","255.255.255.0" ) ||
  11. isInNet(host,"10.x.G.x","255.255.255.0" ) ||
  12. isInNet(host,"127.0.0.1","255.255.255.255" )) || //si l'adresse correspond au loopback
  13. shExpMatch(url,"exeption1.fr","*exeption2.com" ) // si l'adresse correspond à un besoin interne
  14. return "DIRECT"; //alors connexion direct
  15. else
  16. return "PROXY 10.42.10.100:8080;DIRECT"; //sinon connexion via le proxy
  17. }


 
Sachant que par rapport à ce script d'exemple (honteusement pompé) :
- le "10.42.10.100:8080" correspond à l'adresse:port de ton proxy
- ton réseau interne peut avoir des adresses commençant par 192. ou par 10. -> on ne passe pas par le proxy, connexion directe
- exeption1.fr et exeption2.com sont des adresses internes si tu as ton propre DNS -> on ne passe pas par le proxy, connexion directe
- mon-domaine.prv est un hôte interne si tu as ton propre DNS -> on ne passe pas par le proxy, connexion directe


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 12:46:36    

Je comprends globalement le fonctionnement, mais j'ai du mal à comprendre avec précision les lignes 5 à 15.
 
Le proxy me sert uniquement pour du domicile, donc niveau utilisation c'est simplement :  
 
- lan = pas de proxy
- wan = proxy
 
De plus, le proxya besoin d'une authentification, où devrais-je placer les ID:PASS ?


Message édité par raphpitt le 08-01-2017 à 12:47:21
Reply

Marsh Posté le 08-01-2017 à 13:22:12    

Pour les lignes 5 à 15, on fait des tests pour connaître l'adresse qui est tapée dans le navigateur, et en fonction de la réponse :
- si un "oui" dans l'un des tests c'est du direct (5 à 15)
- si un "non" pour l'ensemble des test ça passe par le proxy, si le proxy n'est pas disponible à ce moment, alors ça sera direct (19)
 
Pour l'authentification, tout dépend comment tu l'as monté, si tu as utilisé cette méthode ou une similaire avec une pré-authentification, cela passe par une popup.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 13:31:00    

Honnêtement, ce n'est pas moi qui ait fait ce proxy. Il appartient à une société VPN (https://fra.privateinternetaccess.com/pages/client-support/#sockswarning).

Reply

Marsh Posté le 08-01-2017 à 13:45:13    

Aaah mais ce n'est pas un proxy là, c'est un VPN :o
Lis comment cela fonctionne, tu passes par un logiciel qui t'es fourni par eux et que tu installes sur ton PC qui fait le lien entre Firefox/Chrome/InternetExplorer/Edge/Opera/ce que tu veux et internet.


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 14:19:52    

Non, non, rien à voir, je sais faire la différence entre un VPN et un proxy.
 
Je te disais que c'est la société VPN qui donne, en supplément, un accès à son serveur proxy.
 
Je t'ai envoyé leur lien pour que tu es l'adresse IP:PORT du proxy en question.

Reply

Marsh Posté le 08-01-2017 à 15:12:58    

Bah tu testes avec proxy-nl.privateinternetaccess.com:1080  [:spamatounet]


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 16:16:41    

C'est ce que je fais depuis hier  :lol:  
 

Code :
  1. function FindProxyForURL(url,host){
  2.       return "SOCKS ID:PASS@proxy-nl.privateinternetaccess.com:1080;";
  3.     }


Code :
  1. function FindProxyForURL(url,host){
  2.       return "SOCKS proxy-nl.privateinternetaccess.com:1080;";
  3.     }


 
Aucuns d'eux ne passent.


Message édité par raphpitt le 08-01-2017 à 16:17:23
Reply

Marsh Posté le 08-01-2017 à 22:30:18    

Ta box délivre du 192.168.0.x en adresse ? Ta box a en adresse 192.168.0.1 ?
Copie-colle et teste :

Code :
  1. function FindProxyForURL(url, host)
  2. {
  3. if (isPlainHostName(host) ||
  4. isInNet(host,"192.168.0.0","255.255.255.0" ) ||
  5. isInNet(host,"127.0.0.1","255.255.255.255" ))
  6. return "DIRECT";
  7. Else
  8. return "SOCKS proxy-nl.privateinternetaccess.com:1080; DIRECT";
  9. }


Message édité par bardiel le 08-01-2017 à 22:31:10

---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 22:30:18   

Reply

Marsh Posté le 08-01-2017 à 23:09:40    

Ma box délivre des adresses IP en 192.168.1.x , et elle est placé sur l'IP 192.168.1.254.
 
Rien ne se passe avec ton dernier code, l'IP noté n'est pas utilisé.

Reply

Marsh Posté le 08-01-2017 à 23:23:23    

T'as essayé avec la configuration manuelle dans Firefox ? (ou ton navigateur)


---------------
Grippe ? Coronavirus ? Portez votre masque correctement ! :D
Reply

Marsh Posté le 08-01-2017 à 23:29:47    

Oui, j'ai essayé et Firefox ne me délivre pas de popup pour les ID:PASS, la page tombe donc en timeout.

Reply

Marsh Posté le 24-01-2017 à 12:21:05    

Le sujet est résolu.
 
Le plugin Foxyproxy intègre, depuis hier, la prise en charge du proxy Socks5 avec authentification.
 
Merci @bardiel !

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed