InsideReCaptcha
libv8-node
InsideReCaptcha | libv8-node | |
---|---|---|
5 | 1 | |
1,002 | 14 | |
- | - | |
0.0 | 0.0 | |
about 5 years ago | about 1 month ago | |
Python | Shell | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
InsideReCaptcha
-
Discussion Thread
Google: implements an entire obfuscated VM with its own bytecode inside Javascript for their CAPTCHAs so that people cannot cheat it
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
While they likely wouldn't do a zero-day, their JS files, particularly for automated captchas, do push the boundaries of whatever JS engine they're executed inside. See https://github.com/neuroradiology/InsideReCaptcha#the-analys... and note that this analysis is 8 years old. While there's minimal risk if you're either using a full-fledged modern JS engine or a limited-subset interpreter like the OP, an older or non-optimized spec-compliant JS engine might hit pathological performance cases and result in you DOSing yourself.
- Why you can't secure a React Native (or any frontend) application
-
Get DCR onto a faucet by voting on this strawpoll for Autofaucet
So people voting for DCR are not allowed to protect their privacy with VPNs, must reveal their real IP address, and must allow proprietary, obfuscated, sophisticated Google reCAPTCHA to fingerprint the heck out of their devices.
- Installed new UDM Pro; Google thinks we are robots now
libv8-node
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
Cue libv8-node+mini_racer from which PyMiniRacer was born. It is non-trivial but not as hard as one might think.
The most painful part is the libv8 build system and Google tooling, which makes it an absolute PITA for libv8 consumers that are not Chrome.
This is why the libv8 gem was atrocious to keep up to date and to build for several platforms, and why libv8-node was born, because the node build system and source distribution are actually sane.
Disclaimer: worked at Sqreen, now maintainer of libv8-node and collaborator of mini_racer
https://github.com/sqreen/PyMiniRacer
https://github.com/rubyjs/mini_racer
https://github.com/rubyjs/libv8-node
What are some alternatives?
quickjs - Thin Python wrapper of https://bellard.org/quickjs/
pyduktape - Embed the Duktape JS interpreter in Python
PyMiniRacer - PyMiniRacer is a V8 bridge in Python.
mini_racer - Minimal embedded v8
yt-dlp - A feature-rich command-line audio/video downloader
Duktape - Duktape - embeddable Javascript engine with a focus on portability and compact footprint
nitter - Alternative Twitter front-end
mpv - 🎥 Command line video player
Playwright - Playwright is a framework for Web Testing and Automation. It allows testing Chromium, Firefox and WebKit with a single API.
youtube-dl - Command-line program to download videos from YouTube.com and other video sites