fix type and run formatter
This commit is contained in:
parent
44298d0f39
commit
d02269972a
|
@ -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.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
---
|
---
|
||||||
title: 'Overview'
|
title: "Overview"
|
||||||
weight: 1
|
weight: 1
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
|
@ -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.
|
||||||
|
|
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue