0% found this document useful (0 votes)
283 views

Ad BTC

This userscript automates interactions on several cryptocurrency earning websites. It logs into accounts if login credentials are provided, clicks buttons and links to complete tasks, and moves to the next website URL after a timeout. It checks for messages indicating tasks are complete before changing URLs.

Uploaded by

Andri Krisdiana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
283 views

Ad BTC

This userscript automates interactions on several cryptocurrency earning websites. It logs into accounts if login credentials are provided, clicks buttons and links to complete tasks, and moves to the next website URL after a timeout. It checks for messages indicating tasks are complete before changing URLs.

Uploaded by

Andri Krisdiana
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 13

// ==UserScript==

// @name PTC
// @namespace PTC Cryptorotator
// @version 0.1
// @description Claim big faucet
// @author Reply
// @match https://adbtc.top/*
// @match https://adbch.top/*
// @match https://faucetpay.io/*
// @match https://www.coinpayu.com/*
// @match https://everve.net/*
// @connect adbtc.top
// @connect adbch.top
// @connect faucetpay.io
// @connect www.coinpayu.com
// @connect everve.net
// @grant GM_xmlhttpRequest
// @grant GM_setValue
// @grant GM_getValue

// ==/UserScript==
(function() {

'use strict';
window.alert = function() {};
window.confirm = function() {};

//Do not execute if window is a pop up


if(window.name){
return;
}

var count = 0;
var clicked = false;

//Enter your login and password below, if you like to Autologin. Be careful
while providing passwords,
//else you may get your accounts locked
var websiteData = [

{url : "https://adbtc.top/index/earn", login: "", password: ""},


{url : "https://adbch.top/surf/browse", login: "", password: ""},
{url : "https://faucetpay.io/ptc", login: "", password: ""},
{url : "https://www.coinpayu.com/dashboard/ads_surf", login: "", password:
""},
{url : "https://everve.net/tasks/traffic-exchange/", login: "", password:
""},
];

var websiteMap = [

{
website: "adbtc.top",
defaultButtonSelectors: [".btn.btn-primary.btn-large"],
loginSelectors: ["input[type=text]", "input[type=password]",
"input[type=submit]"],
captchaButtonSubmitSelector: [".btn.btn-default",
"input[type=submit]"],
allMessageSelectors: ["p.flow-text", "#pre > p"],
additionalFunctions: adbtcTop,
messagesToCheckBeforeMovingToNextUrl: ["You have watched", "Links in
surfing are over"]
},

{
website: "adbch.top",
defaultButtonSelectors: ["#btstart"],
loginSelectors: ["#mail", "#password", ".btn-large"],
captchaButtonSubmitSelector: [".btn.btn-default", ".btn-large"],
allMessageSelectors: ["h5"],
additionalFunctions: adbtcTop,
messagesToCheckBeforeMovingToNextUrl: ["You have looked at all the
sites at the moment"]
},

{
website: "faucetpay.io",
defaultButtonSelectors: [".card-body .btn.btn-primary.btn-block"],
loginSelectors: ["input[type=text]", "input[type=password]",
"button[type=submit]"],
captchaButtonSubmitSelector: [".btn.btn-lg.btn-danger", ".btn.btn-
primary.btn-block"],
allMessageSelectors: [".alert.alert-info"],
messagesToCheckBeforeMovingToNextUrl: ["There are no ads available"],
additionalFunctions: faucetpay,
timeoutbeforeMovingToNextUrl: 1380000
},

{
website: "coinpayu.com",
defaultButtonSelectors: [".btn.btn-primary.btn-large"],
loginSelectors: ["input[type=email]", "input[type=password]", "body >
div:nth-child(1) > div > main > div > button"],
captchaButtonSubmitSelector: [".btn.btn-default",
"input[type=submit]"],
allMessageSelectors: ["p.flow-text", "#pre > p"],
additionalFunctions: coinpayu,
messagesToCheckBeforeMovingToNextUrl: ["You have watched", "Links in
surfing are over"],
timeoutbeforeMovingToNextUrl: 500000
},

{
website: "everve.net",
additionalFunctions: everve,
timeoutbeforeMovingToNextUrl: 120000
},

];

//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.claimButtonSelector = value.claimButtonSelector;
websiteDataValues.captchaButtonSubmitSelector =
value.captchaButtonSubmitSelector;
websiteDataValues.loginSelectors = value.loginSelectors;
websiteDataValues.loginCaptcha = value.loginCaptcha;
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;
break;
}
}

var login = "";


var password = "";

for (let value of Object.values(websiteData)) {


count = count + 1;
if (value.url.includes(window.location.hostname)) {
websiteDataValues.url = value.url;
login = value.login;
password = value.password;
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) {
websiteDataValues.nextUrl = websiteData[0].url;
} else {
websiteDataValues.nextUrl = websiteData[count].url;
}

//Use case for overrding next Url


if (websiteDataValues.overrideNextUrl) {
websiteDataValues.nextUrl = websiteDataValues.overrideNextUrl;
}

//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
isNextUrlReachable = true;
},
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(3000);
}
window.location.href = websiteDataValues.nextUrl;
}
}

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


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

setTimeout(function() {
goToNextUrl();
}, delayBeforeMovingToNextUrl);

//Wait for 5 seconds if it's in dashboard,


if ((!window.location.href.includes("coinpayu")) &&
(window.location.href.includes("dashboard") ||
window.location.href.includes("page/user-admin"))) {
setTimeout(function() {
if (websiteDataValues.url) {
window.location.href = websiteDataValues.url;
}
}, 5000);
}

//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;
}
function closeRepeatingAds() {

//Check if previous Ad is Same as Current Ad and Skip the Ad


if (unsafeWindow.viewurl) {
if (GM_getValue("adUrl") && GM_getValue("adUrl") ==
unsafeWindow.viewurl) {
//Skip the Ad
document.querySelector(".card > a").click();
movingToNextUrl = true;
} else {
GM_setValue("adUrl", unsafeWindow.viewurl);
}

function adbtcTop() {

// For adbtc, special use case


if (document.querySelector(".collection-item.hoverable") &&
document.querySelector(".collection-item.hoverable").innerText.includes("Sign in"))
{
document.querySelector(".collection-item.hoverable").click();
}

for(let j=0; j<document.querySelectorAll(".dropdown-content.select-


dropdown").length; j++){
for(let i=0; i<document.querySelectorAll(".dropdown-content.select-
dropdown")[j].getElementsByTagName("li").length; i++){
if( document.querySelectorAll(".dropdown-content.select-dropdown")
[j].getElementsByTagName("li")[i].innerText.includes("hCaptcha") &&
!(document.querySelectorAll(".dropdown-content.select-dropdown")
[j].getElementsByTagName("li")[i].getAttribute("class") &&
document.querySelectorAll(".dropdown-content.select-dropdown")
[j].getElementsByTagName("li")[i].getAttribute("class").includes("selected"))){
document.querySelectorAll(".dropdown-content.select-dropdown")
[j].getElementsByTagName("li")[i].click();
break;
}
}
}

if (document.querySelector("div.col.s4> a") && !


document.querySelector("div.col.s4> a").className.includes("hide")) {
document.querySelector("div.col.s4> a").click();
}

if (window.location.href == "https://adbtc.top/index/" ||
window.location.href == "https://adbtc.top/index") {
window.location.href = "https://adbtc.top/index/earn";
}

if (window.location.href == "https://adbtc.top/index/earn" ||
window.location.href == "https://adbtc.top/index/earn/") {
window.location.href =
document.querySelectorAll(".collection.menu.colmen.nomarg > a")[0].href;
}

//Use case for adbtc


if (window.location.href.includes("adbtc.top/surf/browse")) {
websiteDataValues.overrideNextUrl =
document.querySelectorAll(".collection.menu.colmen.nomarg > a")[1].href;
}

setInterval(function() {
//Skip the Ad if the Ad closes on it's own for adbtc due to Adblocker
or the script itself
if (document.querySelector("#nenado") && !
document.querySelector("#nenado").className.includes("hide") &&
document.querySelector("#nenado").innerText.includes("You closed
page")) {
document.querySelector("#nenado > a").click();
}
}, 10000);

function faucetpay() {

//Block Pop Ups


unsafeWindow.open = function(){};

if(document.querySelector("body").innerText.includes("This ad does not


exist or has expired")){
window.location.href = "https://faucetpay.io/ptc/";
}

function everve() {
var oldfunction = unsafeWindow.open;
var windowName = "";

function newFunction(params1, params2) {

console.log(params1 + params2);
if (!params2 || params2 == "_blank") {
windowName = "EvervepopUpWindow";
} else {
windowName = params2;
}

return oldfunction(params1, windowName);


};

unsafeWindow.open = newFunction;

unsafeWindow.onbeforeunload = function() {
unsafeWindow.open('', windowName).close();
};

var clicked = false;


var interval = setInterval(function(){
if(document.querySelectorAll(".table_row[role=row]").length == 0){
clearInterval(interval);
goToNextUrl();
return;
}

if(!clicked){
for(let i=0; i<
document.querySelectorAll(".table_row[role=row]").length;i++){

if(document.querySelectorAll(".table_row[role=row]")
[i].style.display != "none"){
document.querySelectorAll(".table_row[role=row] .btn-
group")[i].querySelector("a").click();
clicked = true;
break;
}
}
}else{

if( document.querySelector("#next_button").style.display != "none")


{
document.querySelector("#next_button > button").click();
clicked = false;
}
}

},5000);

function coinpayu() {

var oldfunction = unsafeWindow.open;


var windowName = "";

function newFunction(params1, params2) {

console.log(params1 + params2);
if (!params2 || params2 == "_blank") {
windowName = "popUpWindow";
} else {
windowName = params2;
}
if (window.location.href ==
"https://www.coinpayu.com/dashboard/ads_active") {
// opts = "height=800,width=800";
}

console.log("WindowName is::" + windowName);

return oldfunction(params1, windowName);


};
unsafeWindow.open = newFunction;

unsafeWindow.onbeforeunload = function() {
unsafeWindow.open('', windowName).close();
};

var viewingAd = false;


var i = 0;

setInterval(function() {

//Check if recaptcha or Hcaptcha is selected

if (document.querySelector(".form-group.form-code.captcha-type > div


span.recaptcha-checked") &&
(document.querySelector(".form-group.form-code.captcha-type > div
span.recaptcha-checked").innerText.includes("Hcaptcha") ||
document.querySelector(".form-group.form-code.captcha-type > div
span.recaptcha-checked").innerText.includes("GoogleRecaptcha"))) {

} else {
//Select either of Hcaptcha or Recaptcha

for (let i = 0; i < document.querySelectorAll(".form-group.form-


code.captcha-type > div span").length; i++) {

if (document.querySelectorAll(".form-group.form-code.captcha-
type > div span")[i].innerText.includes("Hcaptcha") ||
document.querySelectorAll(".form-group.form-code.captcha-
type > div span")[i].innerText.includes("GoogleRecaptcha")) {
document.querySelectorAll(".form-group.form-code.captcha-
type > div span")[i].click();
break;
}

let count = document.querySelectorAll("[class='clearfix container-fluid


bgwhite'] [title] span").length;

if (i < count && count > 0 && !viewingAd) {


viewingAd = true;
//Click
document.querySelectorAll("[class='clearfix container-fluid
bgwhite'] [title] span")[i].click();
setTimeout(function() {
//Wait for completion
var waitForCompletionInterval = setInterval(function() {
// ads has already been clicked
if (document.querySelector(".alert-div.alert-red") &&
(document.querySelector(".alert-div.alert-red").innerText.includes("advertisement
does not") ||
document.querySelector(".alert-div.alert-red").innerText.includes("ads has already
been clicked"))) {
var tmp = document.querySelector(".alert-div.alert-
red").innerHTML;
document.querySelector(".alert-div.alert-
red").innerHTML = tmp.replaceAll("advertisement does not", "")
document.querySelector(".alert-div.alert-
red").innerHTML = tmp.replaceAll("ads has already been clicked", "")
i = i + 1;
unsafeWindow.open('', windowName).close();
viewingAd = false;
clearInterval(waitForCompletionInterval);
}

if (document.querySelector("div.warning-ags") &&
(document.querySelector("div.warning-
ags").innerText.includes("You closed the advertisement too soon") ||
document.querySelector("div.warning-
ags").innerText.includes("The advertisement is not opened correctly"))){
i = i + 1;
unsafeWindow.open('', windowName).close();
viewingAd = false;
clearInterval(waitForCompletionInterval);
}

if (count != document.querySelectorAll("[class='clearfix
container-fluid bgwhite'] [title] span").length) {

//Ad viewed
//Close the window
setTimeout(function() {
unsafeWindow.open('', windowName).close();
viewingAd = false;
clearInterval(waitForCompletionInterval);
}, 3000);
}
}, 5000);
}, 7000);

}
if ((count == 0 || count == i) && !viewingAd) {
//Go to next page
i = 0;
var pageCount = document.querySelectorAll("div.coinpayu-pagination
> ul > li").length;
if (pageCount >= 1 && document.querySelectorAll("div.coinpayu-
pagination > ul > li")[pageCount - 1].className == "active") {
//Stop or go to next url
console.log("Ads End");
goToNextUrl();

} else if (pageCount >= 1) {


//go to next page
document.querySelectorAll("div.coinpayu-pagination > ul > li")
[pageCount - 1].click();
}

}
}, 5000);

var stopSolvingCaptcha = false;

function checkLoginSelectors() {

if (websiteDataValues.loginSelectors) {
//Check if all login selectors are present
let count = 0;
for (let i = 0; i < websiteDataValues.loginSelectors.length; i++) {
if (document.querySelector(websiteDataValues.loginSelectors[i])) {
count++;
}

if (count == websiteDataValues.loginSelectors.length) {

if (login.length > 0 && password.length > 0) {


//Input Login

document.querySelector(websiteDataValues.loginSelectors[0]).value = login;

//Input Password

document.querySelector(websiteDataValues.loginSelectors[1]).value = password;
} else {
stopSolvingCaptcha = true;
}

} else {
stopSolvingCaptcha = true;
}

} else {
stopSolvingCaptcha = true;
}

setTimeout(function() {

checkLoginSelectors();

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

//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();
}
//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 (var i = 0; i < websiteDataValues.defaultButtonSelectors.length; i+
+) {
if
(document.querySelector(websiteDataValues.defaultButtonSelectors[i])) {

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

//Input the address and click the login button


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

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

}, 5000);
}

//Click the form button after solving captcha


//Works for both recaptcha and hcaptcha
var clicked = false;
var captchaInterval = setInterval(function() {
if (!stopSolvingCaptcha || !window.location.href.includes("login")) {
try {
if (!clicked && unsafeWindow.grecaptcha &&
unsafeWindow.grecaptcha.getResponse().length > 0) {
for (let i = 0; i <
websiteDataValues.captchaButtonSubmitSelector.length; i++) {
if
(document.querySelector(websiteDataValues.captchaButtonSubmitSelector[i])) {

document.querySelector(websiteDataValues.captchaButtonSubmitSelector[i]).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].getAttribute("data-
hcaptcha-response") &&
document.querySelectorAll("iframe")[hc].getAttribute("data-
hcaptcha-response").length > 0) {
for (let i = 0; i <
websiteDataValues.captchaButtonSubmitSelector.length; i++) {
if
(document.querySelector(websiteDataValues.captchaButtonSubmitSelector[i])) {

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

}, 5000);

}, 5000);

window.onbeforeunload = function() {
if (unsafeWindow.myWindow) {
unsafeWindow.myWindow.close();
}
if (unsafeWindow.coinwin) {
var tmp = unsafeWindow.coinwin;
unsafeWindow.coinwin = {};
tmp.close();
}

};

})();

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy