搜索
查看: 424497|回复: 4138
收起左侧

[原创资源] 【不定期】YouKu#iqiyix#tudou#letv播放器AVM2代码去广告修改

  [复制链接]
15536900
发表于 2013-3-20 22:21:18 | 显示全部楼层 |阅读模式
本帖最后由 15536900 于 2018-10-7 11:09 编辑

首先要感谢
OpenGG.Clean.Player 的作者 鲁夫的爱
YoukuAntiADs@harv.c.uc 的作者cinhoo 还有很多编写相关插件和工具的开发者
感谢yndoc pcxfirefox xxy171070 beyonk jc3213(mozest) baga9 lastdream2013 _一方通行、xplsy等坛友和众版主的帮助和测试
还有要感谢一下pullywood(普利坞),chrome下使用代{过}{滤}理方法是来自他的创意.
友情推荐另一原创修改:dszw312492869
----------------------------------------------------------------
Twitter:@sdAonDoM  GitHub:@kafan15536900
提醒:
Firefox下依赖XPCOM.
Firefox Quantum使得XPCOM存在于Firefox新版本中
57加载UC后仍可以使用,57可用版本已更新到下方小字末尾部分

如播放器后仍然出现问题,请先检查是否使用着官方播放器,并请检查脚本和其支持扩展是否正常加载
更换或修改uc脚本后请手动清理startupCache

        土豆如果只有声音无画面,请暂停再播放或者拖动播放进度条
        letv如果全屏画面停滞,请尝试降低Flash版本 此为letv自身bug与修改无关

报告问题时请一定要注意(不符合要求的报告将不被采纳):

        当本帖中播放器正确加载后,对视频点击鼠标右键将出现 Mod 或者 noAds 字样
        请说明浏览器版本与使用何种脚本方案(uc,gm,扩展 在线还是本地)
        特别加上一条,一定要附带测试地址

统一回复部分常见问题

        1.修改不会完全跟随官方版本
        2.修改所去掉的不局限于广告部分
        3.不经用户同意直接开弹幕的将被去除


YoukuAntiADs(haoutil)项目 testmod jym2005分流

觉得麻烦的伸手党请下载扩展:
Firefox:
halflife acvaa acvaa2 相关主题
jc3213(mozest)绿色播放器  Github搜索jc3212(应本人要求,数字要+1)
rasso1 AntiChinaVideoAdsAlliances  原主题(已停止)
cinhoo版本 已停止更新 (扩展+脚本)
Chrome (不支持):

ADfree.Player.Offline(扩展),糖醋咖啡   停止更新
ADfree.Player.Offline(扩展),作者 jat001
Video.Clean.Player.Offline(扩展),作者 yndoc  停止更新
Onens.Clean.Player(扩展+脚本),作者 gesion
Adkill and Media Download(扩展),作者 xplsy 停止更新

其他未申明但仍然使用本主题的扩展与软件:
各种应用商店里有一箩筐..(看着直摇头

本贴所提供附件无法直接使用,因此要伸手的话请慢慢阅读
播放器使用依赖脚本,在线是使用需要服务器空间,脚本可以采用YoukuAntiADs并需自行修改其中播放器地址
1.FF57用户请使用此脚本,并进行相应的修改.uc使用方法请在论坛专门主题内搜索. YoukuAntiADs(57)@harv.c.uc.rar (4.09 KB, 下载次数: 74)

评分

参与人数 11技术 +1 经验 +580 分享 +3 魅力 +4 人气 +19 收起 理由
samtogo + 1 + 510 + 3 + 3 版区有你更精彩: )
屁颠屁颠 + 3 版区有你更精彩: )
zhaonan007007 + 1 给力啊!
beyonk + 1 版区有你更精彩: )
庭院飘雪 + 1

查看全部评分

本帖被以下淘专辑推荐:

a8181811
发表于 2013-3-20 22:22:30 | 显示全部楼层
高人,要火
cloudzhang23
发表于 2013-3-20 22:23:55 | 显示全部楼层
下载来试试看
samtogo
发表于 2013-3-20 22:23:57 | 显示全部楼层
中路solo吗哈哈。。。mozest也有你的存在吗哈
lzp0902
发表于 2013-3-20 22:24:21 | 显示全部楼层
授人以鱼不如授人以渔 支持
samtogo
发表于 2013-3-20 22:24:30 | 显示全部楼层
欢迎支持技术类讨论哇
xxy171070
发表于 2013-3-20 22:26:06 | 显示全部楼层
膜拜楼主,不解释
15536900
 楼主| 发表于 2013-3-20 22:26:46 | 显示全部楼层
samtogo 发表于 2013-3-20 22:23
中路solo吗哈哈。。。mozest也有你的存在吗哈

大菜鸟不敢不敢,mozest只是游客而已
J_ameson
发表于 2013-3-20 22:27:29 | 显示全部楼层
哦 你妹的 要不要这么给力
kknd2
发表于 2013-3-20 22:29:03 | 显示全部楼层
技术贴,收藏了
Sol_BadGuy
发表于 2013-3-20 22:31:50 | 显示全部楼层
这样下去,优酷要用https了
2712711
发表于 2013-3-20 22:33:21 | 显示全部楼层
保密撒,别让优酷知道~
15536900
 楼主| 发表于 2013-3-20 22:34:46 | 显示全部楼层
2712711 发表于 2013-3-20 22:33
保密撒,别让优酷知道~

那么加个查看权限吧~
2712711
发表于 2013-3-20 22:35:42 | 显示全部楼层
15536900 发表于 2013-3-20 22:34
那么加个查看权限吧~

那我看不了.....
15536900
 楼主| 发表于 2013-3-20 22:36:19 | 显示全部楼层
2712711 发表于 2013-3-20 22:35
那我看不了.....


我可没有权限加..看版主怎么想吧
samtogo
发表于 2013-3-20 22:39:57 | 显示全部楼层
15536900 发表于 2013-3-20 22:36
我可没有权限加..看版主怎么想吧

我是来给你加分加魅力的哇。。。你自己把握喽。。如果你不想这么快散播开就加哇
samtogo
发表于 2013-3-20 22:46:30 | 显示全部楼层
期待你更多大作了哇。。。
caliban
发表于 2013-3-20 22:49:10 | 显示全部楼层
技术贴,必须支持!
samtogo
发表于 2013-3-20 22:55:24 | 显示全部楼层
为了大神的辛苦结晶决定第一次加5权限。。!!大神加油
pcxfirefox
发表于 2013-3-20 22:56:05 | 显示全部楼层
那个工具修改后是不是可以重新编译成swf?
15536900
 楼主| 发表于 2013-3-20 23:00:06 | 显示全部楼层
samtogo 发表于 2013-3-20 22:39
我是来给你加分加魅力的哇。。。你自己把握喽。。如果你不想这么快散播开就加哇

稍微加点阅读限制应该不要紧的..
版主你看我都潜水这么久了,我这最怕出名了.
15536900
 楼主| 发表于 2013-3-20 23:00:39 | 显示全部楼层
pcxfirefox 发表于 2013-3-20 22:56
那个工具修改后是不是可以重新编译成swf?

直接修改编译完保存即可
15536900
 楼主| 发表于 2013-3-20 23:13:38 | 显示全部楼层
qq2w3e4r 发表于 2013-3-20 23:07
这能改网页游戏吗

这个印象中opengg还是某个地方说过,改可能还是可以不过要解决跨站的问题
目前的这种修改youku播放器的方法只能通过userChromeJS加载就是这个原因,opengg的项目里面有几个php文件来实现跨站.
因此这种修改被限制在了Firefox上
15536900
 楼主| 发表于 2013-3-20 23:18:13 | 显示全部楼层
cloudzhang23 发表于 2013-3-20 23:12
光是优酷的广告的话,貌似我更新了最新的adp增强规则就没事了。搜狐的倒是还有


其实只要有选择的截断那几个网址的返回数据就足够处理了
比如有Mason的重定向 或者 能够进行URL重定向能力的路由器 均可
15536900
 楼主| 发表于 2013-3-20 23:20:52 | 显示全部楼层
li13911 发表于 2013-3-20 23:16
这个怎么用啊?脚本重定向然后本地播放?可否给个链接

这里有相关的一些讨论http://bbs.kafan.cn/thread-1497325-1-1.html
cinhoo的一个回复
https://g.mozest.com/viewthread. ... mp;page=2#pid300698

评分

参与人数 1经验 +6 收起 理由
samtogo + 6 感谢解答: )

查看全部评分

15536900
 楼主| 发表于 2013-3-20 23:22:31 | 显示全部楼层
li13911 发表于 2013-3-20 23:16
这个怎么用啊?脚本重定向然后本地播放?可否给个链接

这是一个haoutil写好的脚本
  1. // ==UserScript==
  2. // @name            youkuantiads.uc.js
  3. // @namespace       YoukuAntiADs@harv.c
  4. // @description     视频网站去黑屏,支持优酷,ku6
  5. // @include         chrome://browser/content/browser.xul
  6. // @author          harv.c
  7. // @homepage        http://haoutil.tk
  8. // @version         1.3.4.8
  9. // ==/UserScript==
  10. (function() {
  11.     // YoukuAntiADs, request observer
  12.     // 脚本地址:https://j.mozest.com/zh-CN/ucscript/script/92/  播放器swf更新地址:https://code.google.com/p/haoutil/source/browse/#svn%2Ftrunk%2Fplayer
  13.     function YoukuAntiADs() {};
  14.     var refD = 'file:///' + Components.classes['@mozilla.org/file/directory_service;1'].getService(Components.interfaces.nsIProperties).get("ProfD", Components.interfaces.nsILocalFile).path + '/chrome/swf/';
  15.     YoukuAntiADs.prototype = {
  16.         SITES: {
  17.             'youku': {
  18.                 'player':refD + 'youku.swf',
  19.                 're': /http:\/\/static\.youku\.com(\/v[\d\.]*)?\/v\/swf\/(loader|player.*)\.swf/
  20.             },
  21.             'ku6': {
  22.                 'player': refD + 'ku6.swf',
  23.                 're': /http:\/\/player\.ku6cdn\.com\/default\/common\/player\/\d+\/player\.swf/
  24.             },
  25.             'iqiyi': {
  26.                 'player': refD + 'iqiyi.swf',
  27.                 're': /http:\/\/www\.iqiyi\.com\/player\/20(13((03(0[8-9]|[1-3][0-9]))|(0[4-9]|1[0-2]))|(1[4-9]|[2-9]))\d+\/Player\.swf/
  28.             }
  29.         },
  30.         os: Cc['@mozilla.org/observer-service;1']
  31.                 .getService(Ci.nsIObserverService),
  32.         // getPlayer, get modified player
  33.         getPlayer: function(site, callback) {
  34.             NetUtil.asyncFetch(site['player'], function(inputStream, status) {
  35.                 var binaryOutputStream = Cc['@mozilla.org/binaryoutputstream;1']
  36.                                             .createInstance(Ci['nsIBinaryOutputStream']);
  37.                 var storageStream = Cc['@mozilla.org/storagestream;1']
  38.                                         .createInstance(Ci['nsIStorageStream']);
  39.                 var count = inputStream.available();
  40.                 var data = NetUtil.readInputStreamToString(inputStream, count);

  41.                 storageStream.init(512, count, null);
  42.                 binaryOutputStream.setOutputStream(storageStream.getOutputStream(0));
  43.                 binaryOutputStream.writeBytes(data, count);

  44.                 site['storageStream'] = storageStream;
  45.                 site['count'] = count;

  46.                 if(typeof callback == 'function') {
  47.                     callback();
  48.                 }
  49.             });
  50.         },
  51.         observe: function(aSubject, aTopic, aData) {
  52.             if(aTopic != 'http-on-examine-response') return;

  53.             var http = aSubject.QueryInterface(Ci.nsIHttpChannel);
  54.             for(var i in this.SITES) {
  55.                 var site = this.SITES[i];
  56.                 if(site['re'].test(http.URI.spec)) {
  57.                     if(!site['storageStream'] || !site['count']) {
  58.                         http.suspend();
  59.                         this.getPlayer(site, function() {
  60.                             http.resume();
  61.                         });
  62.                     }

  63.                     var newListener = new TrackingListener();
  64.                     aSubject.QueryInterface(Ci.nsITraceableChannel);
  65.                     newListener.originalListener = aSubject.setNewListener(newListener);
  66.                     newListener.site = site;

  67.                     break;
  68.                 }
  69.             }
  70.         },
  71.         register: function() {
  72.             this.os.addObserver(this, 'http-on-examine-response', false);
  73.         },
  74.         unregister: function() {
  75.             this.os.removeObserver(this, 'http-on-examine-response', false);
  76.         }
  77.     };

  78.     // TrackingListener, redirect youku player to modified player
  79.     function TrackingListener() {
  80.         this.originalListener = null;
  81.         this.site = null;
  82.     }
  83.     TrackingListener.prototype = {
  84.         onStartRequest: function(request, context) {
  85.             this.originalListener.onStartRequest(request, context);
  86.         },
  87.         onStopRequest: function(request, context) {
  88.             this.originalListener.onStopRequest(request, context, Cr.NS_OK);
  89.         },
  90.         onDataAvailable: function(request, context) {
  91.             this.originalListener.onDataAvailable(request, context, this.site['storageStream'].newInputStream(0), 0, this.site['count']);
  92.         }
  93.     };

  94.     // register observer
  95.     var y = new YoukuAntiADs();
  96.     var isLoaded = false;
  97.     if(location == 'chrome://browser/content/browser.xul') {
  98.         isLoaded = true;
  99.         y.register();
  100.     }

  101.     // unregister observer
  102.     window.addEventListener('unload', function() {
  103.         if(location == 'chrome://browser/content/browser.xul' && isLoaded) {
  104.             y.unregister();
  105.         }
  106.     });
  107. })();
复制代码
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛|优惠券| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 苏ICP备07004770号 ) GMT+8, 2019-4-21 12:54 , Processed in 0.062329 second(s), 6 queries , MemCache On.

快速回复 返回顶部 返回列表