Connected NordVPN to a NZ server
Set up a new TVZN account
Added the account email to the config
Was prompted for the OTP code which I copied from the email from TVNZ
Code:v 4.0.0 - https://github.com/vinefeeder/envied Service Config loaded Loaded 1/1 Vaults Loaded Widevine CDM: 4445 (L3) ────────────────────────────── Service: TVNZ ─────────────────────────────── Service is not Geoblocked in your region - No cached user tokens found, setting up new login... + OTP code was sent to your email address Enter OTP code: 725341 Authenticated with Service ──────────────────────── Series: Blue Murder Motel ───────────────────────── 1 seasons, S1(8) ──────────────────── Blue Murder Motel S01E01 Party Boy ──────────────────── Cached 1 Key to 1/1 Vaults 1 Video └── [H.264, SDR] | en | 1920x1080 @ 4000 kb/s, 25.000 FPS ⠼ ━━━━╺━━━━━━━━━━━━━━━━━━━━━━ --:-- 144.00KBps 166.73MB/1.04GB 1 Audio └── [AAC] | en | 2.0 | 128 kb/s ⠼ ━━━╸━━━━━━━━━━━━━━━━━━━━━━━━━ --:-- 97.58KBps 5.54MB/42.59MB
+ Reply to Thread
Results 961 to 980 of 980
-
-
Try this shows you the output better
unshackle -d dl --skip-dl --proxy nz -w s01e01 tvnz https://tvnz.co.nz/tvseries/blue-murder-motel -
Same error. I've attached my copy of unshackle, hopefully you can compare to your own or create the same error as me? https://gofile.io/d/keD5Kj I've just redacted my logins (service and VPN).
Code:v 5.0.0 - © 2025-2026 - github.com/unshackle-dl/unshackle Service Config loaded Successfully loaded vault: Local (SQLite) Loaded 1/1 Vaults Active vaults: Local Loaded Widevine CDM: 22589 (L3) Starting new HTTPS connection (1): api.nordvpn.com:443 https://api.nordvpn.com:443 "GET /v1/servers/countries HTTP/1.1" 200 None Loaded Basic: 3 Countries (3 Servers) Loaded NordVPN: 137 Countries (9429 Servers) Starting new HTTPS connection (1): api.nordvpn.com:443 https://api.nordvpn.com:443 "GET /v1/servers/recommendations?filters%5Bcountry_id%5D=156 HTTP/1.1" 200 None Using NordVPN Proxy: https://ZYojX6L8i8n2ahGkPtsszaoj:shGEHn94m1PvuBPVwq47e4Mp@nz105.proxy. nordvpn.com:89 ────────────────────────────── Service: TVNZ ─────────────────────────────── Trying IP provider: ipinfo Starting new HTTPS connection (1): ipinfo.io:443 https://ipinfo.io:443 "GET /json HTTP/1.1" 200 None Successfully got IP info from provider: ipinfo + Using cached user tokens Starting new HTTPS connection (1): rest-prod-tvnz.evergentpd.com:443 https://rest-prod-tvnz.evergentpd.com:443 "POST /tvnz/getEntitlements HTTP/1.1" 200 1454 Starting new HTTPS connection (1): watch-cdn.edge-api.tvnz.co.nz:443 https://watch-cdn.edge-api.tvnz.co.nz:443 "POST /oauth2/token HTTP/1.1" 200 1212 https://watch-cdn.edge-api.tvnz.co.nz:443 "POST /device/app/register HTTP/1.1" 200 267 Authenticated with Service Cache miss for https://tvnz.co.nz/tvseries/blue-murder-motel fetching fresh data Starting new HTTPS connection (1): data-store-cdn.cms-api.tvnz.co.nz:443 https://data-store-cdn.cms-api.tvnz.co.nz:443 "GET /content/urn/resource/catalog/tvseries/blue-murder-motel?reg=nz&dt=and roidtv&client=tvnz-tvnz-androidtv&pf=Regular&allowpg=true HTTP/1.1" 200 918 https://data-store-cdn.cms-api.tvnz.co.nz:443 "GET /content/series/8113348F-15E5-4C37-AC5C-003AAEAADD76/seasons?pageNumbe r=1&pageSize=99&sortBy=asc&sortOrder=desc®=nz&dt=androidtv&client=t vnz-tvnz-androidtv&pf=Regular&allowpg=true HTTP/1.1" 200 584 https://data-store-cdn.cms-api.tvnz.co.nz:443 "GET /content/series/8113348F-15E5-4C37-AC5C-003AAEAADD76/episodes?seasonId =B477F0C9-5B49-4CAD-BE89-3B04F8BCDCE2&pageNumber=1&pageSize=99&sortBy= epnum&sortOrder=asc®=nz&dt=androidtv&client=tvnz-tvnz-androidtv&pf= Regular&allowpg=true HTTP/1.1" 200 None Successfully fetched titles for https://tvnz.co.nz/tvseries/blue-murder-motel, updating cache ──────────────────────── Series: Blue Murder Motel ───────────────────────── 1 seasons, S1(8) ──────────────────── Blue Murder Motel S01E01 Party Boy ──────────────────── Searching IMDBApi for 'Blue Murder Motel' (tv, None) Starting new HTTPS connection (1): api.imdbapi.dev:443 https://api.imdbapi.dev:443 "GET /search/titles?query=Blue+Murder+Motel&limit=20 HTTP/1.1" 200 None IMDBApi -> Blue Murder Motel (ID tt38772225) Cached imdbapi data for https://tvnz.co.nz/tvseries/blue-murder-motel https://watch-cdn.edge-api.tvnz.co.nz:443 "POST /media/content/authorize HTTP/1.1" 401 208 ╭───────────────────── Traceback (most recent call last) ──────────────────────╮ │ C:\Users\oraba\AppData\Local\Programs\Python\Python310\lib\runpy.py:196 in │ │ _run_module_as_main │ │ │ │ 193 │ main_globals = sys.modules["__main__"].__dict__ │ │ 194 │ if alter_argv: │ │ 195 │ │ sys.argv[0] = mod_spec.origin │ │ ❱ 196 │ return _run_code(code, main_globals, None, │ │ 197 │ │ │ │ │ "__main__", mod_spec) │ │ 198 │ │ 199 def run_module(mod_name, init_globals=None, │ │ │ │ C:\Users\oraba\AppData\Local\Programs\Python\Python310\lib\runpy.py:86 in │ │ _run_code │ │ │ │ 83 │ │ │ │ │ __loader__ = loader, │ │ 84 │ │ │ │ │ __package__ = pkg_name, │ │ 85 │ │ │ │ │ __spec__ = mod_spec) │ │ ❱ 86 │ exec(code, run_globals) │ │ 87 │ return run_globals │ │ 88 │ │ 89 def _run_module_code(code, init_globals=None, │ │ │ │ in <module>:10 │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1485 in __call__ │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1406 in main │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1873 in invoke │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1873 in invoke │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:1842 in _process_result │ │ │ │ C:\unshackle\.venv\lib\site-packages\click\core.py:824 in invoke │ │ │ │ C:\unshackle\unshackle\commands\dl.py:1464 in result │ │ │ │ 1461 │ │ │ tracks_label = "Getting Remote Tracks..." if self.is_remo │ │ 1462 │ │ │ with console.status(tracks_label, spinner="dots"): │ │ 1463 │ │ │ │ try: │ │ ❱ 1464 │ │ │ │ │ title.tracks.add(service.get_tracks(title), warn_ │ │ 1465 │ │ │ │ │ title.tracks.chapters = service.get_chapters(titl │ │ 1466 │ │ │ │ except Exception as e: │ │ 1467 │ │ │ │ │ if self.debug_logger: │ │ │ │ C:\unshackle\unshackle\services\TVNZ\__init__.py:226 in get_tracks │ │ │ │ 223 │ │ │ json=json_data, │ │ 224 │ │ │ timeout=30, │ │ 225 │ │ ) │ │ ❱ 226 │ │ response.raise_for_status() │ │ 227 │ │ data = response.json() │ │ 228 │ │ if data.get("header", {}).get("message", "").lower() != "succe │ │ 229 │ │ │ raise ConnectionError(f"Failed to authorize playback: {dat │ │ │ │ C:\unshackle\.venv\lib\site-packages\requests\models.py:1026 in │ │ raise_for_status │ │ │ │ 1023 │ │ │ ) │ │ 1024 │ │ │ │ 1025 │ │ if http_error_msg: │ │ ❱ 1026 │ │ │ raise HTTPError(http_error_msg, response=self) │ │ 1027 │ │ │ 1028 │ def close(self): │ │ 1029 │ │ """Releases the connection back to the pool. Once this method │ ╰──────────────────────────────────────────────────────────────────────────────╯ HTTPError: 401 Client Error: Unauthorized for url: https://watch-cdn.edge-api.tvnz.co.nz/media/content/authorize -
your using old tvnz service.
go grab updated tvnz service
your cmd didnt show...
[Attachment 92329 - Click to enlarge] -
-
Are you sure I'm not?
[Attachment 92342 - Click to enlarge] -
Delete your cache and try again its not authenticating correctly is what iamghost is saying
-
-
you'll find the cache via
navigate to where it lists cache, and delete the tvnz folder, or at least it's contents.Code:unshackle env info
Then try again.
As I showed earlier, tvnz is working with unshackle, the issue is with your setup. It may be a simple oversight on your behalf, or something more related to your network set up (vpn) -
Believe I got it working now. The the only problem is I need to clear the cache every time I want to use TVNZ, otherwise, I get the 401 error, and even sometimes it fails after re-authenticating, so it's a 50/50 chance of it working. But thank you all for the suggestions. The download is painfully slow as well.
-
This is a question to all who have been accumulating services for Unshackled/Devine/Envied etc...
Has anyone located one for NBC.com, ABC.com or Global.ca?
Between all the awsome work by stabbedbybrick, A_n_g_e_l_a and BillyBanana I've managed get most of the major free to air sites working nicely.
Just need to fill in the rest. -
[Attachment 92364 - Click to enlarge]
[Attachment 92365 - Click to enlarge]
Hi all,
I have hit this issue and cant figure how to fix it. It's for TEN. The dependencies are all there.
Also, does either Unshackle or Ozivine allow for 1080 downloads from 7 or 10 (Australia)?
Thank you! -
Last edited by Tom Saurus; 18th May 2026 at 17:11.
-
Hi All, I have been using unshackle for a while now. Great app and a credit to the coders. I like to tinker with python in my spare time (Im 51 and need to keep the grey matter active) I started out putting together a docker image of the dev version of unshackle with a webui i coded. It all works quite well and i use it myself, i then went about trying to understand github more, i forked the source, figured out how to upload my files manually after I edited them, accidentally clicked some pull request button and spent 5 mins trying to cancel it. LOL.
Anyway the long and short of it is I have an "alpha" release on github, in my dev branch, I have checked it and it does work. I havent added any vpn or proxy stuff yet (I never use them tbh). But if your after a web ui then I wouldn't mind some feedback. This is my first public "contribution" towards anything. So be easy on me.
https://github.com/SpaceBallz2k8/unshackle
You can only use the dev branch to test it
git clone --branch dev --single-branch https://github.com/SpaceBallz2k8/unshackle.git
cd unshackle
uv sync
uv run unshackle serve --api-only --no-key --webui
Open your browser to 127.0.0.1:8080
Login with admin / changeme
It will force a password change on first login
Configure your output profiles, wvd, accounts, cookies, add services (think only from repo works right now, not checked zip)
[Attachment 92409 - Click to enlarge]
Just found a small bug, once you add your services they are not updating in the web ui correctly. Just restart the unshackle service with the same switches, it will work fine. I'll fix the list refresh in the next version. ** fixed (I will also add, if you added services from a git repo (multiple) then deleting 1 will delete them all that came from that repo).Last edited by SpaceBallz; 19th May 2026 at 14:01. Reason: bug fixed
Similar Threads
-
Devine - Modular Movie, TV, and Music Archival Software
By billybanana in forum Video Streaming DownloadingReplies: 1871Last Post: 26th Jan 2026, 14:12 -
Bitrate confusion: HD vs. DV archival
By taigi in forum Capturing and VCRReplies: 3Last Post: 9th Nov 2024, 03:38 -
How do I completely remove the music and sound effects from a movie?
By cns00 in forum EditingReplies: 1Last Post: 15th Jan 2024, 12:11 -
Which software can remove music from show but keep character dialogue?
By Mohamed61020 in forum AudioReplies: 6Last Post: 2nd Jul 2023, 21:32 -
Software for simple music videos?
By dewiclements in forum Software PlayingReplies: 3Last Post: 26th Jul 2022, 01:21


Quote
