This commit is contained in:
Korbs 2024-08-28 16:36:38 -04:00
parent 2cae2fdfc5
commit 6df6b5f103
5 changed files with 205 additions and 2 deletions

View file

@ -0,0 +1,89 @@
---
title: API
software: minpluto
---
## Generic
**Language**
`/api/language/` [`en` | `jp`]
**Telemtry**
`/api/telemtry/` [`enable` | `disable`]
## Player
**Milieu**
`/api/player/milieu/` [`enable` | `disable`]
Enable or disable the Milieu mode.
## Account System
**Register**
`/api/auth/register`
*Required*
- `name`
- `email`
- `password`
When a user registered an account, it is processed with the following data:
```JSON
{
"name": "PROVIDED_NAME",
"ui_theme": "Default",
"ui_color": "Default",
"ui_zen": "false",
"ui_sidebar_size": "Normal",
"invidous_data": "https://yt.sudovanilla.org",
"invidous_media": "https://yt.sudovanilla.org",
"safetwitch_data": "https://twitch.sudovanilla.org",
"safetwitch_media": "https://twitch.sudovanilla.org",
"image_proxy": "https://ipx.sudovanilla.org",
"player_type": "Zorn"
}
```
The end-user is then redirected to `/?=welcome` with an onboarding screen(Planned, this actually does nothing for now).
Before logging in, end-users are required to verify their email first before logging in.
**Confirm**
`/api/auth/confirm`
*Required*
- `email`
- `code`
As mention just before, end-users are required to verify their email first before logging in. After registration, end-users are brought to a "Confirm Email" page.
It is required that the email in question is provided, along with the code sent to that email from the SMTP server.
**Login**
`/api/auth/login`
*Required*
- `email`
- `password`
**Logout**
`/api/auth/logout`
**Update Name**
`/api/update/name`
*Required*
- `name`
**Update Email**
`/api/update/email`
*Required*
- `email`

View file

@ -0,0 +1,71 @@
---
title: Compatibility
software: minpluto
---
## Package Managers
| Package Manager | Install Packages | Run Project |
|---------------------|------------------|-------------|
| NPM | ❌ | ❌ |
| PNPM | ❌ | ❌ |
| Bun | ✅ | ✅ |
| Yarn v1 | ✅ | ❌ |
| Yarn v3 | ✅ | ❌ |
| Yarn v4 | ✅ | ❌ |
## Deployment
| Software | Build | Run |
|---------------------|-------|------|
Bun (Local) | ✅ | ✅ |
Node (Local) | ✅ | ✅ |
Docker (Local) | ✅ | Mix |
Cloudflare Pages | 🔘 | 🔘 |
> MinPluto can use a lot of bandwidth, which most services will charge extra for. So this list is small and limited to certain services that allow unlimited bandwidth.
## Web Browsers
| Browser | Live Streams |Player | CSS | JavaScript | Account System | Embed |
|--------------------|--------------|-------|-----|------------|----------------|-------|
| **Other Browsers**|
| FOSS Browser | ❌ | ✅ | ❌ | ✅ | 🔘 | 🔘 |
| Ladybird*3 | ❌ | ❌ | ✅ | ✅ | 🔘 | 🔘 |
| **WebKit Browsers**|
| Safariᴸᴬ | ✅ | ✅ | ❌ | ✅ | 🔘 | 🔘 |
| GNOME Web | ✅ | ❌*2 | ✅ | ✅ | 🔘 | 🔘 |
| DuckDuckGoᴸᴬ | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| **Electron Browsers**|
| Min | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| **Chromium Browsers**|
| Braveᴸᴬ | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Chromium | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Google Chrome | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Microsoft Edge | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Opera | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Vivaldi | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Yandex | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| **Firefox Browsers**|
| ~~Dot Browser~~*1 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Falkon | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Firefox | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Floorp | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| IceCat | ❌ | ✅ | ❌ | 🔘 | 🔘 | 🔘 |
| Librewolf | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Mull | ❌ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| Mullvad | ✅ | ❌ | ✅ | ✅ | 🔘 | 🔘 |
| Tor | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 | 🔘 |
| Waterfox | ✅ | ✅ | ✅ | ✅ | 🔘 | 🔘 |
| **Outdated Browsers**|
| Internet Explorer | ❌ | ✅ | ❌ | ✅ | 🔘 | 🔘 |
> 🔘: Untested
> All browsers are tested as-is out of box. Some functions with ❌ can probably work if you tweak the settings or interact with a built-in extension.
> For Firefox-based browsers: Timestamp may show wrong data on first load, everything works correctly after a reload and so on.
> ᴸᴬ: Tested in Lambdatest
> *1: This web browser is unstable to operate
> *2: Seeking doesn't work
> *3: Ladybird is a new web browser that is uncompleted. This browser is not expected to work correctly for MinPluto at the moment.

View file

@ -0,0 +1,31 @@
---
title: Requirements
software: minpluto
---
## Hardware
| | Minimum | Recommended |
|-------------------|--------------------|------------------|
| CPU Cores | 2 | 4 |
| Memory | 2GB*1 | 8GB |
| Storage | 20GB | 60GB |
| Network Speed | 300Mbps/Upload | 1Gbps/Upload |
| Traffic | 20TB Monthly | Unlimited/No Cap |
> *1: At least have 512Mb free for the operating system.
**Recommended VPS**
| Host | Plan | Monthly Pricing | Yearly Pricing |
|------------------|-------------|-------------------|------------------|
| BuyVM | SLICE 4096 | $15.00 | $180.00 |
| Regxa | EVA3 | $15.00 | $171.00 |
> A provider with unlimited bandwidth is preferred.
> All prices are listed in USD.
## Software
The package manager that you need to use with MinPluto must be [Bun](https://bun.sh/) since it appears to be the most functional option for this project. Attempting to use another package manager like Yarn or PNPM may cause issues, view [Package Managers](#package-managers) in the [Compatibility](#compatibility) section. There seems to be some issues related to both `@astrojs/vue` and `@iconoir/vue`.
You'll still need to have [NodeJS](https://nodejs.org/en/download/package-manager) v21 or newer install in order for translations to work properly.

View file

@ -3,7 +3,7 @@
import Document from '@layouts/Document.astro' import Document from '@layouts/Document.astro'
// Icons // Icons
import {ServerConnection,PeaceHand} from "@iconoir/vue"; import {ServerConnection,PeaceHand, SlashSquare, ClipboardCheck} from "@iconoir/vue";
--- ---
<Document ProjectCollection="minpluto"> <Document ProjectCollection="minpluto">
@ -13,9 +13,21 @@ import {ServerConnection,PeaceHand} from "@iconoir/vue";
<PeaceHand/> <PeaceHand/>
<p>Introduction </p> <p>Introduction </p>
</a> </a>
<a href="/docs/minpluto/compatibility/">
<ClipboardCheck />
<p>Compatibility</p>
</a>
<a href="/docs/minpluto/requirements/">
<ClipboardCheck />
<p>Requirements</p>
</a>
<a href="/docs/minpluto/self-hosting/"> <a href="/docs/minpluto/self-hosting/">
<ServerConnection /> <ServerConnection />
<p>Self-Hosting</p> <p>Self-Hosting</p>
</a> </a>
<a href="/docs/minpluto/api/">
<SlashSquare />
<p>API</p>
</a>
</slot> </slot>
</Document> </Document>