V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
pq
V2EX  ›  问与答

Github 上有哪个 Python 脚本能通过 socks proxy 将 dns.google.com 的解析转到本地侦听?

  •  
  •   pq · 2017-12-30 20:27:17 +08:00 · 2739 次点击
    这是一个创建于 2519 天前的主题,其中的信息可能已经有所发展或是发生改变。

    一、这个脚本能在本地启动一个 dns 解析服务,供其它应用查询 dns ; 二、脚本的上级 dns 是 dns.google.com ,通过 socks proxy 去访问; 三、能在 Python 2.7 上跑,不依赖第三方库,因为是在路由器上跑的。

    找了很久都没找到合适的,自己又不会写。

    BTW:LEDE 官方软件库里,本来有一个叫 http_dns_proxy 的,正适合我这种应用场景,但它不知因为什么 BUG,完全不 work。

    15 条回复    2017-12-31 09:11:10 +08:00
    lniwn
        1
    lniwn  
       2017-12-30 20:31:33 +08:00 via iPhone
    > 脚本的上级 dns 是 dns.google.com

    标准 53 端口查询越过墙?能实现的话也不会有那么多🐤了。
    pq
        2
    pq  
    OP
       2017-12-30 20:44:56 +08:00
    @lniwn 不是的,是 https ! https://dns.google.com/
    lniwn
        3
    lniwn  
       2017-12-30 20:47:32 +08:00 via iPhone
    @pq ip 都被 ban 了,应用层协议不管怎么换都无济于事。
    pq
        4
    pq  
    OP
       2017-12-30 20:53:28 +08:00
    @lniwn 晕死,我说了,是走 socks proxy 去访问,这个 socks 代理肯定不是一般的,而是能翻墙的。
    zmz125000
        5
    zmz125000  
       2017-12-30 20:57:19 +08:00 via Android
    目前用 DNSCrypt + ChinaDNS
    pq
        6
    pq  
    OP
       2017-12-30 21:13:24 +08:00
    @zmz125000 我目前也是个 dnscrypt-proxy,但它无法同时配置多个解析地址并自动选择一个可用的,单一的地址,经常解析失败,基本上隔几天就得上路由器修改配置才能正常工作,而 dns.google.com 则足够稳定,通过 socks 去访问,不用担心解析失败。
    kiolygenius
        7
    kiolygenius  
       2017-12-30 22:29:04 +08:00
    PRCDNS
    pq
        8
    pq  
    OP
       2017-12-30 22:37:06 +08:00
    @kiolygenius 刚才看了一下项目页面,它是基于 python 3.5 的,而且只支持 TCP 查询,无法跟 dnsmasq 搭配使用。
    ysc3839
        9
    ysc3839  
       2017-12-30 22:51:48 +08:00 via Android
    @pq dnsmasq 可以“同时配置多个解析地址并自动选择一个可用的”。
    pq
        10
    pq  
    OP
       2017-12-30 23:19:18 +08:00
    @ysc3839 看来你没用过移动宽带,它的 dns 查询,比墙只是单纯污染特定 dns 更厉害,它劫持所有 dns 查询请求。如果一个 dnsmasq 就能解决,我何苦呢?
    lovefantasy
        11
    lovefantasy  
       2017-12-30 23:25:24 +08:00 via Android
    如果是单纯的转发 iptables 就可以吧,如果要是解析的话也不难,参考 ss
    pq
        12
    pq  
    OP
       2017-12-30 23:32:42 +08:00
    @lovefantasy 我的 ssr 是 python 版本的,没有 ss-redir 或 ss-tunnel,只有 local,而且它不像 ss 的 local,不能配置 udp 前转。
    lovefantasy
        13
    lovefantasy  
       2017-12-31 00:10:54 +08:00 via Android
    ss 不是有转发 UDP 的功能么,服务端肯定也有对应的实现
    ysc3839
        14
    ysc3839  
       2017-12-31 01:01:36 +08:00 via Android
    @pq 配合 DNSCrypt 不就好了?
    0987363
        15
    0987363  
       2017-12-31 09:11:10 +08:00 via Android
    用 tcp 请求 dns。 然后走 ss
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2353 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 15:53 · PVG 23:53 · LAX 07:53 · JFK 10:53
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.