Vinetrimmer-DRM-TOOL - Widevine DRM downloader and decrypter for AMZN|NF|STAN And all

Overview

🍃 ✂️ Vinetrimmer
Widevine DRM downloader and decrypter.

Thanks to wvleaks for this leak

NEED CDM ?

  • 🎉 Need L1 CDM FOR AMZN ,NF,DSNP mail us on [email protected],CDM is not free paid only

Open in Visual Studio Code GPL-3.0 License Python version DeepSource

DRM Sites Supported

  • Amazon
  • Netflix
  • Apple Tv Plus
  • DisneyPlus
  • Bbciplayer
  • Braviacore
  • Crave
  • CTV
  • Disney Now
  • Filmio
  • Flixole
  • Google Play
  • HBO MAX
  • Hotstar
  • HULU
  • Itunes
  • Paramount Plus
  • Peacock
  • Rakutentv
  • Rtlmost
  • Showtime
  • Spectrum
  • Stan
  • TVNow
  • Video Land
  • Vudu

To-do

There's various TODO's all around the project's code as comments as well as in the doc-strings of the root functions found in vinetrimmer.py, feel free to check them if you want something to do.

Installation

Requirements

Install the following dependencies in the listed order. Ensure shaka-packager is added to the environment path.

  1. python, 3.7.0 or newer
  2. pip, v19.0 or newer - Python package management
  3. poetry, latest recommended - Python dependency management
  4. shaka-packager, latest recommended - Battle-tested encryption suite created by Google

The following are optional, but will most likely be used:

  • MKVToolNix, v54 or newer for Muxing, Demuxing, and Remuxing. Required if not using --no-mux
  • FFMPEG, latest recommended for Repacking, Remuxing, and Identifying streams. Required if stream requires a repack, e.g. Disney+
  • CCExtractor, latest recommended for EIA (CEA) Closed Captions extraction (might only be doing CEA 608 and assumes Field 1 Channel 1). Required if a c608 box exists (e.g. iTunes) or ffprobe can find a CEA 608 track embedded in the video bitstream (e.g. CTV).
  • NodeJS, v12 or newer for Netflix web-data JS Object to JSON conversion. Required if using Netflix

Ensure any dependency that has no installer (e.g. portable .exe files) are stored somewhere and added to environment PATH.

Steps

  1. poetry config virtualenvs.in-project true (optional but recommended)
  2. poetry install
  3. You now have a .venv folder in your project root directory. Python and dependencies are installed here.
  4. You now also have vt shim executable installed in the virtual-env. Example usage method: poetry shell then vt -h or poetry run vt -h
  5. For more ways to use vt or the virtual-env, follow Poetry Docs: Using your virtual environment. You could even add the .venv\Scripts to your environment path to have vt available on any terminal.

Important: Do not run Pip as Admin. pip should not even be used with vinetrimmer, ever, unless you wish to directly install to the system Python installation with pip install ..

Usage

The first step to configuring and using vinetrimmer is setting up the data available for use.

See the Data-directory structure for the majority of data preparation. Then look at the vinetrimmer.toml file to configure the application settings and profile credentials.

Vinetrimmer currently has three commands: dl, cfg and prv. dl allows you to download titles. cfg allows you to configure your vinetrimmer setup. prv allows you to provision Widevine keyboxes.

For more usage information, see vt -h or e.g. vt dl -h for help on each command.

Config directory

The config directory is where the main configuration for vinetrimmer and each service is stored. It is usually at %LOCALAPPDATA%\vinetrimmer on Windows, ~/Library/Preferences/vinetrimmer on macOS, and ~/.config/vinetrimmer on Linux. You can do vt dl -h to see the exact path for your current platform. Example config files are available in the example_configs directory in the repo.

Structure:

  • vinetrimmer.toml
  • Services/ ¬
    • service_name.toml (e.g. DisneyPlus.toml)

Data directory

The data directory is where various data for use is stored, e.g. Profiles, Cookies, and .wvd WideVineDevices. It is usually at %LOCALAPPDATA%\vinetrimmer on Windows, ~/Library/Application Support/vinetrimmer on macOS, and ~/.local/share/vinetrimmer on Linux. You can do vt dl -h to see the exact path for your current platform.

Structure:

Profiles

A Profile is simply a filename moniker that will be used to identify a Cookie or Credential file per service.

Profile files are unique per service folder, i.e. two services can use the same john.txt cookie and/or credential file.

You can specify which profile (or profiles) to use on each service in the main configuration file under [profiles]. When defining multiple profiles per service like the Amazon example, you choose which one to use with -z or let it ask you when running.

Widevine Device (.wvd) files

This is the device key data in Struct format that is needed for the CDM (Content Decryption Module).

A good idea would be to name the file with respect to the device it's from as well as state its security level. For example, nexus_6_l3.wvd. The files must be using .wvd (_W_ide_V_ine_D_evice) as the file extension.

To make a WVD file is super simple! Use the available helper scripts at /scripts/WVD/, or take a look by manually creating one by using the LocalDevice class object below.

from pathlib import Path
from vinetrimmer.utils.Widevine.device import LocalDevice

device = LocalDevice(
    type=LocalDevice.Types.CHROME,
    security_level=3,
    flags={"send_key_control_none": False},  # example flags only, check struct in LocalDevice() to see flags
    private_key=b"...",
    client_id=b"...",
    vmp=b"..."  # or None if you don't have (or need) one
)
# print(device)  # print it out (as python Device object)
# print(device.dumps())  # print it out as bytes
device.dump(Path("C:/Users/john/Documents/chromecdm903_l3.wvd"))  # dump it to a file

Cookies

Cookies must be in the standard Netscape cookies file format.

Recommended extensions:

Any other extension that exports to the standard Netscape format should theoretically work.

Credentials

Credentials' sole purpose is to provide the service with a Username (or Email) and Password that would be used to log in and obtain required cookies and/or tokens automatically. Ideally, Services should only ever need either a Credential, or a Cookies file (not both). However, this isn't always the case.

Credentials are stored in the vinetrimmer.toml file of the config directory. See the [credentials] section in vinetrimmer.example.toml for information on the format and usage.

Tip: The key/profile name used in the [credentials] section must match the filename used for cookies if you wish to provide both Credentials and Cookies to a service.

Owner
Vlad Tănăsescu
ISTQB-BCS Certified Expert Software Quality Professional
Vlad Tănăsescu
Python script to download all images/webms of a 4chan thread

Python3 script to continuously download all images/webms of multiple 4chan thread simultaneously - without installation

Micha Fink 208 Jan 04, 2023
This is a tool to allow downloading any links from r/Roms Magethread

ILYFPR This is a tool to allow downloading any links from r/Roms Magethread Limitations: It downloads ALL roms of the system you choose. This will be

Erase 4 Nov 04, 2021
抖音去水印视频批量下载,完全使用抖音官方接口

TikTokDownload 抖音去水印视频下载,使用抖音官方接口 使用教程(Win7) Win10环境暂时没测,bug情况应该比Win7少 运行软件前先打开目录下 conf.ini 文件按照要求进行配置 批量下载可直接修改配置文件,单一视频下载请直接打开粘贴视频链接即可

JohnserfSeed 2k Jan 04, 2023
Python script to download entire campaign images and navigation.

Squidle campaign downloader Python script to download entire campaign images and navigation. usage: squidle_campaign_downloader.py [-h] [--api-token A

Miquel Massot 2 Nov 17, 2021
Mobile based API for Crunchyroll BETA (and Downloader).

Mobile based API for Crunchyroll BETA (and Downloader). Not restricted on servers and NO CLOUDFLARE

27 Dec 11, 2022
Pytube ve tkinter kütüphanesi ile yapmış olduğum basit ve temel bir youtube video indirme programı.

PyTube Pytube ve tkinter kütüphanesi ile yapmış olduğum basit ve temel bir youtube video indirme programı. Videolar 720p çözünürlükte indirilmektedir.

1 Nov 12, 2021
A YouTube downloader which allows you to choose which video you want

Youtube Video Downloader Download multiple videos in one go! How to Use 1.First type the video you want to download 2.On clicking the Search button yo

2 Dec 17, 2021
A Python script that allows you to download all of an anime's episodes at once.

BitAnime A Python script that allows you to download all of an anime's episodes at once. · Download executable version · About BitAnime BitAnime is a

sh1nobu 17 Aug 10, 2022
Storing, versioning, and downloading files from S3 made as easy as using open() in Python. Caching included.

open(LARGE) Storing, versioning, and downloading files from S3 made as easy as using open() in Python. Caching included. Motivation Oftentimes, especi

András Schmelczer 2 Jan 30, 2022
Download all games from a public Itch.io Game Jam

Itch Jam Downloader Downloads all games from a public Itch.io Game Jam. What you'll need: Python 3.8+ pip install -r requirements.txt For site mirrori

Dragoon Aethis 19 Dec 07, 2022
Fully Automated YouTube Channel ▶️with Added Extra Features.

Fully Automated Youtube Channel ▒█▀▀█ █▀▀█ ▀▀█▀▀ ▀▀█▀▀ █░░█ █▀▀▄ █▀▀ █▀▀█ ▒█▀▀▄ █░░█ ░░█░░ ░▒█░░ █░░█ █▀▀▄ █▀▀ █▄▄▀ ▒█▄▄█ ▀▀▀▀ ░░▀░░ ░▒█░░ ░▀▀▀ ▀▀▀░

sam-sepiol 249 Jan 02, 2023
Noto fonts go universal! Download Noto fonts combined to suit your region

noto-cjk Noto CJK fonts Noto Serif CJK update was released on 25 October 2021. We moved the release history and other notes into both Sans and Serif s

Google Fonts 2k Jan 02, 2023
A small distributed download manager to help bypass device-specific bandwidth limitations.

Distributed Download Manager A small distributed download manager to help bypass device-specific bandwidth limitations. Architecture The download mana

Anand Balaji 3 Sep 23, 2022
A simple GUI video downloader built off of the python module 'yt-dlp'

Simple-Youtube-DL-Gui Supported Operating Systems Windows 7 (x64), Windows 8 (x64), and Windows 10 (x64) How to use Main Gui Extract program from arch

12 Dec 30, 2022
An automatic beatmapset downloader via txt file, suitable for tourney mappools.

Pooler Pooler is a bulk osu! mapset downloader, perfect for use with osu! Tournament Mappools. Prerequisites Python 3.10 Requests (pip install request

Thomas 0 Feb 11, 2022
A Fast as F*** Downloader

FAFD A Fast as F*** Downloader Github Usages You'll want to use a URL like this: https://github.com/RPowell-C/FAFD/raw/main/FAFD.py It's easier DONT F

1 Jan 19, 2022
Pantheon - The fastest YouTube downloader.

A Youtube downloader written in Python3, using HTTP requests and an API.

Billy 38 Nov 21, 2022
A simple Python +3.x script to download videos from Facebook.

Facebook Video Downloader A simple Python +3.x script to download videos from Facebook posts

Kerolos Atef Saber 1 Dec 03, 2021
A simple python script to fetch Bing daily images and set them randomly using hsetroot

Daily bing walls A script to set the daily bing image as the wallpaper. It can also set from a random set of previously fetched wallpapers. usage: dai

Harinarayanan K S 5 Nov 23, 2022
A tool to download program information from Bugcrowd, for use by researchers to compare programs they are eligible to participate in

Description bcstats is a tool which allows Bugcrowd researchers to download information about all accessible programs (public and private) into a sing

19 Oct 13, 2022