
Security News
/Research
Fake Corepack Site Distributes Infostealer and Proxyware to Developers
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.
phetscraper
Advanced tools
This scraper creates offline versions in ZIM format of PhET science simulations for Science and Math.
It requires Node.js version 16 or higher.
npm i && phet2zim
The above will eventually output a ZIM file to output/
See phet2zim --help for details.
phet2zim --output generates ZIM files in a specific folder.
phet2zim --output myFolder
--withoutLanguageVariants uses to exclude languages with Country variant. For example en_CA will not be present in zim with this argument.
--subjects is used to pass specific subjects to download. Pass values as csv. Sample of valid subjects :
physics, biology, earth-science, motion, sound-and-waves, work-energy-and-power, heat-and-thermodynamics, quantum-phenomena
Available only on GET step:
--withoutLanguageVariants ...
Available on GET and EXPORT steps only:
--includeLanguages 'lang_1,lang_2,lang_3' ...
--excludeLanguages 'lang_1,lang_2,lang_3' ...
--subjects 'math,physics' ...
Available on EXPORT step only:
# Skip ZIM files for individual languages
--mulOnly
# Create a ZIM file with all languages
--createMul
Example:
phet2zim --includeLanguages en,ru,fr
Another way to configure behaviour is through environment variables. Sample .env file (with default values):
# request per second, affects GET step only
PHET_RPS=8
# async workers on TRANSFORM step (keep it equal to number of CPU cores)
PHET_WORKERS=10
# number of retries on GET step (delay grow with exponential backoff)
PHET_RETRIES=5
# display verbose errors
PHET_VERBOSE_ERRORS=false
This project achieves multiple things:
Things this project does not yet do, but should:
The functionality is split into 5 npm scripts:
npm run setup - deletes state from previous runsnpm run get - downloads PhET simulations in specified languagesnpm run transform - prepare the content and media filesnpm run export - generates ZIM file(s)npm start - runs all of the above in sequenceThe steps get, transform and export have their own output directories:
get outputs HTML and PNG files to state/gettransform outputs intermediate files to state/transformexport outputs HTML and PNG files to state/export AND a ZIM file(s) to output/ (by default, unless customized with --output)FAQs
Scraper and exporter of PHET simulations
The npm package phetscraper receives a total of 5 weekly downloads. As such, phetscraper popularity was classified as not popular.
We found that phetscraper demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 3 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
/Research
A fake corepack.org site is impersonating the Node.js tool and delivers an infostealer and proxyware to developers who download it.

Research
/Security News
A large-scale campaign abused GitHub Actions in compromised repositories to exploit CVE-2026-41940 in cPanel and WHM and steal server credentials.

Security News
Five frontier LLMs generated the same nonexistent package names, leaving 53 available for potential slopsquatting across PyPI and npm.