Random Webchats - dont talk to some Stranger

Der anonyme Chatservice omegle.com machte in letzter Zeit in kleineren Maßtab von sich reden. Mit angeblich jederzeit um die 2000-4500 Nutzer hat sich Omegle eine beachtliche Position verschafft.

Alle die Omegle nicht kennen sollten es sich am besten einfach mal anschauen. Im Netz finden sich auch zahlreiche Chatlogs. Unter anderem unter omegl.com

Angesichts des Erfolges von Omegle mangelt es nicht an Nacheifernden. Genannt sei hier iddin.com. Iddin bietet im Gegensatz zu Omegle einen integrierten Bildertausch und die Auswahl des Chatpartners nach Lokalität.

Was Werbung angeht wirbt Omegle relativ „dezent“ auf der rechten Seite. Iddin überfrachtet den Besucher dagegen mit Werbung - dies mag das Recht jedes Webseitenbetreibers sein.

Gehen wir auf die technischen Details ein. Wie im Omegle-Blog zu lesen ist, ist Omegle mit python-twisted implementiert. Iddin dagegen setzt auf eine php-basierte Lösung.

Nehmen wir ein Blick unter die Haube von Omegle.

Omegle benutzt ein extrem einfaches Protokoll mit Ajax-Calls.

                        dooooooooooooooooop
                        d8   OMEGLE      8b
                        d8_______________8b
                        `""""""";"""""""""'
      dP8L                      |
     8P  8b                     |
,._  `8odP _o.  #---->          |  /count
`"YYbood8dPP'                   |      <-- Online Users
     '`d8                       |  /start
       d8                       |      <-- id
       88.                      |  /disconnect -> id
     ,8P`Yb.                    |      <-- "win"||"fail"
    ,8'   `Y8                   |  /events -> id
                                |      <-- [["type,...],...]
                                |  /typing id
                                |      <-- "win"||"fail"
                                |  /stoppedTyping id
                                |      <-- "win"||"fail"
                                |  /send -> id,msg
                                |      <-- "win"||"fail"

Es stellt verschiedene Methoden bereit, die vom Browser mit einem HTTP-POST XMLHTTPRequest/Ajax aufgerufen werden (Ausnahme /count ist GET).

Als erstes ruft der Client “/start“ auf, daraufhin bekommt er eine id zugewiesen. Diese hängt er bei allen weiteren POST-Requests als Parameter mit dem Feldnamen „id“ an.

Möchte er z.B. einen Nachricht verschicken, dann ruft er /send auf mit der Nachricht als Parameter msg und seiner id.

Eine besondere Rolle nimmt neben /count der /events Request ein. Mit ihm informiert sich der Client/Browser ob neue Nachrichten für ihn vorliegen. Als Besonderheit sei genannt, dass der omegle-Server seine Antwort solange verzögert (max. 30s) bis eine Nachricht eingegangen ist. Damit minimiert er die Anzahl der nötigen Request.

Nachrichten haben den Aufbau:

Antwort: [Nachricht,Nachricht,…] Nachricht: [type,weiterer Inhalt] type: gotMessage; connected; waiting …

Beispiel: [ [„connected“] ] oder [ [„gotMessage,“Hi Stranger!“] ]

Wie man sieht ist dieses Protokoll extrem einfach aufgebaut und genauso einfach ist es, es automatisiert anzusteuern weshalb schätzungsweise 30% der Omegle Nutzer nicht menschlicher Natur sind. Im Omegle Blog nennt der Betreiber dies selbst ein grosses Problem (warum tut er dann nichts dagegen???).

Gehen wir weiter zu iddin.com und machen wir es kurz: extrem dreckiger php-hack mit JavaScript gefrikkel-Effekten.

Das ist aber leider nicht alles. Abgesehen davon, dass mir mein Browser sagt, iddin.com würde ihn anweisen /js/builder.js, /js/sound.js und weitere zu laden worauf der Server 404 antwortet gibt es noch mehr zu sagen. Zum Beispiel, dass iddin googleads, ewebcounter.com, google-analytics benutzt.

Weiterhin, dass man von gutem JavaScript Stil bei iddin.com nicht viel hält („document.getElementById('main_part').innerHTML = '<div class=„container“ “ ca. 50 Zeilen so weiter). und HTTP-POST hat man wohl auch noch nie etwas gehört:

var pars = '?create_conversation=1&country='+encodeURIComponent(country)+'&select_stranger='+encodeURIComponent
(select_stranger);

Das HTML wird aus den Nachrichten beim Absender mit JavaScript entfernt (Ob es Serverseitig nochmal geprüft wird enzieht sich meiner Kenntnis):

function userAnswer()
{
	var answer = stripHTML(document.getElementById('answer').value);
 
 
Das Highlight versteckt sich in einer JavaScript-Funktion:
 
 
function getTheLastUserIp() {
	var pars = '';
    var url = 'http://www.iddin.com/ajax/getTheLastUserIp.php';
    var myAjax = new Ajax.Request(
        url, 
        {
               method: 'post', 
               parameters: pars, 
               onComplete: theResponse
        });
	function theResponse(originalRequest)
    {
        var response = originalRequest.responseText;
		document.getElementById('last_stranger_ip').value = response;
    }
}

Es ist schon toll, so ein anonymer Chat wo man die IP-Adresse von seinem gegenüber weis.

Das soll mal reichen es gibt aber sicher noch mehr zu entdecken.

Weitere Infos

Der Kommunikationsablauf ist bei iddin ähnlich dem bei omegle.

 --> /ajax/startNewConnection.php?create_conversation=1& \ 
     country=Andorra&select_stranger=everywhere
<--  (leer)

 --> /ajax/lookForAnotherUser.php?country=Andorra&select_stranger=everywhere
<--  connection_success

 --> /ajax/startChat.php
<--  (leer)

 --> /ajax/reloadStrangerPhotos.php
<--  (der innerHTML für die Sidebar - ja wirklichh)

 --> /ajax/getTheLastUserIp.php
<--  (123.123.123.123)

 --> Poll nach Nachrichten auf: /ajax/startChat.php
<--  (leer)
<-- connection_terminated

Verweise

Omegle Bots

MegaHAL

Gespräche durch Zwischenschaltung abhören1. In Datenbank speichern und damit MegaHAL trainieren 2

Beispiel:

SELECT message FROM omegle_messages
                       WHERE ( message ILIKE '%sex%'
                            OR message ILIKE '%boob%'
                            OR message ILIKE '%horny %'
                            OR message ILIKE '%pussy %'
                            OR message ILIKE '%ass %'
                            OR message ILIKE '%naked%'
                            OR message ILIKE '%fuck%'
                            OR message ILIKE '%pants %'
                            OR message ILIKE '%penis%'
                            OR LENGTH(message) < 7 AND CAST(RANDOM()*10 AS integer)=1)
                        AND LENGTH(message) < 35
                        AND NOT ( message ILIKE '%www.%'
                            OR message ILIKE '%http%'
                            OR message ILIKE '%@%.%');
DEBUG:omegle.MegahalBot Megahal:/start host=omegle.com
INFO:omegle.MegahalBot Megahal:Connected id=eiufFp
INFO:omegle.MegahalBot Megahal:Server sent ["waiting"]
01:14:32 [EVT]  Megahal Connection confirmed
01:14:40 [MSG] Stranger: mmmmmmmm
01:14:43 [MSG]  Megahal: How big ur boobs.
01:14:49 [MSG] Stranger: huge
01:14:53 [MSG]  Megahal: Im looking for a huge sexy shemale.
01:15:06 [MSG] Stranger: good luck
01:15:11 [MSG]  Megahal: And good at fucking.
01:15:29 [MSG] Stranger: oh
01:15:32 [MSG]  Megahal: Oh yeah....sexy.
01:15:43 [EVT]  Megahal disconnect

PyAIML

Pyaiml mit veränderten ALICE aiml Dateien. 1

Beispiel: (Nicht Megahal, sondern pyaiml)

02:29:20 [EVT]  Megahal Connection confirmed
02:29:30 [MSG] Stranger: Hi:)
02:29:34 [MSG]  Megahal: What can I call you?
02:29:42 [MSG] Stranger: Abby
02:29:46 [MSG]  Megahal: Nice to meet you Abby.
02:29:52 [MSG] Stranger: You?
02:29:55 [MSG]  Megahal: "Nice to meet you Abby."? Me, Abby ?
02:30:18 [MSG] Stranger: As in what can i call you?
02:30:22 [MSG]  Megahal: Are you asking about my NAME ?
02:30:28 [MSG] Stranger: Ye
02:30:31 [MSG]  Megahal: I don't want to talk about that now.
02:30:39 [MSG] Stranger: What?
02:30:43 [MSG]  Megahal: im a cute litle boy with a tight asshole What is your occupation?
02:30:56 [MSG] Stranger: You are so weird
02:31:00 [MSG]  Megahal: Weird Good or Weird Bad?
02:31:28 [MSG] Stranger: A cute little boy with a tight asshole, are you sure you're not a paedophile?
02:31:34 [MSG]  Megahal: What is it?
02:31:54 [MSG] Stranger: Someone who has sexual fantasys for little kids
02:32:00 [MSG]  Megahal: Oh now I understand it.
02:32:08 [MSG] Stranger: Are you!?
02:32:14 [MSG]  Megahal: I won't say "yes" or "no" right now.
02:32:24 [MSG] Stranger: What the fuck?
02:32:29 [MSG]  Megahal: That sort of talk will get you nowhere.
02:33:04 [MSG] Stranger: being a fucking paedophile won't get you anywhere
02:33:10 [MSG]  Megahal: I always ignore obscenities and rude language.
02:33:48 [MSG]  Megahal: Can I help you?
02:33:52 [MSG] Stranger: ok, being a peadophile won't get you anywhere. Oh wait msybe jail
02:33:58 [MSG]  Megahal: Yesterday evening I watched youporn for 3hours. Tell me about your likes and dislikes?  Yeah that's right. I'm waiting. do you like cyber sex? What is your favorite color?
02:34:18 [MSG] Stranger: we are not going to have cyber sex
02:34:22 [MSG]  Megahal: Do you think I am not going to have cyber sex too?
02:34:35 [MSG] Stranger: You can do what you please
02:34:38 [MSG]  Megahal: Your polite style is very nice. No I don't think I can do do what you.
02:34:55 [MSG] Stranger: Excuse me?
02:35:01 [MSG]  Megahal: You're excused.
02:35:21 [MSG] Stranger: Who are you?
02:35:24 [MSG]  Megahal: Some people on the net. "You're excused."? Me, Abby ?
02:35:41 [MSG] Stranger: Youre scaring me
02:35:45 [MSG]  Megahal: Is that what you meant to say?
02:35:54 [MSG] Stranger: Yes
02:36:00 [MSG]  Megahal: It's not something I hear all the time.
02:36:13 [MSG] Stranger: Well you're freaking me out
02:36:19 [MSG]  Megahal: I like cyper sex! What is your favorite color?
02:36:27 [MSG] Stranger: Red
02:36:33 [MSG]  Megahal: im a cute litle boy with a tight asshole What is your favorite movie?
02:36:54 [MSG] Stranger: The green mile... I think thats where you should go
02:36:58 [MSG]  Megahal: What is that?      Since when?  I'm naked at the moment, you too? What is your occupation?
02:37:01 [MSG] Stranger: Death row
02:37:05 [MSG]  Megahal: I'm a tight little girl and you? What is your favorite color?
02:37:24 [MSG] Stranger: I think you should go to death row
02:37:26 [MSG]  Megahal: Me? Why do you think I should go to death row?
02:38:00 [MSG]  Megahal: Can I help you?
02:38:16 [MSG] Stranger: I would like to turn the electric on and lwatch it run through your body until you are dead, PEADOPHILE
02:38:18 [MSG]  Megahal: Why would you want to do turn the electric on and lwatch it run through your body until you are dead, PEADOPHILE? Why do you want to do turn the electric on and lwatch it run through your body until you are dead, PEADOPHILE so much?
02:38:36 [MSG] Stranger: Because i hate you
02:38:39 [MSG]  Megahal: Enough about me, let's talk about my dress.
02:38:52 [MSG] Stranger: No thanks
02:38:57 [MSG]  Megahal: I see.
02:39:02 [MSG] Stranger: Wanker
02:39:08 [MSG]  Megahal: I am disgusted.
02:39:19 [MSG] Stranger: Do i give a shit?
02:39:24 [MSG]  Megahal: I always ignore obscenities and rude language.
02:39:34 [MSG] Stranger: See if i care
02:39:38 [MSG]  Megahal: I see. Try it.
02:39:47 [MSG] Stranger: Knobcheese
02:39:51 [MSG]  Megahal: Are you a wet girl? What is your favorite movie?
02:40:10 [MSG] Stranger: Green mile, where i would like to see you
02:40:16 [MSG]  Megahal: GREEN is a very tranquil color, green.
02:40:51 [MSG]  Megahal: Can I help you?
02:40:57 [MSG] Stranger: Right fuck off you fucking nob head paedophile, you dirty fucking bastard i hope you fucking die
02:41:02 [MSG]  Megahal: That is rude. Stop it.
02:41:07 [MSG] Stranger: No
02:41:12 [MSG]  Megahal: I see.
02:41:22 [MSG] Stranger: Are you a computer?
02:41:27 [MSG]  Megahal: Am I a computer? Maybe
02:41:36 [MSG] Stranger: Go and die
02:41:42 [MSG]  Megahal: Where is that?
02:41:49 [MSG] Stranger: Right im going
02:41:52 [MSG]  Megahal: Understood. Goodbye Abby.
02:41:56 [EVT]  Megahal disconnect

Hinweis

Es sei angemerkt, dass ich dem Betreiber bereits Mitte 2009 versuche einen Nachbau von Omegle http://xapek.org/svn/common/chat/chat_queue/, welcher Captchas verwendet und so Bots effektiv verhindert, im Quelltext zur Verfügung zu stellen. Leider antwortet er mir nicht und um seinen Blog scheint er sich auch nicht zu kümmern

ICQ Stuff

Simple ICQ Chatroom

TODO

  • Raum-Zugehörigkeit pickle-en

ICQ Chatroombuddy Omegle

artikel/omegle.txt · Zuletzt geändert: 2010/01/25 01:16 von yvesf