{"id":13585634,"url":"https://github.com/un-def/dl-plus","last_synced_at":"2025-04-10T03:50:14.488Z","repository":{"id":57422992,"uuid":"302324523","full_name":"un-def/dl-plus","owner":"un-def","description":"A youtube-dl extension with pluggable extractors","archived":false,"fork":false,"pushed_at":"2025-02-16T07:30:08.000Z","size":168,"stargazers_count":48,"open_issues_count":0,"forks_count":6,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-14T09:11:26.916Z","etag":null,"topics":["dl-plus","youtube-dl"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/un-def.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"ko_fi":"un1def"}},"created_at":"2020-10-08T11:54:18.000Z","updated_at":"2025-02-24T11:04:22.000Z","dependencies_parsed_at":"2025-04-03T02:09:24.974Z","dependency_job_id":"164b9874-02c0-492e-af55-fcc10a4cd3b5","html_url":"https://github.com/un-def/dl-plus","commit_stats":{"total_commits":86,"total_committers":1,"mean_commits":86.0,"dds":0.0,"last_synced_commit":"3434b206d56db814db1c557cd518a617c9c78a25"},"previous_names":[],"tags_count":11,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-def%2Fdl-plus","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-def%2Fdl-plus/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-def%2Fdl-plus/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/un-def%2Fdl-plus/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/un-def","download_url":"https://codeload.github.com/un-def/dl-plus/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248154999,"owners_count":21056542,"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":["dl-plus","youtube-dl"],"created_at":"2024-08-01T15:05:03.239Z","updated_at":"2025-04-10T03:50:14.459Z","avatar_url":"https://github.com/un-def.png","language":"Python","readme":"# dl-plus\n\nA [youtube-dl][youtube-dl-website] extension with pluggable extractors\n\n## Description\n\n`dl-plus` is an extension and a drop-in replacement of `youtube-dl` (or any compatible fork, e.g., `yt-dlp`). The main goal of the project is to add an easy-to-use extractor plugin system to `youtube-dl` while maintaining full backward compatibility.\n\n`dl-plus` is not a fork of `youtube-dl` and does not contain code from `youtube-dl`, it is a pure dynamic wrapper (thanks to Python dynamic nature) hacking some `youtube-dl` internals.\n\n## Installation\n\n1.  Install `dl-plus`:\n\n    * using [pipx][pipx-website]:\n\n      ```\n      pipx install dl-plus\n      ```\n\n    * using pip:\n\n      ```\n      pip install dl-plus\n      ```\n\n    (**\\*nix**) Alternatively, you can download a single file binary (zipapp) and put it somewhere in your `PATH`:\n\n    ```\n    curl -L https://github.com/un-def/dl-plus/releases/latest/download/dl-plus -o dl-plus\n    chmod a+x dl-plus\n    ```\n\n2.  Install a backend — `youtube-dl` or any compatible package (fork), e.g., `yt-dlp`:\n\n    * using `dl-plus` itself:\n\n      ```\n      dl-plus --cmd backend install yt-dlp\n      ```\n\n    * using [pipx][pipx-website]:\n\n      ```\n      pipx inject dl-plus yt-dlp\n      ```\n\n    * using pip:\n\n      ```\n      pip install yt-dlp\n      ```\n\n3.  (optional) Install some extractor plugins:\n\n    * using `dl-plus` itself:\n\n      ```\n      dl-plus --cmd extractor install un1def/goodgame\n      ```\n\n      PyPI package names are supported too:\n\n      ```\n      dl-plus --cmd extractor install dl-plus-extractor-un1def-goodgame\n      ```\n\n    * using [pipx][pipx-website]:\n\n      ```\n      pipx inject dl-plus dl-plus-extractor-un1def-goodgame\n      ```\n\n    * using pip:\n\n      ```\n      pip install dl-plus-extractor-un1def-goodgame\n      ```\n\n4.  (optional) Create `dl-plus` → `youtube-dl` symlink (for apps relying on `youtube-dl` executable in `PATH`, e.g., [mpv][mpv-website]):\n\n    - **\\*nix**:\n\n      ```shell\n      dlp=$(command -v dl-plus 2\u003e\u00261) \u0026\u0026 ln -s \"$dlp\" \"$(dirname \"$dlp\")/youtube-dl\"\n      ```\n\n      Use `ln -sf` instead of `ln -s` to overwrite an existing `youtube-dl` executable.\n\n    - **Windows** (PowerShell, requires administrative privileges):\n\n      ```powershell\n      $dlp = (Get-Command -ErrorAction:Stop dl-plus).Path; New-Item -ItemType SymbolicLink -Path ((Get-Item $dlp).Directory.FullName + \"\\youtube-dl.exe\") -Target $dlp\n      ```\n\n## Extractor Plugin Authoring Guide\n\nSee [docs/extractor-plugin-authoring-guide.md](https://github.com/un-def/dl-plus/blob/master/docs/extractor-plugin-authoring-guide.md).\n\n## Available Extractor Plugins\n\nSee [docs/available-extractor-plugins.md](https://github.com/un-def/dl-plus/blob/master/docs/available-extractor-plugins.md).\n\n## License\n\nThe [MIT License][license].\n\n\n[youtube-dl-website]: https://youtube-dl.org/\n[pipx-website]: https://pipxproject.github.io/pipx/\n[mpv-website]: https://mpv.io/\n[license]: https://github.com/un-def/dl-plus/blob/master/LICENSE\n","funding_links":["https://ko-fi.com/un1def"],"categories":["Python"],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun-def%2Fdl-plus","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fun-def%2Fdl-plus","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fun-def%2Fdl-plus/lists"}