+ Reply to Thread
Results 1,171 to 1,200 of 1357
-
Hi, I am still on version 2.0.0. Last week it worked fine, but pluto tv isn't working as I see you've been talking about. I see for this command it's showing the right show:
C:\Users\user\unshackle>"C:\Users\user\unshackle\. venv\Scripts\python.exe" -m unshackle dl --list-titles PLUTO "/series/680aa663afe56ba72ed352b1/details"
1 seasons, S13(22)
└── Season 13: 22 episodes
├── 01. Nikki Reunion
├── 02. Riley Reunion
├── 03. Bella Reunion
├── 04. Sparky Reunion
├── 05. Gunner Reunion
├── 06. Agility Pros
├── 07. Panda Reunion
├── 08. Magnolia Reunion
├── 11. Ruthie Reunion
├── 13. Atticus Reunion
├── 14. Fiona Reunion
├── 15. Caught in the Act
├── 17. Rosa & Charley Reunion
├── 18. Canines For Kids
├── 19. Penny Reunion
├── 20. Gentle Giants
├── 21. Lizzie Reunion
├── 22. Special Deliveries
├── 23. Happy Campers
├── 24. Trained For Service
├── 25. Canine Coworkers
└── 26. Making Waves
I am trying to download only Making Waves, but when I run this it tries to download everything:
C:\Users\user\unshackle>"C:\Users\user\unshackle\. venv\Scripts\python.exe" -m unshackle dl pluto "https://pluto.tv/series/680aa663afe56ba72ed352b1/details/episode/6a6421115fd707b27da64d03/"
Any suggestions? Thanks. -
uv run unshackle dl -w S13E26 PLUTO /series/680aa663afe56ba72ed352b1
My bookmarks for Pluto reset themselves again to not point at the On Demand. But I used the search that iamghost wrote about and that found me the url I needed for what show I am currently trying to archive. -
Does anyone have the "Bonus tip" working in the DSCP service that stabbedbybrick had added as an easter egg for 5.3?
I do on version 4.0 still, but it does not on 5.3 at all.
Actually did find a working service for this. So never mind actually.Last edited by ehurdler; 4th Aug 2026 at 16:09.
-
Maybe I need a better VPN as Pluto TV On Demand disappears instantly and now it is Italian. Even when I do the search it is spitting out Italian.
I am back search is working again for me getting the Tubi US.Last edited by Tom Saurus; 4th Aug 2026 at 01:07.
-
I have fresh cookies for un-named service. Can anyone PM me to help with this error ?
"This title is not available to watch instantly. Please try another title. - 1044"
Nevermind I got it mostly working playing with the sticks and stones of VT. -
I want to second this! I am new to using this program and spent most of the night trying to find the correct link for a program.
My problem now is that my vaults are 0/0 and I am now realizing I am missing the important Playready and Widevine DRM files. Every time I go to use Pluto, I am told it is has the wrong DRM and no vaults present. -
I pushed out a small update to NINE that adds direct http(s) mp4 detection for some videos. They tend to have a higher bitrate than HLS. DASH will still follow the existing logic for protected videos.
https://github.com/billybanana80/unshackle-services/tree/master/NINE
BTW I've now archived my Unshackle services repo and will concentrate my efforts on Ozivine and Eurovine. -
Never used StabbedByBrick's ALL4 service before but not having much luck. Trying this:
Error is:Code:uv run unshackle dl -r "SDR" -q "1080" --best-available -l best "ALL4" https://www.channel4.com/programmes/big-fat-quiz-best-bits/on-demand/78560-004
Am I missing something obvious? Some kind of Widevine setup I need to do?Code:▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.5.0 (28b7c54) - © 2025-2026 - github.com/unshackle-dl/unshackle Loaded 26 services Service Config loaded Loaded 0/0 Vaults ────────────────────────────── Service: ALL4 ─────────────────────────────── Service is not Geoblocked in your region + Acquired tokens... Authenticated with Service ───────────────────── Series: Big Fat Quiz: Best Bits ────────────────────── 1 season, S2(1) ───────────── Big Fat Quiz: Best Bits S02E04 Ultimate Triumphs ───────────── Skipping HLG video tracks as none are available. There's no 2160p Video Track, continuing with available qualities... 1 Video └── [H.264, SDR] | en | 1920x1080 @ 7463 kb/s, 25.000 FPS ⠸ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- FAILED 1 Audio └── [AAC] | en | 2.0 | 135 kb/s ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:00 SKIPPED 1 Subtitle └── [VTT] | en ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 00:00 SKIPPED 5 Chapters ├── 00:00:00.000 | Chapter 01 ├── 00:15:26.000 | Chapter 02 ├── 00:27:51.000 | Chapter 03 ├── 00:38:14.000 | Chapter 04 └── 00:46:30.280 | Credits ❌ Download Failed... ValueError: Title needs a Widevine CDM but ALL4 is configured with PlayReady. An unexpected error occurred in one of the download workers. ValueError: Title needs a Widevine CDM but ALL4 is configured with PlayReady.
EDIT: Never mind, realised I was missing CDM setup, the error message is just a bit confusing as it implies the service isn't configured correctly.Last edited by DragonQ; 17th Aug 2026 at 06:51.
-
What is the best way to update Unshackle. Is it still back up your .yaml and use:
git pull
uv snyc
Thanks in advance. -
-
It is always good to have your up to date .yaml backed up somewhere else just in case as well.
My Unshackle is buried deep and isn't part of git anymore:
"C:\Users\sheld\AppData\Roaming\uv\tools\unshackle \Lib\site-packages\unshackle"
Code:C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle>git pull fatal: not a git repository (or any of the parent directories): .git C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle>
-
Can this "search" feature also be used with envied? as I am having trouble finding the url of a particular movie. I can play the movie within chrome or firefox, but stream detector only shows me an mpd item.
movie in question:https://pluto.tv/gb_ie/movies/6448edc9dd38b4001a8dd813/#open
I have already attempted uv run envied dl PLUTO https://pluto.tv/gb_ie/movies/6448edc9dd38b4001a8dd813/ (both with and without the "/" and both give an error, with part of the error stating
:138 │ │ except Exception: │
│ ❱ 139 │ │ │ raise ValueError("Could not parse ID from title - is the U │
│ 140 │ │ │
│ 141 │ │ if kind == "series" and episode_id: │
│ 142 │ │ │ r = self.session.get(self.config["endpoints"]["series"].fo
Im guessing that error is telling me that I have not added the correct url for the movie in question.
I attempted it:
and envied kind of worked, I received this back:
The Trench movie
id: /movies/6448edc9dd38b4001a8dd813/details
World War I in the Trenches series
id: /series/68d150ee83275eb994ee8aea/details
Beyond the Reach movie
id: /movies/69382439779bf41d1dbe02c9/details
Sadly, thats as far as i got.
I'm really sorry for posting this chaps... my apologies for wasting peoples time. I managed to work it out:
uv run envied dl PLUTO /movies/6448edc9dd38b4001a8dd813
I knew I should have waited: Download fine, but threw an error at the end:
[Attachment 93483 - Click to enlarge]Last edited by LastResort; 18th Aug 2026 at 14:57. Reason: update
-
[QUOTE=iamghost;2802240] Archived, now, never to be updated, so as the services change their API, you will have to be able to debug and make amendments yourself.
This repository has been archived on June 22, 2026. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments. -
[QUOTE=YmFzZTY0;2802285] We are hopeful that stabbedbybrick will be back and find his passion again. Regardless stabbedbybrick is a smart person and he has the gratitude of many of us from when he got Freevine going and then we migrated to Devine and then to Unshackle. I especially appreciate what he did with the Pluto service. Back in the Freevine days he figured out how to remedy what is referred to as bumpers which was causing lip sync issues with some of the downloaded files.
I am going to rely on Twinvine specifically Envied for awhile. I did a git pull of Unshackle a few months back and the process seemed to work but the version number never changed to the version I was upgrading to. So I deleted Unshackle and went to Github and used that "tool git pull" as that was the only way available as the other way is not there anymore. I prefer a folder in my C: drive to hold most of the program. Now it buried deep and I think I will not delete it and start over as parts of Unshackle are here and there. Envied is working fine and Unshackle may work as well for awhile longer when it doesn't work I will cross that bridge when I come to it. But I am big fan of how Angela has laid out the instructions on how to set up Twinvine and it is impressive. Unshackle is obviously impressive as well and thankfully Twinvine is evolving along with Unshackle. -
Someone sent me a PM to help with Unshackle. They wanted to get something from SEVEN. It has been quite a while since I checked out SEVEN as I have been busy with other services. I do have an account and I do have Export Cookie installed. I put my credentials into my .yaml. But I put them in after I had already exported a .txt cookie after signing in at SEVEN. I exported the cookie to my cookie folder in Unshackle and renamed it SEVEN.
I tried to do a list for a TV show and Unshackle put up this error. Then I thought maybe I better put my credentials into the .yaml and maybe that will remedy this error and it didn't. I appreciate any advice on this issue.
Code:C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle>uv run unshackle dl --list-titles SEVEN https://7plus.com.au/sons-and-daughters ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.3.0 - © 2025-2026 - github.com/unshackle-dl/unshackle ⚠️ Update available! Current: 5.3.0 → Latest: 5.4.0 Visit: https://github.com/unshackle-dl/unshackle/releases/latest Loaded 24 services Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4464 (L3) ────────────────────────────── Service: SEVEN ────────────────────────────── Service is not Geoblocked in your region + Authenticating... ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ in _run_module_as_main:198 │ │ in _run_code:88 │ │ │ │ in <module>:10 │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1524 in __call__ │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1445 in main │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1881 in _process_result │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:877 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\commands\dl.py:1375 in result │ │ │ │ 1372 │ │ │ try: │ │ 1373 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 1374 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 1375 │ │ │ │ service.authenticate(cookies, credential) │ │ 1376 │ │ │ │ if cookies or credential: │ │ 1377 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 1378 │ │ │ │ │ log_event( │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\services\SEVEN\__init__.py:152 in authenticate │ │ │ │ 149 │ │ │ │ │ 150 │ │ │ id_token = response.json().get("id_token") │ │ 151 │ │ │ if not id_token: │ │ ❱ 152 │ │ │ │ raise ValueError(f"Failed to fetch JWT: {response.text │ │ 153 │ │ │ │ │ 154 │ │ │ headers = { │ │ 155 │ │ │ │ "accept": "application/json, text/plain, */*", │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Failed to fetch JWT: { "callId": "01a02963ee3f7f35b3895f22ed7119b3", "errorCode": 403005, "errorDetails": "Unauthorized user", "errorMessage": "Unauthorized user", "apiVersion": 2, "statusCode": 403, "statusReason": "Forbidden", "time": "2026-08-22T12:13:30.067Z" } C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle>uv run unshackle dl --list-titles SEVEN https://7plus.com.au/sons-and-daughters ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.3.0 - © 2025-2026 - github.com/unshackle-dl/unshackle ⚠️ Update available! Current: 5.3.0 → Latest: 5.4.0 Visit: https://github.com/unshackle-dl/unshackle/releases/latest Loaded 24 services Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4464 (L3) ────────────────────────────── Service: SEVEN ────────────────────────────── Service is not Geoblocked in your region + Authenticating... ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ in _run_module_as_main:198 │ │ in _run_code:88 │ │ │ │ in <module>:10 │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1524 in __call__ │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1445 in main │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1881 in _process_result │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:877 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\commands\dl.py:1375 in result │ │ │ │ 1372 │ │ │ try: │ │ 1373 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 1374 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 1375 │ │ │ │ service.authenticate(cookies, credential) │ │ 1376 │ │ │ │ if cookies or credential: │ │ 1377 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 1378 │ │ │ │ │ log_event( │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\services\SEVEN\__init__.py:152 in authenticate │ │ │ │ 149 │ │ │ │ │ 150 │ │ │ id_token = response.json().get("id_token") │ │ 151 │ │ │ if not id_token: │ │ ❱ 152 │ │ │ │ raise ValueError(f"Failed to fetch JWT: {response.text │ │ 153 │ │ │ │ │ 154 │ │ │ headers = { │ │ 155 │ │ │ │ "accept": "application/json, text/plain, */*", │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Failed to fetch JWT: { "callId": "01a02965b4ad71a1a425d8618870bf01", "errorCode": 403005, "errorDetails": "Unauthorized user", "errorMessage": "Unauthorized user", "apiVersion": 2, "statusCode": 403, "statusReason": "Forbidden", "time": "2026-08-22T12:15:26.401Z" } C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle>uv run unshackle dl --list-titles SEVEN https://7plus.com.au/sons-and-daughters ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.3.0 - © 2025-2026 - github.com/unshackle-dl/unshackle ⚠️ Update available! Current: 5.3.0 → Latest: 5.4.0 Visit: https://github.com/unshackle-dl/unshackle/releases/latest Loaded 24 services Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4464 (L3) ────────────────────────────── Service: SEVEN ────────────────────────────── Service is not Geoblocked in your region + Authenticating... ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ in _run_module_as_main:198 │ │ in _run_code:88 │ │ │ │ in <module>:10 │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1524 in __call__ │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1445 in main │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1912 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:1881 in _process_result │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\click\co │ │ re.py:877 in invoke │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\commands\dl.py:1375 in result │ │ │ │ 1372 │ │ │ try: │ │ 1373 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 1374 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 1375 │ │ │ │ service.authenticate(cookies, credential) │ │ 1376 │ │ │ │ if cookies or credential: │ │ 1377 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 1378 │ │ │ │ │ log_event( │ │ │ │ C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackl │ │ e\services\SEVEN\__init__.py:152 in authenticate │ │ │ │ 149 │ │ │ │ │ 150 │ │ │ id_token = response.json().get("id_token") │ │ 151 │ │ │ if not id_token: │ │ ❱ 152 │ │ │ │ raise ValueError(f"Failed to fetch JWT: {response.text │ │ 153 │ │ │ │ │ 154 │ │ │ headers = { │ │ 155 │ │ │ │ "accept": "application/json, text/plain, */*", │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Failed to fetch JWT: { "callId": "01a0297767b1735588ec39912e9fb84f", "errorCode": 403005, "errorDetails": "Unauthorized user", "errorMessage": "Unauthorized user", "apiVersion": 2, "statusCode": 403, "statusReason": "Forbidden", "time": "2026-08-22T12:34:46.344Z" } C:\Users\sheld\AppData\Roaming\uv\tools\unshackle\Lib\site-packages\unshackle> -
Truncated your post to save space in my reply. Tom Saurus what browser are you using and extension to export your cookies? I had the same issue as you, hadn't tried SEVEN in a while, but when I tried I had the same issue:
Figured out an got it working as I had been using Chrome. I guess maybe I have too many extensions causing an issue.Code:**user**~ % unshackle dl --list-titles SEVEN https://7plus.com.au/riviera ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.5.0 (4e62bcb) - © 2025-2026 - github.com/unshackle-dl/unshackle Loaded 30 services Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4464 (L3) Loaded Basic: 3 Countries (3 Servers) ────────────────────────────── Service: SEVEN ────────────────────────────── Service is not Geoblocked in your region + Authenticating... ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ /Users/**user**/.local/bin/unshackle:10 in <module> │ │ │ │ 7 │ │ sys.argv[0] = sys.argv[0][:-11] │ │ 8 │ elif sys.argv[0].endswith(".exe"): │ │ 9 │ │ sys.argv[0] = sys.argv[0][:-4] │ │ ❱ 10 │ sys.exit(main()) │ │ 11 │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/rich_click/rich_command.py:402 in __call__ │ │ │ │ 399 │ │ # Include this here because I run into a false warning │ │ 400 │ │ # in the PyCharm IDE otherwise; for some reason PyCharm doesn' │ │ 401 │ │ # seem to think RichGroups are callable. (No issues with Mypy, │ │ ❱ 402 │ │ return super().__call__(*args, **kwargs) │ │ 403 │ │ │ 404 │ @overload │ │ 405 │ def command(self, __func: Callable[..., Any]) -> RichCommand: ... │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/click/core.py:1569 in __call__ │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/rich_click/rich_command.py:216 in main │ │ │ │ 213 │ │ try: │ │ 214 │ │ │ try: │ │ 215 │ │ │ │ with self.make_context(prog_name, args, **extra) as ct │ │ ❱ 216 │ │ │ │ │ rv = self.invoke(ctx) │ │ 217 │ │ │ │ │ if not standalone_mode: │ │ 218 │ │ │ │ │ │ return rv │ │ 219 │ │ │ │ │ # it's not safe to `ctx.exit(rv)` here! │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/click/core.py:1970 in invoke │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/click/core.py:1970 in invoke │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/click/core.py:1939 in _process_result │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/click/core.py:907 in invoke │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/unshackle/core/temp.py:77 in wrapper │ │ │ │ 74 │ @functools.wraps(fn) │ │ 75 │ def wrapper(*args: P.args, **kwargs: P.kwargs) -> R: │ │ 76 │ │ with task_temp_dir(): │ │ ❱ 77 │ │ │ return fn(*args, **kwargs) │ │ 78 │ │ │ 79 │ return wrapper │ │ 80 │ │ │ │ /Users/**user**/.local/share/uv/tools/unshackle/lib/python3.11/site-package │ │ s/unshackle/commands/dl.py:1614 in result │ │ │ │ 1611 │ │ │ try: │ │ 1612 │ │ │ │ cookies = self.get_cookie_jar(self.service, self.prof │ │ 1613 │ │ │ │ credential = self.get_credentials(self.service, self. │ │ ❱ 1614 │ │ │ │ service.authenticate(cookies, credential) │ │ 1615 │ │ │ │ if cookies or credential: │ │ 1616 │ │ │ │ │ self.log.info("Authenticated with Service") │ │ 1617 │ │ │ │ │ log_event( │ │ │ │ /Users/**user**/.config/unshackle/services/SEVEN/__init__.py:152 in │ │ authenticate │ │ │ │ 149 │ │ │ │ │ 150 │ │ │ id_token = response.json().get("id_token") │ │ 151 │ │ │ if not id_token: │ │ ❱ 152 │ │ │ │ raise ValueError(f"Failed to fetch JWT: {response.text │ │ 153 │ │ │ │ │ 154 │ │ │ headers = { │ │ 155 │ │ │ │ "accept": "application/json, text/plain, */*", │ ╰──────────────────────────────────────────────────────────────────────────────╯ ValueError: Failed to fetch JWT: { "callId": "01a02acccc607509929e9bc3e7752994", "errorCode": 403005, "errorDetails": "Unauthorized user", "errorMessage": "Unauthorized user", "apiVersion": 2, "statusCode": 403, "statusReason": "Forbidden", "time": "2026-08-22T18:47:39.890Z" }
So I tried Firefox and used "Export Cookies" extension, this output .txt allowed it seems 1 additional record/line. Due to this, replaced the .txt cookie file SEVEN reads from, and it worked right away:
Code:**user**~ % unshackle dl --list-titles SEVEN https://7plus.com.au/riviera ▄ ▄▌ ▐ ▄ .▄▄ · ▄ .▄ ▄▄▄· ▄▄· ▄ ▄ ▄▄▌ ▄▄▄ . █▪██▌█▌▐█▐█ ▀. ██▪▐█▐█ ▀█ ▐█ ▌▪█▌▄▌▪██ ▀▄.▀· █▌▐█▌▐█▐▐▌▄▀▀▀█▄██▀▐█▄█▀▀█ ██ ▄▄▐▀▀▄·██▪ ▐▀▀▪▄ ▐█▄█▌██▐█▌▐█▄▪▐███▌▐▀▐█ ▪▐▌▐███▌▐█.█▌▐█▌▐▌▐█▄▄▌ ▀▀▀ ▀▀ █▪ ▀▀▀▀ ▀▀▀ · ▀ ▀ ·▀▀▀ ·▀ ▀.▀▀▀ ▀▀▀ v 5.5.0 (4e62bcb) - © 2025-2026 - github.com/unshackle-dl/unshackle Loaded 30 services Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4464 (L3) Loaded Basic: 3 Countries (3 Servers) ────────────────────────────── Service: SEVEN ────────────────────────────── Service is not Geoblocked in your region + Authenticating... Authenticated with Service ────────────────────────── Series: Riviera (2018) ────────────────────────── 3 seasons, S1(10), S2(10), S3(8) ├── Season 1: 10 episodes │ ├── 01. Villa Carmella │ ├── 02. Faussaires │ ├── 03. La Chambre Secrete │ ├── 04. Tableaux De Famille │ ├── 05. Elena │ ├── 06. Travail D'Artiste │ ├── 07. Le Don │ ├── 08. La Cle │ ├── 09. Oeil Pour Oeil │ └── 10. A La Vue De Tous ├── Season 2: 10 episodes │ ├── 01. I Saw What You Did │ ├── 02. Revelations │ ├── 03. Through Closed Doors │ ├── 04. Renaissance │ ├── 05. Sad Birthday │ ├── 06. Remorse │ ├── 07. On The Ruins Of Our Dreams │ ├── 08. Developed │ ├── 09. On The Way To Truth │ └── 10. Water And Fire └── Season 3: 8 episodes ├── 1. La Dolce Vita ├── 2. Le Mistral ├── 3. What Falls Away ├── 4. Coup De Grace ├── 5. Two Graves ├── 6. Yes We Can ├── 7. An Eye For An Eye └── 8. Catch And Kill -
I was using the Firefox browser and the addon related to this Github page:
https://github.com/rotemdan/ExportCookies
I usually disable and only turn it back on when I need it. You did the right thing truncating my post; I was too thorough in posting that code. It should be working and I am puzzled as to why it isn't. I am glad you got it working. If I remember I stepped away from using Seven as it was particularly sensitive to my VPN and for U.S. series there was the issue where they encoded it to the frame rate and such for Australia and the UK and this results in a noticeable speed up in how fast people are talking. There is of course a way to compensate for that with some settings in VLC but I reasoned that media players and blu ray players don't have these options and re-encoding can cause issues; so stay away from videos like that have been adapted from NTSC to Pal became my policy. I have no problem with videos that are originally PAL as the people are talking at the typical speed.
I forgot to say thank you for your post. Maybe I will re-install the add on or try another one. Maybe it has something to do with my VPN set in Stealth mode which I am finding currently helps with me downloading more videos before something happens and the downloading fails. SEVEN is very slow for me was well; my DSL maxes out at 10 mbps. -
I tried another cookie add on and another failure. Then I went back to export cookies. I generated a cookie for CBC and that worked fine on listing the episodes of a series. I tried again with SEVEN and failure again. It must be some configuration I have wrong for SEVEN. I won't be able to help that person who PM me. I told them about my intention on raising the issue here so maybe they can figure it out from information in this thread for Unshackle.
Similar Threads
-
Devine - Modular Movie, TV, and Music Archival Software
By billybanana in forum Video Streaming DownloadingReplies: 1871Last Post: 26th Jan 2026, 15:12 -
Bitrate confusion: HD vs. DV archival
By taigi in forum Capturing and VCRReplies: 3Last Post: 9th Nov 2024, 04:38 -
How do I completely remove the music and sound effects from a movie?
By cns00 in forum EditingReplies: 1Last Post: 15th Jan 2024, 13:11 -
Which software can remove music from show but keep character dialogue?
By Mohamed61020 in forum AudioReplies: 6Last Post: 2nd Jul 2023, 22:32 -
Software for simple music videos?
By dewiclements in forum Software PlayingReplies: 3Last Post: 26th Jul 2022, 02:21



Quote
