uku / Unblock-Youku

A Chrome extension helping users access their web services while traveling outside mainland China
https://uku.im
GNU Affero General Public License v3.0
3.18k stars 651 forks source link

新版 Flash 会使转发模式失效 #209

Closed zhuzhuor closed 10 years ago

zhuzhuor commented 10 years ago

Chrome 版本号 34.0.1832.0 canary Flash 版本号 12,0,0,69

最近几天测试发现扩展程序在 canary 版本的 Chrome 上是彻底不 work 貌似是只要是被扩展程序 redirect 过的 http request 都有问题

在 stable 的 Chrome 32 版下没问题,Flash 的版本号是12,0,0,44 希望不是 Chrome 自带的新版 Flash 增加了什么限制 未雨绸缪地先在这里记录一

screen shot 2014-02-09 at 7 45 55 pm screen shot 2014-02-09 at 7 45 48 pm

zhuzhuor commented 10 years ago

传说中的悲剧 我的 Chrome stable 的 flash 也自动升级了,现在的版本是 12.0.0.70 装了扩展之后,所有被 redirect 的请求都会出问题 三种模式都会对 youku 的视频做 redirect,用来解决时区问题 于是就会显示 2003 连接失败

screen shot 2014-02-19 at 1 27 02 pm

yannuil commented 10 years ago

@zhuzhuor 我曾有过同样的问题。我的chrome是版本 32.0.1700.107 m的,现在flash却是12.0.0.44 操作系统是windows。当出现问题的时候,在我的印象中我的flash曾经是12.0.0.70。

这是我做过的一些事情,希望您能重复一遍,看看有没有效果。

  1. uninstall unblock youku
  2. 在flash globe settings,清除所有数据
  3. 清除Chrome所有cookie和浏览缓存 (我估计不一定需要这一步,清除cookie后,让我很累 :( )
  4. reinstall unblock youku
zhuzhuor commented 10 years ago

临时紧急更新了一下扩展程序 把更改优酷 URL 里的 timezone 那段的代码去掉了 https://github.com/zhuzhuor/Unblock-Youku/commit/08ad5b20e8257ba30aa05e8a01c59a42eff11741

貌似优酷不再检查 timezone 的信息了 这样普通模式应该暂时看优酷没有什么问题了 但是转发模式还是彻底不能用,看看有没有什么别的解决办法

zhuzhuor commented 10 years ago

@yannuil 我这里试了你的办法还是不行

我在 chrome extension 的 google group 里面提了这个问题,不知道有没有别的 developer 遇到同样的问题 https://groups.google.com/a/chromium.org/forum/#!topic/chromium-extensions/7ZmgRszByNU 看看有没有办法弄个简单的 test case,如果真是 flash 的问题,到时候给 chrome 提交 bug report 吧

yannuil commented 10 years ago

@zhuzhuor 您的2.6.11.0的update都已经push到我这了: ) 没有办法测试了。 有一件奇怪的事情,在这两个小时里, Chrome里的Flash却update成12.0.0.70了?!Chrome并没有被重启过,一直开着。

zhuzhuor commented 10 years ago

@yannuil 转发模式还是不能用。。。你想试试可以试试。。。

我也不知道 Chrome 这 Flash 的 update 是怎么推送的,估计是后台自动更新?

sequoiar commented 10 years ago

have a try eachother software:

https://github.com/sequoiar/eachother

yannuil commented 10 years ago

@sequoiar 请开源先,胆子小,不敢装

whuhacker commented 10 years ago

image

我这边的 Flash 仍然是12.0.0.44,也出现了 2003 错误

幸好刚刚截了图,现在切换了一下 Normal , Redirect 模式,刷新又没问题了。。 我的优酷播放器版本比 @zhuzhuor 的新耶

sequoiar commented 10 years ago

@yannuil 客户端已经开源了啊。

whuhacker commented 10 years ago

访问 chrome://plugins/ 可发现我的系统内有 2 个版本的 Flash,version 都是12.0.0.44 ,区别在于 PPAPI 和 NPAPI,PPAPI 目前没有处于活跃状态

image

参考 有关讨论

zhuzhuor commented 10 years ago

@whuhacker 我这 Mac 上查看 chrome://plugins 只有一个 Flash 你的另外一个 Flash 应该是你在 Windows 上另装的 Flash 吧,比如 IE 都需要单独另装 Flash

screen shot 2014-02-19 at 10 39 22 pm

我看了你给的 kafan 的那几个相关的帖子 但是我觉得这个应该不是 Google 本身的问题,我猜是 Adobe 更新了 Flash 的问题 Flash 部分的源码估计 Google 也拿不到

于是这个最有可能就是 Flash 更新了什么安全机制,我是这么猜测的

zhuzhuor commented 10 years ago

@whuhacker 你回头有机会,等你的两个 Flash 都升级到最新的 .70 版本之后,测试一下 看看两个 Flash player 的会不会造成同样的问题,这样就确定是不是 Adobe 的更新造成的问题

zhuzhuor commented 10 years ago

@whuhacker 看到你在那个 Google Group 里面的回复 你是说只有 PPAPI 版本的 Flash 有这个问题吗?

lsq921224 commented 10 years ago

我试过了,.70的有问题,disable .70的以后chrome调用.44版本的就没问题

whuhacker commented 10 years ago

Chrome 不是之前有计划全面废弃 NPAPI 么?太迅速了吧

zhuzhuor commented 10 years ago

@whuhacker @lsq921224 我才注意到我其实也有两个 flash,需要在 chrome://plugins 页面点那个 details 才能看到 但是我这边要是 disable 了 v12.0.0.70 那个 PPAPI 版本的 Flash 的话,我这边看视频直接 crash... 也不知道这 PPAPI 和 NPAPI 的 Flash 是不是 Google 自己写的,还是 Adobe 提供的

screen shot 2014-02-20 at 12 55 49 am

screen shot 2014-02-20 at 12 55 44 am

xxy171070 commented 10 years ago

貌似NPAPI版的Flash插件是Adobe开发的,而PPAPI版Flash是Google定制的。维基百科里面有说到,地址:http://en.wikipedia.org/wiki/NPAPI

zhuzhuor commented 10 years ago

@xxy171070 PPAPI 和 NPAPI 是 Google 的两种 API/架构,大家都可以写 PPAPI 和 NPAPI 的 plugin https://developers.google.com/native-client/dev/

仔细地查了下,貌似 Google 的确是准备在今年年初开始 block 所有的 NPAPI 的 plugin http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-npapi.html

Starting in January 2014, Chrome will block webpage-instantiated NPAPI plug-ins by default on the Stable channel.

于是猜测是,Adobe 一直提供了两个版本的 Flash player,NPAPI 和 PPAPI 各一个 等到 NPAPI 这个被 block 的时候 PPAPI 版本就开始运行,结果就造成了我们遇到的这个 bug

xxy171070 commented 10 years ago

@zhuzhuor 原来如此。那这个bug只能是Google官方来解决吗?

zhuzhuor commented 10 years ago

@xxy171070 不知道有没有 workaround 如果不行的话可能只能等 Google 或者 Adobe 来解决了

zhuzhuor commented 10 years ago

http://forums.adobe.com/thread/1073863?tstart=0

Flash Player for Google Chrome is currently developed jointly between Adobe and Google.

好吧,这下可以等 Google Adobe _一起_来解决这个问题了 :worried:

zhuzhuor commented 10 years ago

不知道是不是相关的

Adobe 昨天公布了一个 v12.0.0.44 的 0day 漏洞,然后让大家尽快都升级到 v12.0.0.70 http://forums.adobe.com/message/6140488 http://helpx.adobe.com/security/products/flash-player/apsb14-07.html

These updates resolve a stack overflow vulnerability that could result in arbitrary code execution (CVE-2014-0498).

今天再在 chrome://plugins 页面看,Chrome 的 NPAPI 和 PPAPI 两个 Flash player 都升级到 v12.0.0.70 了 screen shot 2014-02-21 at 10 35 44 am

我这边 disable 了 PPAPI 的 flash 之后,访问优酷总是 crash 有没有人能帮忙测试下,如果只用 v12.0.0.70 版本的 NPAPI flash plugin,扩展程序的转发模式能不能正常使用呢 这样就应该能知道是不是新版 v12.0.0.70 的 NPAPI 和 PPAPI 两个版本都有这个问题

xxy171070 commented 10 years ago

我禁用了PPAPI版Flash插件,只启用NPAPI版Flash插件,访问优酷的时候,出现crash的情况。 截图如下: 1 2

moon0226 commented 10 years ago

还是不能用,无论是普通模式还是其他模式 好像都不行,请问还有什么其他方法吗

lsq921224 commented 10 years ago

image 如图,我用的是.44版的NPAPI flash image 用的normal模式,可以看youku 但是用NPAPI的话adblock不能block 视频广告

e-larry commented 10 years ago

突然就看不了了,我还以为被劫持了。各种扫木马,然后又以为是浏览器问题,差点卸了重装……然后才发现了这里。我很可怜的两个FP都升级到了12.0.0.70。禁用NPAPI版本的没效果,禁用PPAPI的直接崩溃……现在如果把Unblock Youku切到Lite就还能看一些无限制视频,但仅限中国大陆看的就没了……怎么破???

zhuzhuor commented 10 years ago

@e-larry 如果你可以用普通模式,应该用普通模式就行

mainemu commented 10 years ago

使用普通模式所有视频都会显示连接失败,而使用精简和转发模式就只能看无限制的视频。 请问这种情况要怎么破?OTL 还是说只能等了……

whuhacker commented 10 years ago

@mainemu 使用普通模式所有视频都显示连接失败?是不是你所在的网络本身就需要设置代理?

目前想到的,要么等 Chrome 修复 Flash 的 bug,要么换 Firefox + PAC 文件 的方法(不过也有局限)。。

yannuil commented 10 years ago

@whuhacker 我最怕这个不是bug,而是一个新的security policy。。。

e-larry commented 10 years ago

谢谢@zhuzhuor 回复!不过我这里从来都要用转发模式才看得到仅限中国大陆播放的英美剧和电影,精简模式和普通模式只能看到一般的无限制视频……而现在转发模式已经彻底失效了——优酷的所有视频都打不开,显示“连接错误……”。

对了,我的Unblock Youku已经是2.6.11.1版。所以20号的紧急更新对我貌似没有奏效?

zhuzhuor commented 10 years ago

@mainemu @e-larry 看你俩的情况,普通模式不能用的话,一般是你们所用的网络的问题。你们所在的国家或者地区是? 另外可以试试换个 DNS 看看?比如用 Google DNS 或者 OpenDNS

可以参考 @karlcheong 分析澳门地区的网络问题的 issue https://github.com/zhuzhuor/Unblock-Youku/issues/64

mainemu commented 10 years ago

谢谢@zhuzhuor 我正好就是澳门的网络OTL

mainemu commented 10 years ago

我還想問一下,雖然我是澳門的網絡,但是在flash升級之前是可以使用普通模式的……那不知道跟@karlcheong 說的還是不是同一個問題?

karlcheong commented 10 years ago

@zhuzhuor 我的chrome 33.0.1750.117 m 配 flash 12.0.0.70 (npapi) (ppapi disabled)時總是會crash. 配ppapi的flash 12.0.0.70倒是能播放..但又遇到個問題

正常來說影片flvrequest會由f.youku.com 302跳轉到影片服務器, 返回200 並開始下載資料

有的影片flvrequest會由f.youku.com 302跳轉到影片服務器後, 又會再次 303跳轉到另一個影片服務器 然後這時 chrome會把它cancel掉 原因不明。 用firefox郤沒這問題, 造成chrome下大量影片不能看..

example: http://v.youku.com/v_show/id_XNjc1ODQ2Nzgw.html flv_canceled

知道是什么原因嗎?

UPDATE: 換了dev channel 後我這問題消失..看來是chrome的bug吧..

@mainemu 你試試 ping h1.dxt.bj.ie.sogou.com 看看返回的結果是什么呢

e-larry commented 10 years ago

@zhuzhuor 真是好人啊!!谢一个先~

我在英国……

按你提示去了Issue #64 ,把@karlcheong 提供的地址列表添加到hosts,还是不能用普通模式观看受限制视频,提示此视频只限于中国内地播放,虽然这时候ping上述列表中的几个域名已经是联通的IP……

把hosts改回去,又按Google Public DNS上的配置说明设置了采用Google Public DNS,还是不行——ping过列表里的地址都返回220开头的IP……

karlcheong commented 10 years ago

@e-larry 你在英國網絡是用什么公司? 可能 ping 沒問題 但ISP可能用transparents proxy 方式把你的proxy請求劫持掉了

先看看 在IP檢查的網站上 (http://whatismyipaddress.com/) 自己的IP 和 WAN介面的IP 是否一致

e-larry commented 10 years ago

啊,谢谢@karlcheong 先!都是热心人啊!

我家用Virgin Media的光纤。这会儿在学校。晚上回去试试再来更新~

更新1: 对了,我办公室的电脑一直没关,今天看见Chrome提示更新,突然想起来检查一下FP的版本号。发现两个文件都是.44。然后用Unblock Youku的Redirect模式试过,可以观看受限制视频,但Normal模式依然不行(修改hosts文件后ping列表中的站点,显示IP伪装成功,但都超时……在whatismyipaddress.com上检查过,我的IP和WAN界面的一致)。

更新2: 今天回家用whatismyipadress.com检查了我的IP,显示和路由器WAN界面的一致。 然后ping列表中的某个搜狗服务器地址确实返回了电信的IP。 还请@karlcheong 大神指教~谢谢!

mainemu commented 10 years ago

ping

@karlcheong 額不知道我有沒有操作錯誤……不過得出的結果是這樣的orz

sharpx439 commented 10 years ago

今天回家发现所有视频网站的视频都看不了,显示网络连接错误,普通模式。 本人德国kabel deutschland用户, 路由器的配置都是autoprovisioning的,只有IPV6的地址, 跑去查IP网站才知道自己的IPV4地址, 是不是悲剧了。。。

zhuzhuor commented 10 years ago

@sharpx439 你试试普通模式?

xxy171070 commented 10 years ago

@sharpx439 你可以先试试看卸载掉unblock youku扩展,然后重装该扩展。如果还是不行只能用Firefox+Pac的方法,方法地址:http://www.lovelucy.info/unblock-youku-on-ipad.html

zhuzhuor commented 10 years ago

之前也在 Adobe 的网站上 post 了一个 bug report https://bugbase.adobe.com/index.cfm?event=bug&id=3711074 今天上去看的时候发现 Adobe 有个人已经回复了,说不能 reproduce...

Chromium 那边的 bug report 还是 unconfirmed 的状态 而且连个默认会收到通知的 Chromium developers 都没有

看这情况是短时间内是修复不了了 暂时想考虑新加个检测功能,如果转发不能正常工作就屏蔽掉转发模式,避免用户什么视频都播放失败

顺便实在想吐槽一下 感觉现在 Chrome 越做越臃肿,一个劲地增加各种新功能,最开始的速度优势现在也不明显了 但是各种 bug reports 都没人理,我去年 10 月份交的 bug report 还是 unconfirmed 的状态 http://crbug.com/311489

whuhacker commented 10 years ago

Firefox 也将 废弃 NPAPI 插件支持

e-larry commented 10 years ago

@zhuzhuor 在adobe的bug report上看见你们为我们这些只能用转发模式观看受限制视频的人作出的不懈努力啦。谢啦!

zhuzhuor commented 10 years ago

Google Code 上的 issue 已经成为 fixed 了,貌似 Adobe 的修复已经交给 Google 了 看看 Google 什么时候把新版的 Flash 放出来,然后再测试测试

引用 Adobe developer 的原话

Those flash related issues should be fixed in the next Pepper flash update which should be handed off to Google today.

另外发现貌似这几个关键的 developers 都是国人/华裔,国人给力呀

a8181811 commented 10 years ago

@zhuzhuor 辛苦了。反馈这个问题麻烦死了。又是Google又是Adobe,幸好Adobe那边回应还快些,https://code.google.com/p/chromium/issues/detail?id=345160 总之,辛苦了~

xxy171070 commented 10 years ago

@zhuzhuor 辛苦了,这个问题也困扰着Chrome下各种去视频网站广告扩展的去视频广告的功能正常使用。希望Adobe和Chrome官方早点解决这个问题。

yannuil commented 10 years ago

@zhuzhuor 没有任何一个视频网站可以观看了。。。 我使用普通模式,在window 7下运行12.0.0.70版本的flash。12小时前观看过腾讯视频。

开了debugger,看了优酷的网络请求都是错误代码403 forbidden的反馈,起初估计和 08ad5b20e8257ba30aa05e8a01c59a42eff11741 有关。但是腾讯也被影响了,setup_timezone却与腾讯无关的内容,估计是zw_65_87.sogou-in.domain (squid/2.6.STABLE23)升级了?