前文介绍过一个在海外如何翻墙回国内的代理配置方法。然后又写了一个自动抓取免费代理服务器地址的脚本。
这个脚本是有测速的,但是之前用的是ping测速,这就有两个问题
- ping 不稳定,毕竟不是TCP连接,所以这个延时不准确
- ping的是从自己的电脑到代理直接的延时,而非到目的地址的延时。
不过当时懒,就这么用了。
最近感觉这个功能不好用还不如没有,于是用curl代替ping重新测了一下速度。更新的脚本如下:
前文介绍过一个在海外如何翻墙回国内的代理配置方法。然后又写了一个自动抓取免费代理服务器地址的脚本。
这个脚本是有测速的,但是之前用的是ping测速,这就有两个问题
不过当时懒,就这么用了。
最近感觉这个功能不好用还不如没有,于是用curl代替ping重新测了一下速度。更新的脚本如下:
前面写了一个用代理翻回国内的指南,需要从proxy-list.org这里找免费代理IP。
这里拿到的IP不稳定,所以总要去重新查询,回来更新pac文件。于是写了个脚本:
然后在服务器跑了个定时任务,每小时更新一次。
#!/bin/sh
date
echo -n > ip.txt
echo -n > ip_sort.txt
for i in $(seq 1 3)
do
echo "reading page "$i"..."
url='http://proxy-list.org/english/search.php?search=CN&country=CN&p='$i
for ip64 in $(curl --silent $url | grep -P "Proxy\('.*'\)" | cut -d"'" -f2)
do
ip_port=$(echo $ip64|base64 -d )
ip=$(echo $ip_port|cut -d":" -f1)
time=$(ping -c1 $ip|grep from|cut -d" " -f7|cut -d"=" -f2)
echo $ip_port":"$time >> ip.txt
done
done
echo "sorting..."
cat ip.txt|sort -t: -k3 -nu|grep -v -P :$ > ip_sort.txt
ip=$(head -n1 ip_sort.txt|cut -d":" -f1,2)
sed -i-e 's/\([0-9]\{1,3\}\.\)\{3\}[0-9]\{1,3\}:[0-9]\{1,\}/'$ip'/g' SwitchyPac.pac
echo "========"
===============
更新了一版,时隔半年,修正了那个错误的测速……看这里