04.07.2022, 06:53
Hier mal die Skripts, die ich bisher für die 5billionsales Sache gebaut habe, in der Reihenfole wie sie (ausgehend von der 5billionsales Hauptseite aus) benutzt werden:
Und das Script, an dem ich aktuell noch hänge, ist das hier:
2 Probleme plagen mich da derzeit:
1. Zum Einen habe ich das Problem, wie gesagt, dass ich nicht weiß wie ich die URL hinter den Banners aufrufen kann sodass die aufgehenden Tbs auch wieder geschlossen werden können.
2. Andere nervige Sache ist, dass man offenbar eine vollständige URL nicht im @match benutzen kann wenn es - (bindestrich) beinhaltet.
bspw. kann ich nicht einfach die blablabla/data-dash/ seite so reinschreiben ins match, denn sie wird nciht gefunden.
habe daher das mit der wildcard gemacht, also blabla/data*.
Problem halt nur auch jetzt schon dass dadurch das Skript auch andere Seite anspricht die gar nicht gemeint sind.
Kann man das machen dass man trotzdem die volle url mit bindestrich drin irgendwie matchen kann?
Generell wenn ich das ad-banner/bild anklicke, dann wird in neuem tab die seite geladen.
kann ich offen lassen oder gleich zu machen, ist egal.
Dafür, ob ich brav meine ads geguckt habe, wird scheinbar nur drauf geachtet ob ich brav das ad-banner angeklickt und diese komische ca() funktion getriggert wurde.
Code:
// ==UserScript==
// @name https://5billionsales.com/
// @namespace https://5billionsales.com/
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/
// @grant none
// @run-at document-idle
// ==/UserScript==
(function() {
'use strict';
// Your code here...
const as = document.querySelectorAll('a');
var deslink;
deslink = (document.querySelectorAll('.btn.btn-success'))[0];
deslink.click();
})();
Code:
// ==UserScript==
// @name https://5billionsales.com/login
// @namespace https://5billionsales.com/login
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/login
// @run-at document-idle
// ==/UserScript==
console.log("Script started!");
(function() {
'use strict';
function login(usertologin) {
console.log("Running login("+usertologin+")!");
return usertologin;
}
var usertologin = localStorage.getItem('usertologin');
console.log("usertologin before="+usertologin);
if(usertologin==null){
usertologin='user1';
}
else if(usertologin=='user1'){
usertologin='user2';
}
else if(usertologin=='user2'){
usertologin='user1';
}
localStorage.setItem('usertologin', usertologin);
console.log("usertologin after="+usertologin);
//login(usertologin);
const buttons = document.querySelectorAll('button#rvBtn');
console.log("buttons length="+buttons.length);
buttons[0].click();
console.log("Button clicked!");
var inputemail=document.querySelectorAll('input#email');
inputemail[0].value=usertologin;
var inputpass=document.querySelectorAll('input#password');
inputpass[0].value="Passwortduh";
var buttonlogin=document.querySelectorAll('button#submitBtn');
buttonlogin[0].click();
/*
<input id="email" type="text" class="form-control form-group " name="email" value="" required="" autofocus="" placeholder="Username / Email address">
*/
//localStorage.setItem('myCat', 'Tom');
//const cat = localStorage.getItem('myCat');
//localStorage.removeItem("usertologin");
})();
Code:
// ==UserScript==
// @name https://5billionsales.com/login-confirm/*
// @namespace https://5billionsales.com/login-confirm/*
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/login-confirm/*
// @run-at document-idle
// ==/UserScript==
console.log("Script started!");
(function() {
'use strict';
console.log("Script successfully running!");
var inputs=document.querySelectorAll('.form-control.mr-1');
for(var i=0;i<inputs.length;i++){
inputs[i].value=i+1;
}
var buttonlogin=document.querySelectorAll('button#submit-btn');
buttonlogin[0].click();
/*
<input type="number" name="c1" min="0" max="9" maxlength="1" pattern="\d{1}" required="" oninput="this.value=this.value.slice(0,1);" value="" class="form-control mr-1">
*/
})();
Code:
// ==UserScript==
// @name https://5billionsales.com/select-money-maker/*
// @namespace https://5billionsales.com/select-money-maker/*
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/select*
// @run-at document-idle
// ==/UserScript==
console.log("Script started!");
(function() {
'use strict';
console.log("Script successfully running!");
var validatepopup=document.querySelectorAll('.question.bg-success.position-fixed.container.m-auto.text-center');
console.log("validatepopup length="+validatepopup.length);
for(var i=0;i<validatepopup.length;i++){
if(validatepopup[i].innerHTML=="Click here to Validate your Sell Data Now"){
validatepopup[i].click();
}
}
})();
Code:
// ==UserScript==
// @name https://5billionsales.com/data-dash/*
// @namespace https://5billionsales.com/data-dash/*
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/data*
// @run-at document-idle
// ==/UserScript==
if(window.location.href.indexOf("https://5billionsales.com/data-dash") == -1){
throw new Error("Stopped JavaScript.");
}
console.log("Script started!");
(function() {
'use strict';
console.log("Script successfully running!");
var ahref=document.querySelectorAll('.btn.btn-primary');
for(var i=0;i<ahref.length;i++){
if(ahref[i].innerHTML=="VALIDATE"){
ahref[i].click();
}
}
/*
<a href="https://5billionsales.com/data/validate-login/Rqlk4Tmnez0iDNmxmftcL2ZSlGHKLUKzMwDolNJWOhxkKe5pf1L18M4BWZZLExXdRQRVBd0YqCXkbMbQaVqya1uEeKcNgL0joOBV" class="btn btn-primary" id="btn-link">VALIDATE</a>
*/
})();
Und das Script, an dem ich aktuell noch hänge, ist das hier:
Code:
// ==UserScript==
// @name https://5billionsales.com/data/validate-login/*
// @namespace https://5billionsales.com/data/validate-login/*
// @version 0.1
// @description Try to take over the world!
// @author You
// @match https://5billionsales.com/data/validate*
// @run-at document-idle
// ==/UserScript==
console.log("Script started!");
(function() {
'use strict';
console.log("Script successfully running!");
var ads=document.querySelectorAll('.card.cursor.mt-3');
for(var i=0;i<ads.length;i++){
asyncf(i);
}
async function asyncf(i) {
ads[i].click();
await sleep(3000);
console.log('Done');
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
/*
<div id="ca-31097" class="card cursor mt-3" onclick="ca(31097);">
*/
/*
<div id="ca-74664" class="card cursor mt-3" onclick="ca(74664);">
*/
})();
2 Probleme plagen mich da derzeit:
1. Zum Einen habe ich das Problem, wie gesagt, dass ich nicht weiß wie ich die URL hinter den Banners aufrufen kann sodass die aufgehenden Tbs auch wieder geschlossen werden können.
2. Andere nervige Sache ist, dass man offenbar eine vollständige URL nicht im @match benutzen kann wenn es - (bindestrich) beinhaltet.
bspw. kann ich nicht einfach die blablabla/data-dash/ seite so reinschreiben ins match, denn sie wird nciht gefunden.
habe daher das mit der wildcard gemacht, also blabla/data*.
Problem halt nur auch jetzt schon dass dadurch das Skript auch andere Seite anspricht die gar nicht gemeint sind.
Kann man das machen dass man trotzdem die volle url mit bindestrich drin irgendwie matchen kann?
Generell wenn ich das ad-banner/bild anklicke, dann wird in neuem tab die seite geladen.
kann ich offen lassen oder gleich zu machen, ist egal.
Dafür, ob ich brav meine ads geguckt habe, wird scheinbar nur drauf geachtet ob ich brav das ad-banner angeklickt und diese komische ca() funktion getriggert wurde.