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

View File

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