Hacker News new | ask | show | jobs
by aleixrodriala 1317 days ago
Depends on the throttle you add and then risking to get your WhatsApp account banned, but can be used to surf when you have no data or use other apps which can be useful, not intended for large files downloading or video streaming although got like 300kbps which wasn't too bad
3 comments

It looks like you're using base64 encoding. If WhatsApp allows an extended alphabet then you might be able to switch to base85 for a slight performance bump.
Since WhatsApp is end-to-end encrypted you can probably just send bibary data. Stick a prefix on it so that the real client is guaranteed to ignore it as corrupted.

I think the only risk is that if you have a real client running it reports the invalid messages and WhatsApp uses this as a signal to van your account.

Meta/Facebook is the last company I would trust regarding their E2EE. They probably have a key themselves.
The E2EE here is not about privacy, but about being able to send whatever data you want (like binary) since WhatsApp will only see one type of data (encrypted) in transit, in contrast to needing to send data in a specific format to have it transferred at all. Meta can peek at the original "messages" all they want, they will see encrypted packet data anyway.
Note AFAIK WA is e2e encrypted BUT they can flag any weird looking messages (weird patterns etc) to see and review their contents.

So I think Meta/WA can opt to decrypt any suspicious messages they come across.

How would that work? Do they send a request to your phone to decrypt it for them?
I'd imagine the app just flags suspicious messages and sends them directly to review, in parallel to sending the encrypted message to the receiver
Have you tried different throttles? Did you get any whatsapp account(s) banned at higher speed?
Yes, used different messages max sizes, with 2000 characters got the best speed but got the account banned, using 20000 is a great middle term and not banned for now, could get banned anyway, its an educational project
Could you try encoding data as images for better bandwidth (and probably worse latency)?
Images are often blocked on the free WhatsApp on airplanes
I wonder how that's implemented if all the traffic is encrypted. Presumably images are sent via a different domain or IP address?
During the Facebook outage of a few years ago, WhatsApp messages still worked but I couldn't send an image. I think images are uploaded to Facebook-related servers and messages are through a separate real-time infrastructure, and it's likely that the message includes the fuzzy thumbnail and a url for the image from the other server.
Message size, perhaps.
Perhaps the client knows it’s on a free internet tire and blocks anything other than text.

Much easier to implement than encrypted package inspection.

Using less characters got you banned? I don't understand why that would happen. I would think using more characters would be more likely to get you banned since it's less like what normal users do.
Its in the README - it increases the the number of messages.
Well increasing the usage would also increase the number of messages.

How does Whatsapp choose to ban people? Total messages sent? Then increasing the message size doesn't stop you from being banned, it just makes it take longer before you're banned. Messages/second? Then avoiding the ban by a message size restriction seems like a very clumsy way of doing it; it would be much more straightforward to avoid the ban by limiting the messages/second.

Nice, seems useful for airplanes.
Did you click the link ? Planes are mentioned at the second sentence.
Yep