0% found this document useful (0 votes)
321 views12 pages

Autoclaim

Download as txt, pdf, or txt
Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1/ 12

// ==UserScript==

// @name Auto-Reclamar Criptos ilimitadas


// @name:en Script Rebuild Timer by Media_Karya
// @namespace Criptomonedas Ilimitadas (Faucet)
// @namespace:en Unlimited Cryptocurrencys (Faucet)
// @version 2.3
// @description Auto-claim criptos en diferentes paginas
// @description:en Auto-claim cryptos in diferent faucets
// @author muñen
// @match https://claimfreecoins.io/*
// @connect claimfreecoins.io
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_xmlhttpRequest
// @antifeature referral-link

// ==/UserScript==

//Block All Pop ups


unsafeWindow.open = function(){};

(function() {
'use strict';

//=================================================================================
==============
//User configuration
// Enter Your FaucetPay Faucet Address and Express Crypto below as mentioned in
the example and
// save the entered text in user configuration in a file. This is to ensure
that you
// don't repeat entering whenever there is an update.

var faucetpayEmail = "[email protected]"; //Ex: var faucetpayEmail =


"*****@gmail.com"
var bitcoin="18Lmzb8uYQjkD2WpnVSXKeQJbrLyE2xw3T"; // Ex: var
bitcoin="1HeD2a11n8d9zBTaznNWfVxtw1dKuW2vT5";
var binance="0x12E2816bD386c4ab52af73522d57bdefDb2E4a46";
var bitcoincash ="bitcoincash:qrw5hjcx5cqrqzzvxh4fykt4j6m5pm97eug2sj6q7z";
var dash ="XmE5EhBv5u2KBhStnfwpXN7xqfR2vDzTu9";
var dogecoin ="D6w3MDfGHVmVVeQqKJWQ7uNySTHF9KNhG4";
var digibyte="D6vRNDWXc1vwkt44tizdqfz3NCd42QKbb7";
var ethereum="0x93F3beB6A391b903d4eAE9dd6fb44312d61622B8";
var feyorra="0x93F3beB6A391b903d4eAE9dd6fb44312d61622B8";
var litecoin ="ltc1qw2kfrre58eactewnt4mfk7pmlz0lyty745n4je";
var tron ="TM36Hpq6stTxHG8sYskveSev7aN7sjgh5w";
var tether="TM36Hpq6stTxHG8sYskveSev7aN7sjgh5w";
var zcash ="t1evtDQGSCEUjQVb3snBD4fTqnrpFJ68UEj";

// Set the value to true if you want to autowithdraw after each claim
// Set the value to false if you want to accumulate and withdraw later
var autoWithdraw = true;

//You can now save the file and start using


//=================================================================================
==============

//Replacing bitcoincash default value from faucetpay, since bagi and keran
don't accept this format
bitcoincash = bitcoincash.replaceAll("bitcoincash:","");

//List of the faucet websites along with address


//coin parameter is used as regex from the url
//If url has */bitcoin/* then use "bitcoin" as coin, if it is */ETH/*, use
"ETH" as coin
//If there is no regex for coin, use only address
// Comment the faucets which you do not wish to use or which don't have
sufficient funds
var websiteData = [

{url : "https://claimfreecoins.io/free-bitcoin/?
r=12yo1kGi4VmXuUzGzV75wH8y6qioMBJ31F", coin: "free-bitcoin", address: bitcoin},
{url : "https://claimfreecoins.io/free-dogecoin/?
r=DQtwBfPvVnNfBo6NqJjCj51Fudj21qyNaQ", coin: "free-dogecoin", address: dogecoin},
{url : "https://claimfreecoins.io/free-litecoin/?
r=ltc1qesrd9ecghaw5m6rtkczwpen37lnncmsf3awaj2", coin: "free-litecoin", address:
litecoin},
{url : "https://claimfreecoins.io/free-tron/?
r=TTDVY6MBwgGdB9BX1Q9XGNHFTsVUhXhiTs", coin: "free-tron", address: tron},
{url : "https://claimfreecoins.io/free-binance/?
r=0xD9598728e6C218F3A151459062F5aC8F39EbA60a", coin: "free-binance", address:
binance},
{url : "https://claimfreecoins.io/free-dash/?
r=XusQGatPHfxTwB6fyYSDBCCrg6nnLGU7b6", coin: "free-dash", address: dash},
{url : "https://claimfreecoins.io/free-tether/?
r=TTDVY6MBwgGdB9BX1Q9XGNHFTsVUhXhiTs", coin: "free-tether", address: tether},
{url : "https://claimfreecoins.io/free-zcash/?
r=t1ScBu5gud8qEVCJZhWvSecFD7m6a1DGbz1", coin: "free-zcash", address: zcash},
{url : "https://claimfreecoins.io/free-digibyte?
r=DD3rbRxnZoCCo3ZSCU4mNUQvtB14XMaa9y", coin: "free-digibyte", address: digibyte},
];

//Add data for any new website with single pages


//Message selectors are for success or failure to move on to the next website
//AutoWithdraw is disabled by default(for bagi and keran)
//Add only domain name in website as mentioned below. Follow the same pattern.
//Use arrays wherever it is required
//ToDo:Instead of reading messages, either visibility or length of the messages
can be checked
var websiteMap = [ {website : ["claimfreecoins.io", "fast-bitcoin.eu","fast-
dogecoin.eu", "fast-tron.eu",
"fast-litecoin.eu", "fast-binance.eu","fast-
solana.eu","fast-dash.eu", "fast-tether.eu",
"fast-zcash.eu", "fast-digibyte.eu", "fast-
ethereum.eu", "fast-bitcoincash.eu","fast-feyorra.eu"],
inputTextSelector: "[name='address']",
inputTextSelectorButton: "input.btn.btn-block.btn-primary",
defaultButtonSelectors: ["button.btn.btn-block.btn-
primary","div.form > a.btn.btn-block.btn-primary"],
captchaButtonSubmitSelector: "[name='captcha']",
allMessageSelectors: [".alert.alert-warning",".alert.alert-
success",".alert.alert-danger","#cf-error-details"],
successMessageSelectors: [".alert.alert-success"],
messagesToCheckBeforeMovingToNextUrl: ["sufficient", "try
again", "invalid", "sufficient","you have reached", "tomorrow", "wrong order",
"locked", "was sent to your", "You have to wait","Login not valid","You have
already claimed","claimed successfully","Claim not Valid","rate limited"],
ablinks: true
},

];

var ablinksSolved = false;

//HtmlEvents dispatcher
function triggerEvent(el, type) {
try{
var e = document.createEvent('HTMLEvents');
e.initEvent(type, false, true);
el.dispatchEvent(e);
}catch(exception){
console.log(exception);
}
}

//Check if a string is present in Array


String.prototype.includesOneOf = function(arrayOfStrings) {

//If this is not an Array, compare it as a String


if (!Array.isArray(arrayOfStrings)) {
return this.toLowerCase().includes(arrayOfStrings.toLowerCase());
}

for (var i = 0; i < arrayOfStrings.length; i++) {


if (this.toLowerCase().includes(arrayOfStrings[i].toLowerCase())) {
return true;
}
}
return false;
}

var websiteDataValues = {};

//Get selector details from the websiteMap


for (let value of Object.values(websiteMap)) {
if(window.location.href.includesOneOf(value.website)){
websiteDataValues.inputTextSelector= value.inputTextSelector;
websiteDataValues.inputTextSelectorButton =
value.inputTextSelectorButton;
websiteDataValues.defaultButtonSelectors =
value.defaultButtonSelectors;
websiteDataValues.claimButtonSelectors = value.claimButtonSelectors;
websiteDataValues.captchaButtonSubmitSelector =
value.captchaButtonSubmitSelector;
websiteDataValues.allMessageSelectors = value.allMessageSelectors;
websiteDataValues.messagesToCheckBeforeMovingToNextUrl =
value.messagesToCheckBeforeMovingToNextUrl;
websiteDataValues.withdrawPageUrl = value.withdrawPageUrl;
websiteDataValues.withdrawEnabled = value.withdrawEnabled;
websiteDataValues.balanceSelector = value.balanceSelector;
websiteDataValues.withdrawMinAmount = value.withdrawMinAmount;
websiteDataValues.successMessageSelectors =
value.successMessageSelectors;
websiteDataValues.additionalFunctions = value.additionalFunctions;
websiteDataValues.timeoutbeforeMovingToNextUrl =
value.timeoutbeforeMovingToNextUrl;
websiteDataValues.formSubmit = value.formSubmit;
websiteDataValues.ablinks = value.ablinks;
break;
}
}

//Identify which coin to input, based on the url input


//If the URL does not contain the coin, then use the default from the domain
name
var count = 0;
var addressAssigned = false;
for (let value of Object.values(websiteData)){
count = count + 1;
if(value.url.includes(window.location.hostname) &&
(window.location.href.includes("/" + value.coin + "/") ||

window.location.href.includes("/" + value.coin + "-") ||

window.location.href.endsWith("/" + value.coin))){
websiteDataValues.address = value.address;
addressAssigned = true;
break;
}
}

//If URL does not have coin, check the default from the domain name
if(!addressAssigned){
count = 0;
for (let value of Object.values(websiteData)) {
count = count + 1;

if(value.url.includes(window.location.hostname)){
if(value.regex){
if(GM_getValue("UrlRegex")){
if(GM_getValue("UrlRegex") == value.regex){
websiteDataValues.address = value.address;
break;
}
}else{
GM_setValue("UrlRegex",value.regex);
websiteDataValues.address = value.address;
break;
}

}else{
websiteDataValues.address = value.address;
break;
}
}
}
}
//Get the next Url from the website data map
async function getNextUrl(){

//Go to the beginning if the end of the array is reached


if(count >= websiteData.length){
count = 0;
}

websiteDataValues.nextUrl = websiteData[count].url;
websiteDataValues.regex = websiteData[count].regex;

//Ping Test to check if a website is up before proceeding to next url


pingTest(websiteDataValues.nextUrl);
}

var isNextUrlReachable = false;


//Get the next Url from the website
function pingTest(websiteUrl) {
console.log(websiteUrl);
GM_xmlhttpRequest({
method: "GET",
url: websiteUrl,
headers: {
"Content-Type": "application/x-www-form-urlencoded"
},
timeout: 5000,
onload: function(response) {
//Website is reachable
if(response && response.status == 200){
isNextUrlReachable = true;
}else{
count=count+1;
getNextUrl();
}
},
onerror: function(e) {
count=count+1;
getNextUrl();
},
ontimeout: function() {
count=count+1;
getNextUrl();
},
});

async function delay(ms) {


return new Promise(resolve => setTimeout(resolve, ms))
}

var movingToNextUrl = false;


async function goToNextUrl() {
if(!movingToNextUrl){
movingToNextUrl = true;
getNextUrl();
while (!isNextUrlReachable) {
await delay(2500);
}

if( websiteDataValues.regex){
GM_setValue("UrlRegex", websiteDataValues.regex);
}
window.location.href = websiteDataValues.nextUrl;
movingToNextUrl = true;
}
}

async function goToWithdrawPage() {


if(!movingToNextUrl){
movingToNextUrl = true;
window.location.href = websiteDataValues.withdrawPageUrl;
}

//Default Setting: After 180 seconds go to next Url


var delayBeforeMovingToNextUrl = 100000;
if(websiteDataValues.timeoutbeforeMovingToNextUrl){
delayBeforeMovingToNextUrl =
websiteDataValues.timeoutbeforeMovingToNextUrl;
}

setTimeout(function(){
movingToNextUrl = false;
goToNextUrl();
},delayBeforeMovingToNextUrl);

//Move to next URL if address is not mentioned above


if (window.location.href.includes("to=FaucetPay") ||
(websiteDataValues.address) && (websiteDataValues.address.length < 5 ||
websiteDataValues.address.includes("YOUR_"))){
goToNextUrl();
}

//Returns true if message selectors are present


function messageSelectorsPresent(){
if(websiteDataValues.allMessageSelectors){
for(var j=0;j<websiteDataValues.allMessageSelectors.length;j++){
for(var k=0; k<
document.querySelectorAll(websiteDataValues.allMessageSelectors[j]).length;k++){

if(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k] &&

(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])
[k].innerText.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl)
||

(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value &&

document.querySelectorAll(websiteDataValues.allMessageSelectors[j])
[k].value.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl)))){
return true;
}
}
}
}
return false;
}

//Returns true if any message is present in message selector


function checkMessageSelectorsLength(){
if(websiteDataValues.allMessageSelectors){
for(var j=0;j<websiteDataValues.allMessageSelectors.length;j++){
for(var k=0; k<
document.querySelectorAll(websiteDataValues.allMessageSelectors[j]).length;k++){

if(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k] &&

(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])
[k].innerText.length > 0) ||

(document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value &&

document.querySelectorAll(websiteDataValues.allMessageSelectors[j])[k].value.length
> 0)){
return true;
}
}
}
}
return false;
}

//Returns true if message selectors are present


function successMessageSelectorsPresent(){
if(websiteDataValues.successMessageSelectors){
for(var j=0;j<websiteDataValues.successMessageSelectors.length;j++){
for(var k=0; k<
document.querySelectorAll(websiteDataValues.successMessageSelectors[j]).length;k++)
{

if(document.querySelectorAll(websiteDataValues.successMessageSelectors[j])[k] &&
document.querySelectorAll(websiteDataValues.successMessageSelectors[j])
[k].innerText.includesOneOf(websiteDataValues.messagesToCheckBeforeMovingToNextUrl)
){
return true;
}
}
}
}
return false;
}

function ablinksCaptcha() {

setInterval(function(){

if(document.querySelector("#switch") &&
document.querySelector("#switch").innerText.toLowerCase().includes("hcaptcha")){
document.querySelector("#switch").click();
} else if(document.querySelector("#switch") &&
document.querySelector("#switch").innerText.toLowerCase().includes("recaptcha")){
document.querySelector("#switch").click();
}
var count = 0;

var abModels = [ ".modal-content [href='/']", ".modal-body [href='/']",


".antibotlinks [href='/']"];
var abModelsImg = [ ".modal-content [href='/'] img", ".modal-body
[href='/'] img", ".antibotlinks [href='/'] img"];
for(let j=0; j< abModelsImg.length;j++){
if (document.querySelector(abModelsImg[j]) &&
document.querySelector(abModelsImg[j]).value == "####"){
goToNextUrl();
break;
}
}

for(let i=0;i< 4;i++){


for(let j=0; j< abModels.length;j++){
if (document.querySelectorAll(abModelsImg[j]).length ==4 &&
document.querySelectorAll(abModels[j])[i] &&
document.querySelectorAll(abModels[j])[i].style &&
document.querySelectorAll(abModels[j])[i].style.display ==
'none') {
count ++;
break;
}
}
}
if(count == 4){
ablinksSolved = true;
}
},5000);

setTimeout(function(){
if(document.querySelector("#invisibleCaptchaShortlink")){
document.querySelector("#invisibleCaptchaShortlink").click();
}

if(document.querySelector(".btn.btn-success.btn-lg.get-link")){
document.querySelector(".btn.btn-success.btn-lg.get-link").click();
}

if(window.location.href.includes("starcoins.ws") ||
window.location.href.includes("hosting4lifetime.com")){
websiteDataValues.captchaButtonSubmitSelector = "#btn-before";
let clicked = false;
unsafeWindow.open = function(url){window.location.href = url};
setInterval(function(){
if(!clicked && document.querySelector("#btn6") && !
document.querySelector("#btn6").disabled){
document.querySelector("#btn6").click();
clicked = true;
}
},7000)
setTimeout(function(){
window.location.href= websiteData[0].url;
},120000)
}

},10000)

function herafaucet(){
if(document.querySelector("div.daily-claims.alert-info > div.text-right p")
&& Number(document.querySelector("div.daily-claims.alert-info > div.text-right
p").innerText.split(" ")[0]) <= 0){
goToNextUrl();
}
}

function diamondfaucet() {
if(document.querySelector("#first > p.alert.a-info") &&
Number(document.querySelector("#first > p.alert.a-info").innerText.split(".")
[1].split(" ")[0]) <= 0) {
goToNextUrl();
}
}

setTimeout(function(){

ablinksCaptcha();

//If the faucet was stopped in shortlinks go to next url


if(window.name == "nextWindowUrl"){
window.name = "";
goToNextUrl();
return;
}else{
window.name = window.location.href;
}

if( websiteDataValues.additionalFunctions){
websiteDataValues.additionalFunctions();
}

if(websiteDataValues.withdrawEnabled){
if(websiteDataValues.balanceSelector &&
document.querySelector(websiteDataValues.balanceSelector)){
var currentBalance =
document.querySelector(websiteDataValues.balanceSelector).innerText;
if(currentBalance > websiteDataValues.withdrawMinAmount && !
window.location.href.includes(websiteDataValues.withdrawPageUrl)) {
goToWithdrawPage();
}

}else{
if(successMessageSelectorsPresent()){
goToWithdrawPage();
}
}
}

//Look for all the default messages or errors before proceeding to next url
//For other languages difference in the length of the strings can be
compared or visibility of the style element
if(!movingToNextUrl && messageSelectorsPresent()){
goToNextUrl();
}

//Input the address and click the login button


if(!movingToNextUrl &&
document.querySelector(websiteDataValues.inputTextSelector)){
document.querySelector(websiteDataValues.inputTextSelector).value =
websiteDataValues.address;

triggerEvent(document.querySelector(websiteDataValues.inputTextSelector),
'keypress');

triggerEvent(document.querySelector(websiteDataValues.inputTextSelector),
'change');
setTimeout(function(){
if(websiteDataValues.inputTextSelectorButton &&
document.querySelector(websiteDataValues.inputTextSelectorButton)){

document.querySelector(websiteDataValues.inputTextSelectorButton).click();
}

},5000);
}

//Check for all the default button selectors and click


//This will only click the first selector found, so mention the selectors
with parent element wherever required
if(!movingToNextUrl && websiteDataValues.defaultButtonSelectors){
for(let i=0;i<websiteDataValues.defaultButtonSelectors.length ;i++){

if(document.querySelector(websiteDataValues.defaultButtonSelectors[i])){

triggerEvent(document.querySelector(websiteDataValues.defaultButtonSelectors[i]),
'mousedown');

triggerEvent(document.querySelector(websiteDataValues.defaultButtonSelectors[i]),
'mouseup');

document.querySelector(websiteDataValues.defaultButtonSelectors[i]).click();
break;
}
}
}

setTimeout(function(){
//Check for all the default button selectors and click
//This will only click the first selector found, so mention the
selectors with parent element wherever required
if(!movingToNextUrl && websiteDataValues.claimButtonSelectors){
for(let i=0;i<websiteDataValues.claimButtonSelectors.length ;i++){
if(document.querySelector(websiteDataValues.claimButtonSelectors[i])){

triggerEvent(document.querySelector(websiteDataValues.claimButtonSelectors[i]),
'mousedown');

triggerEvent(document.querySelector(websiteDataValues.claimButtonSelectors[i]),
'mouseup');

document.querySelector(websiteDataValues.claimButtonSelectors[i]).click();
break;
}
}
}
},7000);

//Click the form button after solving captcha


//Works for both recaptcha and hcaptcha
var clicked = false;
var captchaInterval = setInterval(function(){

if(websiteDataValues.ablinks && !ablinksSolved){


return;
}

try{
if(!clicked && unsafeWindow.grecaptcha &&
unsafeWindow.grecaptcha.getResponse().length > 0 &&
websiteDataValues.captchaButtonSubmitSelector &&
document.querySelector(websiteDataValues.captchaButtonSubmitSelector) &&

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).style.display
!= 'none' &&
!
document.querySelector(websiteDataValues.captchaButtonSubmitSelector).disabled) {
if(websiteDataValues.formSubmit){

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).submit();
}else{

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).click();
}
clicked = true;

clearInterval(captchaInterval);
setTimeout(function(){
if(messageSelectorsPresent()){
goToNextUrl();
}
},5000);
}
}catch(e){

for(var hc=0; hc < document.querySelectorAll("iframe").length; hc++){


if(! clicked && document.querySelectorAll("iframe")[hc] &&
document.querySelectorAll("iframe")[hc].hasAttribute("data-
hcaptcha-response") &&
document.querySelectorAll("iframe")[hc].getAttribute("data-
hcaptcha-response").length > 0 &&
websiteDataValues.captchaButtonSubmitSelector &&
document.querySelector(websiteDataValues.captchaButtonSubmitSelector) &&

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).style.display
!= 'none' &&
!
document.querySelector(websiteDataValues.captchaButtonSubmitSelector).disabled) {
if(websiteDataValues.formSubmit){

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).submit();
}else{

document.querySelector(websiteDataValues.captchaButtonSubmitSelector).click();
}
clicked = true;
clearInterval(captchaInterval);
setTimeout(function(){
if(messageSelectorsPresent()){
goToNextUrl();
}
},5000);
}
}

},5000);

},7000);

})();

You might also like