Answers:
具有JavaScript支持的浏览器通常支持PAC文件。通常没有其他任何东西,特别是我不知道有任何现成的代理软件可以做到。有很多代理支持一种基于目标URL进行不同执行的方法,但是,仅通过JavaScript程序即可。请参阅许多代理的透明本地代理
PAC文件是JavaScript程序,因此对PAC文件的支持需要JavaScript解释器。虽然有一些用JavaScript编写的代理,但我找不到支持PAC文件的代理。Python库pacparser实现了PAC支持(在Mozilla的JavaScript引擎之上),并且有许多用Python编写的代理,但是令人惊讶的是,似乎没有任何实际的代理程序使用pacparser。
嗯...最后我用其他规则代替了pac并尝试了Privoxy,它起作用了。这就是我所做的。
127.0.0.1:1234
。我和您一直在同一条船上,试图弄清楚如何解析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条目并每小时更新一次表格,您就可以开始了。由于proxychain和firefox不能很好地配合使用,因此我使用proxynovacom中的pac作为我的自动配置文件,它可以正常运行。