Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Von Script geöffneten Tab schließen?
#21
wow, das muss ich mir erst mal in Ruhe durchlesen :-)

Kämpfe (und scheitere) gerade an meinem Ursprungsthema mit der 5billionseite.
Habe mal bisher zustande bekommen dass er mal von der allgemein Seite zur Loginseite wechselt:
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();

})();

Jetzt bin ich auf der Loginseite, wo ich anfangs erst mal kläre wer eingeloggt werden soll (mehrere Leute klicken abwehcslend, daher. will mir im localstorage abspeichern, wer gerade an der Reihe ist).
Und dann soll im allerersten schritt unten der "Login with verification" button angeklickt werden damit die 2 Felder für benutzername und passwort angezeigt werden.
Was wohl nicht so klappt.
Komischerweise, obwohl die url übereinstimmt, wird shceinbar das skript erst gar nicht auf der seite ausgeführt.
in der konsole erscheint auch kein scriptbezogener fehler.
Ob die seite das ausführen von skripten unterbunden hat?
oder ist da irgendwo ein fehler drin, den ich nicht erkenne...
hier mal der code bisher für die loginseite:
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
// @grant        none
// @run-at document-idle
// ==/UserScript==

(function() {
    'use strict';
/*
    const usertologin = localStorage.getItem('usertologin');

    if(usertologin==null){
        login(usertologin);
        localStorage.setItem('usertologin', 'username1');

    }
    else if(usertologin=='username1'){
        login(usertologin);
        localStorage.setItem('usertologin', 'username2');

    }
    else if(usertologin=='username2'){
       
        login(usertologin);
        localStorage.setItem('usertologin', 'username1');
    }
*/



    /*
Der html code vom button
<button id="rvBtn" type="button" class="btn btn-success w-75"
data-toggle="collapse" data-target="#r-val"
onclick="$(this).hide();scrollBottom();">
<i class="fas fa-at">
</i>
Login with Verification
</button>
    */



function openform1(){


    const button = document.querySelectorAll('button#rvBtn');

    button[0].click();


}

openform1();



  function login(usertologin) {
      return usertologin;
  }




})();
Zitieren
#22
So erstmal das Script.
Habe jetzt alle 3 Scripte in eins bekommen , so geht es jetzt komischer weiße, warum auch immer.
Code:
// ==UserScript==
// @name         ebesucher komplett bot
// @namespace    https://basti1012.bplaced.net/
// @version      0.11
// @description  Öffnet die klicklinks voll automatisch ,schliest sie und nimmt den nächsten
// @author       basti1012
// @include       *
// @noframes
// @exclude       *ebesucher.de/advertisement/show*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// @run-at        document-end
// @grant GM_xmlHttpRequest
// @grant GM_setValue
// @grant GM_getValue
// @grant GM_deleteValue
// @grant GM_addStyle
// ==/UserScript==



//nach den das Script die letzte Seite geschlossen hat , warten bis es weiter geht-
// jenach pc und Internet verbindung sollte man den Wert ändern-
// 3000 millisekunden luft bei mir perfekt.Wenn laptop und internet langsam ist sollte man den Wert notfalls erhöhen
var klick_jackpot_wait_timt=3000;

// Dieser Wert dient dazu um , um die nächste Zeite zu öffnen.Bei den klicklinks steht immer eine zahl wie lange man auf der Seite bleiben muss.
//lasse den wert auf 0 , dann wird versucht die Zeit zu nutzen die da steht , oder gebe einen eigenen Wert ein.
//Da das Script den Tab wechselt finktioniert der Timer nur bedingt.Ich empfehle den auf 25 stehen zu lassen, da kam ich super mit klar
var wartetimer=25;

//Dieser Timer ist dazu da das beim Seite betretten noch gewartet wird.
// langsames Internet und langsamer Laptop  = hohe zahl , je scneller der Laptop um so höher die Zeit-
// ich habe 5000 angegeben und lief ganz gut
var scriptstart_timer=5000;

//Gebe dein surfname ein um deine Besuchten Links zu zählen( plus Speichern ) und eine Hochrechnung anzuzeigen die schon verdient worden ist
// mit den auszahlungs script wird der Zähler wieder genullt
var surfname='irgendeinname';

// true oder false schaltet das tracking aus , somit werden auch keine hochrechnungen angezeigt
// Beim update gibt es eine funktion , dann kann man alle links und Punkte sehen die man besucht hat ,wie oft und wie viele punkte es gab
// diese funktion kommt bald mit lösch und reset funktiontn
var tracking='true';



$(document).ready(function(){

    var no_click_seite='false';
    var no_close_links='false';

    let urlhier = location.href;
    var klinklinks_seite=urlhier.indexOf('ebesucher.de/c/');
    if(klinklinks_seite!=-1){
         var bod2=document.getElementsByTagName('body')[0];
         var neu2=document.createElement('div');
         neu2.id='myinfo1';
         neu2.style='position:fixed;top:0;left:calc(50vw - 100px);height:100px;width:200px;border:2px solid red;background:blue;color:white;overflow:auto;z-index:999999';
         bod2.appendChild(neu2);

         var spliname=urlhier.split('?surfForUser=');
         console.log(spliname);
         var namm=spliname[1];
         var surflinks=[
         'http://www.ebesucher.de/c/familie-partnerschaft?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/jobs-business?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/kostenloses?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/computer-zubehoer?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/shopping-e-commerce?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/fun-unterhaltung?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/telekommunikation-handy?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/webmaster-homepages?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/kunst-kultur?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/games-clans?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/gesundheit-wellness?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/haus-garten?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/sonstiges?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/auto-motorrad?surfForUser='+namm+'',
         'https://www.ebesucher.de/c/geld-verdienen-mlm?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/sport?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/medien-nachrichten?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/auktionen?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/erotik?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/flirten-liebe?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/tiere-haustiere?surfForUser='+namm+'',
         'http://www.ebesucher.de/c/zeitschriften-buecher?surfForUser='+namm+''];

         if(localStorage.getItem('E_besucher_verdienst')){
             var bodver = document.getElementsByTagName('body')[0];
             var verdienst_ele = document.createElement('div');
             verdienst_ele.id = 'verdienst_ele';
             verdienst_ele.style = 'position:fixed;top:0;left:0px;min-height:200px;height:auto;width:360px;border:2px solid red;background:rgba(0,0,0,0.6);pointer-events:none;color:white;font-weight:900;overflow:auto;z-index:999999;';
             bodver.appendChild(verdienst_ele);
             verdienst_ele.innerHTML="<style>#verdienstbox h3{display: block;width: 100%;border-bottom: 2px solid white;color: white;font-size: 25px;text-align: center;} #verdienstbox b{display:block;width:100%;font-size:20px;}</style><div id='verdienstbox'><h3>Statistik</h3>"+ localStorage.getItem('E_besucher_verdienst')+ "</div>";
         }

         var time_ende;
         var min=0;
         var max=surflinks.length-1;
         var infi;
         var random= Math.floor(Math.random() * (max - min)) + min;//(Math.random() * (surflinks.length-1 - 0)) + 0;
         var biginfo=random+' von insgesamt '+surflinks.length+' Surflinks kategorien';
         var lese='';
         var f=0;
         var links=[];
         var geld=[];

         setTimeout(function(){
             var table=document.querySelectorAll('#contentContainer .item.clickAd a');//.underText');
             run(f,random,table);
         },scriptstart_timer);


         function run(f,random,table){
             var info_menge=table.length+' MENGE IN FUNCRTION';
             if(table.length==0){
                 return location.href=surflinks[random];
             }
             document.getElementById('myinfo1').innerHTML=biginfo+'<br>'+info_menge+'<br>';
             if(f<table.length){
                 if(wartetimer==0){
                     time_ende=parseInt(table[f].getAttribute('data-viewtime'));//+parseInt(8);
                 }else{
                       time_ende=wartetimer;
                 }
                 setTimeout(function(){
                     table[f].click();
                 },klick_jackpot_wait_timt);

                 var relo=time_ende*1000;
                 var isTabActive;
                 var x=relo/1000;
                 window.onfocus = function () {
                   isTabActive = true;
                       document.getElementById('myinfo1').innerHTML='Relos Page';
                       console.log('active');
                       go(x,x);
                 };

                 window.onblur = function () {
                       isTabActive = false;
                       console.log('inactive');
                 };
                 setInterval(function () {
                   console.log(window.isTabActive ? 'active' : 'inactive');
                 }, 1000)

                 go(x,0);
                 function go(x,g){
                    console.log(x,g);
                    setTimeout(function(){
                      if(g>x){
                          infi='Zeit zu ende';
                          window.blur();
                          location.href=surflinks[random];
                      }else{
                          infi='Timer '+g+'/'+x;
                          g++;
                          go(x,g);
                      }
                      document.getElementById('myinfo1').innerHTML=biginfo+'<br>'+infi;
                    },1000);
                }
             }
         }
    }else{
          no_click_seite='true';
    }

   var weiterleitungs_seite=urlhier.indexOf('ebesucher.de/advertisement/view');
   var weiterleitungs_seite1=urlhier.indexOf('ebesucher.de/advertisement/show');
   if(weiterleitungs_seite!=-1 || weiterleitungs_seite1!=-1){
       var computername=surfname;
       var menge = 0;
       var menge1 = 0;
       var data;
       var local_history1 = [data];
       let seite = location.href;
       var d = new Date();
       var tag = d.getDate();
       var jahr = d.getFullYear();
       var stunde = d.getHours();
       var monat = d.getMonth();
       var minute = d.getMinutes();
       var sekunde = d.getSeconds();
       var datum = stunde + '-' + minute + '-' + sekunde + '-' + tag + '-' + monat + '-' + jahr;
       var nurtag = tag + '-' + monat + '-' + jahr + '-' + stunde;
       var rr = 9;
       var b=0;
       var bod = document.getElementsByTagName('body')[0];
       var neu = document.createElement('div');
       neu.id = 'myinfo';
       neu.style = 'position:fixed;top:0px;left:0;display:block;width:0px;text-align:center;border:2px solid red;font-size:30px;background:rgba(0,0,0,0.6);color:white;overflow:auto;z-index:999999';
       bod.appendChild(neu);



       var bod1 = document.getElementsByTagName('body')[0];
       var neu1 = document.createElement('div');
       neu1.id = 'myinfo2';
       neu1.style = 'position:fixed;top:0;right:0px;height:auto;width:300px;border:2px solid red;background:red;color:white;font-weight:900;overflow:auto;z-index:999999';
       bod1.appendChild(neu1);

       if(localStorage.getItem('E_besucher_verdienst')){
            var bodver1 = document.getElementsByTagName('body')[0];
            var verdienst_ele1 = document.createElement('div');
            verdienst_ele1.id = 'verdienst_ele';
            verdienst_ele1.style = 'position:fixed;top:0;left:0px;min-height:200px;height:auto;width:360px;border:2px solid red;background:rgba(0,0,0,0.6);pointer-events:none;color:white;font-weight:900;overflow:auto;z-index:999999;';
            bodver1.appendChild(verdienst_ele1);
            verdienst_ele1.innerHTML="<style>#verdienstbox h3{display: block;width: 100%;border-bottom: 2px solid white;color: white;font-size: 25px;text-align: center;} #verdienstbox b{display:block;width:100%;font-size:20px;}</style><div id='verdienstbox'><h3>Statistik</h3>"+ localStorage.getItem('E_besucher_verdienst')+ "</div>";
       }

       setInterval(function() {
           var h1s = document.querySelectorAll('h1');
           h1s.forEach(function(c) {
                var danke = c.innerHTML;
                document.getElementById('myinfo2').innerHTML += danke + '<br>';
                var ifdanke = danke.indexOf('Hat Dir die Seite gefallen?');

                if (ifdanke != -1) {
                     setTimeout(function() {
                          b++;
                          document.getElementById('myinfo2').innerHTML += 'erfolgreich und close';
                          if(b<=1){
                               if(tracking=='true'){
                                    let ggg = document.getElementById('earned-points').innerHTML;
                                    var link=document.querySelector('h2 a');
                                    link=link.href;
                                    $.ajax({
                                         type: 'GET',
                                         url:'https://javascript-forum.de/save-ebesucher.php?punkte='+ggg+'&link='+link+'&computer='+computername+'',
                                         success: function(data){
                                              neu.innerHTML=data;
                                              document.getElementById('myinfo2').innerHTML = data;
                                              if(!localStorage.getItem('E_besucher_verdienst')){
                                                   localStorage.setItem('E_besucher_verdienst',data);
                                              }else{
                                                   localStorage.setItem('E_besucher_verdienst',data);
                                              }
                                         }
                                    });
                               }
                               setTimeout(function() {
                                    window.top.close();
                               }, 2000)
                          }
                     }, 2000);
                }
           });
       }, 2000);
   }else{
         no_close_links='true';
   }

var e_seite;
    var klinklinks_seite_no_ebesucher=urlhier.indexOf('ebesucher.de');
    if(klinklinks_seite_no_ebesucher!=-1){
        e_seite='false';
    }else{
        e_seite='true';
    }

if(no_click_seite=='true' && no_close_links=='true' && e_seite=='true'){
    var timer;
    timer=setInterval(function(){
         var h=0;
         var v=0;
         var svgs=document.querySelectorAll('div');

         var simulateClick = function (elem,v,mon) {
             console.log('click function '+elem+''+v+''+mon);
             var evt = new MouseEvent('click', {
                 bubbles: true,
                 cancelable: true/*,
                view: window
*/             });
             h++;
             if(h<=4){
                 clearInterval(timer);
             }
             var canceled = !elem.dispatchEvent(evt);
         };

         for(var m=0;m<svgs.length;m++){
             var g=svgs[m].getAttribute('siteid');
             if(g>1){
                 v++;
                 var mon=svgs[m].getAttribute('taskpoints');
                 var svgelem=svgs[m].children;
                 var jack=svgelem[0].children;
                 var g1=jack[1].className;
                 simulateClick(jack[1],v,mon);
             }else{
             }
         }
    },1000);
    setInterval(function(){
         var okclick=document.querySelector('#ao-points ~ a .fa-info-circle');
         if(okclick){
              okclick.click();
         }else{
         }
    },2000);
}
});


So und jetzt muss ich schauen was du geschrieben hast ein moment

versuch erstmal das
// @match https://5billionsales.com/login

in
// @include *5billionsales.com/login*
zu ändern , damit hatte ich auch schon oft Probleme

Man kann ja beim Add-on sehen welche Greasemonkey Scripte gerade aktive sind , dann solltest du mal da schauen. versuch erstmal include und die * nutzen , weil es könnte ja auch http oder https://www am Anfang stehen und hinten auch andere Zeichen im Link
Zitieren
#23
Okay, also es ist eindeutig dass der Code funktioniert.
Denn wenn ich ihn händisch auf der Loginseite in der Konsole einfüge und "ausführe", dann tut er das was er soll:
klickt auf button, 2 felder für username+passwort gehen auf.

habe ich es allerdings im script, dann tut die seite gar nichts.

ich gehe eher nicht davon aus dass es am @include oder @match, da da alle möglichen Sachen nicht zugelassen werden laut Fehlerlog.

So aktuell der relevante Teil meines Codes:

Code:
// ==UserScript==
// @name         https://5billionsales.com/login
// @namespace    https://5billionsales.com/login
// @version      0.1
// @description  Try to take over the world!
// @author       You
// @include      https://5billionsales.com/login/*
// @grant GM.xmlHttpRequest
// @run-at document-idle
// ==/UserScript==
Code:
function openform(){


    const buttons = document.querySelectorAll('button#rvBtn');

    console.log("buttons length="+buttons.length);

    buttons[0].click();

    //simulateClick(button[0]);
   return;


}

openform();


Und das hier wird mir im Fehlerlog angezeigt wenn ich die Seite (mit Tampermonkey Script im Hintergrund) aufmache:
Code:
Cookie “AEC” with the “SameSite” attribute value “Lax” or “Strict” was omitted because of a cross-site redirect. element.js
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).
Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. login
Einige Cookies verwenden das empfohlene "SameSite"-Attribut inkorrekt. 4
Diese Seite verwendet die nicht standardisierte Eigenschaft "zoom". Stattdessen sollte calc() in den entsprechenden Eigenschaftswerten oder "transform" zusammen mit "transform-origin: 0 0" verwendet werden. login:5:4214
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://embed.tawk.to/6246cdcd0bfe3f4a8770fba2/1fvi97qtc. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).
<script>-Quell-URI ist in diesem Dokument nicht erlaubt: "https://embed.tawk.to/6246cdcd0bfe3f4a8770fba2/1fvi97qtc". login:1:1
Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://static.cloudflareinsights.com/beacon.min.js/v652eace1692a40cfa3763df669d7439c1639079717194. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).
Keine der "sha512"-Hashes im "integrity"-Attribut stimmen mit dem Inhalt der Subressource überein. login


Ich vermute dass es irgendwie an diesem "Quell-Uri nicht erlaubt" oder der Geschichte mit den Cross Origin Anfragen irgendwie liegt Undecided

Aber kann man das überhaupt beheben wenn die Seite das blockt? Undecided
Zitieren
#24
Also jetzt blicke ich gar nichts mehr.
Ich habe die letzten Stunden in Firefox mit Tampermonkey alle möglichen Varianten mit match und include versucht, gar nichts hat gegriffen, script wurde nicht ausgeführt.
habe ich den code hingegen direkt in der konsole eingetippt, gings.

Habe nun, am Ende meiner Nerven, mal in chrome mit tmapermonkey das probiert (vielleicht würds ja an firefox addons oder so hängen).
gings anfangs auch gar nicht.
aber plötzlich, mit einem direkten match welches ich 200 Mal vorher shcon erfoglos versucht hatte, ging es plötzlich.

Den selben Scriptcode aus chrome tampermonkey zu firefox tampermonkey kopiert.

jetzt gehts auch da.

Und ich denk mir nur so: WTF is going on.

Weil mein Code nicht wirklich viel anders ist, nur dass ich das mit der funktion mal aufgegeben habe um die menge an möglichen  fehlerquellen einzuschränken.
letztlich hatte er ja nicht mal mehr ein simples console.log() gemacht.

aber jetzt gehts plötzlich, komisch....

Hier der aktuelle code, kommentare habe ich weggelassen:

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';
    const buttons = document.querySelectorAll('button#rvBtn');

    console.log("buttons length="+buttons.length);

    buttons[0].click();
    console.log("Button clicked!");


function login(usertologin) {
    return usertologin;
}


})();
Zitieren
#25
In einem Anfall großer Schaffenskraft bin ich mal ein ganzes Stück weitergekommen und habe für jede Seite ein Skript geschrieben, sodass ich mittlerweile von der 5billionsales Startseite bis zur Seite komme, wo die 2 ad-banner zum anklicken sind.

Nur hänge ich da noch am selben problem wie schon ganz am Anfang:
wenn ich da einfahc draufklicke (was ich mittlerweile recht locker hinbekäme),
dann hätte ich keine Möglichkeit, die aufgehenden ad Seiten wieder zuzukriegen.


Mein Ziel wäre es aktuell, vom Banner die zu öffnenden urls zu rkeigen, die mit window.open() zu öffnen, gleichzeitig im localstorage die url zu hinterlegen.
und ein weiteres skript zu haben, das auf jede seite angwendet wird und aber nur, wenn die seite wie erwähnt im localstorage hinterlegt wurde, erst die seite aus dem localstorage wieder löscht und dann die seite mit window.close() wieder zumacht.

den spaß halt mit 2 banner, weil es halt 2 banner zum klicken sind.


der gedanke scheitert aktuell aber dran, dass ich erst mal die url rauskriegen muss.
denn als onclick event wird eine ca(integerzahl) Funktion aufgerufen.
die steht zwar auch im quellcode, aber ich checke noch nciht, wie da mit der vorgegebenen id die zugehörige url zusammengebaut wird.
vermutlich soll man das auch nicht so einfach nachvollziehen können, schätze ich.

ichtig scheitn bei dem ganzen eine resp variable zu sein, die aber irgendwie nirgends definiert wird, keine Ahnung.

hier mal die 2 vermutlich relevanten javascript scripte, die im quellcode hardgecoded sind:

Code:
$(function() {
         $(document).ajaxError(function( event, jqxhr, settings, thrownError ) {
      let rt = JSON.parse(jqxhr.responseText);
      if ((rt.message=="Session Expired")||(rt.message=="Unauthenticated.")||(rt.message=="CSRF token mismatch.")) {
         popAlert(0, 'Session Expired', 'Your session has expired, please refresh the page to continue!');
         $('#alert .btn-dismiss').hide();
         $('#alert .btn-action').removeClass('d-none').text('Refresh').attr('onclick', 'location.reload();');
      }
   });
         getSellerData();
   
         $('#navmenu').on('show.bs.collapse', function () {
      let flagmenu = $('#mobileflags');
      $('#mobileflags').remove();
      $('#navmenu ul').append(flagmenu);
   });
   $('#navmenu').on('hide.bs.collapse', function () {
      let flagmenu = $('#mobileflags');
      $('#mobileflags').remove();
      $('#mobiletopmenu').append(flagmenu);
   });
   load5badlist('5badlist');
});
function load5badlist(e) {
   if (window.innerWidth<992) {
      return;
   }
   if ($('#'+e).length==0) {
      return;
   }
   $.post('/ajaxguest/get5badlist', {n:$('#'+e).attr('data-5badlist')}, function(resp) {
      let d = JSON.parse(resp);
      if (d.status==1) {
         $('#'+e).html(d.v);
      }
   });
}

Code:
function ca(id) {
   if (working) {
      return;
   }
   working = true;
   $('#ca-'+id+' .viewed').removeClass('d-none');
   var md = new MobileDetect(window.navigator.userAgent);
   if (md.is('iPhone')==false) {
      var pop = window.open();
   }
   $.post('/ajax/ca', {id:id}, function(resp) {
      working = false;
      let d = JSON.parse(resp);
      if (d.status==1) {
         if (md.is('iPhone')==false) {
            pop.location.href=d.url;
         } else {
            location.href=d.url;
         }
         if (d.validated==1) {
            popAlert(1, 'Success', 'You have validated your data and your income has been updated!', 'OK', 'VIEW', 'location.href="'+d.earn_url+'"');
         }
         return;
      }
      popAlert(d.status, d.title, d.text);
   });
}
$(function() {
   });


ich kapiers ncih wie da bei gegebener id eine url draus gebaut wird, zu viele variabeln mit nur einem buchstaben drin Undecided






Edit: Nach etwas Weiterem gucken scheint da ein "Ajax Call" gemacht zu werden, der die id irgendwo hinshcickt und als Antwort die Zielurl zurückgeschickt kriegt.

nur die Frage, wie fange ich die Antwort dieser speziellen Ajax requests ab, gerade auch weil da scheinbar noch dutzende andere requests vonstatten gehen...
Zitieren
#26
Gestern habe ich das ebesucher script fertig gemacht und heute hoffe ich das ich bei deiner Seite da mal anfangen kann.
Das ist einfacher, wenn man das selb er machjt .
Aber ich sehe, das hier ja die url ist ,
Code:
if (md.is('iPhone')==false) {
            pop.location.href=d.url;
         } else {
            location.href=d.url;
         }
richtig ?
Wenn du in der Browser Konsole schaust und dann den Button anklickst , wird wahrscheinlich eine JSON Datei gerufen die dann die URL zurückgibt.

Mal was anderes . Wenn du den Button jetzt selber anklickst , was passiert dann?
Es öffnet sich ein Pop-up mit der URL , und du musst die dann wieder nach x Sekunden schließen , oder wie?

Man müsste dann ja nur irgendwas basteln, das den Button anklickt , der ja sowieso den Pop-up öffnet , und dann wieder schließt ?.

Wie ich weiß kann man mit Javascript zwar Pop-ups öffnen und schließen , aber das schließen kann nur die Seite die es geöffnet hat

Morgen Nacht habe ich wieder Zeit dann nehme ich mir das vor,
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#27
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:



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.
Zitieren
#28
So, ich habe mich da jetzt angemeldet und verstehe noch nicht alles.
Erklär mir kurz auf welche Seite was gemacht werden soll.
Zb auf der Login Seite
Hier der Link: https://5billionsales.com/login
Soll er sich automatisch einloggen.

Wie geht es den weiter?
Schreib mir den genauen Link und was da gemacht werden soll.
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#29
(04.07.2022, 17:19)admin schrieb: So, ich habe mich da jetzt angemeldet und verstehe noch nicht alles.
Erklär mir kurz auf welche Seite was gemacht werden soll.
Zb  auf der Login Seite
Hier der Link: https://5billionsales.com/login
Soll er sich automatisch einloggen.

Wie geht es den weiter?
Schreib mir den genauen Link und was da gemacht werden soll.

Also:
Vor allem Anderen muss man sich einloggen und anfangs die Schritte auf der Seite hier befolgen, stehen etwas mittig:
https://5billionsales.com/earn-from-sell...ernet-data
Kurzfassung:
"1. Profil ausfüllen, also irgendwelchen kram anklicken was man an Musik, Essen, etc. so geil findet.
2. deren Addon installieren (ich habs in firefox drin). Weil man angeblich für gesammelte Infos übers Surfverhalten bezahlt wird.
browser muss schon aktiv genutzt werden."


Wenn das Addon drauf ist und da genug Daten drauf sind (ich nutze eh firefox täglich und habe das Addon einfahc installiert und nie wieder angeguckt),

dann der tägliche Ablauf wie folgt:

1. Von der 5billionsales.com Seite oben rechts auf das grüne "Login".

2. Auf Folgeseite https://5billionsales.com/login rutnerscrollen und grünes "Login with Verification" angklicken, Email, Passwort rein und grün "Login" anklicken.

3. Folgeseite https://5billionsales.com/login-confirm/...eNummer456 den "Secret Code" in die 6 Felder eintippen (es reicht auf das 1. feld links zu klicken und 6 ziffern einzutippen) und auf grün "Submit secret code" klicken.

4. Nun ist man eingeloggt und auf der Folgeseite https://5billionsales.com/select-money-maker, wo (falls zutreffend) oben eins oder mehrere grüne Banner sind (keine Ahnung was es technisch sind)
Das oberste müsste "click here to validate..." sein.(Falls nicht da, lief was schief, (ausloggen, einloggen) oder es ist für heute keine validierung mehr nötig da shcon gemacht)(meist sind da noch weitere grüne banner hinsichtlich neuer news, FAQ beiträge, etc. meist langweiliger kram)
jedenfalls da drauf klicken auf den Validierungsbanner.

5.Folgeseite https://5billionsales.com/data-dash geht auf, mit einem nicht zu übersehenden popup/overlay teil in der mitte mit gelbem "validate" button.
und einem 5 minuten timer. (jap die validierung muss binnen 5 minuten gemacht sein. ansosnten ist dort dann ein refresh button der die seite neuläd)
auf selbigen "validate" button klicken.

6.folgeseite https://5billionsales.com/data/validate-...enfolge456 geht auf.
Die Seite ist übrigens die, woran ich gerade hänge.

hier sind linksseitig untereinander 2 banner, jedes mit einer überschrift und text drunter.

das 1. banner anklicken (ob auf text, übershcrift, ist egal, da gesamtbanner das onclick event dahinter hat).

es geht in neuem tab eine seite mit der entsprechenden werbung auf.
tab kann direkt zugemacht werden bevor er überhaupt geladen wurde.
dann 2. banner klicken, tab geht auf, tab wieder zumachen.

wenn erfolgreich, ist oben rechts am jeweiligen banner ein grüner haken.
und es kommt mittig ein popup "success You have validated your data and your income has been updated!".

damit ist die arbeit getan und man für heute fertig.


mit ok bspw. das popup wegklicken, maus oben rechts über den nutzernamen, logout im erscheinden dropdownmenü anklicken.
im popup bestätigen dass man sich WIRKLICH ausloggen will.


Ende der Story, man ist wieder auf der hauptseite 5billionsales.com.


Weil ich für aktuell 2 leute klicke, eben den spaß 2 mal mit verschiedenen usernames und passwords.
Wobei ich durch spielereien mit dem localstorage mir merke, wer zuletzt dran war und daher den anderen user benutze (wird noch ausgebaut dahingehend dass ich tracke wer von beiden heute schon dran war oder auch nicht, um wirklich nur das zu machen wenns auch nötig ist)

Ansosnten generell:
Die Seite, auf der man nahc dem login ist (die mit select money maker in der URL), von da aus kann man die 3 Einkommensarten erreichen.

mitte linkes banner "1. Sell your data" ist genau der Klickkram, wobei angeblich ja die mit Addon gesammelten Daten im Vordergrund stehen.
Das Klicken mind. einmal die Woche soll wohl dafür sorgen dass keine inaktiven Accounts vergütet werden oder so.
wenn man statt dem grünen "...Validate your data..." banner ganz oben hierdrauf klickt, kommt man auch zum nächsten Schritt vom Validierungsweg.

2. guaranteed sales, mittleres banner, ist/waren wohl sachen, wo man Geld reinstecken konnte und dann würden die angelbich für , naja, garantierte verkäufe sorgen.
wo man bspw. 250 Euro rübershcicken kann und einen affiliatelink von irgendwas und durch die macht ihres netzwerks schicken die so lange leute und traffis auf den link bis irgendwann 150000 Euro umsatz gemacht werden. oder so.(wovon die dann 30k provision kriegen)
So irgendwie soll das wohl laufen.
Bisher hatten die das, das man das für 250 euro machen konnte.
demnächst soll man bei abschluss erst mal die 30k als "vorshcuss" überweisen bevor die dann die ad machen.

Also vorher haben die erst nahc der aktion die provision gekriegt, nun verlangen sie sie vorab.
Falls das ganze kein scam ist und wirklich so funktioniert und klappt.

3.refer $ earn
Naja, downline kram halt.
selbstredend kann man auch Leute in einer downline für sich werben.
typisches "Netzwerkbilden" und sowas halt, it das selbse wie anderswo auch, mit persönlichem Affiliatelink und so.



ich habe nur 1. das kostenlose klicken bisher genutzt, weil kostet nix. und ich muss auch keinen werben.


Sache ist halt, wie ganz anfangs mal erwähnt, dass man halt geld in der balance ansammelt
(addon installiert+einmal die woche geklickt->man kriegt die 1,10$ vergütung am tag.
wobei man für den eigentlichen validierungsakt nochmal so bonusgeld sammekt, 0.50$ pro validierung.
also maximal 1.60$ am tag, wenn man täglich validiert)

Aber das aktuell nicht wirklich auszahlbar ist, soll es laut Firmenaussage ab August oder so aber sein dann.
daher , und weil ich tägliche Arbeiten mit anwesenheitspflicht nicht mag, will ich es auch automatisieren damit im worst case, falls Alles Scam war und die keinen pfennig auszahlen, ich nur wenig arbeit damit hatte.
und nicht Tag für Tag klicken musste, langweilig und monoton.
Dauert zwar nicht lange aber trotzdem nervt es, das regelmässig täglich machen zu "müssen".

Edit2:
Was ich hinsichtlich der Seite mit den 2 Bannern überlegt habe und man vielleicht testen sollte:
Vielleicht könnte man hingehen und rigendwie die aufzurufende ca(...) Funktion überschreiben?

Also die häkchensetzerei gleich lassen, auch den ajax call mit response und so shcön machen lassen.
NUR die Zeile(n) rausnehmen, wo das script hingeht und ändert die aktuelle url mit der aus der ajax response, kurzum die zeilen wo die url wirklich aufgerufen wird.

Ausser dass die übergebene url eben nicht aufgerufen wird, läuft ja sosnt Alles wie normal, sodass die Seite nicht merken dürfte dass da was anders läuft.

Frage nur:
Wie kann ich die, im Seitenquelltext hardgecodede Javascriptfunktion ca(..) überschreiben mit eienr funktion aus meinem tampermonekyscript, geht das irgendwie?
Zitieren
#30
Ok. Alles merken kann ich mir gerade nicht.
Ich habe aber das schon gemacht.

"1. Profil ausfüllen, also irgendwelchen kram anklicken was man an Musik, Essen, etc. so geil findet.
2. deren Addon installieren (ich habs in firefox drin). Weil man angeblich für gesammelte Infos übers Surfverhalten bezahlt wird.
browser muss schon aktiv genutzt werden."


Wenn das Addon drauf ist und da genug Daten drauf sind (ich nutze eh firefox täglich und habe das Addon einfahc installiert und nie wieder angeguckt),


Mein Userscript macht das schon

1. Von der 5billionsales.com Seite oben rechts auf das grüne "Login".

2. Auf Folgeseite https://5billionsales.com/login rutnerscrollen und grünes "Login with Verification" angklicken, Email, Passwort rein und grün "Login" anklicken.

3. Folgeseite https://5billionsales.com/login-confirm/...eNummer456 den "Secret Code" in die 6 Felder eintippen (es reicht auf das 1. feld links zu klicken und 6 Ziffern einzutippen) und auf grün "Submit secret code" klicken.


Fange jetzt Punkt 4 an

Ich will ja das Greasemonkey Script so bauen, dass es alles von alleine macht.

Werde deine Liste, die du da eben geschrieben hast aber abarbeiten , egal wie . Habe es bis jetzt immer irgendwie hinbekommen. Notfalls erstelle ich ein Addon , da hat man mehr Möglichkeiten
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren


Gehe zu:


Benutzer, die gerade dieses Thema anschauen:
1 Gast/Gäste