Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

mfc chat port #2

Open
alphabr opened this issue Jun 26, 2014 · 3 comments
Open

mfc chat port #2

alphabr opened this issue Jun 26, 2014 · 3 comments

Comments

@alphabr
Copy link

alphabr commented Jun 26, 2014

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
Copy link
Owner

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
Copy link
Author

alphabr commented Jun 26, 2014

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)+(h_k);qq_=15;return qq;}())

What is this function Im receiving?

Thanks for share your knowledge.

Lets keep up

@KradekMFC
Copy link
Owner

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants