Gamerlee.com Auto faucet

Auto Login, Auto Claim, Auto Redirect, Anti-Batas Klaim

Size

6.1 KB

Version

0.7

Created

Dec 25, 2025

Updated

about 1 month ago

1// ==UserScript==
2// @name               Gamerlee.com Auto faucet
3// @namespace          bekerja pada Tampermonkey maupun Violentmonkey
4// @version            0.7
5// @description        Auto Login, Auto Claim, Auto Redirect, Anti-Batas Klaim
6// @author             Ojo Ngono
7// @grant              GM_getValue
8// @grant              GM_setValue
9// @grant              GM_addStyle
10// @grant              GM_setClipboard
11// @grant              GM_registerMenuCommand
12// @require            https://cdn.jsdelivr.net/npm/sweetalert2@11
13// @require            https://update.greasyfork.org/scripts/439099/1203718/MonkeyConfig%20Modern%20Reloaded.js
14// @match              https://gamerlee.com/*
15// @license            Copyright OjoNgono
16// @antifeature        referral-link Directs to a referral link when not logged in
17// @icon               https://i.ibb.co/XJSPdz0/large.png
18// @downloadURL https://update.greasyfork.org/scripts/509903/Gamerleecom%20Auto%20faucet.user.js
19// @updateURL https://update.greasyfork.org/scripts/509903/Gamerleecom%20Auto%20faucet.meta.js
20// ==/UserScript==
21
22const cfg = new MonkeyConfig({
23  title: 'Pengaturan Cryptoads',
24  menuCommand: 'Buka Pengaturan',
25  shadowWidth: '650px',
26  shadowHeight: '500px',
27  iframeWidth: '620px',
28  iframeHeight: '450px',
29  params: {
30    Email: {
31      label: "Email FaucetPay",
32      type: "text",
33      default: "",
34      column: 'top'
35    },
36    cryptoChoice: {
37      label: "Pilih Crypto",
38      type: "select",
39      choices: {
40        doge: "DOGE",
41        ltc: "LTC",
42        sol: "SOL",
43        trx: "TRX",
44        usdt: "USDT",
45        pepe: "PEPE",
46        dgb: "DGB",
47        bnb: "BNB",
48        eth: "ETH",
49        tara: "TARA",
50        xmr: "XMR",
51        fey: "FEY",
52        usdc: "USDC",
53        dash: "DASH",
54        xlm: "XLM",
55        ada: "ADA",
56        pol: "POL",
57        ton: "TON",
58        xrp: "XRP",
59        bch: "BCH",
60        zec: "ZEC",
61        trump: "TRUMP"
62      },
63      default: "TRUMP"
64    }
65  }
66});
67
68(function () {
69  'use strict';
70
71  window.addEventListener('load', () => {
72    const email = cfg.get('Email')?.trim();
73    const crypto = cfg.get('cryptoChoice')?.toUpperCase() || 'LTC';
74
75    // Gunakan selektor 
76    const logoutButton = document.querySelector('a[href*="/logout"]');
77    const isLoggedIn = !!logoutButton; 
78    const hasReferral = location.search.includes('r=9327');
79    const currentUrl = window.location.href;
80
81    // 🔁 
82    if (!isLoggedIn && !hasReferral) {
83      location.href = 'https://gamerlee.com/?r=9327';
84      return;
85    }
86
87    // 🛑 
88    if (isLoggedIn && (!email || email === '')) {
89      Swal.fire({
90        icon: 'warning',
91        title: 'Email FaucetPay belum diisi!',
92        text: 'Anda sudah login, tetapi belum mengisi Email FaucetPay di pengaturan.',
93        confirmButtonText: 'Ya, logout',
94        confirmButtonColor: '#d33',
95        allowOutsideClick: false,
96        allowEscapeKey: false,
97        allowEnterKey: false
98      }).then(() => {
99        if (logoutButton) logoutButton.click();
100      });
101      return;
102    }
103
104    // 🔔 
105    if (!isLoggedIn && (!email || email === '')) {
106      Swal.fire({
107        icon: 'info',
108        title: 'Pengaturan Diperlukan',
109        html: `Silakan buka menu <b>'Pengaturan Cryptoads'</b> dari ikon 🐵 userscript di browser Anda,<br>lalu isi Email FaucetPay.`,
110        confirmButtonText: 'OK',
111      });
112      return;
113    }
114
115    // ➡️ 
116    if (isLoggedIn && currentUrl.includes('/app/dashboard')) {
117      const faucetUrl = `https://gamerlee.com/app/faucet?currency=${crypto}`;
118      if (currentUrl !== faucetUrl) {
119        window.location.href = faucetUrl;
120        return;
121      }
122    }
123
124    // ✅ 
125    if (isLoggedIn && currentUrl.includes('/app/faucet')) {
126      const claimBtn = document.querySelector('button.claim-button');
127
128      const captchaChecker = setInterval(() => {
129        const captchaBox = document.querySelector('.iconcaptcha-widget');
130        if (captchaBox) {
131          captchaBox.scrollIntoView({ behavior: "smooth", block: "center" });
132        }
133
134        const captchaPassed = document.querySelector('.iconcaptcha-widget.iconcaptcha-success');
135        const captchaNotFound = !captchaBox;
136
137        if ((captchaPassed || captchaNotFound) && claimBtn) {
138          claimBtn.click();
139          clearInterval(captchaChecker);
140        }
141      }, 1000);
142    }
143
144    // ✅ 
145    const form = document.querySelector('form[action*="auth/validation"]');
146    const emailInput = document.querySelector('input[name="wallet"]');
147    const submitButton = form?.querySelector('button[type="submit"]');
148
149    if (form && emailInput && submitButton && email) {
150      emailInput.value = email;
151
152      const checker = setInterval(() => {
153        const captchaPassed = document.querySelector('.iconcaptcha-widget.iconcaptcha-success');
154        const captchaNotPresent = !document.querySelector('.iconcaptcha-widget');
155
156        if (captchaPassed || captchaNotPresent) {
157          submitButton.click();
158          clearInterval(checker);
159        }
160      }, 1000);
161    }
162
163    // ✅ 
164    function checkForMessage() {
165      const messageSelectors = [
166        '.swal2-html-container',
167        '.swal-text',
168        '.swal-title'
169      ];
170
171      const keywords = [
172        "After every",
173        "faucet claims",
174        "Shortlink must be completed"
175      ];
176
177      for (const selector of messageSelectors) {
178        const elements = document.querySelectorAll(selector);
179        for (const el of elements) {
180          const messageText = el.innerText?.replace(/\s+/g, " ").trim();
181          if (!messageText) continue;
182
183          const isTargetMessage = keywords.some(kw => messageText.toLowerCase().includes(kw.toLowerCase()));
184          if (isTargetMessage) {
185            console.log("✅ Deteksi pesan batas klaim:", messageText);
186            const match = window.location.href.match(/currency=([A-Z]+)/i);
187            const currency = match ? match[1].toLowerCase() : 'doge';
188
189            setTimeout(() => {
190              window.location.href = `https://gamerlee.com/app/links?currency=${currency}`;
191            }, 1500);
192
193            return;
194          }
195        }
196      }
197    }
198
199    setInterval(checkForMessage, 1000);
200  });
201})();
Gamerlee.com Auto faucet | Robomonkey