Collect coins automatically and click home after harvest page
目前為
// ==UserScript==
// @name Knolix Auto Coin Collector + Harvest Redirect
// @namespace http://tampermonkey.net/
// @description Collect coins automatically and click home after harvest page
// @version 2.2
// @author Rubystance
// @license MIT
// @match https://knolix.com/*
// @grant none
// ==/UserScript==
(function() {
'use strict';
if (typeof window.Fingerprint2 === "undefined") {
window.Fingerprint2 = { get: function(cb){ try{ cb([], []); } catch(e){} } };
console.log("[Tampermonkey] Fake Fingerprint2 injected.");
}
if (typeof window.Recaptcha === "undefined") {
window.Recaptcha = {
execute: function(){ console.log("[Tampermonkey] Fake Recaptcha.execute called."); return Promise.resolve("fake-token"); },
getResponse: function(){ return "fake-token"; },
reset: function(){ console.log("[Tampermonkey] Fake Recaptcha.reset called."); },
reload: function(){ console.log("[Tampermonkey] Fake Recaptcha.reload called."); }
};
console.log("[Tampermonkey] Fake Recaptcha injected.");
}
function triggerClick(element){
if(!element) return;
let event = new MouseEvent('click', { view: window, bubbles: true, cancelable: true });
element.dispatchEvent(event);
}
function autoCollect(){
let coin = document.querySelector(".coin, img[src*='coin'], .coin-animation");
if(coin && coin.offsetParent !== null){
triggerClick(coin);
console.log("[Tampermonkey] Coin clicked (real event)!");
} else {
let tree = document.querySelector("#tree, .tree");
if(tree && tree.offsetParent !== null){
triggerClick(tree);
console.log("[Tampermonkey] Tree clicked (fallback)!");
}
}
}
function handleHarvestPage(){
if(window.location.href.includes("/harvest.php?reward_token")){
let homeBtn = document.querySelector("i.fas.fa-home");
if(homeBtn){
triggerClick(homeBtn);
console.log("[Tampermonkey] Harvest page: Home button clicked!");
}
}
}
setInterval(autoCollect, 3000);
setInterval(handleHarvestPage, 2000);
})();