{"id":22205239,"url":"https://github.com/iljan/narr","last_synced_at":"2025-07-27T06:30:23.270Z","repository":{"id":65963112,"uuid":"579685786","full_name":"IljaN/narr","owner":"IljaN","description":"Download audio tracks from Netflix to sample your favorite shows","archived":false,"fork":false,"pushed_at":"2024-06-29T01:15:21.000Z","size":70,"stargazers_count":38,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-06-29T02:28:33.729Z","etag":null,"topics":["chrome-devtools-protocol","cli","crawler","downloader","music"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"unlicense","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IljaN.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-18T14:37:26.000Z","updated_at":"2024-06-29T02:28:37.137Z","dependencies_parsed_at":"2024-02-11T20:05:40.957Z","dependency_job_id":"8f55d36c-f670-450b-8363-832325210b5c","html_url":"https://github.com/IljaN/narr","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IljaN%2Fnarr","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IljaN%2Fnarr/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IljaN%2Fnarr/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IljaN%2Fnarr/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IljaN","download_url":"https://codeload.github.com/IljaN/narr/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":227771423,"owners_count":17817511,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chrome-devtools-protocol","cli","crawler","downloader","music"],"created_at":"2024-12-02T17:28:24.340Z","updated_at":"2024-12-02T17:28:27.515Z","avatar_url":"https://github.com/IljaN.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Narr\nNetflix Audio Ripper - Download audio tracks from Netflix to sample your favourite shows. :musical_note:\n\n## Usage\n\nClose all browser instances and start Chrome, Brave or Edge from the terminal with enabled remote debugging :\n```bash\n google-chrome --remote-debugging-port=9222\n brave-browser --remote-debugging-port=9222\n./msedge.exe  --remote-debugging-port=9222\n```\n\n- Make sure that you are logged in on Netflix in the started browser.\n- Navigate to the show you want to download the audio from.\n- Copy the URL of the show.\n- Run narr with the URL as argument.\n\n```bash\nnarr \"https://www.netflix.com/watch/12345678?trackId=12345678\"\n```\n\nObserve the progress in the terminal:\n\n```bash\n2023/02/18 18:34:25 ▼ Downloading https://www.netflix.com/watch/81237996?trackId=14170056  ⟾  /home/looper/81237996-14170056-4037200794235010051\n2023/02/18 18:34:35 ✓ Finished    https://www.netflix.com/watch/81237996?trackId=14170056  ⟾  /home/looper/81237996-14170056-4037200794235010051, got 65346400 bytes\n```\n\nYou can navigate to any other show or episode or change the language of the audio track while narr is running. It will\ndownload the audio track of the currently playing episode.\n\n```bash\n2023/02/18 18:34:25 ▼ Downloading https://www.netflix.com/watch/81237996?trackId=14170056  ⟾  /home/looper/81237996-14170056-4037200794235010051\n2023/02/18 18:34:35 ✓ Finished    https://www.netflix.com/watch/81237996?trackId=14170056  ⟾  /home/looper/81237996-14170056-4037200794235010051, got 65346400 bytes\n2023/02/18 16:59:42 🗺Navigate to https://www.netflix.com/watch/81238005?trackId=14170056 \n2023/02/18 16:59:43 ▼ Downloading https://www.netflix.com/watch/81238005?trackId=14170056  ⟾  /home/looper/81238005-14170056-605394647632969758\n2023/02/18 16:59:53 ✓ Finished    https://www.netflix.com/watch/81238005?trackId=14170056  ⟾  /home/looper/81238005-14170056-605394647632969758, got 65346400 bytes\n```\n\nIt is also possible to navigate to the Netflix home page. Narr will then download audio tracks of trailers or previews.\n\n## How it works\n\nNarr uses the [Chrome DevTools Protocol](https://chromedevtools.github.io/devtools-protocol/) to communicate with the\nbrowser. It intercepts the network requests\nand downloads the audio tracks in mp4 format. This is possible because the audio is not protected by DRM.\n\n## Build from source\n\nNarr is written in Go. You can build it from source with the following commands:\n\n```bash\ngit clone https://github.com/IljaN/narr.git\nmake build_all\n```\n\nThis builds binaries for Linux, Windows and MacOS (amd64 + arm64) and places them in the `bin` directory.\n\n## Flags\n\n```bash\nnarr --help\n~/c/narr:λ ./narr --help\nUsage: narr [--chrome-url CHROME-URL] VIDEOURL [DOWNLOADDIR]\n\nPositional arguments:\n  VIDEOURL               url of the video to download audio from. Must be a netflix url. e.g. https://www.netflix.com/watch/12345678?trackId=12345678\n  DOWNLOADDIR            directory where to download the audio files. Defaults to current working directory.\n\nOptions:\n  --chrome-url CHROME-URL, -c CHROME-URL\n                         url of the chrome debugger. [default: http://127.0.0.1:9222]\n  --help, -h             display this help and exit\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filjan%2Fnarr","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filjan%2Fnarr","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filjan%2Fnarr/lists"}