Gibt es ein Tool zum Einrichten eines Proxys mit einer Pac-Datei?

8

Ich habe gelernt, dass verschiedene Programme Pac-Dateien auf unterschiedliche Weise verarbeiten, und vielleicht unterstützen die meisten von ihnen Pac-Dateien sogar nicht. Ich möchte also wissen, ob es ein Tool gibt, das einen Proxy einrichtet, nämlich 127.0.0.1:1234. Wenn ich den Proxy eines Programms auf 127.0.0.1:1234 setze, verwendet dieses Tool eine pac-Datei, um zu entscheiden, ob zum Proxy umgeleitet oder eine direkte Verbindung hergestellt werden soll. Gibt es Tools, die die oben genannten Funktionen erfüllen?

Perqin
quelle

Antworten:

3

Browser mit JavaScript-Unterstützung unterstützen normalerweise PAC-Dateien. Alles andere ist normalerweise nicht der Fall, insbesondere ist mir keine Standard-Proxy-Software bekannt, die dies tut. Es gibt viele Proxys, die eine Möglichkeit unterstützen, basierend auf der Ziel-URL eine andere Leistung zu erbringen, jedoch nicht über ein JavaScript-Programm. Siehe Transparenter lokaler Proxy für viele Proxys

Eine PAC-Datei ist ein JavaScript-Programm. Für die Unterstützung von PAC-Dateien ist daher ein JavaScript-Interpreter erforderlich. Obwohl in JavaScript Proxys geschrieben sind, kann ich keinen finden, der PAC-Dateien unterstützt. Der Pacparser der Python-Bibliothek implementiert die PAC-Unterstützung (zusätzlich zu Mozillas JavaScript-Engine), und es sind viele Proxys in Python geschrieben , aber erstaunlicherweise scheint es kein tatsächliches Proxy-Programm zu geben, das Pacparser verwendet.

Gilles 'SO - hör auf böse zu sein'
quelle
2

Eh ... endlich benutze ich andere Regeln anstelle von pac und habe Privoxy ausprobiert und es funktioniert. Folgendes habe ich getan.

  1. Installieren Sie Privoxy und hören Sie zu 127.0.0.1:1234.
  2. Holen Sie sich gfwlist.txt und konvertieren Sie es in eine Privoxy- Aktionsdatei .
  3. In der Aktionsdatei werden einige URLs über einen Proxy gesendet und andere stellen eine direkte Verbindung her.
Perqin
quelle
1

Ich war im selben Boot wie Sie und habe versucht herauszufinden, wie Pac-Dateien und dergleichen analysiert werden, um die IP und den Port gültiger Proxys zum Auffüllen von proxychains.conf zu erhalten.

Bisher ist die einfachste und schnellste Methode, die ich gefunden habe, das Schreiben eines Skripts, das lynx, grep, awk und sed verwendet. Es ist nicht der schönste Code, aber er funktioniert und aktualisiert meine Proxy-Tabelle in einer Minute oder weniger. edit Wenn mir jemand zeigen könnte, wie man dieses Skript rationalisiert, wäre das großartig.

#!/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."'

Richten Sie dies als Cron-Eintrag ein und aktualisieren Sie Ihre Tabellen stündlich, und Sie können loslegen. Da Proxy-Ketten und Firefox nicht wirklich gut zusammenspielen, verwende ich den Pac von Proxynovacom als Autokonfigurationsdatei und er funktioniert reibungslos.

Aaron Nelson
quelle