Coder Social home page Coder Social logo

proudlucifer / puredns Goto Github PK

View Code? Open in Web Editor NEW

This project forked from xiaoyao9933/puredns

0.0 1.0 0.0 64 KB

Puredns is a tiny tool which makes you enjoy a pure DNS service in china. You can use this tool to visit youtube,facebook,twitter by HTTPS method

Home Page: http://xiaoyao9933.github.com/puredns

puredns's Introduction

欢迎使用PureDNS

什么是PureDNS?

众所周知,由于某种原因封锁了对一些境外网站如youtube,twitter,facebook的访问。但总结起来,其主要的三个技术:

  • 链接重置
  • DNS污染
  • 路由黑洞

其中对主流网站采取的多是前两种方法。但由于关键词过滤的原因,其对Https的检测往往不奏效,导致连接重置不起作用。这时我们只要获取到了网站的正确ip,就依然可以通过https连接到这个网站。 普通的境外DNS查询会受到关键词过滤,而被DNS污染,但由于目前其对TCP和两次接收UDP连接的DNS查询不设防,本工具就利用此特性制作了一个本地DNS代理服务器,TCP访问8.8.8.8等,并自动的将DNS设置为127.0.0.1。 所以本工具的适用网站范围:

  • 在开启本代理后可以ping通
  • 开启了Https连接

已知可以访问的网站:

你将获得什么?

  • 不再饱受DNS被劫持之苦(比如乱插广告)
  • 不再担心DNS污染的方式中间人攻击
  • 上某些网站
  • 不用再去改hosts表,那么低端的方法了
  • 网速比较快

使用方法

不管你使用那个操作系统,如果你之前改过hosts表,请清空与被禁网站相关的表项。hosts原有表项会破坏dns的解析。 最好使用Firefox或者chrome浏览器,并安装这个插件HTTPS Everywhere,它可以自动帮助你连接支持https的网站。里面支持https的列表相当多。

Windows

双击运行本软件即可,通知栏会产生一个服务图标,用户可以在这里控制。打开被封杀的网页时一定要加上https:// ,如 https://www.youtube.com

Linux/Mac

使用方法:

  • 先从下面下载PureDNS.tar.gz ,解压缩到一个目录,确保你已经安装python2.6+
  • 打开一个终端,执行:sudo python PureDNS.py start
  • 由于写成了服务,关掉终端也可以了,如果想终止该服务,请输入 sudo python PureDNS.py stop
  • 如果想启动利用两次接收UDP的方法,可以运行sudo python PureDNS.py censor 就这样吧,我就不去打包了。

FAQ

  • Q:本工具长期有效么? A: 理论上是这样,但是由于路由黑洞的不确定性,可能存在上不去某些网站的情况。但本法成功率绝对比改Hosts高。
  • Q:本工具是不是网速很慢? A:不会的,由于DNS查询只是解析时起作用,实际观看youtube视频等,流量是不经第三方中转的,从这个角度说,本工具技术上合法。
  • Q:极特殊情况下,比如异常关机,强行杀死程序,退出软件后无法打开网页? A:重新启动本软件一次即可自动修复。
  • Q: 如何分享给其他机子使用,如果不同机子的ip可以互相访问,你可以在其他机子上的DNS设置为运行PureDNS的ip地址,这样就可以使你的ipad等分享该DNS。
  • Q: 有人说我弄麻烦了,用udp的两次recv就可以。 A:嗯,是这样的,我刚开始做这个时候脑袋短路了,等这个不能用了的时候再用二次recv吧
  • Q:本工具其实只是防止DNS污染的一个小工具,只是作为改Hosts表的一种良好的替代方案。
  • Q: 用了本代理后google打不开了,怎么办? A:墙对google看起来是特殊关照了,你还是老老实实的访问g.cn吧,如果你使用了HTTPS Everywhere,先进g.cn,点击地址栏的插件图标,取消掉 google search的选项,以后就用g.cn吧。

其他信息

Update Logs:

  • 1.4 : 感谢在davidaq的帮助下,增加了对win64环境的支持。
  • 1.3 : 感谢在mjzshd([email protected])的帮助下,重构了我的代码,改正了代码很多的Bugs,增加了MAC版本,添加了两次接收UDP的censor法,让本渣学到了很多新知识。
  • 1.2 : 不改版本号了,增加了非管理员权限执行时的提示信息。
  • 1.2 : 修复了没关闭软件时,直接关闭系统导致dns设置不能还原的BUG。增加了异常退出的自动修复机制。
  • 1.1 : 修复了有些情况退出后,不能还原DNS设置,以致不能打开网页的问题。增加了错误报告的捕获。

puredns's People

Contributors

zhming0 avatar xiaoyao9933 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.