12 ms·
Tunneling Internet traffic over FB chat
- ape4 12y agoNice hack
- r0naa 12y agoThat's a really neat hack, love it.
- greggman 12y agointeresting given FB keeps chat history forever
- szatkus 12y agoI wonder if they have any flood protection... Also HTTPS packets should be quite safe.
- corndoge 12y agoIt'd be more interesting if this was done over Google's chat, since Chrome trusts the Google Internet Authority cert...
- modeless 12y agoWhat makes this interesting is the fact that Facebook chat traffic is subsidized by Facebook and free of charge in some countries as part of their anti-net-neutrality "Internet.org" initiative. This project allows you to hijack the Facebook subsidy for purposes they didn't intend. Of course, if it becomes popular then Facebook will have to block it, emphasizing the self-serving commercial nature of the subsidy.
- nl 12y agoInternet.org might not be net neutral, but that doesn't make it bad. Much of the world isn't the US, and differently structured markets need to be considered differently.
- zanny 12y agoSo if you are in an impoverished area your packets are different from first world packets, magically making it harder to send them to 207.241.224.2 (archive.org) than 173.252.120.6 (facebook.com)? No, that is not the case. Instead, Facebook will pay for you to get Internet if that is Internet that only lets you access Facebook. And that is not an Internet at all. The infrastructure, the physical reality, means that if you have any connection, you can have all connections, and in these circumstances only profit hungry greedy monsters would consider effectively blacklisting every site but their own to guarantee them revenues to show to shareholders for providing network connectivity to you - or I guess it should be more appropriately called Facebook connectivity.
- Dylan16807 12y agoThey're not blacklisting anything. The only bad thing they do is call it "internet". It's not internet access. Free access to things like wikipedia is a good thing, as long as it's not taking money away from actual free internet initiatives. Price gouging actual internet access would also be bad, but that would be someone else doing it, and I don't think it's happening here.
- sukilot 12y agoDid you know that yombinator.com o ly allows you to transmit comments on HackerNews posts, subject to heavy moderstion, not free and open internet speech?
- sukilot 12y agoI didn't know that infrastructure was free to build and maintain. I wonder why WorldCom and Global crossing went bankrupt, if they had no expenses.
- nl 12y ago
- pakled_engineer 12y agoHere's one telecom's implementation of this proprietary Internet.org app showing free tier fb/messenger the photos are still displayed just obscured until you pay for a data plan (notice it uses free.facebook.com which is complicit in enforcing this. https://youtu.be/sUGZdFXs22o?t=2m16s https://youtu.be/sUGZdFXs22o?t=2m16s Guess no embedding creative commons university pdfs in wall posts.
- swah 12y agoI was just reading about gumbo parser yesterday! h/t @nostrademons Very nice hack... its just fun to do something like this. Reminds me when I used to fiddle w/ "phreaking" when it was really easy. I didn't think about ethical implications - just got a really big thrill when I got a free call.
- nostrademons 12y agoThanks! I'm glad to see it used for things...when I wrote it (and decided to open-source it), it was very much a "Well, I have one immediate need for this, but it seems like people could do a lot with a robust HTML5 parser with a simple API."
- k__ 12y agoI once read a story about tunneling IP over DNS. Something about free Internet/DNS for Microsoft-Update. But I can't find it.
- Afforess 12y agoYou are thinking of iodine. http://code.kryo.se/iodine/ http://code.kryo.se/iodine/
- k__ 12y agoNo, what I read was from the 90s. But the guy probably did what iodine does.
- bardzusny 12y agoYes! While this seems like one neat and creative hack, DNS tunneling can be used much more broadly: ever stumbled upon "public" hot-spot needing login/payment for actual Internet access? Practically all of them still provide unrestricted DNS access, which is all you need to tunnel anything you want over it (as pointed out: iodine is your best friend).
- jakejake 12y agoI remember possibly the same article - it was a guy who noticed that airport wifi allows DNS even if you haven't paid.
- mariuolo 12y agoYes, they have to because of how Windows detects connectivity (NCSI).
- chx 12y agoPerhaps http://dnstunnel.de/ http://dnstunnel.de/ ?
- yhager 12y agoYeah, I've played with that a bit..it was fun. It worked in airports, as DNS was available, even though you had to pay for actual surfing. Not surprisingly, it was quite slow.
- WhitneyLand 12y agoI've been wondering if something like this could be helpful to breach the great firewall. Find some high traffic site in China and smuggle in content via various site features such as chat, messaging, forums, etc. The content could be obfuscated to appear benign while embedding hidden data in text, images, or binary attachments.
- andrepd 12y agoI don't know the specifics about how the surveilance is implemented, but embedding encrypted payload in benign files is a neat idea to bypass internet censorship, at least in principle.
- yeukhon 12y agoNot exactly the same, but one of the ways to bypass: https://realworldcrypto.files.wordpress.com/2013/06/shrimpton.pdf https://realworldcrypto.files.wordpress.com/2013/06/shrimpto...
- DickingAround 12y agoInconvenient Message Detection: https://github.com/DickingAround/InconvenientMessageDetection https://github.com/DickingAround/InconvenientMessageDetectio...
- sukilot 12y agoFYI github renders readme.txt as preformatted code, but your readme.txt is not preformatted, so it is very hard to read (one line per paragraph).
- wongarsu 12y agoThat's how the Tor network manages to bypass the Great Firewall. Google "Tor Bridges" if you want to get some fine examples. I think the newest tor bridge can smuggle the traffic over Google servers.
- 12y ago
- andrepd 12y agoWith a built-in encryption layer (on top of eventual HTTPS) it could be a useful "hack" for the kinds of situations mentioned in the readme. I wonder how facebook and the telecos will feel about this. All in all, a cool concept but unlikely to work in practice if either facebook or the telecos do not want to.
- vincentclair 12y agoIt would be cool if a company such as facebook supported this. Seeing them as an enabler for free/uncensored internet, given that the country was chosen for a internet.org campaign.
- jakejake 12y agoIf Facebook wanted to support it they would probably just implement a standard proxy server that would be more efficient. If anybody can handle the traffic it would be Facebook, but I bet their chat services are not really tuned for this kind of usage.
- vincentclair 12y agoIt would certainly be interesting if facebook started to provide proxy access
- schlarpc 12y agoI did something very similar to this last summer, written in Python. No idea what state the code is in at this point because it's been months, but here's the code I had sitting around: https://gist.github.com/schlarpc/86e20aa3f3aaf3d78269 https://gist.github.com/schlarpc/86e20aa3f3aaf3d78269
- matiasb 12y agoReally cool, I'll give it a try soon!
- fitzwatermellow 12y agoWonderful proof-of-concept! Humanity needs steganography-as-a-service. But think how difficult it is to implement in a regime where all networks are monitored and even Android phones are assumed to be backdoored. Most services will re-encode data during transmission, potentially munging whatever secret happens to be embedded. And more generally, its the metadata that often de-anonymizes, not the data itself. If all the dissidents one day begin communicating via Lutheran Insult memes, its simply becomes a matter of picking one up and applying "rubber-hose" cryptanalysis to put an end to the party.
- acd 12y agoSome mobile operators offer unlimited Facebook and whatsapp traffic doesn't count towards the monthly data transfer limit.
- userbinator 12y agoI've heard this is also true for Twitter and a few other social networking sites, so you could potentially tunnel your traffic through them too. However, these tunnels are going to be relatively low-bandwidth (especially if they start throttling it) and high-latency, so the "unlimited" would in reality be "how much can you transfer continuously in a month?"
- logicallee 12y agoI think this is kind of abusive of FB's infrastructure TBH. It must be hard to keep real-time messaging up for ... okay, I was going to say for 1 billion users, looked it up and it's 1.3 billion monthly actives - 890 million daily actives (Jan 2014 figure). So tell you what, on second thought I think they can handle your data. however there's a good chance you'll cause some infrastructure problems since I'm sure there are assumptions baked in, regarding how often a user will send new messages, queuing, caching, etc. so I'm still not totally sure how I feel about this. at the end of the day FB is just a php script. i wouldn't be surprised if you break it.
- icelancer 12y ago> at the end of the day FB is just a php script Facebook Chat isn't. It's primarily Erlang/C++. https://www.facebook.com/note.php?note_id=14218138919 https://www.facebook.com/note.php?note_id=14218138919
- toast0 12y agoFacebook chat stopped being Erlang quite some time ago.
- logicallee 12y ago"FB is just a php script" was just a joke :)
- ForHackernews 12y agoMaybe if it becomes popular, it'll make facebook rethink wanting to store everyone's messages until the end of time.
- 0x0 12y agoWe need screenshots here! :D
- milankragujevic 12y agoCouldn't you just use Facebook's "Fetch as FacebookBot" feature and just fetch the pages yourself? Example: https://developers.facebook.com/tools/debug/og/echo?q=https%3A%2F%2Fnews.ycombinator.com%2Fitem%3Fid%3D9203946 https://developers.facebook.com/tools/debug/og/echo?q=https%... I was thinking about doing this since on my network Facebook access is free but Internet isn't. (2nd world country, but barely)
- hippich 12y agoIt looks like it is more general purpose, than just html browser.
- spiritplumber 12y agoPotentially a problem that internet = web, at zeroth approximation.
- h43k3r 12y agoHow does they rate limit this thing?
- nly 12y agoUses Gumbo... from the README > Gumbo was initially designed for a product that worked with trusted input files only. We're working to harden this and make sure that it behaves as expected even on malicious input, but for now, Gumbo should only be run on trusted input or within a sandbox.
- nostrademons 12y agoThat's mostly historical at this point - Gumbo passed a security review as of 0.9.1, has had several rounds of fuzz testing, and is used by a bunch of other libraries now. It's been struck out of the README at HEAD, though I think it was listed in several earlier versions' READMEs.
- JoshTriplett 12y agoInteresting, but wouldn't you need a server somewhere to act as the other end of the tunnel, for which you'd have to pay for hosting and/or bandwidth anyway?
- matiasb 12y agoSure, you need that end!
- wongarsu 12y agoBut hosting and bandwith for servers is extremely cheap if you don't care about reliability and trendyness. You can get a vps with 1Tb bandwidth/month for $4 (probably even less if you look around more than I did). Try getting mobile bandwidth for anything near that price.
- fallat 12y agoBase64 encoding is such a useful tool. I used it to transfer binary over IRC once.
- lo96z 12y agoWhy not just use DCC?
- appleflaxen 12y agoWhat is DCC, in this context? I tried to find it in google, but the acronym is very ubiquitous.
- heinrich5991 12y agoFirst hit of this query: https://www.google.com/search?q=irc+dcc https://www.google.com/search?q=irc+dcc
- fallat 12y agoDCC relies on all parties to have a specific port open and even then if the connection drops all hell breaks loose.
- p1mrx 12y agoThis looks similar to the "IPv6 over Social Networks" RFC, published 2009-04-01: https://tools.ietf.org/html/rfc5514 https://tools.ietf.org/html/rfc5514
- cheesedoodles 12y agoThis is really cool! In so many 2nd and 3rd world/poor countries internet is a luxury, as the price of bandwith is so high. Philippines for instance, a country that mainly provides connectivity through limited 3G and LTE, have a monthly price of about 30 beers from the local bar. In comparison, I pay around the price of 4-5 local beers, for 100/100 fiber. Its sucks so hard that people cant afford to get knowledge from internet. Especially considering they would benefit greatly as schoolbooks are expensive and in some countries, censored.
- matiasb 12y agoHack author here, in my country, Paraguay, you get 10 MBPS for ~140 U$ per month. I discovered the Internet through my father, because he is a journalist and the press had really early access to this kind of tech, 20 years later I'm still crazy about it. Thanks for the comment!
- cheesedoodles 12y agoWow! Thats really expensive! Hard do access stuff often sparks creative ideas and solutions :) Keep on hacking!
- hobarrera 12y ago~70USD for a symetric 3Mbps static-IPv4/6 connection in Argentina. I believe asymetric normal connections cost about ~40USD. A beer is about 4USD, IIRC, if that helps the comparison.
- erodingvar 12y agoThis is the kind of hacking I find to be abusive. Finding clever uses for things is fine, but not when it's misuse with potential for harm. This reminds me of when someone exploited TinyURL to make TinyDisk.
- tzakrajs 12y agoNo, please no this is terrible.
- shkkmo 12y agoWhy?
- purringmeow 12y agoI am pretty much a beginner dev, so can anyone briefly explain how this works? It's not really clear to me from the code. It's mentioned in the README that packets are being sent as base64. Let's say I would like to send a GET request to google.com. How does Facebook Chat serve me with google's page?
- miduil 12y agoAs far as I understood: - They are using virtual network kernel device (TUN/TAP, https://github.com/matiasinsaurralde/facebook-tunnel/blob/master/tun.cpp https://github.com/matiasinsaurralde/facebook-tunnel/blob/ma... ) - encode it as base64 - communicate with the http/web facebook client https://github.com/matiasinsaurralde/facebook-tunnel/blob/master/facebook.cpp https://github.com/matiasinsaurralde/facebook-tunnel/blob/ma... Between that they do authentication things at facebook with "gumbo". And later on everything the other way round at the server side. So if you GET google.com your traffic goes through a virtual ethernet like device. https://www.kernel.org/doc/Documentation/networking/tuntap.txt https://www.kernel.org/doc/Documentation/networking/tuntap.t... There is no cryptography involved, they could try to use openvpn to enable this feature. https://community.openvpn.net/openvpn/wiki/BridgingAndRouting https://community.openvpn.net/openvpn/wiki/BridgingAndRoutin...
- vskarine 12y agoI tried something like this over gchat but they throttled pretty soon so didn't work well. But it worked for me over Firebase. Here is simple project to demo how to do VNC over Firebase: https://github.com/vskarine/fireport https://github.com/vskarine/fireport
- Liquix 12y agoTo me, the worst part of this is that there are places where Facebook is free but you need to pay for an internet connection. If the average user can only access the mindless corporate money-making machines and not the real internet, we are moving in the wrong direction.
- jsedgwick 12y agoWhat constitutes the real internet - the rest of it ?
- randartie 12y agoThey went from having no free internet to having Free facebook + other core sites like wikipedia through Facebook's internet.org, but it's moving in the wrong direction? >If the average user can only access the mindless corporate money-making machines and not the real internet They can, but it's not free, and a lot of people have no other option but to use what is free. This corporate money-making machine just provided pure value to a ton of people, there's no downside to having this additional option available.
- nitrogen 12y agothere's no downside to having this additional option available. Sure there's a lot of value in communicating with other Facebook users, but if you can't see the possible downside of having a large group of people's first and only connection being through a corporate-controlled view of the world, you're not using your imagination.
- icelancer 12y agoCan you actually make the argument that access to Facebook/Wikipedia/etc is worse than no Internet whatsoever?
- foiboitoi 12y agoWouldn't it prevent people interested in creating an ISP in any area that has "free" facebooknet? Especially if the services provided by facebooknet is most of which people would want with an ISP anyway? So not only does it prevent competitor websites, but it stops competitive ISPs, too. It's especially bad if this coporate network is censoring information. No opportunity to even discover non-filtered information outside the info bubble. This triple whammy is the consequence for those involved or not.
- hartror 12y agoDear Australian Government, Please add this to your list of reasons why your wrong headed "meta"-data retention plan can not work. Rory
- ankitrai 12y agonice
- rushijadhav 12y agorush I jadhav
- rushijadhav 12y agoRushi
- anticodon 12y agoFacebook limits number of messages you can send. After passing some secret threshold, your profile would be put in 'restricted' mode.
- jaimehrubiks 12y agoWow didn't see this was so old
- ValdikSS 12y agohttps://github.com/pasis/pppoat https://github.com/pasis/pppoat
- zx2c4 12y agoBack in the day when Skype was a pretty cool peer-to-peer encrypted mesh network, that successfully evaded firewalls and traffic analysis, I wrote a tool to proxy Internet traffic ontop of the Skype mesh. I was quite young when I wrote it, but I managed to dust off an old demo screencast I made (and convert the swf to an mp4), which gave me a laugh. If you're curious: http://data.zx2c4.com/skypeproxydemo.mp4 http://data.zx2c4.com/skypeproxydemo.mp4
- orangebread 12y agoThat is very cool. Does Skype not have a direct peer to peer connection anymore?
- zx2c4 12y agoSupposedly since the Microsoft buy-out, everything is gradually becoming centralized.
- 9984894172 12y ago9984894172
- fugyk 12y agoWhile I find this project awesome, but I don't think telecos or even facebook will allow this in long run. I think that it even breaks facebook TOS.
- deleted 12y ago[deleted]