├── 插件.crx ├── plug ├── icon.png ├── icon_128.png ├── js │ ├── popup.js │ └── main.js ├── manifest.json └── popup.html ├── README.md ├── dy_peck.js ├── LICENSE ├── dy_event.js ├── dy_huojian.js └── dy.js /插件.crx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hooklife/douyuhj/HEAD/插件.crx -------------------------------------------------------------------------------- /plug/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hooklife/douyuhj/HEAD/plug/icon.png -------------------------------------------------------------------------------- /plug/icon_128.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hooklife/douyuhj/HEAD/plug/icon_128.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # 斗鱼火箭监视 2 | ----- 3 | ##斗鱼监视火箭、抢火箭 主要功能 4 | 自动监视火箭 5 | 自动进入火箭房间 6 | 自动抢火箭宝箱 7 | 自动屏蔽抢宝箱 房间的弹幕/礼物(省资源) 8 | 自动关闭直播间 9 | ##使用说明 10 | http://www.hooklife.me/archives/83/ 11 | 12 | 13 | 我还有很多不完善的问题。 但是不太想继续做这个版本了。 就开源出来给大家去完善吧。 14 | 接下来会有GO语言监视火箭的工具 正在编写 写出之后应该也会开源 -------------------------------------------------------------------------------- /plug/js/popup.js: -------------------------------------------------------------------------------- 1 | document.getElementById('open').onclick=function (){ 2 | chrome.tabs.query({active:true, currentWindow:true}, function(tab){ 3 | // chrome.tabs.update(tab[0].id, {url: tab[0].url+"#event"}) 4 | var code = 'window.location.hash="#event";window.location.reload();'; 5 | chrome.tabs.executeScript(tab.id, {code: code}); 6 | }); 7 | } 8 | //点击链接跳转 9 | var links=document.querySelectorAll('._href'); 10 | for (var i = 0; i < links.length; i++) { 11 | links[i].onclick=function (){ 12 | chrome.tabs.create({url: this.href}); 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /plug/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "manifest_version": 2, 3 | "name": "斗鱼火箭监视、抢宝箱", 4 | "version": "1.1.0", 5 | "description": "斗鱼火箭监视、抢宝箱", 6 | "icons": { 7 | "128": "icon_128.png" 8 | }, 9 | "permissions": ["http://*.douyutv.com/*", "http://*.douyu.tv/*","http://*.douyu.com/*","tabs"], 10 | "browser_action": { 11 | "default_title": "设置", 12 | "default_icon": "icon.png", 13 | "default_popup": "popup.html" 14 | }, 15 | "content_scripts": [ 16 | { 17 | "matches": ["http://*.douyutv.com/*","http://*.douyu.com/*", "http://*.douyu.tv/*"], 18 | "js": ["js/main.js"] 19 | } 20 | ] 21 | } 22 | -------------------------------------------------------------------------------- /plug/js/main.js: -------------------------------------------------------------------------------- 1 | function loadScript(url, callback) 2 | { 3 | // Adding the script tag to the head as suggested before 4 | var head = document.getElementsByTagName('body')[0]; 5 | var script = document.createElement('script'); 6 | script.type = 'text/javascript'; 7 | script.src = url; 8 | 9 | // Then bind the event to the callback function. 10 | // There are several events for cross browser compatibility. 11 | script.onreadystatechange = callback; 12 | script.onload = callback; 13 | 14 | // Fire the loading 15 | head.appendChild(script); 16 | } 17 | 18 | var ver="?ver=1.1.0zs"; 19 | 20 | 21 | var wHash=window.location.hash 22 | if (wHash=="#event") { 23 | //监视模式 24 | loadScript("http://7xqtuw.com1.z0.glb.clouddn.com/dy_event.js"+ver); 25 | } 26 | else if(wHash=="#huojian"){ 27 | //强火箭模式 28 | loadScript("http://7xqtuw.com1.z0.glb.clouddn.com/dy_huojian.js"+ver); 29 | }else{ 30 | //默认模式 31 | loadScript("http://7xqtuw.com1.z0.glb.clouddn.com/dy_peck.js"+ver); 32 | } 33 | 34 | -------------------------------------------------------------------------------- /dy_peck.js: -------------------------------------------------------------------------------- 1 | var ywtit=$('#ywtit'); 2 | //抢鱼丸功能默认开启 3 | $("#right_col_peck .peck-cdn").bind('DOMSubtreeModified',peck) 4 | function peck(){ 5 | /* 1为自动抢鱼丸模式 0为普通抢模式 */ 6 | //判断是否有宝 7 | var peckText=$("#right_col_peck .peck-cdn").text().trim(); 8 | if(peckText&&peckText.indexOf(':')>0){ 9 | tmp = peckText.split(":"); 10 | sec = parseInt(tmp[0]) * 60 + parseInt(tmp[1]); 11 | setTimeout(openPeck, (sec * 1000) - 1000); 12 | $("#right_col_peck").unbind('DOMSubtreeModified'); 13 | return; 14 | } 15 | if(peckText=="领取"){ 16 | $("#right_col_peck").click(); 17 | openPeck(); 18 | return; 19 | } 20 | } 21 | 22 | function openPeck(){ 23 | var _Timer = setInterval(function () { 24 | if ($(".peck-cdn").text() == "领取" && !$(".peck-cdn").is(":hidden")) { 25 | $(".peck-cdn,#right_col_peck").click(); 26 | } else if ($(".peck-cdn").is(":hidden")) { 27 | clearInterval(_Timer); 28 | $("#right_col_peck .peck-cdn").bind('DOMSubtreeModified',peck) 29 | } 30 | },500) 31 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /plug/popup.html: -------------------------------------------------------------------------------- 1 | 2 | 59 | 点此开启 60 | 作者主页 61 | 扩展主页(更新) 62 | -------------------------------------------------------------------------------- /dy_event.js: -------------------------------------------------------------------------------- 1 | var ywtit=$('#ywtit'); 2 | //拦截封包 3 | function Sttdecode(f) { 4 | if (f == "") { 5 | return false 6 | } 7 | var d = f.split("/"); 8 | var e = new Array(); 9 | $.each(d, function(b) { 10 | e[b] = new Object(); 11 | if (d[b].indexOf("@=") != -1) { 12 | var a = d[b].split("@="); 13 | e[b].name = de_filter_str(a[0]); 14 | e[b].value = de_filter_str(a[1]) 15 | } else { 16 | e[b].name = ""; 17 | e[b].value = de_filter_str(d[b]) 18 | } 19 | }); 20 | //sn@=放风筝的X伦/dn@=佐y1丶/gn@=春雷礼炮/gc@=1/drid@=314136/gs@=6/es@=1/rid@=287471/gid@=102/ 21 | 22 | 23 | 24 | //sn@=放风筝的X伦/dn@=佐y1丶/gn@=春雷礼炮/gc@=1/drid@=314136/gs@=6/es@=1/rid@=287471/gid@=102/ 25 | if(getsttdata(e,"type")=='chatmessage'){ 26 | return false; 27 | } 28 | 29 | //抢鱼丸的破信 30 | //type@=ggbb/rid@=461739/gid@=4/sl@=56/sid@=18160483/did@=25089260/snk@=安之若素M/dnk@=tianchangyu/rpt@=0/ 31 | if(getsttdata(e,"type")=='ggbb'){ 32 | return false; 33 | } 34 | 35 | //屏蔽礼物 36 | if(getsttdata(e,"type")=='dgn'){ 37 | return false; 38 | } 39 | if(getsttdata(e,"gs")=='6'){ 40 | // window.location.href="/"+getsttdata(e,'drid'); 41 | if (getsttdata(e,'drid')) { 42 | window.open("/"+getsttdata(e,'drid')+"?fromuid=123621#huojian","room_"+getsttdata(e,'drid')); 43 | } 44 | } 45 | 46 | return e 47 | } 48 | 49 | //加载成功监视 50 | ywtit.bind('DOMSubtreeModified',function (){ 51 | var ywText= ywtit.text(); 52 | if(ywText.indexOf('丸')>0){ 53 | ywtit.unbind('DOMSubtreeModified'); 54 | $.dialog.tips_black("斗鱼自动抢鱼丸 监视开启成功 获取新版本请加群:541978413"); 55 | //人数部分监视 56 | setInterval(function (){ 57 | //人太少了 58 | if($('#ol_num').text()<100000){ 59 | $.dialog.tips_black("人数少于10W准备跳转"); 60 | $.get('/directory/all?page=1&isAjax=1', function(data) { 61 | var div = $('
'); 62 | div.html(data); 63 | var href=div.find('li:eq(0) a').attr('href'); 64 | window.location.href=href+"#event"; 65 | }); 66 | } 67 | },1000) 68 | 69 | //暂停视频 70 | setTimeout(function (){ 71 | var flashvars=$('#WebRoom param[name="flashvars"]'); 72 | var flashvars_val=flashvars.val(); 73 | flashvars.val(flashvars_val.replace('Status=true','Status=false')); 74 | $('#WebRoom').css('display', 'none'); 75 | setTimeout(function (){ 76 | $('#WebRoom').css('display', 'block'); 77 | setInterval(function (){ 78 | thisMovie("WebRoom").js_barrage(false); 79 | //礼物屏蔽 80 | thisMovie("WebRoom").js_effectVisible(0) 81 | },500) 82 | },500) 83 | 84 | },1000) 85 | } 86 | }) 87 | -------------------------------------------------------------------------------- /dy_huojian.js: -------------------------------------------------------------------------------- 1 | var ywtit=$('#ywtit'); 2 | //拦截封包 屏蔽弹幕 防止卡顿 3 | function Sttdecode(f) { 4 | 5 | // console.log(f) 6 | if (f == "") { 7 | return false 8 | } 9 | var d = f.split("/"); 10 | var e = new Array(); 11 | $.each(d, function(b) { 12 | e[b] = new Object(); 13 | if (d[b].indexOf("@=") != -1) { 14 | var a = d[b].split("@="); 15 | e[b].name = de_filter_str(a[0]); 16 | e[b].value = de_filter_str(a[1]) 17 | } else { 18 | e[b].name = ""; 19 | e[b].value = de_filter_str(d[b]) 20 | } 21 | }); 22 | //sn@=放风筝的X伦/dn@=佐y1丶/gn@=春雷礼炮/gc@=1/drid@=314136/gs@=6/es@=1/rid@=287471/gid@=102/ 23 | if(getsttdata(e,"type")=='chatmessage'){ 24 | return false; 25 | } 26 | 27 | //抢鱼丸的破信 28 | //type@=ggbb/rid@=461739/gid@=4/sl@=56/sid@=18160483/did@=25089260/snk@=安之若素M/dnk@=tianchangyu/rpt@=0/ 29 | if(getsttdata(e,"type")=='ggbb'){ 30 | return false; 31 | } 32 | //屏蔽礼物 33 | if(getsttdata(e,"type")=='dgn'){ 34 | return false; 35 | } 36 | return e 37 | } 38 | 39 | ywtit.bind('DOMSubtreeModified',function (){ 40 | var ywText = ywtit.text(); 41 | if(ywText.indexOf('丸')>0){ 42 | // $('#chart_content').val('免费监视火箭 秒抢鱼丸 群:541978413') 43 | // sendmsg(); 44 | ywtit.unbind('DOMSubtreeModified'); 45 | 46 | //暂停视频 47 | setTimeout(function (){ 48 | var flashvars=$('#WebRoom param[name="flashvars"]'); 49 | var flashvars_val=flashvars.val(); 50 | flashvars.val(flashvars_val.replace('Status=true','Status=false')); 51 | $('#WebRoom').css('display', 'none'); 52 | setTimeout(function (){ 53 | $('#WebRoom').css('display', 'block'); 54 | //屏蔽弹幕 55 | setInterval(function (){ 56 | thisMovie("WebRoom").js_barrage(false); 57 | //礼物屏蔽 58 | thisMovie("WebRoom").js_effectVisible(0) 59 | },500) 60 | 61 | },500) 62 | 63 | },1000) 64 | 65 | } 66 | }) 67 | 68 | //抢鱼丸功能默认开启 69 | $("#right_col_peck .peck-cdn").bind('DOMSubtreeModified',peck) 70 | function peck(){ 71 | /* 1为自动抢鱼丸模式 0为普通抢模式 */ 72 | //判断是否有宝 73 | 74 | 75 | //强行去掉loading 76 | $("#right_col_peck").removeClass("peck-loading").addClass("peck-close"); 77 | var peckText=$("#right_col_peck .peck-cdn").text().trim(); 78 | if(peckText&&peckText.indexOf(':')>0){ 79 | tmp = peckText.split(":"); 80 | sec = parseInt(tmp[0]) * 60 + parseInt(tmp[1]); 81 | setTimeout(openPeck, (sec * 1000) - 1000); 82 | $("#right_col_peck").unbind('DOMSubtreeModified'); 83 | return; 84 | } 85 | if(peckText=="领取"){ 86 | $("#right_col_peck").click(); 87 | openPeck(); 88 | return; 89 | } 90 | } 91 | 92 | function openPeck(){ 93 | var _Timer = setInterval(function () { 94 | if ($(".peck-cdn").text() == "领取" && !$(".peck-cdn").is(":hidden")) { 95 | $(".peck-cdn,#right_col_peck").click(); 96 | } else if ($(".peck-cdn").is(":hidden")) { 97 | window.close(); 98 | } 99 | },500) 100 | } -------------------------------------------------------------------------------- /dy.js: -------------------------------------------------------------------------------- 1 | var wHash=window.location.hash 2 | var ywtit=$('#ywtit'); 3 | //监视页面 4 | if (wHash=="#event") { 5 | //拦截封包 6 | function Sttdecode(f) { 7 | if (f == "") { 8 | return false 9 | } 10 | var d = f.split("/"); 11 | var e = new Array(); 12 | $.each(d, function(b) { 13 | e[b] = new Object(); 14 | if (d[b].indexOf("@=") != -1) { 15 | var a = d[b].split("@="); 16 | e[b].name = de_filter_str(a[0]); 17 | e[b].value = de_filter_str(a[1]) 18 | } else { 19 | e[b].name = ""; 20 | e[b].value = de_filter_str(d[b]) 21 | } 22 | }); 23 | //sn@=放风筝的X伦/dn@=佐y1丶/gn@=春雷礼炮/gc@=1/drid@=314136/gs@=6/es@=1/rid@=287471/gid@=102/ 24 | 25 | if(getsttdata(e,"gs")=='6'){ 26 | // window.location.href="/"+getsttdata(e,'drid'); 27 | //打开礼物窗口 28 | window.open("/"+getsttdata(e,'drid')+"#huojian","room_"+getsttdata(e,'drid')); 29 | } 30 | return e 31 | } 32 | 33 | //加载成功监视 34 | ywtit.bind('DOMSubtreeModified',function (){ 35 | var ywText= ywtit.text(); 36 | if(ywText.indexOf('丸')>0){ 37 | ywtit.unbind('DOMSubtreeModified'); 38 | $.dialog.tips_black("斗鱼自动抢鱼丸 监视开启成功 获取新版本请加群:541978413"); 39 | //人数部分监视 40 | setInterval(function (){ 41 | //人太少了 42 | if($('#ol_num').text()<100000){ 43 | $.dialog.tips_black("人数少于10W准备跳转"); 44 | $.get('/directory/all?page=1&isAjax=1', function(data) { 45 | var div = $(''); 46 | div.html(data); 47 | var href=div.find('li:eq(0) a').attr('href'); 48 | window.location.href=href+"#event"; 49 | }); 50 | } 51 | },5000) 52 | } 53 | }) 54 | } 55 | 56 | var status=0; 57 | if(wHash=="#huojian"){ 58 | //拦截封包 屏蔽弹幕 防止卡顿 59 | function Sttdecode(f) { 60 | 61 | // console.log(f) 62 | if (f == "") { 63 | return false 64 | } 65 | var d = f.split("/"); 66 | var e = new Array(); 67 | $.each(d, function(b) { 68 | e[b] = new Object(); 69 | if (d[b].indexOf("@=") != -1) { 70 | var a = d[b].split("@="); 71 | e[b].name = de_filter_str(a[0]); 72 | e[b].value = de_filter_str(a[1]) 73 | } else { 74 | e[b].name = ""; 75 | e[b].value = de_filter_str(d[b]) 76 | } 77 | }); 78 | //sn@=放风筝的X伦/dn@=佐y1丶/gn@=春雷礼炮/gc@=1/drid@=314136/gs@=6/es@=1/rid@=287471/gid@=102/ 79 | if(getsttdata(e,"type")=='chatmessage'){ 80 | return false; 81 | } 82 | 83 | //抢鱼丸的破信 84 | //type@=ggbb/rid@=461739/gid@=4/sl@=56/sid@=18160483/did@=25089260/snk@=安之若素M/dnk@=tianchangyu/rpt@=0/ 85 | if(getsttdata(e,"type")=='ggbb'){ 86 | return false; 87 | } 88 | return e 89 | } 90 | 91 | ywtit.bind('DOMSubtreeModified',function (){ 92 | var ywText = ywtit.text(); 93 | if(ywText.indexOf('丸')>0){ 94 | //屏蔽弹幕 95 | thisMovie("WebRoom").js_barrage(false); 96 | //礼物屏蔽 97 | thisMovie("WebRoom").js_effectVisible(0) 98 | 99 | $('#chart_content').val('监视火箭 秒抢鱼丸 群:541978413') 100 | sendmsg(); 101 | ywtit.unbind('DOMSubtreeModified'); 102 | } 103 | }) 104 | status=1 105 | } 106 | //抢鱼丸功能默认开启 107 | $("#right_col_peck .peck-cdn").bind('DOMSubtreeModified',peck) 108 | function peck(){ 109 | /* 1为自动抢鱼丸模式 0为普通抢模式 */ 110 | //判断是否有宝 111 | var peckText=$("#right_col_peck .peck-cdn").text().trim(); 112 | if(peckText&&peckText.indexOf(':')>0){ 113 | tmp = peckText.split(":"); 114 | sec = parseInt(tmp[0]) * 60 + parseInt(tmp[1]); 115 | setTimeout(openPeck, (sec * 1000) - 1000); 116 | $("#right_col_peck").unbind('DOMSubtreeModified'); 117 | return; 118 | } 119 | if(peckText=="领取"){ 120 | $("#right_col_peck").click(); 121 | return; 122 | } 123 | } 124 | 125 | function openPeck(){ 126 | var _Timer = setInterval(function () { 127 | if ($(".peck-cdn").text() == "领取" && !$(".peck-cdn").is(":hidden")) { 128 | $(".peck-cdn,#right_col_peck").click(); 129 | } else if ($(".peck-cdn").is(":hidden")) { 130 | if (status==1) { 131 | window.close(); 132 | }else{ 133 | clearInterval(_Timer); 134 | $("#right_col_peck .peck-cdn").bind('DOMSubtreeModified',peck) 135 | } 136 | } 137 | },50) 138 | } --------------------------------------------------------------------------------