fix type and run formatter

This commit is contained in:
FireMasterK 2021-02-07 21:08:23 +05:30
parent 44298d0f39
commit d02269972a
No known key found for this signature in database
GPG Key ID: 8DFF5DD33E93DB58
4 changed files with 55 additions and 50 deletions

View File

@ -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.

View File

@ -1,5 +1,5 @@
--- ---
title: 'Overview' title: "Overview"
weight: 1 weight: 1
--- ---

View File

@ -1,36 +1,39 @@
--- ---
title: 'Architecture' title: "Architecture"
weight: 4 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: Piped has 3 components:
- A frontend in VueJS - A frontend in VueJS
- A backed in Java which uses NewPipeExtractor - A backed in Java which uses NewPipeExtractor
- A proxy in Golang - A proxy in Golang
links: https://github.com/TeamPiped/Piped\, https://github.com/TeamPiped/Piped-Backend and, https://github.com/FireMasterK/http3-ytproxy links: https://github.com/TeamPiped/Piped\, https://github.com/TeamPiped/Piped-Backend and, https://github.com/FireMasterK/http3-ytproxy
## Frontend ## Frontend
- Uses videojs
- Uses a router for a single page application. - Uses videojs
- Uses a router for a single page application.
## Backend ## Backend
- Uses Java 11
- Uses the native HTTP client introduced in Java 9 - Uses Java 11
- Uses netty-reactor to acheive maximum performance and a low footprint. - Uses the native HTTP client introduced in Java 9
- Supports OpenJ9 - Uses netty-reactor to acheive maximum performance and a low footprint.
- Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery. - Supports OpenJ9
- Uses ~70-130 MB of ram. (on OpenJ9) - Each running instance should configure their own proxy, thus allowing multi-gigabit content delivery.
- Uses ~70-130 MB of ram. (on OpenJ9)
# Proxy # Proxy
- Uses Golang
- Has HTTP/2 support. (HTTP/3 is unstable in the current library) - Uses Golang
- Low memory footprint and high throughput. - Has HTTP/2 support. (HTTP/3 is unstable in the current library)
- Can be used to replace the proxy in various other frontends. - Low memory footprint and high throughput.
- Can be used to replace the proxy in various other frontends.
# Server-Side Caching # 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
LBRY streams are automatically added to stream content via LBRY if the same video is available there. LBRY streams are automatically added to stream content via LBRY if the same video is available there.

View File

@ -1,5 +1,5 @@
--- ---
title: 'Why' title: "Why"
weight: 4 weight: 4
summary: Why did I create Piped? 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: Here are some things about YouTube:
- Tracking via third-party cookies for other purposes without your consent. - Tracking via third-party cookies for other purposes without your consent.
- YouTube can delete your content if you violate the terms - YouTube can delete your content if you violate the terms
- Reduction of legal period for cause of action - Reduction of legal period for cause of action
- YouTube may use your personal information for marketing purposes - YouTube may use your personal information for marketing purposes
- YouTube can view your browser history - YouTube can view your browser history
- YouTube can use your content for all their existing and future services - YouTube can use your content for all their existing and future services
- YouTube gathers information about you through third parties - YouTube gathers information about you through third parties
- YouTube can license user content to third parties - YouTube can license user content to third parties
- YouTube provider makes no warranty regarding uninterrupted, timely, secure or error-free service - YouTube provider makes no warranty regarding uninterrupted, timely, secure or error-free service
- Deleted videos are not really deleted - Deleted videos are not really deleted
- Your data may be processed and stored anywhere in the world - Your data may be processed and stored anywhere in the world
- YouTube is only available to users over a certain age - YouTube is only available to users over a certain age
- YouTube can suspend your account for several reasons - YouTube can suspend your account for several reasons
- YouTube has non-exclusive use of your content - YouTube has non-exclusive use of your content
- The court of law governing the terms is in the US - The court of law governing the terms is in the US
- YouTube collects your IP address for location use - YouTube collects your IP address for location use
Source: https://tosdr.org/en/service/274 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. I created Piped to fix issues in NewPipe and Invidious which are architectural issues and cannot be fixed easily.
### NewPipe ### NewPipe
- Your IP is exposed to YouTube.
- Feeds are slow to load. - Your IP is exposed to YouTube.
- Feeds are slow to load.
### Invidious ### Invidious
- Uses way too much resources.
- Total bandwidth limited by the peak capacity of the load balancer. - Uses way too much resources.
- Coded in Crystal, a language that is relatively hard for beginners. - Total bandwidth limited by the peak capacity of the load balancer.
- Caching is done at a backend level. - Coded in Crystal, a language that is relatively hard for beginners.
- Invidious was a learning project. - Caching is done at a backend level.
- Invidious crashes all the time. - Invidious was a learning project.
- Various hacks are required to keep an instance running at a reasonable stablity. - 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: However, there are some drawbacks of Piped:
- JavaScript is required - JavaScript is required
- Browsers without Service-Workers support will feel significantly slower. Eg: Tor Browser - Browsers without Service-Workers support will feel significantly slower. Eg: Tor Browser