问与答
- 问:如何使用?
答:只要简单地在hosts中添加一行代码121.199.29.119 www.google.com.hk
(如果原来添加过www.google.com.hk
的IP则需要先删除后再添加),保存后直接访问 https://www.google.com.hk/ 即可(不提供http链接,所以不能使用 http://www.google.com.hk/ 访问)。也可以再添加一条121.199.29.119 www.google.com
到hosts中,保存后直接访问 https://www.google.com/ 即可。 - 问:有时候访问不了或跳到
www.google.de
之类的网站怎么办?
答:添加www.google.com.hk
的hosts后访问 https://www.google.com.hk/ 可以避免这个问题。或者添加www.google.com
的hosts后先访问 https://www.google.com/ncr (跳出未备案是正常的,因为变成http链接访问阿里云了),之后再次访问 https://www.google.com/ 即可(其实原因是访问 https://www.google.com/ 时Google会根据shadowsocks代理所在的国家跳到相应国别的域名,比如www.google.de
。而www.google.de
由于GFW的作用访问不了,看上去就像是服务挂了。而先访问 https://www.google.com/ncr 后再次访问 https://www.google.com/ 则会防止Google进行跳转,从而解决这个问题)。 - 问:很多hosts工具使用后访问Google会403,这个工具能解决吗?
答:使用本host,每次会从全球Google IP中随机挑一个,Google不会检测到单个IP连续访问,所以应该不会再出现403。 - 问:你把这个gipt服务放在了哪个国内服务器上?
答:此项目暂时部署在我的阿里云服务器上。 - 问:为何只提供https访问访问?你能看到我搜索的内容吗?
答:由于SSL的特性加上访问时仍旧保留Google的SSL证书,使用https时不管是我还是阿里云还是GFW都无法看到你的搜索内容,这也是不提供http访问的原因。 - 问:GFW检测到Google的HTTPS链接后过一段时间就会进行封锁,因为HTTPS中的SSL证书是明文传输的。
答:这个工具是部署在国内服务器上的,国内用户访问国内服务器的流量不经过GFW,经过GFW的是shadowsocks的流量。 - 问:为何放在阿里云上?不怕被喝茶吗?
答:我们的祖国并不承认封锁了Google,说是Google自己的问题。所以我只是帮Google一下,让大家有个顺畅访问Google的方法,有什么不对呢? - 问:原理是什么?
答:我在阿里云上开了shadowsocks客户端,通过国外shadowsocks服务器做简单的端口转发连接Google服务。特此感谢 https://www.shadowsocks.net/ 提供的免费帐号。
说明
- 我的阿里云的带宽不大,所以鼓励大家可以都来部署到国内的VPS上,分流的同时提供更多的IP。
- 对性能有点担心,有对Python性能优化有经验的,欢迎fork,欢迎push。
- 欢迎传播此项目。
- 部署时也可以修改config.json,指向
accounts.google.com
或mail.google.com
的443端口,提供访问Gmail的国内IP。
--
- 运行本项目需要python环境,如果是Windows系统请确保安装了python并且保证python在PATH环境变量中。
- 移除了对PySocks的依赖。
项目依赖 https://github.com/Anorov/PySocks ,需要先安装PySocks才能运行(其实不安装也行,直接把PySocks的socks.py放到和gipt.py同一个目录下即可)。 - 首先需要准备一至多个shadowsocks帐号,将shadowsocks帐号的配置文件分别保存成ss1config.json、ss2config.json……,和gipt.py放在同一个目录下。程序每隔一段时间会检测所有shadowsocks服务的状态,之后会从正常工作的shadowsocks服务中选一个连接Google服务。注意:由于这些shadowsocks客户端会同时启动,所以这些配置文件中的
local_port
不能相同。 - 将shadowsocks的命令行客户端放在thirdparty目录中,修改ss.bat(如果你是Windows系统)或ss.sh(如果你是Linux系统),使得执行ss.bat或ss.sh时会开启多个shadowsocks客户端(ss.bat和ss.sh中是使用nodejs版shadowsocks的例子,可以照着改或使用其他版的shadowsocks)。
- 如果你是Linux系统,执行
chmod +x gipt.sh ss.sh
给这2个文件加上执行权限。 - 修改config.json,在
socksProxies
这项中填写所有shadowsocks客户端侦听的端口(就是ss1config.json、ss2config.json中的local_port
)。比如ss1config.json中的local_port
是8081,ss2config.json中的local_port
是8082,那么config.json中的socksProxies
配置需要改为:"socksProxies" : [8081, 8082],
。 - (可选步骤)安装gevent,gipt的性能将会提升不少。
- (可选步骤)修改config.json,将
tunnelServers
改为"tunnelServers" : {"443" : [["accounts.google.com", 443]]}
即可转为提供Google登录服务,改为"tunnelServers" : {"443" : [["mail.google.com", 443]]}
即可转为提供Gmail服务。保留原配置即提供Google搜索服务,而且每次会从Google全球域名中随机挑一个进行连接。 - 运行gipt.bat或gipt.sh开启服务,443端口即为服务端口。
- 如果部署遇到问题,欢迎提Issue并附上log(gipt.log)。