In the final of the Facebook Hackathon contest, UC Berkeley students showed what could happen to the Internet after adopting SOPA, if corporations have full control over the Internet, Americans will be banned from file sharing and will close access to most of the websites, except a few large ones (for example, MSN and Facebook). Students developed the Emotiface program, which encodes base64 ASCII files and sends them in packages via Facebook chat.
Live demo transfer animated gif
One of the developers explains which modules Emotiface consists of:
a local python web server that converts files to base64 ASCII and packages with the UUID and all the other necessary service information;
a custom script in a browser (like the Greasemonkey script) with an open site Facebook.com picks up packets from the local web server;
The script monitors incoming messages in the chat (packets) and sends outgoing packets to the chat;
since Facebook is trying to block automated sending of messages to the chat, keystrokes (keydown event) are emulated on the local web server using a bash script and AppleScript, they will not be able to block this way, because it is similar to a real keystroke;
since Facebook blocks about 50% of the packets after the first 15, we had to implement the TCP method to notify the delivery of each packet.
Emotiface on github . Does something like this really have to be used in the future?