All Projects → jeliebig → WaWebSessionHandler

jeliebig / WaWebSessionHandler

Licence: MIT license
(DISCONTINUED) Save WhatsApp Web Sessions as files and open them everywhere!

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to WaWebSessionHandler

Selenium Python Helium
Selenium-python but lighter: Helium is the best Python library for web automation.
Stars: ✭ 2,732 (+10018.52%)
Mutual labels:  firefox, selenium, web-scraping
whatsapp-bot
Made with Python and Selenium, can be used to send multiple messages and send messages as characters made of emojis
Stars: ✭ 34 (+25.93%)
Mutual labels:  firefox, selenium, whatsapp
Redux React Session
🔑 Simple Session API storage for Redux and React
Stars: ✭ 140 (+418.52%)
Mutual labels:  localstorage, session, indexeddb
tithiwa
Automate Web WhatsApp with selenium in python.
Stars: ✭ 17 (-37.04%)
Mutual labels:  selenium, whatsapp, whatsapp-web
whatabomb
A whatsapp bombing GUI Script
Stars: ✭ 84 (+211.11%)
Mutual labels:  selenium, whatsapp, whatsapp-web
WhatsApp-Scraping
Python script to get WhatsApp iformation frrom WhatsApp Web
Stars: ✭ 76 (+181.48%)
Mutual labels:  firefox, selenium, whatsapp-web
client-persist
Offline storage for your web client. Supports IndexedDB, WebSQL, localStorage and sessionStorage with an easy to crawl with API.
Stars: ✭ 14 (-48.15%)
Mutual labels:  localstorage, indexeddb
WALC
An unofficial WhatsApp Desktop client for linux systems.
Stars: ✭ 212 (+685.19%)
Mutual labels:  whatsapp, whatsapp-web
whatsapp-http-api
WhatsApp HTTP API that you can configure in a click!
Stars: ✭ 229 (+748.15%)
Mutual labels:  whatsapp, whatsapp-web
web-session-counter
Utility to count a user's web sessions based on the definition GA uses.
Stars: ✭ 22 (-18.52%)
Mutual labels:  localstorage, session
Forensic Tools
A collection of tools for forensic analysis
Stars: ✭ 204 (+655.56%)
Mutual labels:  firefox, whatsapp
whatsapp-bot
Piyobot adalah whatsapp bot pintar
Stars: ✭ 124 (+359.26%)
Mutual labels:  whatsapp, whatsapp-web
wppconnect-server
Wppconnect Server is a ready-to-use API, just download, install, and start using, simple as that.
Stars: ✭ 290 (+974.07%)
Mutual labels:  whatsapp, whatsapp-web
mst-persist
Persist and hydrate MobX-state-tree stores (in < 100 LoC)
Stars: ✭ 75 (+177.78%)
Mutual labels:  localstorage, session
Dockselpy
Dockerized Selenium and Python with support for Chrome, Firefox and PhantomJS
Stars: ✭ 237 (+777.78%)
Mutual labels:  firefox, selenium
localForage-cn
localForage中文仓库,localForage改进了离线存储,提供简洁健壮的API,包括 IndexedDB, WebSQL, 和 localStorage。
Stars: ✭ 201 (+644.44%)
Mutual labels:  localstorage, indexeddb
whatsapp-clone-react
Build a WhatsApp Clone with React JS and FireBase.
Stars: ✭ 38 (+40.74%)
Mutual labels:  whatsapp, whatsapp-web
superchats
SuperChats is a premium library with unique features that control Whatsapp functions. With Superchats you can build service bots, multiservice chats or any system that uses whatsapp
Stars: ✭ 100 (+270.37%)
Mutual labels:  whatsapp, whatsapp-web
whatsapp-verify
Check if a phone number exists on Whatsapp
Stars: ✭ 74 (+174.07%)
Mutual labels:  whatsapp, whatsapp-web
Whatsapp-Bot
Web.whatsapp.com bot made with selenium
Stars: ✭ 39 (+44.44%)
Mutual labels:  selenium, whatsapp

WaWebSessionHandler

Save WhatsApp Web Sessions to files and run them everywhere!

Discontinued

WhatsApp began rolling out the new WhatsApp Web Multi-Device version for everyone, which means that my script can no longer access all the necessary information needed to save a session. More details about the exact issue are provided here. Since I can't do anything about that I decided to discontinue this project.

As soon as everyone updated to the latest WhatsApp Web version my script will no longer work.

NOTE

This README file is outdated and doesn't properly reflect the current state of this project. It will be updated soon.

Credits

  • thewh1teagle
    • for providing a PoC that I used as a reference for SessionHandler.__set_indexed_db().
    • for providing a lot of useful information about the multi-device beta.

--- OUTDATED ---

Requirements:

If you want to run the .py file you will need:

  • Python 3
  • Chrome or Firefox
  • Selenium (pip install selenium)
  • Chromedriver and/or Geckodriver
    • copy them in the same folder as the scrip, or put them in PATH
    • Note: Make sure they can be executed by the script

How to use:

You could simply run "WaWebSession.py" and use it as a script, or import the "SessionHandler"-Class in your own script and work with it that way.

Class(es) and Methods:

  • wa_sh = WaWebSession.SessionHandler() -> creates a new instance of the SessionHandler
    • you can also specify two optional parameters:
      • browser -> can be Browser.CHROME or Browser.FIREFOX
      • log_level -> can be a level of the logging module, or a string of the wanted level
  • wa_sh.set_browser(browser) -> change the browser used by this class
  • wa_sh.set_log_level(log_level) -> change the log_level of this module
  • wa_sh.create_new_session() -> extracts a new WaWebProfile from a temporary browser session (login prompt)
    • returns a list with all stored IDB user objects (also referred to as: WaWebSession object, profile_obj, session_obj)
  • wa_sh.get_active_session() -> gets all active sessions from the browser
    • you can also specify a profile by using the "profile" parameter passing a single name, or a list of profile names to it
    • returns a dict that looks like this: {profile_name: profile_obj}
  • wa_sh.access_by_obj(profile_obj) -> starts the provided session in a browser window
  • wa_sh.access_by_file(filepath) -> starts the provided session in a browser window
  • wa_sh.save_profile(profile_obj, filepath) -> creates a session file from a profile_obj
    • you can also save multiple profiles by providing a dict like the one returned by get_active_session()
    • filepath can be a relative or absolute path

IDB user object file:

  • session objects are stored in a list
  • the items in the list are dicts looking like this: {"key": entry_key, "value": entry_value}
  • the list is extracted from the "user" objectStore of the WhatsApp Web page
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].