NOTICE: By continued use of this site you understand and agree to the binding Terms of Service and Privacy Policy.
// ==UserScript== // @name Kissanime Bingewatcher+ // @namespace https://greasyfork.org/en/users/10118-drhouse // @version 1.61 // @description Automatically plays video in fullscreen, resumes playback, auto-advances to next episode on finish, customizable skip intro and end credits // @include http*://kissanime.ru/* // @include http*://replay.watch/* // @include http*://www.novelplanet.me/* // @include http*://*.mp4upload.com:*/* // @include https://redirector.googlevideo.com/* // @include https://fvs.io/* // @require http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js // @resource anticaptcha https://greasyfork.org/scripts/369048-kissanime-complete-captcha-removal/code/%5BKissAnime%5D%20Complete%20captcha%20removal.user.js?version=747371 // @grant GM_getValue // @grant GM_setValue // @grant GM_notification // @grant GM_getResourceText // @author drhouse // @license CC-BY-NC-SA-4.0; https://creativecommons.org/licenses/by-nc-nd/4.0/ // @license MIT // @icon https://www.google.com/s2/favicons?domain=kissanime.ru // ==/UserScript== this.$ = this.jQuery = jQuery.noConflict(true); (function($){ var garbgarb = setTimeout(function(){ var garb = $('#btnNext').parent().attr('href'); if ( garb.indexOf('kissanime') > -1 ) { GM_setValue("btnNext", garb); clearInterval(garbgarb); } }, 1000); function openFullscreen(elem) { if (elem.requestFullscreen) { elem.requestFullscreen(); } else if (elem.mozRequestFullScreen) { /* Firefox */ elem.mozRequestFullScreen(); } else if (elem.webkitRequestFullscreen) { /* Chrome, Safari and Opera */ elem.webkitRequestFullscreen(); } else if (elem.msRequestFullscreen) { /* IE/Edge */ elem.msRequestFullscreen(); } } function waitForElementToDisplay(selector, time) { if(document.querySelector(selector)!=null) { var player = $('video').get(0); player.play(); var elem = $('video').parent().parent().get(0); openFullscreen(elem); $(elem).focus(); var aniName; var aniName1 = window.location.href.split("/")[4]; var aniName2 = document.referrer.split("/")[4]; if (aniName1 != undefined){aniName = window.location.href.split("/")[4];} else {aniName = document.referrer.split("/")[4]; } localStorage['aniName'] = aniName; var aniNameEp = document.referrer.split("/")[5]; if (localStorage[aniName+'/'+aniNameEp+'¤tTime']){ player.currentTime = localStorage[aniName+'/'+aniNameEp+'¤tTime']; } else if (localStorage[aniName+'&set_start'] && localStorage[aniName+'&set_start'] > 0){ player.currentTime = localStorage[aniName+'&set_start'] } var newYearCountdown = setInterval(function(){ var duration = player.duration; var current = player.currentTime; GM_setValue("GM_current", current); localStorage[aniName+'/'+aniNameEp+'¤tTime'] = current; var link = document.querySelector("body"); link.addEventListener("keydown", function(event) { var aniName = localStorage['aniName']; var x = event.keyCode; if (x == 78) { // N skip to next episode var garb2 = GM_getValue("btnNext"); top.window.location.href = garb2; }; if (x == 75) { // K key rewind 90s player.currentTime = current - 90; } if (x == 76) { // L key skip 90s player.currentTime = current + 90; } if (x == 186) { // ; key rewind 1s player.currentTime = current - 1; } if (x == 222) { // ' key skip 1s player.currentTime = current + 1; } if (x == 220) { // \ clear start&end localStorage[aniName+'&set_start'] = 0 localStorage[aniName+'&set_end'] = duration; } if (x == 219) { // [ mark start localStorage[aniName+'&set_start'] = GM_getValue("GM_current"); } if (x == 221) { // ] mark end localStorage[aniName+'&set_end'] = GM_getValue("GM_current"); } if (event.shiftKey && x == 219) { // +[ clear start localStorage[aniName+'&set_start'] = 0 } if (event.shiftKey && x == 221) { // +] clear end localStorage[aniName+'&set_end'] = duration; } }); if ( duration > 0 && current >= duration || duration > 0 && current > localStorage[aniName+'&set_end'] ){ var garb2 = GM_getValue("btnNext"); top.window.location.href = garb2; setInterval(function(){ top.window.location.href = garb2; }, 7000); clearInterval(newYearCountdown); }; }, 1000); } else { setTimeout(function() { waitForElementToDisplay(selector, time); }, time); } } var TIMES_REPEAT_COIN = 1; var audioNotification = function () { var playNum = TIMES_REPEAT_COIN; var wav = 'data:audio/wav;base64,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'+ 'kceWJmBQAWP/9UwKPTgL5YMqsXzMktiDsBRo4QRoGUpkp0uiA8gfri2ayQxd4u1Az6l/kwnGvxmGbDhC47Uts5U2cpUNhUSrZ1aWzWHQF45XXs6y7KRhbbarWtomrDGEutbKMkjohU3d1osovGTpKJoc4ixfAQVAy+4kRyRo'+ 'GpMhxIOLmX//1OOoHCi8kTRExuAAiwUIkVNlMYmrUkv//////////9NvUn////zFItySNBxttkAU2eVbL9wLTUwpWUMksfNC+OADQhgWFGqX0v1qGbNq/MyHW+mLEv8yJFX7t/Z//9RKgXUa2lktf//9L6R527FlWySNIgX8qd9M'+ 'psEPOqFRhYgq4b08+//ugAK6AApxDSmsUouCsT5mfZxRvCIkNIazSC4HWoac1jNF3Mxm+AV0EjXWncodjUO6kWXcv736EaQq87h+/gEeMdFJanYgQIlRdSXs4NAo30zz9QiRWv6hWCt/X7s45oGsahdg5gdsmSOCZkAIkUUFv//1'+ 'jOCgkVUjMEA8PdEBICTWbgHSSAkbrOtmtwFk4DEE860B9gYBKCgIiJsj/7umg36j3+Vb+jf////8oCpKakv/////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '/////////+TNDihCrW2OEAdwp2ZZV0EqJ0bXgIyg1p37Fi2/B9MRKs5f3Hvym7rL9dzoFJ5d3/NbjjVXdWmoWsOWRb4pp9NvkOQQS+bNd9ToOttSIe0Bu1hCnScdQdURY1///kcNlu4nkcQAMJAAQv/'+ 'AdAR9wjv/////8qZNXVJJJHGgP5W73r6yi/BiqwPaI8wKa//uiAMSAB+U0x+KUUtBjCFlPZxRdQkAlJWCoRKEloaS1mkVwA+wAGIFhwyJPIpM9Jv0yKfqSFxN+PkhHb5G7ft/W3/9aQ+QB6WlJs4+RRW///uXfmJ8yAQAARo'+ '3///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////8QXe7ASSCNAdHMTxsRw5YBUoupLMCXCv/7oADagAzwAMmgIAAKMUapPVIKWgAAAS4AAAAgVoUkrBQ0lIF2k8z//0/6kv8hGv9W/////5QAk/xr/636QBJZoACBfmuFCJtZgAJRRf//////Kv'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '/////////////////////////////////////////////////////////////////////7ogDbAA8UAEuAAAAIBYAYxAAAAQAAAS4AAAAgAAAlwAAABP////////////////////////////////////////////////////////'+ '//8AAEAAeW//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////'+ '//////////////////////////////////////////////////////////////////////////////+6AA2oAPKABLgAAACAAACXAAAAEAAAEuAAAAIAAAJcAAAAT///////////////////////////////////////////////'+ '////////////////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+ 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+ 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA'+ 'AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA='; var snd = new Audio(wav); var player = setInterval(function () { if (playNum > 0) { console.log("Playing sound..."); snd.play(); console.log("Played sound..."); playNum--; console.log("playNum reduced..."); } else { clearInterval(player); } }, 666); }; function fancyTimeFormat(time) { // Hours, minutes and seconds var hrs = ~~(time / 3600); var mins = ~~((time % 3600) / 60); var secs = ~~time % 60; // Output like "1:01" or "4:03:59" or "123:03:59" var ret = ""; if (hrs > 0) { ret += "" + hrs + ":" + (mins < 10 ? "0" : ""); } ret += "" + mins + ":" + (secs < 10 ? "0" : ""); ret += "" + secs; return ret; } $('body').click(); waitForElementToDisplay('video', 500); var videoDiv = document.getElementById("divContentVideo"); if (videoDiv && videoDiv.style.display != "inline") { videoDiv.style.display = "inline"; } var link = document.querySelector("body"); link.addEventListener("keydown", function(event) { var imagex = 'https://b.thumbs.redditmedia.com/aASciyXiLuJk4NuD67ltbSabDJXeiF3NFdl_OR2wwBA.png'; var msg; var aniName = localStorage['aniName']; var x = event.keyCode; if (x == 78) { // N skip to next episode audioNotification(); }; if (x == 75) { // K key rewind 90s audioNotification(); } if (x == 76) { // L key skip 90s audioNotification(); } if (x == 186) { // ; key rewind 1s audioNotification(); } if (x == 222) { // ' key skip 1s audioNotification(); } if (x == 220) { // \ clear start&end msg = new SpeechSynthesisUtterance('marks cleared'); window.speechSynthesis.speak(msg); GM_notification('Kissanime Bingewatcher+', "marks cleared", imagex); } if (!event.shiftKey && !event.altKey && !event.ctrlKey && x == 219) { // [ mark start msg = new SpeechSynthesisUtterance('start set'); window.speechSynthesis.speak(msg); GM_notification('Kissanime Bingewatcher+', "start set [" + fancyTimeFormat(GM_getValue("GM_current")) + "]", imagex); } if (!event.shiftKey && !event.altKey && !event.ctrlKey && x == 221) { // ] mark end msg = new SpeechSynthesisUtterance('end set'); window.speechSynthesis.speak(msg); GM_notification('Kissanime Bingewatcher+', "end set [" + fancyTimeFormat(GM_getValue("GM_current")) + "]", imagex); } if (event.shiftKey && x == 219) { // +[ clear start msg = new SpeechSynthesisUtterance('start cleared'); window.speechSynthesis.speak(msg); GM_notification('Kissanime Bingewatcher+', "start cleared", imagex); } if (event.shiftKey && x == 221) { // +] clear end msg = new SpeechSynthesisUtterance('end cleared'); window.speechSynthesis.speak(msg); GM_notification('Kissanime Bingewatcher+', "end cleared", imagex); } if (x == 190) { // . stored time settings msg = new SpeechSynthesisUtterance('stored, time settings'); window.speechSynthesis.speak(msg); GM_notification(`start time: ${fancyTimeFormat(localStorage[aniName+'&set_start'])} \n end time: ${fancyTimeFormat(localStorage[aniName+'&set_end'])}`, "stored time settings", imagex); } }) /* MIT LICENSE Copyright 2019 eskander https://greasyfork.org/en/users/152412-eskander | [KissAnime] Complete captcha removal | https://greasyfork.org/en/scripts/369048-kissanime-complete-captcha-removal Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */ // eval(GM_getResourceText("anticaptcha")); })(jQuery);