pmrt / whatshidden Goto Github PK
View Code? Open in Web Editor NEWWhat's hidden? - Read revoked WhatsApp messages
License: MIT License
What's hidden? - Read revoked WhatsApp messages
License: MIT License
Change file extension when decrypted
Decrypt the media files into an 'attachments' directory, instead of just the sender directory
TypeError [ERR_IMPORT_ASSERTION_TYPE_MISSING]: Module "file:///Users/mymac/MyFolders/res/proj/api/whatshidden/package.json" needs an import assertion of type "json"
at new NodeError (node:internal/errors:372:5)
at validateAssertions (node:internal/modules/esm/assert:82:15)
at defaultLoad (node:internal/modules/esm/load:24:3)
at ESMLoader.load (node:internal/modules/esm/loader:407:26)
at ESMLoader.moduleProvider (node:internal/modules/esm/loader:326:22)
at new ModuleJob (node:internal/modules/esm/module_job:66:26)
at ESMLoader.#createModuleJob (node:internal/modules/esm/loader:345:17)
at ESMLoader.getModuleJob (node:internal/modules/esm/loader:304:34)
at async ModuleWrap. (node:internal/modules/esm/module_job:82:21)
at async Promise.all (index 12) {
code: 'ERR_IMPORT_ASSERTION_TYPE_MISSING'
}
NodeJs : v17.8.0
npm : 8.12.1
Puppeteer downloads a chromium browser which is not compatible with ARM architectures (eg. Raspberry Pi). It would be interesting to be able to change the browser that Puppeteer will use.
In my case (using a Raspberry Pi 2 Model B), upgrading from jessie to stretch and adding this line...
this._browser = await puppeteer.launch({
headless: isProd,
devtools: !isProd,
// this one
executablePath: 'chromium-browser',
});
...here
Lines 134 to 137 in e99e01f
Will work, as upgrading to stretch installed a chromium-browser compatible with ARM and Puppeteer does use it.
Also, it would be interesting to see it added in the docs for people who wants to use it on a Raspberry Pi
As it can cause name errors in some filesystems
There is a check every 15 min but just for login.
I noticed that sometimes a pop-up shows up asking the user whether he wants to use the session here or in another window if the session is used unintentionally in other computer, for all these things a different check is needed where:
whatshidden/src/msg/message.js
Lines 137 to 140 in bc13866
toString() doesn't exist in parent < Messages >, so it will throw an error.
Don't waste time & resources downloading the same image again when someone sends the same pic >1 times while it does exist.
A basic bash updater which uses git for update to the last stable version (master branch) would be great.
Also, add in the docs how to use it.
Throws error: QRCode scanning error. Unknown QRCode element state.
after QRCode scanning on Raspberry Pi 2 Model B.
Maybe because it's way slower and LOGIN_OBSERVE_TIMEOUT is set to just 1e3 milliseconds.
This project uses babel-node because ESModules. Adding the following to the package.json file...:
// package.json
{
"type": "module"
}
...will effectively remove the need for babel-node, which is a pain to debug because the lines doesn't match in stacktraces.
Node v12 is needed (which is —right now— the LST version), so this change requires to update the readme requirements.
Remove deps we don't need anymore:
npm:
files:
Useful for debugging in headless mode
Error: failed to find element matching selector "[data-ref]"
Pops up occasionally when booting the application up. Need a _waitForQRCode() before _getCode().
Lines 9 to 10 in 598cb16
Passing environment variables down to node like this will fail on windows. Docs update required.
When executing in headless and having a session stored, puppeteer will leak the original user-agent in some requests, leading to WhatsApp to detect chromeless, prompting user for browser update/change.
It won't work if the original user-agent with the string 'HeadlessChrome' is leaked.
Explain:
Instead of encodeURIComponent() to provide a more robust, consistent, filesystem compatible encoding.
This file is injected so no globals can be imported and it uses fixed values right now. It needs a new way to pass WAGlobals down
Really important, especially for Rasbperry Pi.
Executing whatshidden without passing environment variables should run it as production.
After scanning the QRCode it takes a while until the login process is complete. In slow computers like Raspberry Pi it's even worse. It'd be a good idea to inform about the state at this point.
Whatshidden v1.7.10-beta crashes when user uses WhatsApp web too much.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.