mirror of
https://github.com/TeamPiped/documentation.git
synced 2024-08-14 23:50:09 +00:00
Initial commit.
This commit is contained in:
parent
2538024750
commit
5e6ab2a13b
14 changed files with 182 additions and 1 deletions
4
.gitignore
vendored
Normal file
4
.gitignore
vendored
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
# Hugo default output directory
|
||||||
|
/public
|
||||||
|
|
||||||
|
/resources
|
3
.gitmodules
vendored
Normal file
3
.gitmodules
vendored
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
[submodule "themes/hugo-whisper-theme"]
|
||||||
|
path = themes/hugo-whisper-theme
|
||||||
|
url = https://github.com/zerostaticthemes/hugo-whisper-theme.git
|
|
@ -1 +1,3 @@
|
||||||
# Documentation
|
# Documentation
|
||||||
|
|
||||||
|
Documentation on the core architecture of Piped and it's backend.
|
||||||
|
|
6
archetypes/default.md
Normal file
6
archetypes/default.md
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .Name "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: true
|
||||||
|
---
|
||||||
|
|
10
archetypes/docs.md
Normal file
10
archetypes/docs.md
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
---
|
||||||
|
title: "{{ replace .TranslationBaseName "-" " " | title }}"
|
||||||
|
date: {{ .Date }}
|
||||||
|
draft: false
|
||||||
|
weight: 100
|
||||||
|
---
|
||||||
|
|
||||||
|
Lorem markdownum aequalis strigis. Saetigeri iubeas, vultu huic alvum nondum
|
||||||
|
de obside ut laniavit arbor palmis, cum quin. Rupes vetat videndo, armigerae
|
||||||
|
crimen habet Priamum nec.
|
48
config.toml
Normal file
48
config.toml
Normal file
|
@ -0,0 +1,48 @@
|
||||||
|
baseURL = "piped-docs.kavin.rocks"
|
||||||
|
languageCode = "en-us"
|
||||||
|
title = "Piped"
|
||||||
|
themesDir = "themes"
|
||||||
|
theme = "hugo-whisper-theme"
|
||||||
|
|
||||||
|
pygmentsCodeFences = true
|
||||||
|
pygmentsCodefencesGuessSyntax = true
|
||||||
|
pygmentsUseClasses = true
|
||||||
|
|
||||||
|
# Controls how many words are printed in the content summary on the docs homepage.
|
||||||
|
# See https://gohugo.io/content-management/summaries/
|
||||||
|
summaryLength = 30
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Home"
|
||||||
|
url = "/"
|
||||||
|
weight = 1
|
||||||
|
|
||||||
|
[[menu.main]]
|
||||||
|
name = "Docs"
|
||||||
|
url = "/docs/"
|
||||||
|
weight = 2
|
||||||
|
|
||||||
|
[params]
|
||||||
|
google_analytics_id=""
|
||||||
|
homepage_button_link = '/docs'
|
||||||
|
homepage_button_text = 'Read The Docs'
|
||||||
|
homepage_intro = 'Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design.'
|
||||||
|
homepage_image = '/images/banner.webp'
|
||||||
|
|
||||||
|
## You can enable to add anchor links to header elements
|
||||||
|
# enable_anchor_link = true
|
||||||
|
|
||||||
|
[params.homepage_meta_tags]
|
||||||
|
meta_description = "Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design."
|
||||||
|
meta_og_title = "Piped"
|
||||||
|
meta_og_type = "website"
|
||||||
|
meta_og_url = "https://piped-docs.kavin.rocks"
|
||||||
|
meta_og_image = "https://avatars.githubusercontent.com/u/74294114?s=250"
|
||||||
|
meta_og_description = "Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design."
|
||||||
|
meta_twitter_card = "summary"
|
||||||
|
meta_twitter_site = ""
|
||||||
|
meta_twitter_creator = ""
|
||||||
|
|
||||||
|
[params.logo]
|
||||||
|
mobile = "/images/logo.svg"
|
||||||
|
standard = "/images/logo.svg"
|
5
content/_index.md
Normal file
5
content/_index.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
---
|
||||||
|
title: 'Piped'
|
||||||
|
---
|
||||||
|
|
||||||
|
Piped is a privacy friendly alternative YouTube frontend, which is efficient and scalable by design.
|
8
content/docs/_index.md
Normal file
8
content/docs/_index.md
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
---
|
||||||
|
title: 'Overview'
|
||||||
|
weight: 1
|
||||||
|
---
|
||||||
|
|
||||||
|
## Piped
|
||||||
|
|
||||||
|
Welcome to the Documentation of Piped.
|
41
content/docs/architecture/index.md
Normal file
41
content/docs/architecture/index.md
Normal file
|
@ -0,0 +1,41 @@
|
||||||
|
---
|
||||||
|
title: 'Architecture'
|
||||||
|
weight: 4
|
||||||
|
summary: What is Piped architectured?
|
||||||
|
---
|
||||||
|
|
||||||
|
## What is Piped's architecture?
|
||||||
|
|
||||||
|
Piped has 3 components:
|
||||||
|
|
||||||
|
- 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.
|
||||||
|
|
||||||
|
## 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)
|
||||||
|
|
||||||
|
# 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.
|
||||||
|
|
||||||
|
# Server-Side Caching
|
||||||
|
|
||||||
|
Caching is done at a Reverse-Proxy/CDN level to reduce the load to the backend. This also makes it more scalable.
|
||||||
|
|
||||||
|
# LBRY
|
||||||
|
|
||||||
|
LBRY streams are automatically added to stream content via LBRY if the same video is available there.
|
52
content/docs/why/index.md
Normal file
52
content/docs/why/index.md
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
---
|
||||||
|
title: 'Why'
|
||||||
|
weight: 4
|
||||||
|
summary: Why did I create Piped?
|
||||||
|
---
|
||||||
|
|
||||||
|
## Why did I create Piped?
|
||||||
|
|
||||||
|
YouTube has an extremely invasive privacy policy which relies on using user data in unethical ways.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
Source: https://tosdr.org/en/service/274
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
### 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.
|
||||||
|
|
||||||
|
However, there are some drawbacks of Piped:
|
||||||
|
|
||||||
|
- JavaScript is required
|
||||||
|
- Browsers without Service-Workers support will feel significantly slower. Eg: Tor Browser
|
BIN
static/favicon.png
Normal file
BIN
static/favicon.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.4 KiB |
BIN
static/images/banner.webp
Normal file
BIN
static/images/banner.webp
Normal file
Binary file not shown.
After Width: | Height: | Size: 45 KiB |
1
static/images/logo.svg
Normal file
1
static/images/logo.svg
Normal file
File diff suppressed because one or more lines are too long
After Width: | Height: | Size: 6.4 KiB |
1
themes/hugo-whisper-theme
Submodule
1
themes/hugo-whisper-theme
Submodule
|
@ -0,0 +1 @@
|
||||||
|
Subproject commit 6638af48a3f11caf020cd8733ce4c94e1d558939
|
Loading…
Reference in a new issue