From d02269972a5b85cd6525ad4973bed97b383ba1af Mon Sep 17 00:00:00 2001 From: FireMasterK <20838718+FireMasterK@users.noreply.github.com> Date: Sun, 7 Feb 2021 21:08:23 +0530 Subject: [PATCH] fix type and run formatter --- content/_index.md | 4 +-- content/docs/_index.md | 2 +- content/docs/architecture/index.md | 41 +++++++++++---------- content/docs/why/index.md | 58 +++++++++++++++--------------- 4 files changed, 55 insertions(+), 50 deletions(-) diff --git a/content/_index.md b/content/_index.md index 27b77ea..e5647f2 100644 --- a/content/_index.md +++ b/content/_index.md @@ -1,5 +1,5 @@ --- -title: 'Piped' +title: "Piped" --- -Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design. +Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design. diff --git a/content/docs/_index.md b/content/docs/_index.md index f61c9ad..61ce02e 100644 --- a/content/docs/_index.md +++ b/content/docs/_index.md @@ -1,5 +1,5 @@ --- -title: 'Overview' +title: "Overview" weight: 1 --- diff --git a/content/docs/architecture/index.md b/content/docs/architecture/index.md index 7f7acc2..c246695 100644 --- a/content/docs/architecture/index.md +++ b/content/docs/architecture/index.md @@ -1,36 +1,39 @@ --- -title: 'Architecture' +title: "Architecture" weight: 4 -summary: What is Piped architectured? +summary: How is Piped architectured? --- -## What is Piped's architecture? +## How is Piped's architecture? Piped has 3 components: -- A frontend in VueJS -- A backed in Java which uses NewPipeExtractor -- A proxy in Golang +- A frontend in VueJS +- A backed in Java which uses NewPipeExtractor +- A proxy in Golang links: https://github.com/TeamPiped/Piped\, https://github.com/TeamPiped/Piped-Backend and, https://github.com/FireMasterK/http3-ytproxy ## Frontend -- Uses videojs -- Uses a router for a single page application. + +- Uses videojs +- Uses a router for a single page application. ## Backend -- Uses Java 11 -- Uses the native HTTP client introduced in Java 9 -- Uses netty-reactor to acheive maximum performance and a low footprint. -- Supports OpenJ9 -- Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery. -- Uses ~70-130 MB of ram. (on OpenJ9) + +- Uses Java 11 +- Uses the native HTTP client introduced in Java 9 +- Uses netty-reactor to acheive maximum performance and a low footprint. +- Supports OpenJ9 +- Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery. +- Uses ~70-130 MB of ram. (on OpenJ9) # Proxy -- Uses Golang -- Has HTTP/2 support. (HTTP/3 is unstable in the current library) -- Low memory footprint and high throughput. -- Can be used to replace the proxy in various other frontends. + +- Uses Golang +- Has HTTP/2 support. (HTTP/3 is unstable in the current library) +- Low memory footprint and high throughput. +- Can be used to replace the proxy in various other frontends. # Server-Side Caching @@ -38,4 +41,4 @@ Caching is done at a Reverse-Proxy/CDN level to reduce the load to the backend. # LBRY -LBRY streams are automatically added to stream content via LBRY if the same video is available there. \ No newline at end of file +LBRY streams are automatically added to stream content via LBRY if the same video is available there. diff --git a/content/docs/why/index.md b/content/docs/why/index.md index e431ca6..5a50303 100644 --- a/content/docs/why/index.md +++ b/content/docs/why/index.md @@ -1,5 +1,5 @@ --- -title: 'Why' +title: "Why" weight: 4 summary: Why did I create Piped? --- @@ -10,22 +10,22 @@ YouTube has an extremely invasive privacy policy which relies on using user data Here are some things about YouTube: -- Tracking via third-party cookies for other purposes without your consent. -- YouTube can delete your content if you violate the terms -- Reduction of legal period for cause of action -- YouTube may use your personal information for marketing purposes -- YouTube can view your browser history -- YouTube can use your content for all their existing and future services -- YouTube gathers information about you through third parties -- YouTube can license user content to third parties -- YouTube provider makes no warranty regarding uninterrupted, timely, secure or error-free service -- Deleted videos are not really deleted -- Your data may be processed and stored anywhere in the world -- YouTube is only available to users over a certain age -- YouTube can suspend your account for several reasons -- YouTube has non-exclusive use of your content -- The court of law governing the terms is in the US -- YouTube collects your IP address for location use +- Tracking via third-party cookies for other purposes without your consent. +- YouTube can delete your content if you violate the terms +- Reduction of legal period for cause of action +- YouTube may use your personal information for marketing purposes +- YouTube can view your browser history +- YouTube can use your content for all their existing and future services +- YouTube gathers information about you through third parties +- YouTube can license user content to third parties +- YouTube provider makes no warranty regarding uninterrupted, timely, secure or error-free service +- Deleted videos are not really deleted +- Your data may be processed and stored anywhere in the world +- YouTube is only available to users over a certain age +- YouTube can suspend your account for several reasons +- YouTube has non-exclusive use of your content +- The court of law governing the terms is in the US +- YouTube collects your IP address for location use Source: https://tosdr.org/en/service/274 @@ -34,19 +34,21 @@ A lot of inspiration came from NewPipe and Invidious. I created Piped to fix issues in NewPipe and Invidious which are architectural issues and cannot be fixed easily. ### NewPipe -- Your IP is exposed to YouTube. -- Feeds are slow to load. + +- Your IP is exposed to YouTube. +- Feeds are slow to load. ### Invidious -- Uses way too much resources. -- Total bandwidth limited by the peak capacity of the load balancer. -- Coded in Crystal, a language that is relatively hard for beginners. -- Caching is done at a backend level. -- Invidious was a learning project. -- Invidious crashes all the time. -- Various hacks are required to keep an instance running at a reasonable stablity. + +- Uses way too much resources. +- Total bandwidth limited by the peak capacity of the load balancer. +- Coded in Crystal, a language that is relatively hard for beginners. +- Caching is done at a backend level. +- Invidious was a learning project. +- Invidious crashes all the time. +- Various hacks are required to keep an instance running at a reasonable stablity. However, there are some drawbacks of Piped: -- JavaScript is required -- Browsers without Service-Workers support will feel significantly slower. Eg: Tor Browser +- JavaScript is required +- Browsers without Service-Workers support will feel significantly slower. Eg: Tor Browser