Esiste uno strumento per impostare il proxy con il file pac?


8

Ho imparato che programmi diversi elaborano i file pac in modi diversi e forse la maggior parte di essi non supporta nemmeno i file pac. Quindi voglio sapere se esiste uno strumento che imposta un proxy dice 127.0.0.1:1234. E quando imposto il proxy di alcuni programmi su 127.0.0.1:1234, questo strumento usa un file pac per decidere se reindirizzare al proxy o connettersi direttamente. Esistono strumenti che soddisfano la funzionalità di cui sopra?

Risposte:


3

I browser con supporto JavaScript di solito supportano i file PAC. Nient'altro di solito non lo fa, in particolare non sono a conoscenza di alcun software proxy standard. Esistono molti proxy che supportano un modo di eseguire diversamente in base all'URL di destinazione, tuttavia, non solo attraverso un programma JavaScript. Vedi Proxy locale trasparente per molti proxy

Un file PAC è un programma JavaScript, quindi il supporto per i file PAC richiede un interprete JavaScript. Mentre ci sono proxy scritti in JavaScript, non riesco a trovarne uno che supporti i file PAC. La libreria Python pacparser implementa il supporto PAC (in cima al motore JavaScript di Mozilla), e ci sono molti proxy scritti in Python , ma sorprendentemente non sembra esserci alcun programma proxy che usi pacparser.


2

Eh ... finalmente uso altre regole invece di pac e ho provato Privoxy e funziona. Ecco cosa ho fatto.

  1. Installa Privoxy e ascolta 127.0.0.1:1234.
  2. Ottieni gfwlist.txt e convertilo in un file di azioni Privoxy.
  3. Nel file delle azioni alcuni URL verranno inviati tramite proxy e altri si collegheranno direttamente.

1

Sono stato nella tua stessa barca, cercando di capire come analizzare i file pac e simili per ottenere l'IP e la porta dei proxy validi con cui popolare proxychains.conf.

Finora il metodo più semplice e veloce che ho trovato è scrivere una sceneggiatura che utilizza lynx, grep, awk e sed. Non è il codice più carino ma funziona e aggiorna la mia tabella proxy in un minuto o meno. modifica Se qualcuno potesse mostrarmi come semplificare questo script, sarebbe fantastico.

#!/bin/bash
proxylst=proxy.lst
proxynew=proxy.new
lstdir=~/Documents/.proxyupdate
echo "fetching proxy list"
lynx --dump https://someproxysite/proxy-server-list/port-8080/ | awk 'NR%2==0'| grep -e "8080" | awk {'print $1 " " $2'} | awk -F "[" '{print $1" "substr($2,4)}' > $lstdir/$proxylst
lynx --dump https://someproxysite/proxy-server-list/port-8080/ | awk 'NR%2==0'| grep -e "8080" | awk {'print $1 " " $2'} | awk -F "[" '{print $1" "substr($2,4)}' >> $lstdir/$proxylst
lynx --dump https://someproxysite/proxy-server-list/port-8080/ | awk 'NR%2==0'| grep -e "8080" | awk {'print $1 " " $2'} | awk -F "[" '{print $1" "substr($2,4)}' >> $lstdir/$proxylst
echo "scan complete. updating /etc/proxychains.conf.."
sed 's/^/http /' $lstdir/$proxylst > $lstdir/$proxynew
grep -v 'http *.*.*.* 8080' /etc/proxychains.conf > $lstdir/proxyconf.new && cat $lstdir/$proxynew >> $lstdir/proxyconf.new
cp $lstdir/proxyconf.new /etc/proxychains.conf
echo
rm -rf $lstdir/proxyconf.new  $lstdir/$proxylst $lstdir/$proxynew
echo "update complete."'

imposta questo come una voce cron e aggiorna le tue tabelle ogni ora e sarai a posto. Dato che proxychains e firefox non funzionano davvero bene insieme, uso pac da proxynovacom come file di autoconfigurazione e funziona senza problemi.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.