die folgenden Informationen sind möglicherweise teilweise etwas veraltet.
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
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 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
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