网通请使用:写了一个自动寻找最快访问Ubuntu论坛的代理程序

包含网卡/无线网的网络问题和ADSL/校园网/宽带拨号支持及代理/共享等网络使用问题
头像
oneleaf
论坛管理员
帖子: 10218
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 102 次

网通请使用:写了一个自动寻找最快访问Ubuntu论坛的代理程序

#1

帖子 oneleaf » 2008-02-29 21:54

代码: 全选

#!/usr/bin/python
# -*- coding: utf-8 -*-
# From: ubuntu.org.cn Copyright: GPLv2
import urllib
import re
from datetime import datetime
import socket

def findporxy():
    f = urllib.urlopen("http://httproxy.net.ru/index.php?coun=China&type=&port=")
    html = f.read()
    p = re.compile('<td>(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\:\d{1,4})</td>')
    ips=set(p.findall(html))
    socket.setdefaulttimeout(5)
    a={}
    for ip in ips:
        start=datetime.now()
        flag = checkproxy(ip)
        end=datetime.now()
        if flag:
            print ip,'花费',end-start,'时间';
            a[end-start]=ip
    b=sorted(a)
    print '最佳是 :',a[b[0]]
    print '其次是 :',a[b[1]]
    print '再次是 :',a[b[2]]

def checkproxy(ip):
        try:
            proxies = {'http': 'http://'+ip}
            filehandle = urllib.urlopen("http://forum.ubuntu.org.cn/download.php?id=1344", proxies=proxies)
            html=filehandle.read()
            if len(html)==316187:
                return True
            else:
                return False
        except:
            return False

if __name__ == '__main__':
    findporxy()


复制以上代码,保存为 find.py ,运行 python find.py 得到最佳代理服务器地址(都是国内地址)。
欢迎网通的朋友测试一下。
小技巧:不一定要选择最快的,其次和再次都不错的。

底下网友介绍 123.190.193.8 : 3128 不错 ,建议firefox安装 foxyproxy 插件,然后设置Ubuntu.org.cn通过代理访问。
上次由 oneleaf 在 2008-03-10 13:34,总共编辑 4 次。
头像
millenniumdark
论坛版主
帖子: 4160
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
送出感谢: 43 次
接收感谢: 9 次
联系:

#2

帖子 millenniumdark » 2008-02-29 23:00

代理的速度似乎不是很稳定。连续运行两次,三个结果里只有一个是相同的。
头像
oneleaf
论坛管理员
帖子: 10218
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04
送出感谢: 7 次
接收感谢: 102 次

#3

帖子 oneleaf » 2008-02-29 23:03

millenniumdark 写了:代理的速度似乎不是很稳定。连续运行两次,三个结果里只有一个是相同的。

好了,修改为使用300K的文件来测速。
头像
雄鸡起舞
帖子: 241
注册时间: 2007-07-24 22:23
送出感谢: 0
接收感谢: 0
联系:

#4

帖子 雄鸡起舞 » 2008-03-01 19:02

似乎用不用代理速度一样快 :oops:
Linux 2.6.25-ARCH #1 SMP PREEMPT Mon Jul 14 15:25:51 UTC 2008 i686 GenuineIntel GNU/Linux
头像
skyx
论坛版主
帖子: 9203
注册时间: 2006-12-23 13:46
来自: Azores Islands
送出感谢: 0
接收感谢: 1 次
联系:

#5

帖子 skyx » 2008-03-01 19:09

:shock:
no security measure is worth anything if an attacker has physical access to the machine
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15
送出感谢: 0
接收感谢: 0

#6

帖子 iblicf » 2008-03-01 19:49

受启发,写个 shell 的,,先能凑和用,再琢磨改善
国内代理最烂,时好,时坏,时没 ... 而且不能出国,我测试的结果,澳洲的最好,其次美国,马来西亚 ,..

代码: 全选

1 124.133.37.248 8080 transparent China 2008-02-29
2 80.190.246.141 3128 transparent Germany 2008-03-01
3 218.65.49.3 3128 transparent China 2008-02-29
4 201.25.119.178 3128 transparent Brazil 2008-02-29
5 195.248.240.210 3128 transparent Great Britain (UK) 2008-02-29
6 200.157.48.198 3128 transparent Brazil 2008-02-29
7 189.10.107.3 3128 transparent Brazil 2008-02-29
8 200.162.6.197 3128 transparent Brazil 2008-03-01
9 61.17.179.15 8080 transparent India 2008-02-29
10 201.76.181.2 3128 transparent Brazil 2008-02-29
11 201.75.202.23 80 transparent Brazil 2008-02-29
12 201.38.143.202 6588 high anonymity Brazil 2008-03-01
13 200.219.152.6 8080 transparent Brazil 2008-02-29
14 203.176.104.35 3128 transparent Australia 2008-02-29
15 69.217.73.52 8080 anonymous United States 2008-02-29
16 80.191.131.2 3128 transparent Iran 2008-02-29
17 143.233.227.71 3128 transparent Greece 2008-02-29
18 193.17.85.151 3128 transparent Switzerland 2008-02-29
19 82.208.193.11 3128 transparent Czechoslovakia 2008-02-29
20 61.133.87.226 8080 anonymous China 2008-03-01
21 220.225.196.132 80 transparent India 2008-02-29
22 85.185.11.131 3128 transparent Iran 2008-02-29
23 12.149.212.1 80 anonymous United States 2008-03-01
24 200.21.234.51 3128 transparent Colombia 2008-03-01
25 66.83.102.82 8080 high anonymity United States 2008-03-01
26 201.66.244.154 3128 transparent Brazil 2008-02-29
27 60.52.193.122 3128 transparent Malaysia 2008-02-29
28 63.149.98.2 80 high anonymity United States 2008-02-29
29 200.174.85.195 3128 transparent Brazil 2008-02-29
30 196.217.249.190 8080 anonymous Morocco 2008-02-29
31 218.64.214.110 3128 transparent China 2008-02-29
32 200.207.9.168 3128 transparent Brazil 2008-02-29
33 218.66.104.161 80 transparent China 2008-02-29
34 201.18.38.242 3128 transparent Brazil 2008-02-29
35 203.113.115.20 8080 transparent Thailand 2008-02-29
36 165.98.60.109 80 anonymous Nicaragua 2008-02-29
37 201.55.193.161 3128 transparent Brazil 2008-02-29
38 58.221.254.156 3128 high anonymity China 2008-02-29
39 203.149.32.4 3128 transparent Thailand 2008-02-29
40 212.92.23.102 3128 transparent Hungary 2008-02-29
41 195.229.236.106 80 anonymous United Arab Emirates 2008-02-29
42 203.160.1.54 80 transparent Vietnam 2008-02-29
43 61.130.11.115 80 high anonymity China 2008-02-29
44 125.16.15.72 8080 transparent India 2008-02-29
45 200.65.127.161 3128 transparent Mexico 2008-02-29
46 217.172.56.49 3128 transparent Germany 2008-02-29
47 217.91.52.155 80 high anonymity Germany 2008-02-29
48 217.41.27.254 3128 transparent Great Britain (UK) 2008-02-29
49 220.225.196.123 80 transparent India 2008-02-29
50 203.158.167.148 8080 transparent Thailand 2008-03-01


代码: 全选

#!/bin/bash

url='http://forum.ubuntu.org.cn/index.php'
free='http://www.romanfr.com/proxy/index.php'

if [ -n "$1" ];then url=$1; fi

type curl &>/dev/null ||( echo -e "\n\033[37;41;1mwe need curl,\033[0m\nplease \"\
                                   sudo ap-get install curl\" first ^^\n"; exit 1)

curl $free >/tmp/free.html #&>/dev/null
grep "<\/td>" /tmp/free.html |grep -v "href\|script\|br" > /tmp/list
sed -ie 's/<td>\|<\/td>\|<td.>//g;s/^[ \t]*//;/^$/d' /tmp/list
cat /tmp/list|awk '{if (NR%6==0){print $0} else {printf"%s ",$0}}' >/tmp/list
sed -ie '/United\|China\|Austra\|Malay/!d' /tmp/list


MAX=`cat /tmp/list|wc -l`
echo -e "\n\033[33mwe get $MAX proxys...\033[0m\n"
if [ $MAX = 0 ]; then exit;fi

for ((i=0; i<$MAX; ++i)); do
   #export http_proxy=$PROXY:$PORT
   PROXY=`awk 'NR=='$i+1'{print $2}' /tmp/list`
   PORT=`awk 'NR=='$i+1'{print $3}' /tmp/list`
   STATE=`awk 'NR=='$i+1'{print $5}' /tmp/list`
   echo -e "\n$i# $PROXY:$PORT:  $STATE"
   curl --connect-timeout 10 -m 30  -x $PROXY:$PORT $url >/dev/null
done
sandylaw
帖子: 123
注册时间: 2007-01-09 9:17
送出感谢: 0
接收感谢: 0
联系:

#7

帖子 sandylaw » 2008-03-02 14:15

貌似这个论坛是电信的,我在河北,用网通访问太慢了。
为什么不开个双路的呢?
wwl81er
帖子: 60
注册时间: 2006-04-13 22:11
送出感谢: 0
接收感谢: 0

#8

帖子 wwl81er » 2008-03-02 14:33

很实用的一个小程序,学习了。 :D
头像
millenniumdark
论坛版主
帖子: 4160
注册时间: 2005-07-02 14:41
系统: Ubuntu 14.04 (Kylin)
送出感谢: 43 次
接收感谢: 9 次
联系:

#9

帖子 millenniumdark » 2008-03-02 19:02

sandylaw 写了:貌似这个论坛是电信的,我在河北,用网通访问太慢了。
为什么不开个双路的呢?


因为不少网通访问也正常,双路价格比较高,不合算。
头像
iblicf
帖子: 3766
注册时间: 2007-01-15 17:15
送出感谢: 0
接收感谢: 0

#10

帖子 iblicf » 2008-03-02 20:44

嘿,这个好使,木樨代理 ,

下载 : http://hi.baidu.com/jrobot/blog/item/69 ... 1097b.html
自己试试哪个代理资源网站好用,感觉下边这两个比较好
http://proxy.cemsg.com/
http://www.romanfr.com/proxy/index.php

搜完了按延时排个序,
我现在用,123.190.193.8:3128 这个快如刀锋阿,感觉象夜里2,3点^^ , 可惜不出国

图片
头像
vigor
帖子: 76
注册时间: 2008-01-22 9:24
来自: 湖北,人在杭州
送出感谢: 0
接收感谢: 0

#11

帖子 vigor » 2008-03-04 8:28

在KUBUNTU的系统设置里的网络设置那里有一个选项就是提供配置代理的,很好。
辛苦不辛苦只有自己最清楚,其实我挺累。
头像
夜泊枫桥
帖子: 333
注册时间: 2007-04-03 22:18
送出感谢: 0
接收感谢: 0

#12

帖子 夜泊枫桥 » 2008-03-06 10:07

:shock: 怎么用 菜鸟 不会脑
头像
dogfox
论坛版主
帖子: 5309
注册时间: 2006-09-02 14:18
来自: 汉桑城
送出感谢: 1 次
接收感谢: 1 次
联系:

#13

帖子 dogfox » 2008-03-06 11:28

我这里速度还可以(河南网通-南阳)
在网吧速度就不行了
也不知道为什么
全世界linux爱好者联合起来 !
一切闭源操作系统都是纸老虎 !
要斗私批修,拒绝黑屏,使用linux !
让一部分人先用起Archlinux来 !
linux是第一生产力 !
讲正气,讲开源,讲free
要坚定不移的走开源的道路 !
linux明天会更好 !

dpkg -l |grep ^rc|awk '{print $2}' |tr ["\n"] [" "]|sudo xargs dpkg -P -
ubuntu粉丝群 26660836 已满员
头像
qiang_liu8183
论坛版主
帖子: 10672
注册时间: 2006-09-10 22:36
来自: 北京
送出感谢: 1 次
接收感谢: 6 次

#14

帖子 qiang_liu8183 » 2008-03-06 16:47

虽然不需要但还是谢谢一叶 :em42
看破、放下、自在、随缘、念佛
真诚、清净、平等、正觉、慈悲
PhoenixJ
帖子: 1488
注册时间: 2007-08-09 3:33
系统: Windows 12.04
送出感谢: 2 次
接收感谢: 1 次

#15

帖子 PhoenixJ » 2008-03-07 22:47

iblicf 写了:受启发,写个 shell 的,,先能凑和用,再琢磨改善
国内代理最烂,时好,时坏,时没 ... 而且不能出国,我测试的结果,澳洲的最好,其次美国,马来西亚 ,..



国内代理设置来是给局部合法用户带来方便的,而不是为了方便非法用户盗用的。
回复

回到 “网卡问题以及网络和拨号”