Themabewertung:
  • 0 Bewertung(en) - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Von Script geöffneten Tab schließen?
#31
(Ich bin jetzt da angekommen wo du die ganze Zeit ein Problem hattest.
Ich hatte mir was gedacht wie es gehen könnte dich es lief noch nicht wie ich wollte.
Jetzt ist da nichts mehr zu anklicken und muss wieder auf neue Banner  warten oder ?

Ich habe aber alles in ein Script gebaut.
Das mit den Banner muss ich  später weiter testen.
Du kannst ja schon mal schauen wie ich es gemacht habe, bzw wie ich es vor hatte.
Vieleicht willst du da ja auch weiter testen , oder du hast es auch schon mal so versucht.
// ==UserScript==
// @name         5billionsales komplett bot
// @namespace    https://5billionsales.com/login
// @version      0.1
// @description  Try to take over the world!
// @author       basti1012
// @include        *5billionsales.com/login
// @include        *5billionsales.com/login-confirm*
// @include        *5billionsales.com/select-money-maker*
// @include        *5billionsales.com/data-dash*
// @include        *5billionsales.com/data/validate-login*
// @grant        none
// ==/UserScript==

(function() {
    'use strict';
    var your_username='basti1012';
    var your_passwort='bla';
    var your_email='basti1012@soforthilfe-forum.de';
    var fertfizierungs_code='123456';
    var urlhier = location.href;
    var login_seite=urlhier.indexOf('5billionsales.com/login');
    var login_confirm_seite=urlhier.indexOf('5billionsales.com/login-confirm');
    var select_money_maker_seite=urlhier.indexOf('5billionsales.com/select-money-maker');
    var data_dash_seite=urlhier.indexOf('5billionsales.com/data-dash');
    var validate_login_seite=urlhier.indexOf('5billionsales.com/data/validate-login');
    setTimeout(function(){
        //console.log(login_seite,login_confirm_seite);
        if(login_seite!=-1 && login_confirm_seite==-1){
              var show_elements=document.getElementById('r-val').style.display='block';
              document.getElementById('email').value=your_email;
              document.getElementById('password').value=your_passwort;
              document.getElementById('submitBtn').click();
        }
        if(login_confirm_seite!=-1){
             var inputs=document.querySelectorAll('.form-control.mr-1');
             for(var i=0;i<inputs.length;i++){
                 inputs[i].value=fertfizierungs_code[i];
             }
             var buttonlogin=document.querySelectorAll('button#submit-btn');
             buttonlogin[0].click();
        }


        if(select_money_maker_seite!=-1){
            var validatepopup=document.querySelectorAll('.question.bg-success.position-fixed.container.m-auto.text-center');
            //console.log("validatepopup length="+validatepopup.length);
            for(var s=0;s<validatepopup.length;s++){
                if(validatepopup[s].innerHTML=="Click here to Validate your Sell Data Now"){
                    validatepopup[s].click();
                }else{
                 // andere Banne auch klicken oder unwichtig ?
                }
            }
        }

        var ahref=document.querySelectorAll('.btn.btn-primary');
        if(data_dash_seite!=-1){
            for(var i1=0;i1<ahref.length;i1++){
                if(ahref[i1].innerHTML=="VALIDATE"){
                    ahref[i1].click();
                }
            }
            cookie_akzeptieren()
        }

        if(validate_login_seite!=-1){
            const ads_ids = [];
            var ads=document.querySelectorAll('main div[id^="ca-"]');
            ads.forEach(function(d){
                let ids=d.id.split('ca-')[1];
                ads_ids.push(ids);
            })
            console.log(ads_ids);
            start(ads_ids,0);
            function start(ar,v){
                if(v<=ar.length){
                    const data = { id:ar[v]};
                    fetch('https://5billionsales.com/ajax/ca', {
                        method: 'POST',
                        //headers: {
                        //  'Content-Type': 'application/json',
                        //},
                        body: JSON.stringify(data),
                    }).then(response => response.json()).then(data => {
                            console.log('Success:', data);

                            //window.open(data.url);
                        //Link abfangen und hier öffnen
                        // zeit abwarten v erhöhen  function neu laden start(ar,v)
                    }).catch((error) => {
                             console.error('Error:', error);
                    });

                }else{
                // alles geladen dann hier beenden
                }
            }
        }
    },2000);
    function cookie_akzeptieren(){
         try{
              document.querySelector('#alert button').click();
         }catch(e){
         }
    }
})();
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#32
Hm, wollte gerade deine Funktion im Tampermonkey nutzen aber irgendwie tut sie aktuell nichts bei mir.

Ein gedanke, den man vielleicht ausprobieren könnte:
Die Buttons, wenn man drauf klickt, öffnen ja diese ca(id) Funktion mit einer jeweils individuellen id.
Vielleicht könnte man hingehen, sich eine eigene Funktion ca2 bauen, die abhängig vom parameter id das Selbe tut wie ca, nur sind die 2 Zeilen zum website aufrufen auskommentiert.

Und dann bei den beiden Buttons die onclick Funktionalität umbauen dass statt ca(12345) eben ca2(12345) aufgerufen wird.

Nur habe ich nicht so recht den plan, wie man das hinkriegt, eine Javascript Funtkion in die Webseite reinzubringen und die onclick attribute zu verändern dass sie eben die eigene Funktion statt der gegebenen ca(...) verwenden Undecided
Zitieren
#33
Mal was anderes.
Wenn man draufklickt und sofort die Seite wieder schließt, wird sie ja als angesehen bewertet, ist das richtig?
Ich bin am überlegen, ob man da vielleicht nur ein Klick drauf macht und das Tab öffnen blocken kann.
Muss mir nochmal den code ansehen, ab wann er genau als erledigt markiert wird.
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#34
(07.07.2022, 20:58)admin schrieb: Mal was anderes.
Wenn man draufklickt und sofort die Seite wieder schließt, wird sie ja als angesehen bewertet, ist das richtig?
Ich bin am überlegen, ob man da vielleicht nur ein Klick drauf macht und das Tab öffnen blocken kann.
Muss mir nochmal den code ansehen, ab wann er genau als erledigt markiert wird.

Ja, die neue Webrungsseite muss nicht mal richtig geladen sein, die kann sofort wieder zu gemacht werden.

das onclick an sich wegmachen bringt es nicht, Teile der in der website verbauten ca(id) Funktion müssen auf jedenfall ausgeführt werden um es als erfolgreich abzustempeln.
Zitieren
#35
Ich.. Ich glaub, ich habe etwas gefunden, das vielleicht weiterhilft oder gar zur Lösung führt:
Nach viel Probieren bin ich auf folgende Vermutung gekommen:

Der Server der Seite erwartet Folgendes:
Erst kommt eine Anfrage und sowas zum Einloggen.
Dadurch ist man "authentifiziert".
Dann trudeln beim Server bis zu 2 Ajax calls mit {id:123irgendeinenummer456} als Details dabei ein.

Dann wird serverseitig das "Validated" Attribut auf 1 gesetzt und man hat seine 2 Klicks gemacht.

Weiß ich weil ich mit folgendem Code rumgespielt habe:
$.post('/ajax/ca', {id:72064}, function(resp) {
  let d = JSON.parse(resp);
  console.log(resp);
  console.log("");
  console.log("");
  console.log("");
  console.log("");
  console.log("");
  console.log("");
  console.log("d: "+d+" status: "+d.status+" validated: "+d.validated);
});

Was passierte:
Als ich auf der Hauptseite, also nicht eingeloggt, den Code in die Konsole packte,
passierte nichts, error 401 not authorized.

Dann natürlich die Frage, wie wird man authorisiert?
Nach Suchen im Code fand ich nichts, in dem Ajax Call wird ja auch nur die ID der Werbung übermittelt, sonst nichts.
Es kann also nichts im Quellcode oder in den integrierten Skripten sein.
Und der einzige Unterschied zur Hauptseite ist eben, dass man eingelogt ist.

Also eingeloggt auf die Seite mit den 2 Adbannern gegangen und 2 mal den obigen Code eingegeben.
Beim 1. Mal kam in Quintessenz Status=1, Validated=0 zurück.
Beim 2. Mal dann (wieder) Status=1 und Validated=1

(selbstredend habe ich beim 1. Abschicken die 1. ID aus dem Quellcode, beim 2. Mal die 2. ID aus dem Quellcode benutzt).

Optisch hat sich nix geändert, weil halt die "grünen Häkchen" ja durch ein Quellcode Script gesetzt werden das ich nicht benutze.
Aber beim Nachprüfen im Backoffice bin ich für heute validiert, die Seite hat also die 2 erfolgreichen Klicks hinterlegt! :-)


Was ich aus dem Folgere:
So rein rechnerisch müsste man also für die Seite mit den 2 Ad Bannern ein Script bauen können dass
1. id1 und id2 aus dem quellcode raussucht und
2. 2 ajax calls mit obigem textausschnitt, nur halt mit der jeweiligen IDs aus 1. , macht

Dann sollte, rein rechnerisch, ganz ohne aufgehende Seiten das Ganze klappen :-)

Hoffe nur dass es auch geht, da ja meist Welten dazwischen liegen ob man Code direkt in der Konsole ausführt oder ihn über ein Script ausführen lässt...

Aber nur mal so als Feedback, habe mir da stillschweigend ein wenig weiter Gedanken zum Thema gemacht :-)
Zitieren
#36
Ich werde mir das auch mal genauer anschauen. Hatte die letzten Tage etwas wenig Zeit , werde aber Bescheid sagen sobald ich was erreicht habe
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren
#37
(14.07.2022, 13:58)admin schrieb: Ich werde mir das auch mal genauer anschauen. Hatte die letzten Tage etwas wenig Zeit , werde aber Bescheid sagen sobald ich was erreicht habe

Ich habe mich, wie immer -.-, mal wieder zu früh gefreut.

Die für den Ajax Call nötigen Ids abzugreifen ist kein Problem.

Aber der Ajax Call an sich klappt nicht.

Wird er im Rahmen des Tampermonkeyscripts gemacht, scheitert er mit einem "CSRF Token mismatch." Error.

Schriebe ich den haargenau gleichen Ajax Call in die Konsole, funktioniert er eindeutig.

Also so langsam blicke ich bei diesem Javascript Scheiß nicht mehr durch,
man will mich einfach dazu nötigen, händisch Kram in die Konsole einzutippen damit ich es nicht automatisieren kann :-(

Habe auch aus dem Internet einen Code reingebaut der angeblich das nötige CSRF Token abgreifen soll, aber der tut offenbar auch nix.

So sieht aktuell mein Code aus:
// ==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*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// @run-at       document-idle
// ==/UserScript==

console.log("Script started!");



var string="function ca2(id) {}";
var c_start;
var c_end;


$(document).ready(function(){
    function getCookie(c_name) {
        if(document.cookie.length > 0) {
            c_start = document.cookie.indexOf(c_name + "=");
            if(c_start != -1) {
                c_start = c_start + c_name.length + 1;
                c_end = document.cookie.indexOf(";", c_start);
                if(c_end == -1) c_end = document.cookie.length;
                return unescape(document.cookie.substring(c_start,c_end));
            }
        }
        return "";
    }

    $(function () {
        $.ajaxSetup({
            headers: {
                "X-CSRFToken": getCookie("XSRF-TOKEN")
            }
        });
    });

}());





$(document).ready(function() {


    ca2();

    async function ca2(){
        console.log("ca2 started!");
        //get the 2 ids
        var id1="";
        var id2="";
        var stringa="";

        var ads=document.querySelectorAll("div.card.cursor.mt-3");
        stringa=ads[0].getAttribute('id');
        id1=stringa.substring(3,stringa.length);
        stringa=ads[1].getAttribute('id');
        id2=stringa.substring(3,stringa.length);
        console.log("id1="+id1+" id2="+id2);
        id1=parseInt(id1);
        id2=parseInt(id2);

        ca3(id1);
        await sleep(1000);
        ca3(id2);
        await sleep(1000);
    }


    function ca3(id) {
        console.log("inside ca3 with id="+id);
        $.post('/ajax/ca', {id:id}, function(resp) {
            let d = JSON.parse(resp);
            console.log(resp);
            console.log("");
            console.log("d: "+d+" status: "+d.status+" validated: "+d.validated);
        });
    }




    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }








}());

Ich habe es nun hoffentlich zum Laufen gebrahct, zumindest der Ajax Call Part scheint nun endlich zu klappen:

// ==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*
// @require       http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js
// @run-at       document-idle
// ==/UserScript==

console.log("Script started!");



var string="function ca2(id) {}";
var c_start;
var c_end;


$(document).ready(function(){


    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });




    ca2();


    async function ca2(){
        await sleep(1000);
        console.log("ca2 started!");
        //get the 2 ids
        var id1="";
        var id2="";
        var stringa="";

        var ads=document.querySelectorAll("div.card.cursor.mt-3");
        stringa=ads[0].getAttribute('id');
        id1=stringa.substring(3,stringa.length);
        stringa=ads[1].getAttribute('id');
        id2=stringa.substring(3,stringa.length);
        console.log("id1="+id1+" id2="+id2);
        id1=parseInt(id1);
        id2=parseInt(id2);

        ca3(id1);
        await sleep(1000);
        ca3(id2);
        await sleep(1000);
        logout();
await sleep(1000);



    }

    function logout(){
        location.href="/logout";


    }

    function ca3(id) {
        console.log("inside ca3 with id="+id);
        $.post('/ajax/ca', {id:id}, function(resp) {
            let d = JSON.parse(resp);
            console.log(resp);
            console.log("");
            console.log("d: "+d+" status: "+d.status+" validated: "+d.validated);
        });
    }




    function sleep(ms) {
        return new Promise(resolve => setTimeout(resolve, ms));
    }








}());
Zitieren
#38
Stimmt gerade was mit dem Forum nicht oder ist es mein Computer?
Weil ich wollte gerade ein neues Thema erstellen und egal ob ich unten auf Thema erstellen, Vorschau oder abbrechen klicke, wird mir eine Newthread Datei heruntergeladen O_o
Zitieren
#39
(17.07.2022, 00:39)bernd schrieb: Stimmt gerade was mit dem Forum nicht oder ist es mein Computer?
Weil ich wollte gerade ein neues Thema erstellen und egal ob ich unten auf Thema erstellen, Vorschau oder abbrechen klicke, wird mir eine Newthread Datei heruntergeladen O_o

Das höre ich das erste mal.
Wie du siehst, wird hier ständig neue Themen eröffnet (gerade auch viel Spam) , aber es scheint ja zu gehen .

Ich werde mal ein anderen PC nutzten und einen Standard Account (kein Admin , kein Moderator) eröffnen und schauen, ob ich das Problem auch irgendwo habe.

Kann aber auch sein, wenn du einen anderen Browser nutzt , oder deine Add-ons ausstellst  das es dann auch weg ist.
Werde das aber jetzt mal schauen, ob ich das Problem irgendwie nach stellen kann bzw. finden kann
Hier sind alle meine Lösungen aus allen Foren. Ich helfe auch in Facebook-chat
Zitieren


[-]
Schnellantwort
Nachricht
Geben Sie hier Ihre Antwort zum Beitrag ein.

 

Gehe zu:


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