¿Hay alguna herramienta para configurar el proxy con el archivo pac?

8

He aprendido que diferentes programas procesan archivos pac de diferentes maneras, y tal vez la mayoría de ellos incluso no admiten archivos pac. Entonces, quiero saber si hay una herramienta que configura un proxy que dice 127.0.0.1:1234. Y cuando configuro el proxy de algún programa en 127.0.0.1:1234, esta herramienta usa un archivo pac para decidir si redirige al proxy o se conecta directamente. ¿Hay alguna herramienta que satisfaga la función anterior?

Perqin
fuente

Respuestas:

3

Los navegadores con soporte de JavaScript generalmente admiten archivos PAC. Cualquier otra cosa generalmente no lo hace, en particular, no conozco ningún software proxy estándar que sí lo haga. Sin embargo, hay muchos proxies que admiten una forma de funcionar de manera diferente en función de la URL de destino, pero no a través de un programa JavaScript. Ver proxy local transparente para muchos proxies

Un archivo PAC es un programa de JavaScript, por lo que la compatibilidad con archivos PAC requiere un intérprete de JavaScript. Si bien hay proxies escritos en JavaScript, no puedo encontrar uno que admita archivos PAC. El pacparser de la biblioteca Python implementa el soporte PAC (además del motor JavaScript de Mozilla), y hay muchos proxies escritos en Python , pero sorprendentemente no parece haber ningún programa proxy real que use pacparser.

Gilles 'SO- deja de ser malvado'
fuente
2

Eh ... finalmente uso otras reglas en lugar de pac e intenté Privoxy y funciona. Esto es lo que he hecho.

  1. Instale Privoxy y escuche 127.0.0.1:1234.
  2. Obtener gfwlist.txt y convertirlo en archivo de acciones Privoxy.
  3. En el archivo de acciones, algunas URL se enviarán usando proxy y otras se conectarán directamente.
Perqin
fuente
1

He estado en el mismo barco que tú, tratando de descubrir cómo analizar archivos pac y similares para obtener la IP y el puerto de proxies válidos para poblar proxychains.conf.

Hasta ahora, el método más fácil y rápido que he encontrado es escribir un script que use lynx, grep, awk y sed. No es el código más bonito, pero funciona y actualiza mi tabla de proxy en un minuto o menos. editar Si alguien pudiera mostrarme cómo optimizar este script, sería genial.

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

configure esto como una entrada cron y actualice sus tablas cada hora y estará listo para comenzar. Como proxychains y firefox realmente no funcionan bien juntos, uso el pac de proxynovacom como mi archivo de configuración automática y funciona sin problemas.

Aaron Nelson
fuente