libv8-node
tube-get
libv8-node | tube-get | |
---|---|---|
1 | 1 | |
14 | 7 | |
- | - | |
0.0 | 10.0 | |
about 1 month ago | over 1 year ago | |
Shell | Python | |
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.
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
tube-get
-
YouTube-dl has a JavaScript interpreter written in 870 lines of Python
To understand why, I have a far simpler tool that focuses on a subset of sites (adult content video aggregators)
https://github.com/kristopolous/tube-get
It too deals with this problem but does so in a way that'd be easy to maliciously sabotage
Look right about here https://github.com/kristopolous/tube-get/blob/master/tube-ge...
Add to why this exists, this was originally written between about 2010-2015 or so so it technically predates the yt-* ecosystem.
The tool still works fine and it's not a strict subset of yt-dlp or YouTube-dl because being a different approach, although it's overall site coverage is smaller, I've had it be a "second try" system when yt-* fails and it comes up with success maybe about half the time
What are some alternatives?
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
dukpy - Simple JavaScript interpreter for Python
quickjs - Thin Python wrapper of https://bellard.org/quickjs/
InsideReCaptcha - Reverse-engineering the new “captchaless” ReCaptcha system...
nitter - Alternative Twitter front-end