Invidious
invidious.io YouTubeAn open source, privacy-focused YouTube frontend. It minimizes Google tracking, supports audio-only mode, integrates Reddit comments, and offers advanced playback options. Lightweight and can function without JavaScript. Supports import/export of subscriptions and feed customization.
- Homepage: invidious.io
- GitHub: github.com/iv-org/invidious
- Privacy: invidiou.site/privacy
- Web info: web-check.xyz/check/invidious.io
Invidious Source Code
Author
Description
Invidious is an alternative front-end to YouTube
Homepage
https://invidious.ioLicense
AGPL-3.0
Created
07 Feb 18
Last Updated
10 Jun 26
Latest version
Primary Language
Crystal
Size
25,862 KB
Stars
20,390
Forks
2,279
Watchers
20,390
Language Usage
Star History
Top Contributors
-
@omarroth (1859)
-
@SamantazFox (994)
-
@weblate (560)
-
@syeopite (468)
-
@TheFrenchGhosty (245)
-
@unixfox (137)
-
@ChunkyProgrammer (107)
-
@Fijxu (104)
-
@saltycrys (74)
-
@Perflyst (70)
-
@RadoslavL (59)
-
@comradekingu (44)
-
@matthewmcgarvey (42)
-
@iBicha (39)
-
@MathiusD (35)
-
@jorgesumle (33)
-
@leonklingele (23)
-
@dependabot[bot] (22)
-
@DUOLabs333 (19)
-
@azhao12345 (16)
-
@bbielsa (15)
-
@tolstovka (14)
-
@jonas-w (14)
-
@s8321414 (11)
-
@rex07 (11)
-
@WesVleuten (11)
-
@epicsam123 (11)
-
@milotype (11)
-
@AHOHNMYC (11)
-
@SuperSandro2000 (10)
-
@tleydxdy (10)
-
@thtmnisamnstr (9)
-
@DmitrySandalov (9)
-
@Svallinn (9)
-
@absidue (9)
-
@src-tinkerer (8)
-
@Caian (8)
-
@techmetx11 (8)
-
@recette-lemon (8)
-
@oersen (7)
-
@dimqua (7)
-
@Noruf (7)
-
@ahangarha (7)
-
@damjang (6)
-
@IhorHordiichuk (6)
-
@laralem (6)
-
@meatball133 (6)
-
@aaferrari (6)
-
@89Q12 (6)
-
@tmiland (6)
-
@jawlenskys (5)
-
@hys0star (5)
-
@FlipEnergy (5)
-
@GauthierPLM (5)
-
@thecashewtrader (5)
-
@Rjevski (5)
-
@schwukas (5)
-
@UlyssesZh (5)
-
@Matthaiks (5)
-
@rezaalmanda (5)
-
@SantosSi (4)
-
@B0pol (4)
-
@omeritzics (4)
-
@forza9120 (4)
-
@jake-anto (4)
-
@hackerncoder (4)
-
@radmorecameron (4)
-
@Ashirg-ch (4)
-
@lamarios (3)
-
@SimonPhoenix96 (3)
-
@xrfmkrh (3)
-
@watchingdogs (3)
-
@thansk (3)
-
@mastihios (3)
-
@joaooliva (3)
-
@eutampieri (3)
-
@h7p3ri0n (3)
-
@t1011 (3)
-
@Maykin-99 (3)
-
@trebmuh (3)
-
@PrivacyDevel (3)
-
@Nerdmind (3)
-
@atilluF (3)
-
@beriain (3)
-
@Snowglob (2)
-
@stephane-r (2)
-
@szepeviktor (2)
-
@Suburbanno (2)
-
@vladcranga (2)
-
@fieryhenry (2)
-
@jt0404 (2)
-
@maboroshin (2)
-
@mendel5 (2)
-
@sh4dowb (2)
-
@shiny-comic (2)
-
@tracedgod (2)
-
@ulmemxpoc (2)
-
@unbelauscht (2)
-
@notpushkin (2)
-
@brackets0 (2)
Recent Commits
-
Jan Moesen (09 Jun 26)
Use “www.youtube.com” consistently (#5768) Saves an unnecessary redirect by using `www.youtube.com` on some parts of Invidious where `youtube.com` was used instead. youtube.com will redirect to www.youtube.com anyways. Co-authored-by: janmoesen <@>
-
dependabot[bot] (09 Jun 26)
chore(deps): bump int128/docker-manifest-create-action (#5766) Bumps [int128/docker-manifest-create-action](https://github.com/int128/docker-manifest-create-action) from 2.21.0 to 2.22.0. - [Release notes](https://github.com/int128/docker-manifest-create-action/releases) - [Commits](https://github.com/int128/docker-manifest-create-action/compare/v2.21.0...v2.22.0) --- updated-dependencies: - dependency-name: int128/docker-manifest-create-action dependency-version: 2.22.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Fijxu (05 Jun 26)
Revert "Fix: Restore whitespace formatting while keeping disable_abusable_api configuration" This reverts commit 8f279745db982959984e5953044ea4fa5f521ff3.
-
Fijxu (05 Jun 26)
Fix: Restore whitespace formatting while keeping disable_abusable_api configuration
-
Fijxu (04 Jun 26)
Add support for alternative domains for Invidious cookies (#5647) * Add support for alternative domains for Invidious cookies * check if @@secure is already true before changing it's value * Add alternative_domains config option example
-
Fijxu (03 Jun 26)
Only include '&' if params are present (#5646)
-
Fijxu (30 May 26)
Dockerfile: Switch to 84codes crystal compiler container image (#5473) Closes https://github.com/iv-org/invidious/issues/5456 The 84codes Crystal container image builds libgc (bdwgc) with `--enable-large-config`: https://github.com/84codes/crystal-packages/blob/b321bb4358b0140a63573d9d05ccf2f06c5ae040/alpine/Dockerfile#L13-L22
-
Fijxu (30 May 26)
fix: Do not append query params `quality=medium` to videos that are about to premiere (#5755) * fix: Do not append query params `quality=medium` to videos that are about to premiere Video premieres do not have `audio_streams` and they aren't `video.live_now == true` either, therefore we skip the checks that are made for older videos (`if audio_streams.empty? && !video.live_now` closure) if the video is a premiere. This commit also adds the `microformat` field to the `info` instance variable of the `Video` struct, since it's needed for the function `Video#premiere_timestamp : Time?`. This is more like a quick fix than a proper fix because in `Invidious::Videos::Parser#parse_video_info`, `premiere_timestamp` is gathered from the `microformat` JSON Object but is used to set the `published` hash key for the `params` variable. The parsers and structs really need a rework :/ * Revert "fix: Do not append query params `quality=medium` to videos that are about to premiere" This reverts commit 5cfc8dace82590ea6a41c849c9c39b1b7ba95fe7. * chore: build premiere_timestamp using video_type and published time
-
Fijxu (30 May 26)
Fix Youtube and Invidious links not rewinding their time when video timestamp is rewinded (#5601) Revert "Fix Youtube and Invidious links not rewinding their time when video timestamp is rewinded" This reverts commit c3ee8a5d90df83d6e53b78b6d6e9669729b391aa.
-
Fijxu (30 May 26)
fix: fix wrong call to I18n.translate() function
-
Fijxu (30 May 26)
feat: Add support for POST requests on searches for privacy (#5551) Use already set preferences variable Use span for description, grammar fix from Copilot
-
shiny-comic (28 May 26)
Fix disappearing end of the comments with emoji (#5587) Previous code use UTF-8 to count characters however Emojis are UTF-16 units. This difference leads to misalignment of index offsets. Co-authored-by: shiny-comic <shiny-comic@winPC>
-
Fijxu (28 May 26)
Encapsulate videos parser and clip functions inside it's own `Invidious::Videos::Parser` and `Invidious::Videos::Clip` module (#5745) Part of https://github.com/iv-org/invidious/issues/5744
-
Fijxu (28 May 26)
fix: fix author verification in channels (#5751) * fix author verification in channels Fixes https://github.com/iv-org/invidious/issues/5730 Author verification badge is not longer located in `c4TabbedHeaderRenderer`. It may be deprecated. * Also detect AUDIO_BADGE for verified author
-
Fijxu (26 May 26)
Add support for `/pl_c` and `/tvfilm_banner` paths (thumbnails used in some playlists) (#5742) * feat: add support for /pl_c/ images This path can be found on Podcast images. * add support for /pl_c and /tvfilm_banner paths * add support for /pl_c and /tvfilm_banner paths 2 * remove leftover comment
-
Fijxu (26 May 26)
fix: fix channel videos and playlists on searches (#5736) * fix: fix channel videos and playlists on searches Channel videos are now encapsulated in a `lockupViewModel`. There is 3 types of content that can be inside a `lockupViewModel`: - LOCKUP_CONTENT_TYPE_VIDEO - LOCKUP_CONTENT_TYPE_PLAYLIST - LOCKUP_CONTENT_TYPE_PODCAST This commit parses `LOCKUP_CONTENT_TYPE_VIDEO`, `LOCKUP_CONTENT_TYPE_PLAYLIST`, `LOCKUP_CONTENT_TYPE_PODCAST` types to fix videos in channels, playlists in channels, podcast in channels, and other parts of Invidious were playlists and videos are displayed. * remove unused variable `author_verified` * fix parsing for podcasts For some reason, Podcasts contains an empty JSON Object that we have to skip, therefore we just iterate metadataRows until finding metadataParts since metadataRows will not always contain a single Object. * fix length_seconds for channel videos * fix playlists parsing for playlists without metadataParts On some channels like MrBeast, metadataParts is absent, missing the author information, this is intended behaviour by Youtube since there is no author information attached to them. Example URL: https://www.youtube.com/channel/UCX6OQ3DkcsbYNE6H8uQQuVA/playlists * restore author_verified functionality * more robust metadata_parts parsing Videos that have two or more authors (in collaborations), have their author information in JSON Objects inside metadataParts, alongside with their view count and their published date, therefore, we need to iterate the metadataParts array and do some filtering based on the content of each JSON Object to find the view count and published date for some videos. Example: ```json "metadataParts": [ { "text": { "content": "Veritasium" }, "icon": { "name": "CHECK_CIRCLE_FILLED", "height": 14, "width": 14, "accessibilityLabel": "Verified" } }, { "text": { "content": "and Linus Tech Tips" }, "icon": { "name": "CHECK_CIRCLE_FILLED", "height": 14, "width": 14, "accessibilityLabel": "Verified" } }, { "text": { "content": "10M" }, "accessibilityLabel": "10 million views" }, { "text": { "content": "1y ago" } } ] ``` * improve playlist metadataRows and metadataParts parsing for channel playlists * apply ameba suggestion * Also parse lessons for playlists that are a course
-
Fijxu (21 May 26)
fix: fix `Missing hash key: "collectionThumbnailViewModel"` for channel video thumbnails (#5725) Now the Innertube structure doesn't include `collectionThumbnailViewModel` and `primaryThumbnail` keys. Now the structure looks like this: ``` "horizontalListRenderer": { "items": [ { "lockupViewModel": { "contentImage": { "thumbnailViewModel": { "image": { "sources": [] ... ``` Fixes: https://github.com/iv-org/invidious/issues/5516
-
dependabot[bot] (19 May 26)
chore(deps): bump int128/docker-manifest-create-action (#5721) Bumps [int128/docker-manifest-create-action](https://github.com/int128/docker-manifest-create-action) from 2.20.0 to 2.21.0. - [Release notes](https://github.com/int128/docker-manifest-create-action/releases) - [Commits](https://github.com/int128/docker-manifest-create-action/compare/v2.20.0...v2.21.0) --- updated-dependencies: - dependency-name: int128/docker-manifest-create-action dependency-version: 2.21.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Fijxu (17 May 26)
CI: update Crystal 1.20.1 to 1.20.2 in ci.yml matrix
-
Fijxu (17 May 26)
chore: update Crystal to 1.20.2 in OCI
-
Fijxu (13 May 26)
fix: restore referrerpolicy for embed youtube link that got removed in commit bc64cd9
-
Fijxu (12 May 26)
chore: update openssl to 3.6.2 in OCI (#5701)
-
dependabot[bot] (05 May 26)
Bump int128/docker-manifest-create-action from 2.19.0 to 2.20.0 (#5705) Bumps [int128/docker-manifest-create-action](https://github.com/int128/docker-manifest-create-action) from 2.19.0 to 2.20.0. - [Release notes](https://github.com/int128/docker-manifest-create-action/releases) - [Commits](https://github.com/int128/docker-manifest-create-action/compare/v2.19.0...v2.20.0) --- updated-dependencies: - dependency-name: int128/docker-manifest-create-action dependency-version: 2.20.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
-
Fijxu (04 May 26)
CI: Unify ARM64 and AMD64 Dockerfiles (#5700) * CI: Unify ARM64 and AMD64 Dockerfiles * chore: remove replacement of Dockerfile in docker-compose.yml for ci.yml build-docker job * Combine images into manifest list * fix wrong tag for nightly container release * forgot this ^^'
-
Fijxu (01 May 26)
chore: update Crystal to 1.20.1 in OCI
-
Fijxu (30 Apr 26)
CI: update Crystal 1.20.0 to 1.20.1 in ci.yml matrix (#5703)
-
Fijxu (28 Apr 26)
CI: display progress and stats when compiling Invidious in ci.yml matrix (#5696)
-
Fijxu (28 Apr 26)
CI: Bump Crystal version matrix (#5691) * CI: Bump Crystal version matrix Add Crystal 1.19.2 and 1.20.0 * update crystal 1.19.1 to 1.19.2
-
Fijxu (28 Apr 26)
chore: update Crystal to 1.20.0 in OCI (#5692) * chore: update Crystal to 1.20.0 in amd64 OCI * use alpine:edge with crystal 1.20.0 to build Invidious, use alpine:3.23 for final layer
-
Cameron Radmore (26 Apr 26)
player: Use correct time parameter for YouTube embed redirects (#5660)
Invidious Security
Invidious Website
Website
Invidious - An open source alternative front-end to YouTube
Invidious is an open source alternative front-end to YouTube.
Redirects
Does not redirect
Security Checks
All 65 security checks passed
Server Details
- IP Address 93.95.230.186
- Hostname vps-93-95-230-186.1984.is
- Location Reykjavik, Hofudborgarsvaedi, Iceland, EU
- ISP 1984 ehf
- ASN AS44925
Associated Countries
-
BV -
SE -
IS -
NO
Safety Score
Website marked as safe
100%
Blacklist Check
invidious.io was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
Invidious Docker
Invidious Reviews
More Proxy Sites
-
A privacy-centric alternative to Twitter's front-end, focusing on preventing user tracking. It's free, open source, lightweight, supports multiple themes, and offers customizable RSS feeds. All client requests are proxied, enhancing privacy. No JavaScript required.
-
An alternative private front-end to Reddit, with its origins in Libreddit. Has workarounds to access data without relying upon the restrictive Reddit API.
-
A free proxy service offering a Tor mode for evading censorship and accessing geo-restricted content. Claims to encrypt traffic, but caution is advised for personal information. Managed by DevroLabs.
About the Data: Invidious
Change History
- Amended (github) #608
API
You can access Invidious's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/invidious The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share Invidious
Help your friends compare Proxy Sites, and pick
privacy-respecting software and services.
Share Invidious and Awesome Privacy with your network!