Есть ли какой-нибудь инструмент для настройки прокси с pac файлом?

8

Я узнал, что разные программы обрабатывают файлы pac по-разному, и, возможно, большинство из них даже не поддерживают файлы pac. Поэтому я хочу знать, есть ли инструмент, который устанавливает прокси, говорит 127.0.0.1:1234. И когда я устанавливаю прокси какой-либо программы на 127.0.0.1:1234, этот инструмент использует файл pac, чтобы решить, следует ли перенаправить на прокси или подключиться напрямую. Существуют ли инструменты, которые удовлетворяют вышеуказанной функции?

Perqin
источник

Ответы:

3

Браузеры с поддержкой JavaScript обычно поддерживают файлы PAC. Чего-то еще обычно нет, в частности, я не знаю ни о каком готовом прокси-программном обеспечении, которое делает. Есть много прокси, которые поддерживают способ работать по-разному в зависимости от целевого URL, но только не через программу JavaScript. См Прозрачный локальный прокси для многих прокси

Файл PAC представляет собой программу JavaScript, поэтому для поддержки файлов PAC требуется интерпретатор JavaScript. Хотя есть прокси, написанные на JavaScript, я не могу найти тот, который поддерживает файлы PAC. Библиотека Python pacparser реализует поддержку PAC (поверх движка JavaScript Mozilla), и есть много прокси, написанных на Python , но удивительно, что не существует какой-либо реальной прокси-программы, которая использует pacparser.

Жиль "ТАК - перестань быть злым"
источник
2

Эх ... наконец я использую другие правила вместо pac и попробовал Privoxy, и это работает. Вот что я сделал.

  1. Установите Privoxy и слушайте 127.0.0.1:1234.
  2. Получите gfwlist.txt и преобразуйте его в файл действий Privoxy.
  3. В файле действий некоторые URL будут отправлены через прокси, а другие подключатся напрямую.
Perqin
источник
1

Я был в той же лодке, что и вы, пытаясь выяснить, как анализировать pac-файлы и тому подобное, чтобы получить IP-адрес и порт действительных прокси-серверов для заполнения proxychains.conf.

Пока что самый простой и быстрый способ, который я нашел, - это написание скрипта, использующего lynx, grep, awk и sed. Это не самый красивый код, но он работает и обновляет мою таблицу прокси за минуту или меньше. править Если кто -то может быть может показать мне , как оптимизировать этот сценарий, который был бы удивительным.

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

установите это как запись cron и обновляйте свои таблицы ежечасно, и все будет в порядке. Так как proxychains и firefox не очень хорошо играют вместе, я использую pac из proxynovacom в качестве файла автоконфигурации, и он работает гладко.

Аарон Нельсон
источник