Open GoogleCodeExporter opened 8 years ago
自定义IP的话,需要修改hosts下的user_hosts.conf,
添加自定义的映射关系。
snova/gsnova有限读取hosts下的hosts(非系统),其次是DNS(包括�
��统hosts)
Original comment by yinqiwen@gmail.com
on 25 Jun 2013 at 8:04
要写成什么样的格式呢?比如我要
wikipedia.org
www.wikipedia.org
en.wikipedia.org
zh.wikipedia.org
都解析到208.80.152.201,我写成*.wikipedia.org=208.80.152.201,spac设��
�成direct,貌似无效,gsnova还是从远程给我一个连不了443的ip
Original comment by binkto...@gmail.com
on 25 Jun 2013 at 12:00
hosts可以这么些。
spac写成什么样?日志里打印些啥?
Original comment by yinqiwen@gmail.com
on 25 Jun 2013 at 12:15
user_pre_spac.json 部分如下:
{
"Protocol" : "https",
"Host" : ["wikipedia.org", "wikimedia.org", "wikibooks.org", "wikinews.org", "wikiquote.org", "wiktionary.org", "wikimediafoundation.org", "mediawiki.org"],
"Proxy":["Direct", "C4"]
},
user_hosts.conf部分如下:
*.wikipedia.org=208.80.152.201
gsnova.cong部分如下:
[Hosts]
#0:Disable 1:Only for HTTPS 2:All Protocols
Enable=1
连https://zh.wikipedia.org/ 后log如下:
2013/06/25 20:31:40 launch.go:101: =============Start gsnova
0.22.1==============
2013/06/25 20:31:40 launch.go:52: Listen on address 0.0.0.0:48102
2013/06/25 20:31:41 launch.go:52: Listen on address 0.0.0.0:48100
2013/06/25 20:31:41 launch.go:52: Listen on address 0.0.0.0:48101
2013/06/25 20:31:42 local_hosts.go:56: Fetch remote clound
hosts:https://snova.googlecode.com/svn/trunk/repository/cloud_hosts.conf
2013/06/25 20:31:42 spac.go:366: Generate PAC from gfwlist
https://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
2013/06/25 20:31:42 spac.go:323: Fetch remote clound spac
rule:https://snova.googlecode.com/svn/trunk/repository/cloud_spac.json
2013/06/25 20:31:44 forward.go:79: Found 208.80.154.225:443 for
zh.wikipedia.org:443
2013/06/25 20:31:44 forward.go:205: Session[1]Request CONNECT
https://zh.wikipedia.org:443
2013/06/25 20:31:45 forward.go:79: Found 208.80.154.225:443 for
zh.wikipedia.org:443
2013/06/25 20:31:45 forward.go:79: Found 173.194.72.125:5222 for
talk.google.com:5222
2013/06/25 20:31:45 forward.go:205: Session[4]Request CONNECT
https://talk.google.com:5222
2013/06/25 20:31:45 forward.go:205: Session[2]Request CONNECT
https://zh.wikipedia.org:443
2013/06/25 20:31:45 forward.go:79: Found 208.80.154.225:443 for
zh.wikipedia.org:443
2013/06/25 20:31:46 forward.go:205: Session[5]Request CONNECT
https://zh.wikipedia.org:443
2013/06/25 20:31:46 google.go:118: Session[6]Request GET
http://toolbarqueries.google.com/search?client=navclient-auto&hl=en&ch=622599678
23&ie=UTF-8&oe=UTF-8&features=Rank&q=info:http://zh.wikipedia.org
2013/06/25 20:31:48 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:31:49 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:31:49 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:31:59 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:32:00 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:00 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:32:03 google.go:97: Session[7]Request CONNECT
https://autoproxy-gfwlist.googlecode.com:443
2013/06/25 20:32:04 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:04 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:32:04 google.go:97: Session[8]Request CONNECT
https://mail.google.com:443
2013/06/25 20:32:09 google.go:97: Session[9]Request CONNECT
https://chatenabled.mail.google.com:443
2013/06/25 20:32:12 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:32:13 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:13 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:32:14 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:32:15 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:15 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:32:23 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:32:24 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:24 c4_http.go:147: Pull worker[*******]:0 start working
2013/06/25 20:32:25 c4_http.go:151: Pull worker[*******]:0 recv invalid
res:<nil>
2013/06/25 20:32:26 c4_http.go:160: Pull worker[*******]:0 stop working
2013/06/25 20:32:26 c4_http.go:147: Pull worker[*******]:0 start working
Original comment by binkto...@gmail.com
on 25 Jun 2013 at 12:36
[deleted comment]
user_pre_spac里这样写:
{
"Protocol" : "https",
"Host" : ["wikipedia.org", "wikimedia.org", "wikibooks.org", "wikinews.org", "wikiquote.org", "wiktionary.org", "wikimediafoundation.org", "mediawiki.org"],
"Proxy":["Direct", "C4"]
},
user_host.conf 就按照上面那样写
*.wikipedia.org=208.80.152.201
gsnova.conf设置的是
[Hosts]
#0:Disable 1:Only for HTTPS 2:All Protocols
Enable=1
连接维基百科得到log如下
Original comment by binkto...@gmail.com
on 25 Jun 2013 at 12:42
Attachments:
同理我这样设置twitter,根据反复测试,gsnova应该是按照下面�
��个流程
1、远程查询twitter的ip
2、得到的所有ip都连不上(没办法,twitter墙得最彻底)
3、大概几秒之后,gsnova从本地按照user_hosts、cloud_hosts、smartho
sts的顺序查到一个可用ip
4、顺利连通
这里少了一层判断,判断一个ip是否可用还要看是否https连的�
��就像维基的ip,dns得到的208.80.154.225能连上80端口了,gsnova就
把它丢缓存里了,结果443被gfw干掉了……
最好还是能允许优先本地host查询,就像以前0.17版可以设置pre
ferDNS=false这样的功能,对付这种封特定ip或者特定端口的比较
有效
Original comment by binkto...@gmail.com
on 25 Jun 2013 at 1:18
这个是hosts优先
Original comment by yinqiwen@gmail.com
on 25 Jun 2013 at 2:42
Attachments:
这个host应该写在哪里?我在cloud_hosts.conf hosts_0.txt
user_hosts.conf 三个文件里都写进去了,貌似都不读取的
log里面是
forward.go:136: Failed to dial address:www.wikipedia.org:443 for reason:No
available IP found for www.wikipedia.org:443
forward.go:203: Failed to connect forward address for www.wikipedia.org:443.
dispatch.go:111: Session[1][WARN][Forwardhttp://www.wikipedia.org:443]Failed to
request proxy event for reason:No available IP found for www.wikipedia.org:443
dispatch.go:147: Session[1]Process error:No proxy found for request 'CONNECT
www.wikipedia.org:443' with 1 candidates for host:www.wikipedia.org:443
dispatch.go:217: Session[1]Browser close connection:Remote conn closed.
Original comment by binkto...@gmail.com
on 25 Jun 2013 at 4:56
放到user_hosts.conf中
208.80.152.201这个ip是连不上的
Original comment by yinqiwen@gmail.com
on 26 Jun 2013 at 12:50
user_hosts.conf里写了
*.wikipedia.org=208.80.152.201
www.wordpress.com=66.155.9.238
wordpress.com=66.155.11.243
这种通配符格式可以解析的吧?
事实上这个ip一直可连的,请看附件图片
0.22.2这一版新增加了两个问题:
1、完全不读取hosts_0.txt,我在smarthost基础上增加了一些可连��
�ip,但都被忽视了,包括facebook(默认的有个ExceptCloudHosts=(www
.)?facebook.com|www.chromium.org,我把它注释掉了)、twitter、wikipedi
a、wordpress等,如附件中所示,而0.22.1无此问题;并不是按照�
��想的user_hosts、cloud_hosts、hosts_0的顺序去查询,找不到再远��
�解析的机制(这种机制应该最为合理,当然google的ip不应该��
�hosts_0里找,前两个就够了)
2、判断IP是否可连的机制有问题,附件log里面出现Failed to
request proxy event for reason:No available IP found for
****的地方,大部分事实上即便远程通过8.8.8.8解析出来的ip都�
��可连的,可是gsnova不知道是怎么判断的,过早地就认为没有
可用ip。
麻烦作者再看看?
Original comment by binkto...@gmail.com
on 26 Jun 2013 at 5:00
Attachments:
补充说明一下:第一个问题,0.22.1没实现预想机制,但是连��
�上远程解析的ip,最后还是会读取hosts_0,而这一版干脆不读�
��了,造成twitter也连不上
第二个问题,除了本issue一开始所述问题,0.22.1判断机制比较
正常,不会出现这么多No available IP found for ***
Original comment by binkto...@gmail.com
on 26 Jun 2013 at 5:09
208.80.154.225这个dns解析的ip并不是连接不上,而是ssl协商失败�
��可能是墙的原因
修改了一下代码,增加了Direct时设置hosts优先级
如果需要优先读取hosts,需要在spac中指定;否则优先读取dns��
�录;例如
{
"Protocol" : "https",
"Host" : ["wikipedia.org", "*.wikipedia.org","wikimedia.org", "wikibooks.org", "wikinews.org", "wikiquote.org", "wiktionary.org", "wikimediafoundation.org", "mediawiki.org"],
"Proxy":["Direct", "C4"],
"Attr": ["PreferHosts"]
},
Original comment by yinqiwen@gmail.com
on 26 Jun 2013 at 2:47
Attachments:
great!这一版完美工作,基本达到预想的效果了。
PS:你说的那个ssl协商失败的IP半个月前被干掉了443端口,208.
80.152.201这个IP目前还是有效的。我发起这个issue就是为了这个
问题。
至少对于https网站,hosts是最有效和高效的办法。你丫污染dns�
��封IP,封端口,我一条hosts搞定,实在没辙再祭出C4。呵呵,
墙和没墙又有什么区别呢?
感谢作者!
Original comment by binkto...@gmail.com
on 26 Jun 2013 at 5:52
能编个linux版的吗?我这最后报错
/usr/lib64/gcc/x86_64-suse-linux/4.7/../../../../x86_64-suse-linux/bin/ld: i386
architecture of input file `/tmp/go-link-KYdsZj/000000.o' is incompatible with
i386:x86-64 output
collect2: error: ld returned 1 exit status
/usr/lib64/go/pkg/tool/linux_amd64/6l: running gcc failed: unsuccessful exit
status 0x100
这啥情况?我这64位系统啊,怎么会有i386 architecture of input
file
Original comment by binkto...@gmail.com
on 29 Jun 2013 at 6:05
ld try to link main/icon.syso, which is a PE-i386 format.
Delete it and go build.
Original comment by xhkbmdru...@gmail.com
on 28 Dec 2013 at 8:58
Original issue reported on code.google.com by
binkto...@gmail.com
on 21 Jun 2013 at 7:56