吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24462|回复: 305
收起左侧

[原创工具] 熊本熊DNS修改器

    [复制链接]
trustguan 发表于 2017-1-3 20:49
本帖最后由 trustguan 于 2017-1-3 21:27 编辑

       其实跟熊本熊没多大关系,只是借用图标而已~~~
       DNS资源来自于CloudXNS,官网也有相应的修改软件,但是没有定时修改功能,所以我用python写了个脚本获取dns并每隔一个小时就修改一次。              补充一下:运行后不是马上就能修改dns,因为一次获取了十个dns,要通过ping来比较哪个延时最少,最后选出两个最好的dns。比较需要时间,大概运行40s后就会修改dns.
       开源一下,就七十多行代码:

[Python] 纯文本查看 复制代码
# -*- coding: utf-8 -*-
#author:trust
import wmi
import json
import urllib2
import os
import string
import time
import sys

def http_get():
   try:
      url = 'http://tools.cloudxns.net/Api/getLdns'
      response = urllib2.urlopen(url)
      return response.read()
   except urllib2.URLError, e:
      pass

def readJson():
    dnsAdd=[]
    s=json.loads( http_get())
    status=s['status'];
    if status!='success':
        return  dnsAdd
    m_list=s['data']
    m_dict=m_list[0]
    m_list_info=m_dict['info']
    for m_dirt_vip in m_list_info:
        dnsAdd.append(m_dirt_vip['vip'])
    return dnsAdd

def ChooseDNS():
    DNSDIR={}
    DNSADDR=readJson()
    for dns_child in DNSADDR:
        tempStr='ping %s'%(dns_child,)
        p = os.popen(tempStr)
        strs = p.read()
        index1 = strs.rfind('ms')
        if index1==-1:
            continue
        index2 = strs.rfind('=')
        item = strs[index2 + 1:index1]
        item = item.strip()
        time = string.atoi(item)
        DNSDIR[dns_child]=time
    DNSDIR = sorted(DNSDIR.items(), key=lambda d: d[1])
    return [DNSDIR[0][0],DNSDIR[1][0]]

def ModifyDNS():
    wmiService = wmi.WMI()
    colNicConfigs = wmiService.Win32_NetworkAdapterConfiguration(IPEnabled=True)
    if len(colNicConfigs) < 1:
        exit()
    arrDNSServers = ChooseDNS()
    for objNicConfig in colNicConfigs:
        intReboot = 0
        returnValue = objNicConfig.SetDNSServerSearchOrder(DNSServerSearchOrder=arrDNSServers)
        if returnValue[0] == 0 or returnValue[0] == 1:
            intReboot += returnValue[0]
        else:
            returnValue = objNicConfig.SetDNSServerSearchOrder()
            # exit()
        if intReboot > 0:
            print 'need reboot'

if __name__ == "__main__":
    if sys.executable.endswith("pythonw.exe"):
        sys.stdout = open(os.devnull, "w");
        sys.stderr = open(os.path.join(os.getenv("TEMP"), "stderr-" + os.path.basename(sys.argv[0])), "w")

    while 1:
        ModifyDNS()
        time.sleep(3600)
    sys.exit()




      上面的代码只能用于装有python环境的电脑用,为了照顾大部分编程小白,所以准备了exe版本的程序,只要双击就能打开了,打开后没有界面的,可以在任务管理器里面看到“熊本熊DNS修改器.exe”进程。
      如果想做成开机启动,可以右键“熊本熊DNS修改器.exe”,新建快捷方式,把快捷方式复制粘贴到C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Startup里面。
      下载地址:
        链接:http://pan.baidu.com/s/1cmXvFw 密码:ga7t


免费评分

参与人数 30吾爱币 +31 热心值 +28 收起 理由
commitl + 1 + 1 谢谢@Thanks!
chinawb7543 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
无聊哦 + 1 + 1 谢谢@Thanks!
dornenkrone + 1 + 1 用心讨论,共获提升!
digitalboy163 + 1 我很赞同!
PlayTheFut + 1 谢谢@Thanks!
新生000007 + 1 + 1 热心回复!
清风天下 + 1 + 1 我很赞同!
202435 + 1 + 1 用心讨论,共获提升!
Baimax + 1 + 1 谢谢@Thanks!
xiangliann2 + 1 + 1 已答复!
快意恩仇 + 1 + 1 谢谢@Thanks!
angelsfeather + 1 + 1 我很赞同!
553261072 + 1 + 1 用心讨论,共获提升!
a645211486 + 1 + 1 谢谢@Thanks!
kongren + 1 谢谢@Thanks!
Hmily + 6 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
嘉嘉kl + 1 + 1 已答复!
光之优雅 + 1 + 1 热心回复!
gb1855988 + 1 + 1 我很赞同!
jmmes + 1 + 1 我很赞同!
BayBear + 1 用心讨论,共获提升!
ssdbmm + 1 + 1 谢谢@Thanks!
海风的褶皱 + 1 + 1 已答复!
xhj82830 + 1 + 1 已经处理,感谢您对吾爱破解论坛的支持!
来自星星的用户 + 1 + 1 谢谢@Thanks!
weiaihdd + 1 我很赞同!
论坛守护神 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
see叶子 + 1 + 1 谢谢@Thanks!
会跑的虾壳 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

silly78 发表于 2017-1-4 02:56
从代码里的API地址点进去发现给我福建联通的宽带分的是一组浙江电信的DNS。。。
所以这东西怀疑并不太准
另外,要确定一个DNS是不是快最好从两个方面
PING的延迟和解析结果返回的速度
如楼主这个只做了PING延迟的速度检查
有一个例子就是腾讯的DNS延迟很低,但返回结果的时间却很长,可能腾讯DNS和114DNS的延迟相当,但返回结果的时间114是最短的,所以这时候就不能只看延迟来选最优了!
pingod 发表于 2017-1-3 22:14
      上面的代码只能用于装有python环境的电脑用

免费评分

参与人数 1吾爱币 -1 收起 理由
ifamily -1 请勿灌水,提高回帖质量是每位会员应尽的义务!

查看全部评分

longge1988 发表于 2017-1-3 20:57
120360047 发表于 2017-1-3 21:06
熊本好看  哈哈 不错
左岸麦田 发表于 2017-1-3 21:10
CloudXNS说是迄今为止最好的DNS...

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
零和游戏 + 1 + 1 热心回复!

查看全部评分

韩云溪 发表于 2017-1-3 21:12
批处理能用么?
wuaini10 发表于 2017-1-3 21:13
谢谢楼主的分享!!!
WYPLSM 发表于 2017-1-3 21:13
好东西谢谢分享
youyudewo99 发表于 2017-1-3 21:19
感谢分享,先学习一下
muchen 发表于 2017-1-3 21:22
谢谢楼主分享
冷轩 发表于 2017-1-3 21:22
这个工具有什么用
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:22

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表