您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
自动完成marvelousga,dupedornot,gamecode等网站访问网页任务,自动验证所有任务
当前为
// ==UserScript== // @name 自动任务 // @namespace http://tampermonkey.net/ // @version 0.8.4 // @description 自动完成marvelousga,dupedornot,gamecode等网站访问网页任务,自动验证所有任务 // @author HCLonely // @include *://www.grabfreegame.com/giveaway/* // @include *://gamecode.win/giveaway/* // @include *://whosgamingnow.net/giveaway/* // @include *://marvelousga.com* // @include *://dupedornot.com* // @include *://gamezito.com* // @include *://www.bananagiveaway.com/giveaway/* // @run-at document-end // @grant GM_addStyle // ==/UserScript== (function() { 'use strict'; //var autoRedeem=1;//1为自动激活;改为0则不自动激活//此功能已不可用 var autoOpen=1;//1为自动打开任务页面;改为0则不打开任务页面 if(/You need to be logged in to perform all tasks|Please login to see the tasks/gim.test(document.getElementsByTagName("body")[0].innerText)){ window.location.href="/login"; return 0; } var url=window.location.href; var bg=/bananagiveaway/gim.test(url)?"background-color:#71c61d;":""; var height=/grabfreegame/gim.test(url)?96:(/bananagiveaway/gim.test(url)?110:(/gamezito/gim.test(url)?125:(/gamecode/gim.test(url)?30:40))); var game=url.replace(/https?:\/\/(www)?(marvelousga|dupedornot|gamezito|gamecode).(com|win)\/giveaway\/|/,""); GM_addStyle(` #doTaskDiv{position:fixed;right:80px;top:${height}px;width:85px;z-index: 99999999999;} #info{max-height:352px;overflow-y:auto;padding:0 !important} #exInfo{position:fixed;right:50px;bottom:10px;max-width:600px;max-height:400px;z-index: 99999999999;display:none;background-color:#fff;padding:1.5rem} .infos{position:absolute;top:0px;left:0px;background-color:#757d81;border-radius: 3px !important;padding: 0px 2px !important;width:20px;height:20px} #shouqi{font-weight:900;color:#00e5ff} #doTask{width:145px;height:40px;${bg}} #Verify{width:145px;height:40px;${bg}} #fixed-banana{display:none !important} `); var div=document.createElement("div"); div.setAttribute("id", "doTaskDiv"); div.setAttribute("class", "card-content"); div.innerHTML=`<button id="doTask" class="btn btn-round auto-task btn-theme btn-outline-dark btn-min-width mr-1 mb-1">FuckTask</button> <button id="Verify" class="btn btn-round auto-task btn-theme btn-outline-dark btn-min-width mr-1 mb-1">Verify</button>`; var div3=document.createElement("div"); div3.setAttribute("id", "exInfo"); var div2=document.createElement("div"); div2.setAttribute("id", "info"); div2.setAttribute("class", "card-body card"); //div2.setAttribute("style", "position:fixed;right:50px;bottom:10px;max-width:600px;max-height:400px;overflow-y:auto;z-index: 99999999999;display:none"); div3.innerHTML=`<span class="infos"><a id="shouqi" class="zhankai" href="javascript:;"" title="收起">↘</a></span>`; document.getElementsByTagName("body")[0].appendChild(div); div3.appendChild(div2); document.getElementsByTagName("body")[0].appendChild(div3); document.getElementById("shouqi").onclick=function(e){ e=document.getElementById("shouqi").className=="zhankai"?["20px","↖","展开","shouqi","none"]:["","↘","收起","zhankai","block"]; div3.style.width=e[0]; div3.style.height=e[0]; document.getElementById("shouqi").innerText=e[1]; document.getElementById("shouqi").setAttribute("title", e[2]); document.getElementById("shouqi").setAttribute("class", e[3]); div2.style.display=e[4]; } if(/https?:\/\/(marvelousga|dupedornot|gamezito).com.*/.test(url)){//marvelousga,dupedornot,gamezito领key $('cloudflare-app[app="welcome-bar"]').remove(); var w=0; banNewBlock(); marvelousga(); //防止弹出新窗口 function banNewBlock(){ var d=new Date(); var cookiename = "haveVisited1"; //document.cookie = "haveVisited=1; path=/"; //document.cookie = "lastVisit=" + (d.getUTCMonth()+1) +"/"+ d.getUTCDate() + "/" + d.getUTCFullYear() + "; path=/"; document.cookie = cookiename + "=1; path=/"; document.cookie = cookiename + "=" + (d.getUTCMonth()+1) + "/" + d.getUTCDate() + "/" + d.getUTCFullYear() + "; path=/"; } //防止419 function token(){ var btn=document.getElementsByTagName("button"); for(var j=0;j<btn.length;j++){ if(/task/gim.test(btn[j].id)&&btn[j].id!="doTask"){ btn[j].removeAttribute("disabled"); btn[j].click(); return 1; } } } //marvelousga,dupedornot,gamezito浏览页面任务 function finTask(taskId,e,text,task){ var p=info("card-text monospace","",`开始任务${taskId}:${text}...`); $.ajax({ type: "post", url: task?"/ajax/verifyTasks/webpage/clickedLink":"/ajax/verifyTasks/video/watched", datatype: "json", data:{ giveaway_slug: game, giveaway_task_id: taskId }, crossDomain:true, xhrFields: { withCredentials: true }, success: function (data) { if(data.status==1){ document.getElementById((task?"task_webpage_visit_":"task_video_watched_")+taskId).innerText="OK"; p.innerHTML+="<font style='color:green'>OK!</font>"; }else{ var msg=data.message||"ERROR"; p.innerHTML+=`<font style='color:red'>${msg}!</font>`; } e===w&&(getId()); }, error:function(jqXHR, textStatus, errorThrown){ p.innerHTML+=`<font style='color:red'>${textStatus}:${jqXHR.status}-${errorThrown}</font>`; e===w&&(getId()); } }); } //marvelousga,dupedornot,gamezito获取任务id function getId(task_id=[],api_id=[],btn_id=[],p_id=[]){ var btn=document.getElementsByTagName("button"); for(var i=0;i<btn.length;i++){ var btnId=btn[i].id; if(/task_[\w\W]*[\d]*/i.test(btnId)&&!/verified/i.test(btn[i].innerText)){ var tskid=btnId.replace(/task_|_[\d]+/gim,""); tskid=tskid.replace("_","/"); api_id.push(tskid); task_id.push(btn[i].id.match(/[\d]+/)[0]); btn_id.push(btnId); /https?:\/\/gamezito.com\/giveaway\/[\w\W]*/.test(url)?p_id.push(btn[i].parentNode.parentNode.getElementsByTagName("h3")[0].innerHTML.replace(/id\=\"[\w\W]*?\"/i,"")):p_id.push(btn[i].parentNode.getElementsByTagName("p")[0].innerHTML.replace(/id\=\"[\w\W]*?\"/i,"")); } } if(task_id.length>0&&api_id.length>0&&btn_id.length>0&&p_id.length>0){ verify(task_id,api_id,btn_id,p_id,0); }else if(task_id.length==0&&api_id.length==0&&btn_id.length==0&&p_id.length==0){ info("card-text monospace","color:green",`所有任务验证完成!`); getKey(); } } //marvelousga,dupedornot,gamezito验证任务 function verify(task_id,api_id,btn_id,p_id,e,v=0){ if(/visit[\w\W]*?webpage/gim.test(p_id[e])&&v==1){ e++; verify(e,v); return; }else{ if(/visit[\w\W]*?webpage/gim.test(p_id[e])&&v!=1){ v=1; } var p=info("card-text monospace","",`验证任务${task_id[e]}:${p_id[e]}...`); if(/Join[\w\W]*?in Steam/i.test(p_id[e].innerText)){ document.getElementById(btn_id[e]).removeAttribute("disabled"); document.getElementById(btn_id[e]).click(); } $.ajax({ type: "post", url: "/ajax/verifyTasks/"+api_id[e], datatype: "json", data:{ giveaway_slug: game, giveaway_task_id: task_id[e] }, crossDomain:true, xhrFields: { withCredentials: true }, success: function (data) { if(data.status==1){ document.getElementById(btn_id[e]).innerText="VERIFIED"; p.innerHTML+="<font style='color:green'>OK!</font>--<font style='color:blue'>"+data.percentageNanoBar+"%</font>"; }else{ document.getElementById(btn_id[e]).innerText="ERROR!"; document.getElementById(btn_id[e]).style.color="red"; /gamezito/gim.test(url)?document.getElementById(btn_id[e]).parentNode.parentNode.getElementsByTagName("a")[0].click():document.getElementById(btn_id[e]).parentNode.getElementsByTagName("a")[0].click(); var msg=data.message||"ERROR"; p.innerHTML+=`<font style='color:red'>${msg}!</font>`; } e++; if(data.percentageNanoBar==100||e>=btn_id.length){ info("card-text monospace","color:green",`所有任务验证完成!`); getKey(); }else{ verify(task_id,api_id,btn_id,p_id,e,v); } }, error:function(jqXHR, textStatus, errorThrown){ document.getElementById(btn_id[e]).innerText="ERROR!"; document.getElementById(btn_id[e]).style.color="red"; jqXHR.status!=419&&(document.getElementById(btn_id[e]).parentNode.getElementsByTagName("a")[0].click()); p.innerHTML+=`<font style='color:red'>${textStatus}:${jqXHR.status}-${errorThrown}</font>`; e++; if(e<btn_id.length){ verify(task_id,api_id,btn_id,p_id,e); }else{ info("card-text monospace","color:green",`所有任务验证完成!`); getKey(); } } }); } } //marvelousga,dupedornot,gamezito获取steamkey function getKey(){ if(/your[\s]*?key[\w\W]*?[\w\d]{5}(-[\w\d]{5}){2}/gim.test(document.getElementsByTagName("body")[0].innerText)){ info("card-text monospace","",`你已经领取过key了!`); return 0; } info("card-text monospace","",`请手动完成<a id="google" href="javascript:void(0)">谷歌验证</a>获取key!`); document.getElementById("google").onclick=function(){ document.getElementById("get_key_container").getElementsByClassName("card-body")[0].style.backgroundColor="red"; setTimeout(function(){document.getElementById("get_key_container").getElementsByClassName("card-body")[0].style.backgroundColor=""},600); }; document.getElementById("get_key_container").style.display="block"; document.getElementById("get_key_container").scrollIntoView(); document.getElementById("get_key_container").getElementsByClassName("card-body")[0].style.backgroundColor="red"; setTimeout(function(){document.getElementById("get_key_container").getElementsByClassName("card-body")[0].style.backgroundColor=""},600); } //marvelousga,dupedornot,gamezito按钮定义 function marvelousga(){ document.getElementById("doTask").onclick=function(){ document.getElementById("exInfo").style.display="block"; w=0; var crsf=token(); if(crsf===1){ var a=document.getElementsByTagName("a"); var taskId,text,task; for(var i=0;i<a.length;i++){ var parent=a[i].parentNode.parentNode; if(a[i].innerText==="this"&&/task_(webpage_clickedLink|video_watched)_[\d]*/.test(a[i].id)&&!/verified/i.test(parent.getElementsByTagName("button")[0].innerText)){ task=/task_webpage_clickedLink_[\d]*/.test(a[i].id); taskId=a[i].id.replace(/task_webpage_clickedLink_|task_video_watched_/,""); text=a[i].parentNode.innerHTML.replace(/id\=\"[\w\W]*?\"/i,""); w++; finTask(taskId,w,text,task); } } w==0&&(getId()); } }; document.getElementById("Verify").onclick=function(){ document.getElementById("exInfo").style.display="block"; var crsf=token(); crsf===1&&(getId()); }; } } //gamecode领key if(/https?:\/\/gamecode.win\/giveaway\/[\w\W]*/.test(url)){ //gamecode按钮定义 document.getElementById("doTask").onclick=function(){ document.getElementById("exInfo").style.display="block"; gamecode_task(); }; document.getElementById("Verify").onclick=function(){ document.getElementById("exInfo").style.display="block"; gamecode_task(); }; //gamecode做任务 function gamecode_task(){ var gamecode_btn=document.getElementsByClassName("btn btn-theme"); info("card-title","color: #f38288",`正在自动做任务,任务完成后请手动完成谷歌验证领取key!`); for(var i=0;i<gamecode_btn.length;i++){ if(!/auto-task/gim.test(gamecode_btn[i].className)&&!/verified/gim.test(gamecode_btn[i].innerText)){ gamecode_btn[i].removeAttribute("disabled"); gamecode_btn[i].click(); } } } } if(/https?:\/\/www.(grabfreegame|bananagiveaway).com\/giveaway\/[\w\W]*/.test(url)){//grabfreegame,bananagiveaway领key //自动登录 if(/log.*?in/gim.test($(".user").text())){ location.href=$(".user").children("a.steam")[0].href; } //grabfreegame,bananagiveaway按钮定义 document.getElementById("doTask").onclick=function(){ document.getElementById("exInfo").style.display="block"; getBtn("d"); }; document.getElementById("Verify").onclick=function(){ document.getElementById("exInfo").style.display="block"; getBtn("v"); }; div2.setAttribute("style", `right:50px;bottom:10px;z-index: 99999999999;font-family: Menlo,Monaco,Consolas,"Courier New",monospace;font-size: 20px;background: #fff;color: #f05f00;border: 3px solid #ababab;order-radius: 8px;display: inline-block;`); //grabfreegame,bananagiveaway获取任务id function getBtn(e,verify_btn=[],do_btn=[]){ var btn=document.getElementsByTagName("button"); for(var i=0;i<btn.length;i++){ /verify/i.test(btn[i].innerHTML)&&btn[i].id!="Verify"&&(verify_btn.push(btn[i].onclick.toString().match(/\/\/www.(grabfreegame|bananagiveaway).com\/giveaway\/[\w\W]*?\?verify\=[\d]+/)[0])); /to[\w\W]*?do[\w\W]*/i.test(btn[i].innerHTML)&&btn[i].onclick&&(do_btn.push(btn[i].onclick.toString().match(/\/\/www.(grabfreegame|bananagiveaway).com\/giveaway\/[\w\W]*?\?q\=[\d]+/)[0])); } do_btn.length>0&&e==="d"&&(doTask(0,verify_btn,do_btn)); verify_btn.length>0&&e==="v"&&(bananaVerify(0,verify_btn)); } //grabfreegame,bananagiveaway做任务 function doTask(e,verify_btn,do_btn){ var taskId=do_btn[e].match(/\?q\=[\d]+/)[0]; taskId=taskId.replace("?q=",""); var p=info("code","",`执行任务:${taskId}...`); $.ajax({ type: "get", url: do_btn[e], timeout:"10000", datatype: "json", crossDomain:true, xhrFields: { withCredentials: true }, complete: function (data) { p.innerHTML+="<font style='color:green'>OK!</font>"; e++; e<do_btn.length?doTask(e,verify_btn,do_btn):(verify_btn.length>0&&(bananaVerify(0,verify_btn))); } }); } //grabfreegame,bananagiveaway验证任务 function bananaVerify(e,verify_btn){ var taskId=verify_btn[e].match(/\?verify\=[\d]+/)[0]; taskId=taskId.replace("?verify=",""); var p=info("code","",`验证任务:${taskId}...`); $.ajax({ type: "get", url: verify_btn[e], timeout:"10000", datatype: "json", crossDomain:true, xhrFields: { withCredentials: true }, complete: function (data) { p.innerHTML+="<font style='color:green'>OK!</font>"; e++; e<verify_btn.length?bananaVerify(e,verify_btn):window.location.href=url; } }); } } if(/https?:\/\/whosgamingnow.net\/giveaway\/[\w\W]*/.test(url)){//wgn领key //wgn按钮定义 document.getElementById("doTask").onclick=function(){ document.getElementById("exInfo").style.display="block"; wsn_enter(); }; document.getElementById("Verify").onclick=function(){ document.getElementById("exInfo").style.display="block"; wsn_enter(); }; btn_class("btn btn-primary"); //wgn获取key function wsn_enter(){ $.ajax({ type: "post", url: url, datatype: "json", data:{ submit: "Enter", }, crossDomain:true, xhrFields: { withCredentials: true }, success: function (data) { if(/<h3>Steam key:<\/h3><p><strong class=\"SteamKey\">[\w\d]{5}(-[\w\W]{5}){2}<\/strong><\/p>/i.test(data)){ var key=data.match(/<h3>Steam key:<\/h3><p><strong class=\"SteamKey\">[\w\d]{5}(-[\w\W]{5}){2}<\/strong><\/p>/i)[0]; key=key.replace(/(<h3>Steam key:<\/h3><p><strong class="SteamKey">)|(<\/strong><\/p>)/gi,""); data=data.replace(key,`<a href=https://store.steampowered.com/account/registerkey?key=${key} title="点击激活">${key}</a>`); } document.write(data); }, error:function(jqXHR, textStatus, errorThrown){ alert(textStatus+":"+jqXHR.status+"-"+errorThrown); } }); } } //显示信息 function info(cText,sText,iText){ var p=document.createElement("p"); p.setAttribute("class", cText); p.setAttribute("style", sText); p.innerHTML=iText; div2.appendChild(p); p.scrollIntoView(); return p; } //button样式 function btn_class(e){ var task_btn=document.getElementsByClassName("auto-task"); for(var tb=0;tb<task_btn.length;tb++){ task_btn[tb].setAttribute("class", e+" auto-task"); } } })();