Giter Site home page Giter Site logo

bbalduzz / phantomplus Goto Github PK

View Code? Open in Web Editor NEW
3.0 1.0 1.0 4.04 MB

Python Disneyplus metadata and video downloader for Windows, Linux and macos

License: GNU Affero General Public License v3.0

Python 100.00%
disneyplus downloader pywidevine disneyplus-downloader drm

phantomplus's Introduction

Phantomplus

Python Disney Plus API Metadata & Downloader for Windows, Macos and Linux

FeaturesDependenciesHow To Use

Features

  • Get Metadata (title, year, episodes, seasons...) with official Disneyplus api
  • Get medias (videos, audios, audio descriptions, subtitles...)
  • Decrypt Widevine DRM protected content
  • Automatically mux all your tracks
  • Nice pre-made format for file names
  • Very fast multi-connection downloads

Dependencies

make sure to add these in the PATH on in your working directory

How to use

  1. Obtain a Private L3 CDM (Content Decryption Module):

    • Option 1: Extract it yourself from an Android device using the dumper tool.
    • Option 2: Purchase a private L3 CDM. For this, you can contact me on Telegram: @edobal.
  2. Setup the L3 CDM:

    • Place the L3 CDM files (device_client_id_blob, device_private_key) in the private_l3_cdm, inside the devices folder in your working environment.

Working folder example:

│   phantomplus/
│   └──pywidevine/
│      └──cdm/
│          └──devices/
│              └──private_l3_cdm/
│                   device_client_id_blob
│                   device_private_key
└─── main.py

Now open a terminal on the working dir and run:

  • pip install -r requirements.txt
  • py main.py

Demo

Screen.Recording.2024-01-07.at.09.58.06.online-video-cutter.com.mp4

Support

We also accept donations, so we can keep this project up!

liberapay

ko-fi

paypal

phantomplus's People

Contributors

bbalduzz avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

mushishi06

phantomplus's Issues

proto missing fields 9 and 10

message DeviceCertificate {
enum CertificateType {
ROOT = 0;
INTERMEDIATE = 1;
USER_DEVICE = 2;
SERVICE = 3;
}
//ProvisionedDeviceInfo.WvSecurityLevel Type = 1; // is this how one is supposed to call it? (it's an enum) there might be a bug here, with CertificateType getting confused with WvSecurityLevel, for now renaming it (verify against other binaries)
CertificateType Type = 1;
bytes SerialNumber = 2;
uint32 CreationTimeSeconds = 3;
bytes PublicKey = 4;
uint32 SystemId = 5;
uint32 TestDeviceDeprecated = 6; // is it bool or int?
bytes ServiceId = 7; // service URL for service certificates
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.