From 756daeec8bd1b62acee22d6d7c090131c19e1d23 Mon Sep 17 00:00:00 2001 From: redoomed1 <161974310+redoomed1@users.noreply.github.com> Date: Thu, 24 Oct 2024 04:52:58 +0000 Subject: [PATCH] update: Add note about YouTube's API changes and reorder YT frontends (#2735) Signed-off-by: Daniel Gray Signed-off-by: kimg45 <138676274+kimg45@users.noreply.github.com> --- docs/frontends.md | 192 ++++++++++++++++++++++++---------------------- 1 file changed, 99 insertions(+), 93 deletions(-) diff --git a/docs/frontends.md b/docs/frontends.md index c03c1138f2..6f04420c63 100644 --- a/docs/frontends.md +++ b/docs/frontends.md @@ -4,12 +4,15 @@ icon: material/flip-to-front description: These open-source frontends for various internet services allow you to access content without JavaScript or other annoyances. cover: frontends.webp --- +Protects against the following threat(s): -Sometimes services will try to force you to sign up for an account by blocking access to content with annoying popups. They might also break without JavaScript enabled. These frontends can allow you to get around these restrictions. +- [:material-account-cash: Surveillance Capitalism](basics/common-threats.md#surveillance-as-a-business-model){ .pg-brown } + +Sometimes services will try to force you to sign up for an account by blocking access to content with annoying popups. They might also break without JavaScript enabled. These frontends can allow you to circumvent these restrictions. If you choose to self-host these frontends, it is important that you have other people using your instance as well in order for you to blend in. You should be careful with where and how you are hosting, as other peoples' usage will be linked to your hosting. -When you are using an instance run by someone else, make sure to read the privacy policy of that specific instance. They can be modified by their owners and therefore may not reflect the default policy. Some instances have [Tor](tor.md) .onion addresses which may grant some privacy as long as your search queries don't contain PII. +When you are using an instance run by someone else, make sure to read the privacy policy of that specific instance (if available). They can be modified by their owners and therefore may not reflect the default policy. Some instances have [Tor](tor.md) .onion addresses, which may grant some privacy as long as your search queries don't contain personally identifiable information. ## Reddit @@ -19,13 +22,11 @@ When you are using an instance run by someone else, make sure to read the privac ![Redlib logo](assets/img/frontends/redlib.svg){ align=right } -**Redlib** is an open-source frontend to the [Reddit](https://reddit.com) website that is also self-hostable. - -There are a number of public instances, with some instances having [Tor](tor.md) onion services support. +**Redlib** is an open-source frontend to the [Reddit](https://reddit.com) website that is also self-hostable. You can access Redlib through a number of public instances. [:octicons-repo-16: Repository](https://github.com/redlib-org/redlib){ .md-button .md-button--primary } -[:octicons-server-16:](https://github.com/redlib-org/redlib-instances/blob/main/instances.md){ .card-link title="Public Instances"} -[:octicons-info-16:](https://github.com/redlib-org/redlib?tab=readme-ov-file#table-of-contents){ .card-link title=Documentation} +[:octicons-server-16:](https://github.com/redlib-org/redlib-instances/blob/main/instances.md){ .card-link title="Public Instances" } +[:octicons-info-16:](https://github.com/redlib-org/redlib?tab=readme-ov-file#table-of-contents){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/redlib-org/redlib){ .card-link title="Source Code" } @@ -41,6 +42,7 @@ The [Old Reddit](https://old.reddit.com) website doesn't require as much JavaScr

Tip

Redlib is useful if you want to disable JavaScript in your browser, such as [Tor Browser](tor.md#tor-browser) on the Safest security level. + ## TikTok @@ -53,11 +55,11 @@ Redlib is useful if you want to disable JavaScript in your browser, such as [Tor **ProxiTok** is an open-source frontend to the [TikTok](https://tiktok.com) website that is also self-hostable. -There are a number of public instances, with some instances having [Tor](tor.md) onion services support. +There are a number of public instances, with some that offer a [Tor](tor.md) onion service or an [I2P](alternative-networks.md#i2p-the-invisible-internet-project) eepsite. [:octicons-repo-16: Repository](https://github.com/pablouser1/ProxiTok){ .md-button .md-button--primary } -[:octicons-server-16:](https://github.com/pablouser1/ProxiTok/wiki/Public-instances){ .card-link title="Public Instances"} -[:octicons-info-16:](https://github.com/pablouser1/ProxiTok/wiki){ .card-link title=Documentation} +[:octicons-server-16:](https://github.com/pablouser1/ProxiTok/wiki/Public-instances){ .card-link title="Public Instances" } +[:octicons-info-16:](https://github.com/pablouser1/ProxiTok/wiki){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/pablouser1/ProxiTok){ .card-link title="Source Code" } @@ -73,21 +75,85 @@ ProxiTok is useful if you want to disable JavaScript in your browser, such as [T ## YouTube +**Note:** YouTube has gradually rolled out changes to its video player and API that have thwarted some of the methods used by third-party frontends for extracting YouTube data. If you experience reliability issues with one YouTube frontend, consider trying out another that uses a different extraction method. + +### Invidious + +
+ +![Invidious logo](assets/img/frontends/invidious.svg#only-light){ align=right } +![Invidious logo](assets/img/frontends/invidious-dark.svg#only-dark){ align=right } + +**Invidious** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable. + +There are a number of public instances, with some that offer a [Tor](tor.md) onion service or an [I2P](alternative-networks.md#i2p-the-invisible-internet-project) eepsite. + +[:octicons-home-16: Homepage](https://invidious.io){ .md-button .md-button--primary } +[:octicons-server-16:](https://instances.invidious.io){ .card-link title="Public Instances" } +[:octicons-info-16:](https://docs.invidious.io){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/iv-org/invidious){ .card-link title="Source Code" } +[:octicons-heart-16:](https://invidious.io/donate){ .card-link title="Contribute" } + + + +
+ +
+

Warning

+ +Invidious does not proxy video streams by default. Videos watched through Invidious will still make direct connections to Google's servers (e.g. `googlevideo.com`); however, some instances support video proxying—simply enable *Proxy videos* within the instances' settings or add `&local=true` to the URL. + +
+ +
+

Tip

+ +Invidious is useful if you want to disable JavaScript in your browser, such as [Tor Browser](tor.md#tor-browser) on the Safest security level. It does not provide privacy by itself, and we don’t recommend logging into any accounts. + +
+ +### Piped + +
+ +![Piped logo](assets/img/frontends/piped.svg){ align=right } + +**Piped** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable. + +Piped requires JavaScript in order to function and there are a number of public instances. + +[:octicons-repo-16: Repository](https://github.com/TeamPiped/Piped){ .md-button .md-button--primary } +[:octicons-server-16:](https://github.com/TeamPiped/Piped/wiki/Instances){ .card-link title="Public Instances" } +[:octicons-info-16:](https://docs.piped.video/docs){ .card-link title="Documentation" } +[:octicons-code-16:](https://github.com/TeamPiped/Piped){ .card-link title="Source Code" } +[:octicons-heart-16:](https://github.com/TeamPiped/Piped#donations){ .card-link title="Contribute" } + + + +
+ +
+

Tip

+ +Piped is useful if you want to use [SponsorBlock](https://sponsor.ajay.app) without installing an extension. It does not provide privacy by itself, and we don’t recommend logging into any accounts. + +
+ ### FreeTube
![FreeTube logo](assets/img/frontends/freetube.svg){ align=right } -**FreeTube** is a free and open-source desktop application for [YouTube](https://youtube.com). When using FreeTube, your subscription list and playlists are saved locally on your device. +**FreeTube** is a free and open-source desktop application for [YouTube](https://youtube.com). FreeTube extracts data from YouTube using its built-in API based on [YouTube.js](https://github.com/LuanRT/YouTube.js) or the [Invidious](#invidious) API. You can configure either as the default, with the other serving as a fallback. -By default, FreeTube blocks all YouTube advertisements. In addition, FreeTube optionally integrates with [SponsorBlock](https://sponsor.ajay.app) to help you skip sponsored video segments. +When using FreeTube, your subscription list and playlists are saved locally on your device. [:octicons-home-16: Homepage](https://freetubeapp.io){ .md-button .md-button--primary } [:octicons-eye-16:](https://freetubeapp.io/privacy.php){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://docs.freetubeapp.io){ .card-link title=Documentation} +[:octicons-info-16:](https://docs.freetubeapp.io){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/FreeTubeApp/FreeTube){ .card-link title="Source Code" } -[:octicons-heart-16:](https://liberapay.com/FreeTube){ .card-link title=Contribute } +[:octicons-heart-16:](https://liberapay.com/FreeTube){ .card-link title="Contribute" }
Downloads @@ -108,21 +174,23 @@ When using FreeTube, your IP address may still be known to YouTube, [Invidious](
+By default, FreeTube blocks all YouTube advertisements. In addition, FreeTube optionally integrates with [SponsorBlock](https://sponsor.ajay.app) to help you skip sponsored video segments. + ### Yattee
![Yattee logo](assets/img/frontends/yattee.svg){ align=right } -**Yattee** is a free and open-source privacy oriented video player for iOS, tvOS, and macOS for [YouTube](https://youtube.com). When using Yattee, your subscription list is saved locally on your device. +**Yattee** is a free and open-source privacy oriented video player for iOS, tvOS, and macOS for [YouTube](https://youtube.com). Due to App Store restrictions, you will need to take a few [extra steps](https://web.archive.org/web/20230330122839/https://gonzoknows.com/posts/Yattee) before you can use Yattee to watch YouTube. Yattee allows you to connect to instances of [Invidious](#invidious) or [Piped](#piped). -You will need to take a few [extra steps](https://web.archive.org/web/20230330122839/https://gonzoknows.com/posts/Yattee) before you can use Yattee to watch YouTube, due to App Store restrictions. +When using Yattee, your subscription list is saved locally on your device. [:octicons-home-16: Homepage](https://github.com/yattee/yattee){ .md-button .md-button--primary } [:octicons-eye-16:](https://r.yattee.stream/docs/privacy.html){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://github.com/yattee/yattee/wiki){ .card-link title=Documentation} +[:octicons-info-16:](https://github.com/yattee/yattee/wiki){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/yattee/yattee){ .card-link title="Source Code" } -[:octicons-heart-16:](https://github.com/yattee/yattee/wiki/Donations){ .card-link title=Contribute } +[:octicons-heart-16:](https://github.com/yattee/yattee/wiki/Donations){ .card-link title="Contribute" }
Downloads @@ -152,13 +220,13 @@ By default, Yattee blocks all YouTube advertisements. In addition, Yattee option **LibreTube** is a free and open-source Android application for [YouTube](https://youtube.com) which uses the [Piped](#piped) API. -LibreTube allows you to store your subscription list and playlists locally on your Android device, or to an account on your Piped instance of choice, which allows you to access them seamlessly on other devices as well. +Your subscription list and playlists are saved locally on your Android device. [:octicons-home-16: Homepage](https://libretube.dev){ .md-button .md-button--primary } [:octicons-eye-16:](https://github.com/libre-tube/LibreTube/blob/master/PRIVACY_POLICY.md){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://libretube.dev/#faq){ .card-link title=Documentation} +[:octicons-info-16:](https://libretube.dev/#faq){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/libre-tube/LibreTube){ .card-link title="Source Code" } -[:octicons-heart-16:](https://github.com/libre-tube/LibreTube#donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://github.com/libre-tube/LibreTube#donate){ .card-link title="Contribute" }
Downloads @@ -172,7 +240,7 @@ LibreTube allows you to store your subscription list and playlists locally on yo

Warning

-When using LibreTube, your IP address will be visible to the [Piped](https://github.com/TeamPiped/Piped/wiki/Instances) instance you choose and/or [SponsorBlock](https://sponsor.ajay.app) depending on your configuration. Consider using a [VPN](vpn.md) or [Tor](tor.md) if your [threat model](basics/threat-modeling.md) requires hiding your IP address. +When using LibreTube, your IP address will be visible to YouTube, [Piped](https://github.com/TeamPiped/Piped/wiki/Instances), or [SponsorBlock](https://sponsor.ajay.app) depending on your configuration. Consider using a [VPN](vpn.md) or [Tor](tor.md) if your [threat model](basics/threat-modeling.md) requires hiding your IP address.
@@ -190,9 +258,9 @@ Your subscription list and playlists are saved locally on your Android device. [:octicons-home-16: Homepage](https://newpipe.net){ .md-button .md-button--primary } [:octicons-eye-16:](https://newpipe.net/legal/privacy){ .card-link title="Privacy Policy" } -[:octicons-info-16:](https://newpipe.net/FAQ){ .card-link title=Documentation} +[:octicons-info-16:](https://newpipe.net/FAQ){ .card-link title="Documentation" } [:octicons-code-16:](https://github.com/TeamNewPipe/NewPipe){ .card-link title="Source Code" } -[:octicons-heart-16:](https://newpipe.net/donate){ .card-link title=Contribute } +[:octicons-heart-16:](https://newpipe.net/donate){ .card-link title="Contribute" }
Downloads @@ -203,7 +271,7 @@ Your subscription list and playlists are saved locally on your Android device.
-1. The default instance is [FramaTube](https://framatube.org), however more can be added via **Settings** → **Content** → **PeerTube instances** +1. The default instance is [FramaTube](https://framatube.org), however more can be added via **Settings** → **Content** → **PeerTube instances**.

Warning

@@ -212,80 +280,18 @@ When using NewPipe, your IP address will be visible to the video providers used.
-### Invidious - -
- -![Invidious logo](assets/img/frontends/invidious.svg#only-light){ align=right } -![Invidious logo](assets/img/frontends/invidious-dark.svg#only-dark){ align=right } - -**Invidious** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable. - -There are a number of public instances, with some instances having [Tor](tor.md) onion services support. - -[:octicons-home-16: Homepage](https://invidious.io){ .md-button .md-button--primary } -[:octicons-server-16:](https://instances.invidious.io){ .card-link title="Public Instances"} -[:octicons-info-16:](https://docs.invidious.io){ .card-link title=Documentation} -[:octicons-code-16:](https://github.com/iv-org/invidious){ .card-link title="Source Code" } -[:octicons-heart-16:](https://invidious.io/donate){ .card-link title=Contribute } - - - -
- -
-

Warning

- -Invidious does not proxy video streams by default. Videos watched through Invidious will still make direct connections to Google's servers (e.g. `googlevideo.com`); however, some instances support video proxying—simply enable *Proxy videos* within the instances' settings or add `&local=true` to the URL. - -
- -
-

Tip

- -Invidious is useful if you want to disable JavaScript in your browser, such as [Tor Browser](tor.md#tor-browser) on the Safest security level. It does not provide privacy by itself, and we don’t recommend logging into any accounts. - -
- -### Piped - -
- -![Piped logo](assets/img/frontends/piped.svg){ align=right } - -**Piped** is a free and open-source frontend for [YouTube](https://youtube.com) that is also self-hostable. - -Piped requires JavaScript in order to function and there are a number of public instances. - -[:octicons-repo-16: Repository](https://github.com/TeamPiped/Piped){ .md-button .md-button--primary } -[:octicons-server-16:](https://github.com/TeamPiped/Piped/wiki/Instances){ .card-link title="Public Instances"} -[:octicons-info-16:](https://docs.piped.video/docs){ .card-link title=Documentation} -[:octicons-code-16:](https://github.com/TeamPiped/Piped){ .card-link title="Source Code" } -[:octicons-heart-16:](https://github.com/TeamPiped/Piped#donations){ .card-link title=Contribute } - - - -
- -
-

Tip

- -Piped is useful if you want to use [SponsorBlock](https://sponsor.ajay.app) without installing an extension. It does not provide privacy by itself, and we don’t recommend logging into any accounts. - -
- ## Criteria **Please note we are not affiliated with any of the projects we recommend.** In addition to [our standard criteria](about/criteria.md), we have developed a clear set of requirements to allow us to provide objective recommendations. We suggest you familiarize yourself with this list before choosing to use a project, and conduct your own research to ensure it's the right choice for you. -Recommended frontends... - -- Must be open-source software. -- Must be self-hostable. -- Must provide all basic website functionality available to anonymous users. - We only consider frontends if one of the following is true for a platform: - Normally only accessible with JavaScript enabled. - Normally only accessible with an account. - Blocks access from commercial [VPNs](vpn.md). + +Recommended frontends... + +- Must be open-source software. +- Must be self-hostable. +- Must provide all basic website functionality available to anonymous users.