rust
widevine-l3-guesser
DISCONTINUED
Our great sponsors
rust | widevine-l3-guesser | |
---|---|---|
2184 | 17 | |
77,440 | 547 | |
1.7% | - | |
10.0 | 5.7 | |
about 18 hours ago | over 1 year ago | |
Rust | C | |
GNU General Public License v3.0 or later | 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.
rust
-
The Technology Behind GitHub's New Code Search
Today I learned of Simon Sapin's WTF-8 encoding for UTF-16 text containing invalid codepoints. (Rust source)
- I Use C When I Believe in Memory Safety
-
Why the slow compile times?
I wanted to comment on this a little. The Rust team have gone out of their way to keep Rust's grammar easy to parse! A good example is the turbofish, ::<>, which is used with generics. This PR shows an example of why it's necessary, which lead to the creation of the infamous Bastion of the Turbofish.
-
I wrote a library to expand byte string literals for pattern matching
The pattern matching is cool! Also, it looks like there's a concat_bytes!() in nightly (issue here) if concatenation is all you need (when it stabilizes or if you're on nightly).
-
I ❤️ PEG
Rust lexer, still no regex.
-
How to be able to contribute to languages/compilers?
A huge part of it is working on a compiler that's written in a language that helps avoid mistakes. Even when I was doing C++ regularly I never even tried diving into Clang, because I "knew" I'd be in a mess of complicated manual stuff that I was sure I'd break somehow. But with Rust, I first did a trivial compiler change https://github.com/rust-lang/rust/pull/42275/files#diff-3675ead66a843fefc1a0ac141fac8adeac7899e87979e79d2b4cd2dddd11c2b2, and that was non-terrible enough that I tried a slightly bigger change https://github.com/rust-lang/rust/pull/46264/files#diff-265ef672b5d778c5debaca696bc903a604165df54c44ea4bff07a2369b92e90d, and while I'm far from an expert on the compiler, now I can just go add stuff https://github.com/rust-lang/rust/pull/96376 and it's no big deal.
- Show HN: Mass Dissent – Easily send a letter to U.S. Congress representatives
-
"My Reaction to Dr. Stroustrup’s Recent Memory Safety Comments"
ICE's are not something C++ exclusive. Plenty of that in rustc. That fact that you hit that while working with C++ is unfortunate, but it could be your experience with Rust as well. The only difference would be Rust's faster cadence and more open community/process so there'd be a chance your issue would be fixed in the next 6-12 weeks.
-
Stop Comparing Rust to Old C++
The partial borrow issue is from a desire to assign names to tuple indices so you can access elements without sensitivity to their order. Without that, any change to the arrangement of components in an ECS archetype would affect downstream code attempting to query-iterate those tuples. Ideally I would use an intermediate struct, but as I discovered over the course of this project, rustc/LLVM aren't great about converting between tuples and structs. The only way to be sure you're not taking a perf hit would be to use a code-generated trait to rename the tuple fields, but you can't do that because traits don't give you direct field access and you can't partial borrow from function access.
There are three. The official one, mrustc (no borrow checker, but can essentially compile the official rustc) and GCC (can't really compile anything substantial yet). Only rustc is production-ready though.
widevine-l3-guesser
-
How to download videos from paid streaming services I have a subscription to for offline viewing?
If they have DRM you need to find the keys using a Widevine Guesser, then download the encrypted file and decrypt it using either ffmpeg or mp4decrypt.
-
Widevine L3 Decryptor/Guesser
the widevinedumper script is a bit tricky, would be easier if you download the code for widevine-l3-guesser, open the content_key_decryption.js file, on line 106 you should see this, edit it with your own key, then add the extension to chrome
-
How can I download Udemy courses from my Udemy Business account?
If the course doesn't use DRM then https://github.com/r0oth3x49/udemy-dl otherwise https://github.com/Puyodead1/udemy-downloader and https://github.com/Satsuoni/widevine-l3-guesser with downgraded CDM to 2209 (might stop working on Udemy in the future though, but it still works for now)
-
Best way to download Udemy courses?
only downside is that you have to provide the decryption keys, the main way was using this extension https://github.com/Satsuoni/widevine-l3-guesser but google updated their DRM recently which broke it, not sure if it still works on udemy if you downgrade to the old CDM version or not.
-
Psst: Fast Spotify client with native GUI, without Electron, built in Rust
> Is that even possible for Spotify at this point?
Spotify are using Widevine on their web client, which is considerably more annoying to deal with than the encryption method used in the files fetched by Psst.
Nothing is stopping them from only serving files from the endpoint that serves Widevine protected files.
Then again, Widevine L3 has been broken[0], Google just keeps rotating the private keys used in the content decryption module.
- Widevine l3 has been cracked wide open once again!
-
How to Rip From Amazon & Other Streaming Services Losslessly (again)
Fast forward to today and someone managed to find a way to brute force the Widevine keys again, on the latest version of chrome. You can find the new extension from here. If the GitHub repo gets taken down/dmca'd it is also saved in the Wayback Machine. The new extension brute forces the keys, so it will take around 15 minutes to get.
The widevine l3 guesser extension is linked here and also around the beginning of the post. You can download mp4decryptor from here. To install the extension, read the first tutorial (installing the extension.) To install mp4decryptor, you just need to extract the .zip you downloaded, then go into the extracted folder & into the bin folder, and then copy the "mp4decrypt.exe" file to the same folder with the encrypted mp4.
What are some alternatives?
carbon-lang - Carbon Language's main repository: documents, design, implementation, and related tools. (NOTE: Carbon Language is experimental; see README)
N_m3u8DL-CLI - [.NET] m3u8 downloader 开源的命令行m3u8/HLS/dash下载器,支持普通AES-128-CBC解密,多线程,自定义请求头等. 支持简体中文,繁体中文和英文. English Supported.
widevine-L3-WEB-DL-Script - This is a batch script created to WEB-DL.
widevine-l3-decryptor - Mirror of the original repo
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
udemy-dl - A cross-platform python based utility to download courses from udemy for personal offline use.
Nim - Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
psst - Fast and multi-platform Spotify client with native GUI
udemy-downloader - A Udemy downloader that can download lectures, with DRM support.
Elixir - Elixir is a dynamic, functional language designed for building scalable and maintainable applications
dumper - Dump L3 CDM from any Android device
rust-analyzer - A Rust compiler front-end for IDEs [Moved to: https://github.com/rust-lang/rust-analyzer]