分类

混一次更新(用curl进行测速)

前文介绍过一个在海外如何翻墙回国内的代理配置方法。然后又写了一个自动抓取免费代理服务器地址的脚本

这个脚本是有测速的,但是之前用的是ping测速,这就有两个问题

  1. ping 不稳定,毕竟不是TCP连接,所以这个延时不准确
  2. ping的是从自己的电脑到代理直接的延时,而非到目的地址的延时。

不过当时懒,就这么用了。

最近感觉这个功能不好用还不如没有,于是用curl代替ping重新测了一下速度。更新的脚本如下:

分类

自动获取国内代理IP

前面写了一个用代理翻回国内的指南,需要从proxy-list.org这里找免费代理IP。
这里拿到的IP不稳定,所以总要去重新查询,回来更新pac文件。于是写了个脚本:

  • 查询免费
  • ping测
  • 找出来最快的更新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 "========"

===============
更新了一版,时隔半年,修正了那个错误的测速……看这里

分类

js虾米刷点赞成就

今天发现虾米有一个点赞成就,达到成就后可以开通VIP

虽然我几乎用不到VIP,但是这个给好友状态点赞的感觉还挺好拿的,但是三星成就就需要100个赞……嗯,用js刷一下好了

先打开好友状态页面,往下滚动尽可能加载出来更多的状态,然后在chrome控制台执行下面js代码:

i=1;
setInterval("i++;$('.comment_like')[0].children[0].click();$('.item_wrap')[i].click();alert(i)",5000)
print('test')

嗯,由于需要等待ajax,所以每个赞需设置为等待5s。去干点别的等等好了╮(╯▽╰)╭

分类

日志统计脚本

今天同学说让我写个脚本统计日志。日志是一些ip的捕捉记录,根据协议的类型定义了一些ID和子ID。统计的需求是统计出各个类型的客户IP和服务IP。

这些日志是自动写入的,每天会根据日期生成一个文件夹,文件夹中每个小时生成一个日志文档。脚本要做的就是便利24个文档,读取内容进行分析。

由于需要把24个文档在一起分析,所以同学一开始的思路是:

对每一个类型进行统计,每次统计都遍历所有文件

明显效率不怎么样,但是实际上也够用了因为只要在服务器上让脚本跑起来,过几分钟回去看结果就行了