No description
| .env | ||
| .envrc | ||
| .gitignore | ||
| downloader.nu | ||
| flake.lock | ||
| flake.nix | ||
| README.md | ||
Sauce+ downloader
This is a Sauce+ video downloader, written in nushell
Dependenices
There is a nix flake w/ devshell to provide all dependencies, but alternatively, the following should be installed manually:
- nushell (duh)
- openssl
- ffmpeg
How to use
- Open the video to download in a browser
- Open devtools, switch to network tab
- Refresh the page
- Look in the list of request for a few important ones, listed below:
| Request file | Description | What to do with it |
|---|---|---|
video?id=... |
The text after ?id= in the file is the GUID of the media file |
Replace GUID in the below command with the text after ?id=. It should look something like tqHgbrNbF5 |
watchKey?token=... |
The response of this contains the encryption key of the downloaded media | Replace ENCRYPTION_KEY in the below command with the response value. It should look something like gdR/nTT3nHAlXEIVPJ6cPA==. |
chunk.m3u8?token=... |
The response of this contains the list of files to download | Copy the entire text and paste it into a local file, probably named chunk.m3u8. It should start with #EXTM3U. |
- Run
./downloader.nu get-video GUID ENCRYPTION_KEY - Wait for the download. If any errors occur while downloading or decrypting, you should probably run it again.
- The downloaded file should be placed at
out.mkv.
TODOs
- Make an HAR parser to remove manual labor of reading devtools
- Clean up some janky nushell code sitting around