Seite 1 von 6 123 ... Letzte

Thema: Knuddels K3

  1. #1
    Avatar von Spectra
    Registriert seit
    04.12.2011
    Beiträge
    52
    Thanked 23 Times in 12 Posts

    Standard Knuddels K3

    Knuddels hat vor Kurzem in einem Instagram Livestream seine K3 vorgestellt und ein paar erste Eindrücke für die kommende K3 gezeigt, Profile waren noch nicht umgesetzt, bisher Channel, Channelliste und die Userapp: Knuddels-Messenger waren integriert. Vielleicht haben ein paar noch in der Szene Interesse an solch einer (Preview). :-)

    Mobile-Version wurde auch kurz gezeigt.

    URL: https://preview.knuddels.de/login

    Mit freundlichen grüßen,
    Spectra <3
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicke auf die Grafik für eine größere Ansicht 

Name:	k3.jpeg 
Hits:	562 
Größe:	50,6 KB 
ID:	9344  
    James (privat): Tja, wenn du kein iPhone hast, dann hast du kein iPhone. BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]

  2. The Following User Says Thank You to Spectra For This Useful Post:

    Bubble Gum (06.03.2019)

  3. #2

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    Man kann sich da nichtmal einloggen ^^

  4. #3
    Avatar von Spectra
    Registriert seit
    04.12.2011
    Beiträge
    52
    Thanked 23 Times in 12 Posts

    Standard AW: Knuddels K3

    Wie bereits gesagt, wurde eine Vorschau in einem Instagram Livestream gezeigt, das die K3 nur für einen bestimmten Teil an Beta-Leuten getestet wird, war ja in Knuddels noch nie anders, aber vielleicht will jemand den Quellcode oder sonstiges analysieren oder was auch immer.
    James (privat): Tja, wenn du kein iPhone hast, dann hast du kein iPhone. BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]

  5. #4

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    ich glaube kaum, dass die Clientfiles bereits beim login sichtbar sind...

    Anhand den URLs und der Arbeitsweise von Schmuddels kommt man da aber sicher dran, ich schau morgen Abend mal, morgen früh bin ich leider aufgrund OP & Narkose abseits der Welt xD

  6. #5

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    So, ich kam doch früher heraus als erwartet und die Narkose ist auch mittlerweile vom Körper verarbeitet

    habe mal alle Client-Files gezogen, inklusiver Resourcen.

    Knuddels lernt nichts - Das war zu erwarten. Anstelle dass diese mal endlich Vectoren benutzen, NEIN, jede einzelne Pissgrafik muss natürlich in PNG vorhanden sein, und dann noch in allen erdenklichen Farben/Stile:
    Klicke auf die Grafik für eine größere Ansicht 

Name:	k3s1.PNG 
Hits:	313 
Größe:	285,4 KB 
ID:	9345

    Ich nenn's nun nicht mehr K3, sondern Lappen³, passt besser.

    Die Nutzen zudem, so wie es aussieht, kein eigenes gefrickel mehr, selbst das ChatProtokoll läuft über google's protobuf. Wer damit schon gearbeitet hat und die ganzen Protokolldaten rekonstruiert, kann hierfür sich einen eigenen Server schreiben. Im übrigen haben die mittlerweile eine vernünftige REST-API (so schaut es auf den ersten Blick erst einmal aus).

    Hier mal der komplette Client:
    https://www.filehosting.org/file/det...-hoch-drei.zip

  7. The Following User Says Thank You to Bubble Gum For This Useful Post:

    Spectra (08.03.2019)

  8. #6

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    So, ich habe das ganze nun mal etwas weiter analysiert und muss sagen, dass das ganze Thema mit K3 äußerst spannend wird - Insbesondere auch in der Emulator- & Bot-Szene.

    Wer sich damit befassen will, sollte jetzt bereits anfangen sich mit dem Thema zu beschäftigen - Denn wenn Knuddels das ganze später "fertig hat" (was sicher noch Jahre dauern kann xD), kommt sicherlich schwer hinterher.

    Das Chatprotokoll lassen die auch auf protobuf laufen - Der Vorteil für uns ist, dass wir nun viel einfacher automatisiert arbeiten können - Vorrausgesetzt, man hat die proto-Files. Ich bin dem schon etwas zuvor gekommen und hab mir alle proto-Files rekonstruiert. Mit der derzeitigen Version sind das mehr als 134 proto-Files (hierbei gibt es auch bundles), die von der Registrierung, bis hin zur core, Channel uns Messenger reichen... Die Dateien behalte ich aber vorerst für mich, weil das wirklich mühselig war, manuell die Definitionen zusammenzubasteln.

    Daraus kann man sicher nicht nur einen eigenen Server-Emulator basteln, sondern auch Bots entwickeln. Knuddels macht es uns da richtig einfach

    Man merkt auch übel, dass Knuddels in der "Neuimplementierung" mehr falsch macht als es Recht ist. Anstelle, dass die das ganze einmal vernünftig implementieren, wird wieder Spaghetti-Code erzeugt (Enums wie Gender existieren als Definition mehrfach, bspw. in core und registration), name conversion wird nicht eingehalten (es arbeiten wohl einige daran, die verschiedene Code-Stile besitzen),... Language strings sind direkt in der Applikation untergebracht (WTF, Why? Bei jeder Änderung rebuild???), Thirdparty-Core's (irgendwelche zusätzlichen JS-Libs) werden in der Applikation untergebracht,... Wozu, noch nie was von CDN gehört, hauptsache viel Code laden lassen... Ach, einfach alles

    Hier noch die neuen Endpoints, für die verschiedene Systeme:

    P.S. ein Login-Check ist wohl auch easy möglich:
    return n = p.sent(), [4, fetch(u.Servers[n].ORIGIN + "/logincheck.html", {
    method: "post",
    headers: {
    Accept: "application/json",
    "Content-Type": "application/x-www-form-urlencoded; charset=UTF-8"
    },
    body: "nick=" + encodeURIComponent(e) + "&pwd=" + encodeURIComponent(t)
    })];
    Geändert von Bubble Gum (08.03.2019 um 15:57 Uhr)

  9. The Following 2 Users Say Thank You to Bubble Gum For This Useful Post:

    Negok (09.03.2019), Spectra (08.03.2019)

  10. #7

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    So, hier mal die protobuf API von Knuddels in sämtlichen Programmiersprachen:

    C++: https://www.file-upload.net/download...686/C.rar.html
    C#: https://www.file-upload.net/download...Sharp.rar.html
    Java: https://www.file-upload.net/download.../Java.rar.html
    JS: https://www.file-upload.net/download...90/JS.rar.html
    Obj-C: https://www.file-upload.net/download...Obj-C.rar.html
    PHP: https://www.file-upload.net/download...2/PHP.rar.html
    Python: https://www.file-upload.net/download...ython.rar.html
    Ruby: https://www.file-upload.net/download.../Ruby.rar.html

    Damit lässt sich auf jeden Fall ein Clienten oder gar ein Server mit basteln, vorrausgesetzt, man kann mit protobuf umgehen Bei all den compiled targets müssen selbstverständlich die protobuf-Core mit angehängt werden - Logisch...

    In PHP funktioniert das ganze zum Beispiel so:
    PHP-Code:
    $request = new RegistrationRequest();
    $request->setType(RequestType::FULL_REG_V1);
    $request->setNick('Holgi');
    $request->setAge(39);
    $request->setGender(Gender::MALE);

    $data $request->serializeToString();

    var_dump($data); 
    Möchte man Beispielsweise ein Reg-Bot damit machen, muss man nur die richtige Klasse finden, mit Daten befüllen und $data als base64-Encoded String an die KnuddelsServer senden (natürlich zur richtigen HTML via POST-Request & diversen benötigten HTTP-Headern).

    Habt ihr Beispielsweise ein Payload gefunden und möchtet wissen, was dies ist, einfach das base64-decoded Zeugs durch https://protogen.marcgravell.com/decode jagen, da findet man dann Anhaltspunkte, welche Daten verwendet werden.
    Geändert von Bubble Gum (08.03.2019 um 21:00 Uhr)

  11. The Following 2 Users Say Thank You to Bubble Gum For This Useful Post:

    Negok (09.03.2019), Spectra (09.03.2019)

  12. #8
    Avatar von Spectra
    Registriert seit
    04.12.2011
    Beiträge
    52
    Thanked 23 Times in 12 Posts

    Standard AW: Knuddels K3

    Hallo in die Runde,

    seit einer Weile arbeiten wir nun daran, im Rahmen von K3 unsere Plattform von Grund auf zu erneuern. Wir haben nicht nur die Registrierung auf allen Plattformen vereinheitlicht, sondern konnten auch die erste Version des Knuddels Messengers, der ein wichtiger Teil von K3 sein wird, zum Ausprobieren freigeben.
    Dies waren bereits große Meilensteine. Sie sind jedoch nur einzelne Teile eines neuen Knuddels, welches wir in den letzten Monaten entwickelt und nun in einer ersten Version der K3-App umgesetzt haben. Sie soll dann irgendwann den Minichat, die iOS-App, sowie die Android-App ersetzen.

    Genau diese App möchten wir in den nächsten Tagen mit einigen wenigen neuen Mitgliedern, die sich im Web registrieren, ausprobieren. Dadurch möchten wir mit Hilfe von Statistiken herausfinden, ob die grundlegenden Ideen und Bedienungselemente verstanden werden.
    Wir starten mit der Website, da dort 50% der Registrierungen von mobilen Geräten und 50% der Registrierungen von klassischen Desktop Geräten erfolgen. Dadurch haben wir perfekte Voraussetzungen, um die Wirkung der mobilen Erfahrung, sowie der Desktop Erfahrung zu testen.

    Gleichzeitig wissen wir allerdings auch, dass die Version der K3-App, die wir testen werden, qualitativ noch nicht ausreicht, um euren Ansprüchen auch nur im Ansatz gerecht zu werden. Wir haben z.B. kein Profil im aktuellen Stand implementiert und Notrufe werden zugewiesen, ohne dass man diese in der K3-App bearbeiten kann. Es gibt, abgesehen vom Chat und dem Messenger, keinerlei weiterführende Funktionen.
    Wir möchten euch trotzdem die Möglichkeit geben, bei Interesse die App testen zu können. Meldet euch hierfür bitte mit einem extra dafür angemeldeten Zweitnick beim Community Management. Diesen Nick könnt ihr dann auch künftig immer nutzen, um unsere Weiterentwicklung in K3 auszuprobieren, er wird dauerhaft im Test bleiben, wir werden ihn nicht entfernen.

    Sobald wir mehr Funktionen eingebaut haben und denken, dass die K3-App für euch sinnvoll und nutzbar ist, werden wir den Test ausweiten. Euer Feedback, das wie beim Messenger, direkt an das K3-Entwicklungsteam geschickt werden kann, werden wir natürlich dann in die Entwicklung mit einbeziehen.

    Für alle, die sich keinen Zweitnick anlegen möchten und trotzdem neugierig sind, wie die aktuelle K3-App aussieht und was die derzeitigen Funktionen sind, haben wir ein kleines Video vorbereitet:




    Quelle: https://forum.knuddels.de/ubbthreads...46#Post2935246
    James (privat): Tja, wenn du kein iPhone hast, dann hast du kein iPhone. BILD ANZEIGEN [Warum wird das Bild nicht angezeigt?]

  13. #9

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Ausrufezeichen AW: Knuddels K3

    Bähm, ich hab das ganze nun verstanden
    Alle "Pakete" werden in der Klasse Token untergebracht. Wie im Registrierungs-Thread angenommen, handelt es sich Beispielsweise bei !/registration.RegistrationRequest nicht um die "Action", sondern lediglich um die jeweilige Message.

    Token hat nämlich ein Any-Field (wie in der Programmierung ein Object-Typ, was zurückconvertiert/gecastet werden kann) worunter die jeweiligen Messages sitzen. Damit man aber wieder die jeweilige Message zurückwandeln kann, bietet Any eine type_url an - Und genau dies ist der Wer /registration.RegistrationRequest und dementsprechend /registration/RegistrationRequest.proto.

    Hier mal eine simple Helper-Class in PHP, der das ganze macht:
    PHP-Code:
    class Packet {
        private 
    $message null;
        private 
    $name '/';
        
        public function 
    __construct($message) {
            
    $this->message $message;
            
    $this->name .= str_replace('\\''.'lcfirst(get_class($this->message))); // lcfirst ist nicht überall gleich!
        
    }
        
        public function 
    encode() {
            
    $any = new \google\protobuf\Any();
            
    $any->pack($this->message);
            
    $any->setTypeUrl($this->name);
            
            
    $token = new Token();
            
    $token->setMessage($any);
            
            return 
    base64_encode($token->serializeToString());
        }

    Der Call schaut dann wie folgt aus - Hier der Beispiel für ein RegBot, der beim POST-Request die URL https://www.knuddels.de/registration...on_submit.html ansteuert um zu prüfen, ob der Nickname valide ist (existiert der Nick, BadWord-Check,..?):

    PHP-Code:
    $request = new \registration\RegistrationRequest();
    $request->setType(RequestType::NICK);
    $request->setNick('RegTesting123');
    $packet = new Packet($request);

    $encoded $packet->encode();

    var_dump($encoded); 
    Das Resultat ist 1:1 wie im Originalen, das zeigt, dass das proto-Zeugs von mir einwandfrei funktioniert:

    Zitat Zitat von Original
    Code:
    CjYKIS9yZWdpc3RyYXRpb24uUmVnaXN0cmF0aW9uUmVxdWVzdBIRCAESDVJlZ1Rlc3RpbmcxMjM=
    Code:
    0a 36 0a 21 2f 72 65 67 69 73 74 72 61 74 69 6f 6e 2e 52 65 67 69 73 74 72 61 74 69 6f 6e 52 65 71 75 65 73 74 12 11 08 01 12 0d 52 65 67 54 65 73 74 69 6e 67 31 32 33
    Code:
    6
    !/registration.RegistrationRequest<DC2><DC1><BS><SOH><DC2>
    RegTesting123
    Zitat Zitat von Selbst erstellt
    Code:
    CjYKIS9yZWdpc3RyYXRpb24uUmVnaXN0cmF0aW9uUmVxdWVzdB IRCAESDVJlZ1Rlc3RpbmcxMjM=
    Code:
    0a 36 0a 21 2f 72 65 67 69 73 74 72 61 74 69 6f 6e 2e 52 65 67 69 73 74 72 61 74 69 6f 6e 52 65 71 75 65 73 74 12 11 08 01 12 0d 52 65 67 54 65 73 74 69 6e 67 31 32 33
    Code:
    6
    !/registration.RegistrationRequest<DC2><DC1><BS><SOH><DC2>
    RegTesting123
    - - - Aktualisiert - - -

    Ich habe das ganze nun mal als simples PHP-Framework implementiert: https://github.com/PineappleK3/PHP-Framework

    Bisher ist aber nur die Schnittstelle zu /registration.RegistrationRequest implementiert, die anderen noch "schnell" zu implementieren, sind etwas Zeitaufwändig

    Mittels
    PHP-Code:
    $decoded Packet::decode($packet); 
    Lassen sich die base64/binary data auch wieder zurückwandeln, sodass man hiermit Beispielsweise schon ein Server-Emulator auf PHP-Basis basteln könnte

    P.S. die proto-Files sind im Repo https://github.com/PineappleK3/protobuf, was aber privat gestellt ist. Ich behalte mir vor, einzelnen vielleicht Zugriff drauf zu geben ^.^

  14. #10

    Registriert seit
    28.10.2011
    Beiträge
    625
    Thanked 279 Times in 168 Posts

    Standard AW: Knuddels K3

    Ich hab das ganze nun um einen NetworkManager erweitert, damit lässt sich nun definitiv easy ein RegBot basteln:

    PHP-Code:
    <?php
        
    require_once('C:/Users/adria/Documents/GitHub/PHP-Framework/lib/autoload.php');

        
    header('Content-Type: text/plain');
        
        
    $knuddels = new Knuddels();
        
        
    $packet $knuddels->register()->checkNick('hahag16');
        
        
    $knuddels->request('https://www.knuddels.de/registration/registration_submit.html'$packet, function($response) use ($knuddels) {
            print 
    'Nickname: ' $response->getNickContext() . PHP_EOL;
            
            
    $oks $response->getOks();
            
            foreach(
    $oks AS $ok) {
                print 
    "\nOK: " trim($ok);
            }
            
            
    $errors $response->getErrors();
            
            foreach(
    $errors AS $error) {
                print 
    'Error: ' PHP_EOL;
                print 
    "\nText: " trim($error->getText());
                print 
    "\nType: " . \Registration\ErrorType::name($error->getErrorType());
                print 
    "\nInfo: " . \Registration\ErrorInfo::name($error->getErrorInfo());
                print 
    PHP_EOL;
            }
            
            print 
    PHP_EOL;
            
            
    $success $response->getSuccess();
            
    var_dump($success);
        });
    Nickname:
    Error:

    Text: Nickname:

    Der Wert ist zu lang. Maximal erlaubte Länge ist 26
    Type: TOO_LONG
    Info: fieldName
    Nickname: Holgi
    Error:

    Text: Nickname:

    Existiert bereits
    Type: ALREADY_EXISTS
    Info: fieldName
    Nickname: Fotze
    Error:

    Text: Nickname:

    Bitte überdenke deine Wortwahl noch ein Mal
    Type: CONTAINS_BAD_WORDS
    Info: fieldName
    Viel Spaß beim Lappen³

Seite 1 von 6 123 ... Letzte

Ähnliche Themen

  1. p1rates.in | Szene Blog rund um Knuddels und Knuddels Bots
    Von Devon im Forum Knuddels Underground Szene
    Antworten: 214
    Letzter Beitrag: 08.05.2014, 04:55
  2. Antworten: 9
    Letzter Beitrag: 19.12.2012, 16:01

Stichworte

Diese Seite nutzt Cookies, um das Nutzererlebnis zu verbessern. Klicken Sie hier, um das Cookie-Tracking zu deaktivieren.