Changes
Add default device Switch to requests to get manifest. Import peacock service
This commit is contained in:
parent
82cfd1c484
commit
05ed9d57df
1
.gitignore
vendored
1
.gitignore
vendored
@ -182,7 +182,6 @@ pyrightconfig.json
|
|||||||
|
|
||||||
# End of https://www.toptal.com/developers/gitignore/api/python
|
# End of https://www.toptal.com/developers/gitignore/api/python
|
||||||
|
|
||||||
devices/
|
|
||||||
|
|
||||||
scalable/43.xml
|
scalable/43.xml
|
||||||
scalable/40.xml
|
scalable/40.xml
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# VineTrimmer-PlayReady
|
# VineTrimmer-PlayReady
|
||||||
A tool to download and remove DRM from streaming services. A version of an old fork of [devine](https://github.com/devine-dl/devine).
|
A tool to download and remove DRM from streaming services. A version of an old fork of [devine](https://github.com/devine-dl/devine).
|
||||||
Modified to remove Playready DRM instead of Widevine.
|
Modified to remove Playready DRM instead of Widevine.
|
||||||
|
|
||||||
@ -238,3 +238,7 @@ Tested so far on Amazon, AppleTVPlus, Max.
|
|||||||
```bash
|
```bash
|
||||||
poetry run python scripts/ParseKeybox.py
|
poetry run python scripts/ParseKeybox.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
## Star History
|
||||||
|
|
||||||
|
[](https://www.star-history.com/#chu23465/VT-PR&Date)
|
BIN
vinetrimmer/devices/generic_8159_l3/device_client_id_blob
Normal file
BIN
vinetrimmer/devices/generic_8159_l3/device_client_id_blob
Normal file
Binary file not shown.
27
vinetrimmer/devices/generic_8159_l3/device_private_key
Normal file
27
vinetrimmer/devices/generic_8159_l3/device_private_key
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEpQIBAAKCAQEAoVu83qcuNeQcIjfXzl9zCtXEKklvWndbp+04vFYJ/7s4tTrS
|
||||||
|
BQtECs6UHG5v7MNphq92oINzjLHRDS45sFYSCfKfqk6FEp6jKDexo82zi0oZB7Tz
|
||||||
|
mlqbFaf5y1txbGCm+A0cStJuHgfB7QIhmQh4lPY5DiLOLZjb/CsE1MjR9wcmD8eN
|
||||||
|
hXjtriV8Je2+b8Lm3RMT3GHjOCIxh0iX9PxfxrGSlvmrU2qexQMSLmyaTMPyFSsR
|
||||||
|
uFgLu4bQbFvFDiFGv53k/7S3AydWHqW+6PaZ/65D9jzJ+6RBUulfCGUP1LIloDbM
|
||||||
|
Y2ez/jgiWzMB6J6GDQzelpjVVeYnFPCU9txyMQIDAQABAoIBAAM+GbSLvYT9uYcC
|
||||||
|
gka2alRsaU3EPgWeYmwke0BlpjvKYmBZ90B8snhZIGbV3U/vuV4ohoTBP4AzTpUq
|
||||||
|
OaSOhjxG8Oh2PXxbTcIQJHS7PIFvEsOx4jdW3Mj5oC5y/vuDkbdoZAoo4meeFkqS
|
||||||
|
AWTW471ymUDseCI4cStHHgi8pGOHbAbZJh2xKQfVFpKiZYGWpr2eu/xatwWtk9y7
|
||||||
|
Pl69qhjDur6rkY55EBYl94EmsIT6yx9btESDWB+jcQ0zg+NlgtLOLZfHzlsEx8Lp
|
||||||
|
qaoQoqpuziURdevrk+3RxbHPZcjt51UWtUBauncFyu1O4/zVpB/gTnbJNCXOcrw4
|
||||||
|
hRQJHkUCgYEA440KJXT7GRke25RM6MGFc6S2z0270LxSFcmYlgNpNPuE+vm23lBv
|
||||||
|
WC5tmRmmS/Y19MLtdeD+cJsYj6BZlXUiZjZC/MXNGWDEPLyN3R9gxH0HjxPrcX/l
|
||||||
|
iXlfkzhd5dRwUXZs+L9ix4ANHPzIa3vsVwmyhbrWGz5dumeRkPtw/MsCgYEAtYgl
|
||||||
|
/ZMP3VSpol9KHQV8j1pI6AO5b+eT8Ic9f1KQejZP3t/fbY/7XIMiqUPG9APhv3qC
|
||||||
|
4ZTydc8RybXu7L9nzNewvwaCtJr5Zgdt4XOcTQqgX8UK+0z/Fm+omlObKrcJNoWH
|
||||||
|
SEHcVVAMtRHdmo9eOAxnsXpwtgII/+NcCq1vSXMCgYEApvWXWkBo9NNfttErVSSZ
|
||||||
|
HG7gy15HzjI/MElIsdky2nMp8VRD/v6Zk+QM+ma9g8LVeA+GWBWL22eRL+EBmg3l
|
||||||
|
/YUWxY0EnfhIRCA9Ht+lCsaKQ0rkV9T1wFbT75tOGhIzjzILZsBWY/bqqDg5fdPh
|
||||||
|
Z0NwP3sFGdw6vUi8n9o93t0CgYEAjoXsPeA+bmlQHdlumMZ7+xjJcM+rwb4xmoCz
|
||||||
|
uckbAbiukK93/c8zbHjQt9As3dxGW01WgMGucuw2bQXYJixI1LzrWa9E44NhF8fx
|
||||||
|
bzaTmrEjJM3RR2g2Rmk4GKJXivvV0eaYRhTfZmPI9kimkfjJ4ntq1h7paxzB8BWT
|
||||||
|
aBau7x0CgYEA0F9zW5P4Jc76WRtogc+OMlmqVMkxYVFr84MgzK2n13ExtvMWRHhN
|
||||||
|
KNHeZmukvqYYXlymPpBqvXibndXnHJjfX7NsX41l2u61mKcsKeQ65mCz4K+C9tOi
|
||||||
|
EMKMO4L9fCaylP5cbIO4ogmEtY/9He+yEdBZQaVz3d5t8wUT9inaT3s=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
9
vinetrimmer/devices/generic_8159_l3/wv.json
Normal file
9
vinetrimmer/devices/generic_8159_l3/wv.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"name": "generic_8159_l3",
|
||||||
|
"description": "android generic 8159 l3",
|
||||||
|
"security_level": 3,
|
||||||
|
"session_id_type": "android",
|
||||||
|
"private_key_available": "True",
|
||||||
|
"vmp": "False",
|
||||||
|
"send_key_control_nonce": "True"
|
||||||
|
}
|
BIN
vinetrimmer/devices/hisense_smarttv_he55a7000euwts_sl3000.prd
Normal file
BIN
vinetrimmer/devices/hisense_smarttv_he55a7000euwts_sl3000.prd
Normal file
Binary file not shown.
Binary file not shown.
@ -59,7 +59,7 @@ def parse(*, url=None, data=None, source, session=None, downloader=None):
|
|||||||
raise ValueError("Neither a URL nor a document was provided to Tracks.from_ism")
|
raise ValueError("Neither a URL nor a document was provided to Tracks.from_ism")
|
||||||
base_url = url.rsplit('/', 1)[0] + '/'
|
base_url = url.rsplit('/', 1)[0] + '/'
|
||||||
if downloader is None:
|
if downloader is None:
|
||||||
data = (session or requests).get(url).text
|
data = requests.get(url, verify=False).text
|
||||||
elif downloader == "aria2c":
|
elif downloader == "aria2c":
|
||||||
out = os.path.join(config.directories.temp, url.split("/")[-1])
|
out = os.path.join(config.directories.temp, url.split("/")[-1])
|
||||||
asyncio.run(aria2c(url, out))
|
asyncio.run(aria2c(url, out))
|
||||||
|
@ -59,7 +59,7 @@ def parse(*, url=None, data=None, source, session=None, downloader=None):
|
|||||||
global base_url
|
global base_url
|
||||||
base_url = url.rsplit('/', 1)[0] + '/'
|
base_url = url.rsplit('/', 1)[0] + '/'
|
||||||
if downloader is None:
|
if downloader is None:
|
||||||
data = (session or requests).get(url).text
|
data = requests.get(url, verify=False).text
|
||||||
elif downloader == "aria2c":
|
elif downloader == "aria2c":
|
||||||
out = os.path.join(config.directories.temp, url.split("/")[-1])
|
out = os.path.join(config.directories.temp, url.split("/")[-1])
|
||||||
asyncio.run(aria2c(url, out))
|
asyncio.run(aria2c(url, out))
|
||||||
|
@ -10,6 +10,9 @@ from vinetrimmer.services.amazon import Amazon
|
|||||||
from vinetrimmer.services.appletvplus import AppleTVPlus
|
from vinetrimmer.services.appletvplus import AppleTVPlus
|
||||||
from vinetrimmer.services.max import Max
|
from vinetrimmer.services.max import Max
|
||||||
from vinetrimmer.services.netflix import Netflix
|
from vinetrimmer.services.netflix import Netflix
|
||||||
|
from vinetrimmer.services.peacock import Peacock
|
||||||
|
|
||||||
|
# Above is necessary since dynamic imports like below fuck up nuitak
|
||||||
|
|
||||||
# Below dynamic imports fuck with compiling when using Nuitka - exec() call is the problem
|
# Below dynamic imports fuck with compiling when using Nuitka - exec() call is the problem
|
||||||
#for service in os.listdir(os.path.dirname(__file__)):
|
#for service in os.listdir(os.path.dirname(__file__)):
|
||||||
|
Loading…
x
Reference in New Issue
Block a user