Friday, August 26, 2016

HostsHelper一键替换hosts来实现科学上网

首先贴上下载地址吧。压缩包 Jar包

我一直是采用的替换hosts的方法来上谷歌之类的墙外网站,今天早上在替换hosts的时候,突然觉得每次手动替换hosts真的挺麻烦的。因为文件的目录层级比较深找起来比较困难,于是萌生了自己写一个软件来实现的想法。虽然自己基本不会写桌面端的应用,但是觉得这个小玩意儿实现难度应该也并不是很大。由于不熟悉桌面应用的开发,所以也不知道使用什么库来做这个。在Java的SWing和Python的Tkinter之间纠结了很久,最后选择了我稍微接触过一点的SWing。(事实上,这真是一个错误的选择。这个选择注定了我不得不把一个百来行代码的小工具做得体积如此之巨大。)一边学一边做花了小半天终于做出来这个玩意儿。

先说一下这个软件大概是怎么回事吧。由于可以通过替换hosts文件来实现科学上网,我是一直使用这个方法来进行科学上网的,并且我知道一个长期更新稳定hosts的网站,所以今天觉得可以做一个软件来实现一键科学上网。关于替换hosts文件科学上网的原理请看这里 修改hosts文件的原理是什么

先说一下使用吧,我把ipv4和ipv6的hosts都放在了自己博客上,然后客户端会把我放好的hosts的文件信息下载到本地然后写到系统的hosts文件里面去。替换hosts文件需要谨慎,我所放的hosts文件都是我自己用的,并且我已经检查过文件里的内容,但是我不敢保证百分之百的安全,所以如果有需要用到的,可以下载我给的hosts文件信息进行检查。下载地址是:IPV4IPV6
如果有校园网,那么应该是支持IPV6的,建议使用IPV6的hosts,能够获得更好的使用体验。由于替换hosts文件是危险操作,所以这个软件的运行会被360等安全软件警告或者阻止。所以如果需要使用那么请给此软件放行或者暂时关掉360等安全软件。

使用此软件替换hosts成功后,就可以科学上网。如果hosts失效请尝试再次获取hosts并替换文件。如果有hosts更新我会及时更新远程的hosts以保证客户端请求的hosts是有效的。

关于软件的体积,实际上这只是一个很小的工具,代码量也非常少,所以体积应该很小。但是怎奈我选了Java这个天坑,我算是终于明白为什么说Java不适合开发桌面应用了。由于Java开发的应用的运行需要JRE(Java Runtime Environment),但是很多用户电脑都不会安装这个。所以为了能让没有安装JRE的朋友也可以用到并且不需要去安装JRE,我将运行文件做成了exe(这里又是一段悲伤的故事)文件,并且将JRE和exe打包在了一起,从而保证解压就可以使用,但是由于集成了JRE,所以压缩包的体积还是达到了将近40m。另外我也提供了不集成JRE的Jar文件,在安装了JRE的电脑可以直接运行,体积非常小。

这个软件纯粹就是自己突发奇想为了方便自己和练练手而写着玩的。UI很丑,代码很烂,功能很少,可能还会有未知的bug。但是写完以后觉得说不定对于一些讨厌折腾又想要科学上网的人来说,可能会有一点用呢,所以决定将它分享出来,若是这个东西真的能够帮助到需要的人,那也不枉费半天的努力。

原文http://ift.tt/2bbl8zX




via 细节的力量 http://ift.tt/2boqYA1

No comments:

Post a Comment