使用GoAgent解决Youtube无法上传视频的办法 (转)


|2|1


在网络上看到这篇文章,自己还没有实践。先转过来,这两天好好研究一下。再分享心得。

首先,如果大家使用GoAgent上Youtube只是为了看视频,不需要上传的话,就不用看这个文章了,配置好GoAgent、Autoproxy就一切OK了。

如果需要向Youtebe上传视频的话,就需要做一些处理了。
有两种方法。
一、修改hosts,不使用GoAgent代理。

203.208.46.181 youtube.com www.youtube.com gdata.youtube.com m.youtube.com help.youtube.com upload.youtube.com accounts.youtube.com insight.youtube.com apiblog.youtube.com clients1.youtube.com s.youtube.com s2.youtube.com i.ytimg.com i1.ytimg.com i2.ytimg.com i3.ytimg.com i4.ytimg.com s.ytimg.com ytimg.l.google.com

“不使用”GoAgent有不同的方法,一种是在proxy.ini的site=后面添加.youtube.com,不方便的是上传完成以后,如果要正常观看视频,需要再把这个去掉,而且每次都要重新启动goagent.exe。
还有一种方法,就是干脆关掉goagent,然后把“福”也关掉。

但是这两种方法都比较繁琐。

二、绑定hosts,不需要反复修改GoAgent
方法如下:
1、添加hosts,这是必须的。
2、把goagent目录下的local复制一份,如:local2。将local2中的proxy.ini端口改为8088,[google_cn]下的sites:后面添加 .youtube.com
3、删除autoproxy订阅规则组中的规则 ||youtube.com 和 .youtube.com
4、重新添加一个规则:
/[^d].youtube.com/(?!api/|gen|upload|metadata_ajax|my_videos_upload)/
使用8087进行代理。
5、添加两个上传要用的规则:
d.youtube.com
/.youtube.com/(api/|gen|upload|metadata_ajax|my_videos_upload)/
使用8088进行代理。

这样就大功告成了,需要上传视频时,打开local2中的goagent.exe即可(即8088端口),平时只开local即可(即默认的8087端口)。

原理嘛,主要在于local2的8088端口的goagent在sites后添加了.youtube.com,这样的效果就是通过8088端口进来的youtube.com的访问地址不再使用goagent代理,而是直接根据hosts指定的IP进行访问。相当于停掉了GoAgent并添加了hosts。
而另外一部分youtube的链接使用的还是8087端口,正常通过代理进行访问。

B
其实上传youtube的方法早就有人教过了,比如这里:
https://code.google.com/p/goagent/issues/detail?id=4218

具体就是:在[google_cn]下的sites:后面添加 .youtube.com,其他不变,youtube上的直播就可看,且速度很快,但是你要看youtube的其他普通视频的话就得把这个再去掉

这来回修改可真是不方便,所以我要在这里介绍一种不需要修改的。
其实说起来也简单,就是额外构建一个GappID,分配给它新的端口,比如8088,上传全交给它,下载还用原来的。

1、首先把Goagent的客户端目录local复制一份,起名为local2,里面的proxy.ini把端口改为8088,[google_cn]下的sites:后面添加 .youtube.com

2、删除autoproxy常用规则组中的规则||youtube.com和.youtube.com

3、新建一个规则组,用8088端口的goagnet来代理,加入以下规则:
|http://www.youtube.com/metadata_ajax
|http://www.youtube.com/api/tag_suggest
|http://www.youtube.com/api/upload_feedback
|http://www.youtube.com/upload/
|http://upload.youtube.com/
|http://www.youtube.com/gen
|http://www.youtube.com/my_videos_upload
(这一部分全部与上传有关,全走8088端口)

4、在原来的代理规则组中,加入以下规则:
/^http:\/\/www\.youtube\.com\/$/
|http://www.youtube.com/ptracking
|http://www.youtube.com/set_awesome
|http://www.youtube.com/user_watch
|http://www.youtube.com/watch
|http://www.youtube.com/crossdomain.xml
|http://www.youtube.com/get_video
s.youtube.com
c.youtube.com
||ytimg.com
(以上部分全都与看视频有关,还走原来的8087)

这样,上传和下载两不误。
原来的规则只用这一条:
/[^d]\.youtube\.com\/(?!api\/|gen|upload|metadata_ajax|my_videos_upload)/
上传用这两条:
d.youtube.com
/\.youtube\.com\/(api\/|gen|upload|metadata_ajax|my_videos_upload)/