{"id":13393184,"url":"https://github.com/iv-org/invidious","last_synced_at":"2026-02-07T23:01:08.781Z","repository":{"id":37047649,"uuid":"120542434","full_name":"iv-org/invidious","owner":"iv-org","description":"Invidious is an alternative front-end to YouTube","archived":false,"fork":false,"pushed_at":"2026-02-06T17:50:36.000Z","size":25670,"stargazers_count":18557,"open_issues_count":490,"forks_count":2080,"subscribers_count":182,"default_branch":"master","last_synced_at":"2026-02-07T01:45:59.734Z","etag":null,"topics":["agplv3","hacktoberfest","invidious","libre","video","watch","youtube","youtube-video"],"latest_commit_sha":null,"homepage":"https://invidious.io","language":"Crystal","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iv-org.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"custom":"https://invidious.io/donate/"}},"created_at":"2018-02-07T00:43:42.000Z","updated_at":"2026-02-06T23:49:05.000Z","dependencies_parsed_at":"2023-10-20T20:29:13.193Z","dependency_job_id":"41e64eab-f8f6-4c98-8e53-1811ab227913","html_url":"https://github.com/iv-org/invidious","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/iv-org/invidious","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iv-org%2Finvidious","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iv-org%2Finvidious/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iv-org%2Finvidious/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iv-org%2Finvidious/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iv-org","download_url":"https://codeload.github.com/iv-org/invidious/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iv-org%2Finvidious/sbom","scorecard":{"id":497892,"data":{"date":"2025-08-11","repo":{"name":"github.com/iv-org/invidious","commit":"1ae0f45b0e5dca696986925a06ef4f4b4f43894b"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6,"checks":[{"name":"Code-Review","score":9,"reason":"Found 15/16 approved changesets -- score normalized to 9","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":10,"reason":"22 commit(s) and 12 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/auto-close-duplicate.yaml:1","Warn: no topLevel permission defined: .github/workflows/build-nightly-container.yml:1","Warn: no topLevel permission defined: .github/workflows/build-stable-container.yml:1","Warn: no topLevel permission defined: .github/workflows/ci.yml:1","Warn: no topLevel permission defined: .github/workflows/stale.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":-1,"reason":"internal error: error during branchesHandler.setup: internal error: githubv4.Query: Resource not accessible by integration","details":null,"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/auto-close-duplicate.yaml:10: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/auto-close-duplicate.yaml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:24: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:27: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:32: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:35: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:43: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:53: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-nightly-container.yml:78: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-nightly-container.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:15: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:18: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:23: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:26: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:34: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:59: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/build-stable-container.yml:72: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/build-stable-container.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:51: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:61: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:66: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:90: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:106: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:109: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:114: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:117: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:134: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/ci.yml:140: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/ci.yml:145: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/ci.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/stale.yml:13: update your workflow using https://app.stepsecurity.io/secureworkflow/iv-org/invidious/stale.yml/master?enable=pin","Warn: containerImage not pinned by hash: docker/Dockerfile:1","Warn: containerImage not pinned by hash: docker/Dockerfile:35: pin your Docker image by updating alpine:3.21 to alpine:3.21@sha256:b6a6be0ff92ab6db8acd94f5d1b7a6c2f0f5d10ce3c24af348d333ac6da80685","Warn: containerImage not pinned by hash: docker/Dockerfile.arm64:1","Warn: containerImage not pinned by hash: docker/Dockerfile.arm64:36: pin your Docker image by updating alpine:3.21 to alpine:3.21@sha256:b6a6be0ff92ab6db8acd94f5d1b7a6c2f0f5d10ce3c24af348d333ac6da80685","Info:   0 out of   9 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of  20 third-party GitHubAction dependencies pinned","Info:   0 out of   4 containerImage dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Packaging","score":10,"reason":"packaging workflow detected","details":["Info: Project packages its releases by way of GitHub Actions.: .github/workflows/build-nightly-container.yml:19"],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 30 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T20:58:09.114Z","repository_id":37047649,"created_at":"2025-08-19T20:58:09.114Z","updated_at":"2025-08-19T20:58:09.114Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29211550,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T22:58:45.823Z","status":"ssl_error","status_checked_at":"2026-02-07T22:58:45.272Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["agplv3","hacktoberfest","invidious","libre","video","watch","youtube","youtube-video"],"created_at":"2024-07-30T17:00:45.268Z","updated_at":"2026-02-07T23:01:03.768Z","avatar_url":"https://github.com/iv-org.png","language":"Crystal","readme":"\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"assets/invidious-colored-vector.svg\" width=\"192\" height=\"192\" alt=\"Invidious logo\"\u003e\n  \u003ch1\u003eInvidious\u003c/h1\u003e\n\n  \u003ca href=\"https://www.gnu.org/licenses/agpl-3.0.en.html\"\u003e\n    \u003cimg alt=\"License: AGPLv3\" src=\"https://shields.io/badge/License-AGPL%20v3-blue.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/iv-org/invidious/actions\"\u003e\n    \u003cimg alt=\"Build Status\" src=\"https://github.com/iv-org/invidious/workflows/Invidious%20CI/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/iv-org/invidious/commits/master\"\u003e\n    \u003cimg alt=\"GitHub commits\" src=\"https://img.shields.io/github/commit-activity/y/iv-org/invidious?color=red\u0026label=commits\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/iv-org/invidious/issues\"\u003e\n    \u003cimg alt=\"GitHub issues\" src=\"https://img.shields.io/github/issues/iv-org/invidious?color=important\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://github.com/iv-org/invidious/pulls\"\u003e\n    \u003cimg alt=\"GitHub pull requests\" src=\"https://img.shields.io/github/issues-pr/iv-org/invidious?color=blueviolet\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://hosted.weblate.org/engage/invidious/\"\u003e\n    \u003cimg alt=\"Translation Status\" src=\"https://hosted.weblate.org/widgets/invidious/-/translations/svg-badge.svg\"\u003e\n  \u003c/a\u003e\n\n  \u003ca href=\"https://github.com/humanetech-community/awesome-humane-tech\"\u003e\n    \u003cimg alt=\"Awesome Humane Tech\" src=\"https://raw.githubusercontent.com/humanetech-community/awesome-humane-tech/main/humane-tech-badge.svg?sanitize=true\"\u003e\n  \u003c/a\u003e\n\n  \u003ch3\u003eAn open source alternative front-end to YouTube\u003c/h3\u003e\n\n  \u003ca href=\"https://invidious.io/\"\u003eWebsite\u003c/a\u003e\n  \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"https://instances.invidious.io/\"\u003eInstances list\u003c/a\u003e\n  \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"https://docs.invidious.io/faq/\"\u003eFAQ\u003c/a\u003e\n  \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"https://docs.invidious.io/\"\u003eDocumentation\u003c/a\u003e\n  \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"#contribute\"\u003eContribute\u003c/a\u003e\n  \u0026nbsp;•\u0026nbsp;\n  \u003ca href=\"https://invidious.io/donate/\"\u003eDonate\u003c/a\u003e\n\n  \u003ch5\u003eChat with us:\u003c/h5\u003e\n  \u003ca href=\"https://matrix.to/#/#invidious:matrix.org\"\u003e\n    \u003cimg alt=\"Matrix\" src=\"https://img.shields.io/matrix/invidious:matrix.org?label=Matrix\u0026color=darkgreen\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://web.libera.chat/?channel=#invidious\"\u003e\n    \u003cimg alt=\"Libera.chat (IRC)\" src=\"https://img.shields.io/badge/IRC%20%28Libera.chat%29-%23invidious-darkgreen\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca rel=\"me\" href=\"https://social.tchncs.de/@invidious\"\u003e\n  \u003cimg alt=\"Fediverse: @invidious@social.tchncs.de\" src=\"https://img.shields.io/badge/Fediverse-%40invidious%40social.tchncs.de-darkgreen\"\u003e\n  \u003c/a\u003e\n  \u003cbr\u003e\n  \u003ca href=\"https://invidious.io/contact/\"\u003e\n  \u003cimg alt=\"E-mail\" src=\"https://img.shields.io/badge/E%2d%2dmail-darkgreen\"\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n\n## Screenshots\n\n| Player                              | Preferences                         | Subscriptions                         |\n|-------------------------------------|-------------------------------------|---------------------------------------|\n| ![](screenshots/01_player.png)      | ![](screenshots/02_preferences.png) | ![](screenshots/03_subscriptions.png) |\n| ![](screenshots/04_description.png) | ![](screenshots/05_preferences.png) | ![](screenshots/06_subscriptions.png) |\n\n\n## Features\n\n**User features**\n- Lightweight\n- No ads\n- No tracking\n- No JavaScript required\n- Light/Dark themes\n- Customizable homepage\n- Subscriptions independent from Google\n- Notifications for all subscribed channels\n- Audio-only mode (with background play on mobile)\n- Support for Reddit comments\n- [Available in many languages](locales/), thanks to [our translators](#contribute)\n\n**Data import/export**\n- Import subscriptions from YouTube, NewPipe and FreeTube\n- Import watch history from YouTube and NewPipe\n- Export subscriptions to NewPipe and FreeTube\n- Import/Export Invidious user data\n\n**Technical features**\n- Embedded video support\n- [Developer API](https://docs.invidious.io/api/)\n- Does not use official YouTube APIs\n- No Contributor License Agreement (CLA)\n\n\n## Quick start\n\n**Using Invidious:**\n\n- [Select a public instance from the list](https://instances.invidious.io) and start watching videos right now!\n\n**Hosting Invidious:**\n\n- [Follow the installation instructions](https://docs.invidious.io/installation/)\n\n\n## Documentation\n\nThe full documentation can be accessed online at https://docs.invidious.io/\n\nThe documentation's source code is available in this repository:\nhttps://github.com/iv-org/documentation\n\n### Extensions\n\nWe highly recommend the use of [Privacy Redirect](https://github.com/SimonBrazell/privacy-redirect#get),\na browser extension that automatically redirects YouTube URLs to any Invidious instance and replaces\nembedded YouTube videos on other websites with Invidious.\n\nThe documentation contains a list of browser extensions that we recommended to use along with Invidious.\n\nYou can read more here: https://docs.invidious.io/applications/\n\n\n## Contribute\n\n### Code\n\n1.  Fork it ( https://github.com/iv-org/invidious/fork ).\n1.  Create your feature branch (`git checkout -b my-new-feature`).\n1.  Stage your files (`git add .`).\n1.  Commit your changes (`git commit -am 'Add some feature'`).\n1.  Push to the branch (`git push origin my-new-feature`).\n1.  Create a new pull request ( https://github.com/iv-org/invidious/compare ).\n\n### Translations\n\nWe use [Weblate](https://weblate.org) to manage Invidious translations.\n\nYou can suggest new translations and/or correction here: https://hosted.weblate.org/engage/invidious/.\n\nCreating an account is not required, but recommended, especially if you want to contribute regularly.\nWeblate also allows you to log-in with major SSO providers like GitHub, GitLab, BitBucket, Google, ...\n\n\n## Projects using Invidious\n\nA list of projects and extensions for or utilizing Invidious can be found in the documentation: https://docs.invidious.io/applications/\n\n## Liability\n\nWe take no responsibility for the use of our tool, or external instances\nprovided by third parties. We strongly recommend you abide by the valid\nofficial regulations in your country. Furthermore, we refuse liability\nfor any inappropriate use of Invidious, such as illegal downloading.\nThis tool is provided to you in the spirit of free, open software.\n\nYou may view the LICENSE in which this software is provided to you [here](./LICENSE).\n\n\u003e   16. Limitation of Liability.\n\u003e\n\u003e IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING\nWILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS\nTHE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY\nGENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE\nUSE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF\nDATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD\nPARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),\nEVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF\nSUCH DAMAGES.\n","funding_links":["https://invidious.io/donate/"],"categories":["Web Related","Crystal","Social Networks and Platforms","Software","hacktoberfest","Uncategorized","网络资源","Overview","Social networks","前端开发框架及项目","HarmonyOS","List","Repository app","YouTube","Alternative Frontends","Official Documentation Translations"],"sub_categories":["Useful Websites Front Ends","YouTube","Media Streaming - Video Streaming","Uncategorized","隐私与安全","其他_文本生成、文本对话","Windows Manager"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiv-org%2Finvidious","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiv-org%2Finvidious","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiv-org%2Finvidious/lists"}