KradekMFC / ModelsOnline

List models currently online on MFC
0 stars 0 forks source link

mfc chat port #2

Open alphabr opened 10 years ago

alphabr commented 10 years ago

I need a help to understand one thing.

I see you connect to "xchat[number].myfreecams.com 8080" to get models info.

If I connect to mfc using the browser and using netstat, I see it connect to the chat server in "chat[number].myfreecams.com 8100"

Im trying to do the same you do, but connect to the server the browse connect and send the hello fcserver and 1 0 0 20071025 0 guest:guest packets,, but I just receive a bunch of characters that I cant read.

Can you help? I need to stay connected to this server. Maybe I missing something.

What Im trying to do is: telnet open chat37.myfreecams.com 8100 send hello fcserver\n\0 send 1 0 0 20071025 0 guest:guest\n\0

is that right?

Thanks, you work is great

KradekMFC commented 10 years ago

My code uses websockets to connect to MFC. MFC supports several different connection types including flash (the default), websockets, a java applet, and ajax. In their client side code you can see this:

w.hServerConfig = { "ajax_servers": ["xchat2", "xchat3", "xchat4", "xchat5", "xchat6"], "chat_servers": ["chat4", "chat1", "chat33", "chat34", "chat35", "chat36", "chat37", "chat38", "chat39", "chat40", "chat68", "chat41", "chat42", "chat43", "chat44", "chat45", "chat46", "chat47", "chat48", "chat49", "chat50", "chat51", "chat52", "xchat13", "xchat14", "xchat15", "xchat16", "xchat17", "xchat18", "xchat19", "chat53", "chat54", "chat55", "chat56", "chat57", "chat58", "chat59", "chat60", "chat61", "chat62", "chat63", "chat64", "chat65", "chat66", "chat67", "chat23", "chat24", "chat25"], "h5video_servers": {…}, "release": true, "video_servers": […], "websocket_servers": { "xchat10": "rfc6455", "xchat11": "hybi00", "xchat12": "rfc6455", "xchat20": "rfc6455", "xchat7": "rfc6455", "xchat8": "rfc6455", "xchat9": "rfc6455" } };

I suspect you are connecting to one of their flash servers and are getting whatever is being served from there.

That said, you may be just getting the typical chat messages; they’re not completely intuitive. I talk about the chat protocol here http://perv.me.uk/forum/viewtopic.php?f=8&t=111, particularly in the last post.

alphabr commented 10 years ago

Your were very helpfull.

I made a registration to the forum to continue trade some thoughts

In advance here is what I posted in the forum:.

Im trying to record a model using rtmpdump manually.

I managed to get sessionID, modelID, videoServer for model video.

I created a connection to chat server before running the rtmpdump command.

But Im geting rickrolling thing and the video recorded is in truth a warning that Im outside MFC site.

I think I need to reply something after mfc chalenge me in loginResult, just before start recording.

Dont know if I still can use rtmpdump for that.

Here is the args Im passing for example:

rtmpdump -W {SWFPATH] -s {SWFPATH] -a {APP] -f {FLASHVERSION] -t rtmp://video{VIdeoID].myfreecams.com:1935/[APP] -r rtmp://[VideoID].myfreecams.com:1935/[APP]/mfc_[MODELID] -p "http://www.myfreecams.com/mfc2/static/player.html?&objectEncoding=0" -C N:[SESSIONID] -C S:"" -C N:[ROOMID] -C S:"DOWNLOAD" -C N:[MODELID] -o output.flv -V

The problem is in LoginResult

LoginResult Property 'challenge' String

(function(){var a=153>>0,b=88,c=380>>2,d=216.1757509899|0,e=79.1894573096|0,f=103>>0,g=202,h=2,i=16>>0,j=306-93,k=121.773636774|0,l=33.790278980|0,m=221,n=172-55,o=77>>0,p=88,q=316-198,r=236-143,s=153,t=75-2,u=149,v=106.2979572|0,w=251-20,x=253,y=242,z=81;v=!!screen.width+!!screen.height+!!document.location.host;var qq=0+o+j+(h_h)+w-v-v+n+p-h+u+r+(x_p)+(u_w)+v-y+o+n+j-y-s+(a_o)-x+k+(h_c)+(l_c)+(o_r)+l-m-k-p+(i_l)+(hk);qq=15;return qq;}())

What is this function Im receiving?

Thanks for share your knowledge.

Lets keep up

KradekMFC commented 10 years ago

I don't think the forum there is active anymore, I just pointed there so I didn't have to type again.

Regarding video, I'm afraid I don't have any experience attempting to capture it. I've mainly done work with the chat server in an attempt to ease countdowns, tracking online status, etc.