Giter VIP home page Giter VIP logo

whatsapp-web-incognito's Introduction

Invisible mode for WhatsApp Web

This is the source code of a chrome extension that disables read receipts and presence updates on WhatsApp Web. You can find the original extension in Chrome Web Store.

Installing from GitHub directly

To install the extension off-store, download the latest release as a zip file from the Releases page, extract its content to a directory and add it to Chrome using the 'Load unpacked extension' option when developer mode is turned on.

How it works

This extension works by intercepting the WebSocket frames between chrome and WhatsApp's servers using a modified WebSocket constructor (see wsHook).

Those frames are then decrypted if needed using the local encryption keys (stored in localStorage), and decoded from a binary form using a javascript code from WhatsApp's original implementation.

The resulting "nodes" are then simply checked to see if WhatsApp tries to send out a read or presence action, and if so, the extension blocks it and fakes a failure response from the server.

Organization & Internals

The main code of the extension is located in core/interception.js and in core/ui.js.

Other files inside the core folder deal with the infrastructure that makes the interception and the decoding works. There is also an additional parsing/ code for parsing messages (such as message_types.js) that is rarely used in the extension. background.js mainly keeps track of the saved preferences using localStorage.

If you want to see what kind of messages WhatsApp is sending and receiving over WebSocket in real-time, you can type WAdebugMode = true in the javascript console. Incoming and outgoing payloads (after decryption) will be printed out.

Privacy

No data is ever transmitted to anywhere. Privacy policy here.

Firefox support

If you want to use this extension in Firefox, you can load it using the developer page as explained in issue #38

whatsapp-web-incognito's People

Contributors

ansiwen avatar notwearingpants avatar taksh108 avatar thomasqueirozb avatar tkaixiang avatar tomer8007 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.