init rebrand

This commit is contained in:
Pas 2025-04-07 12:05:24 -06:00
parent e81d1d255c
commit b3f10b87bc
41 changed files with 3016 additions and 2291 deletions

2
.github/CODEOWNERS vendored
View file

@ -1,2 +1,2 @@
* Maintainers: [MW-Exodus Team](https://github.com/MW-Legacy) * Maintainers: [MW-Exodus Team](https://github.com/MW-Legacy)
* Founder: (sussy-code)[https://github.com/sussy-code] * Founder: (Pasithea)[https://github.com/Pasiteha0]

View file

@ -1,5 +1,5 @@
name: "docs-deploy" name: 'docs-deploy'
on: on:
push: push:
branches: branches:
@ -20,7 +20,7 @@ jobs:
- name: Setup Node - name: Setup Node
uses: actions/setup-node@v4 uses: actions/setup-node@v4
with: with:
node-version: "20" node-version: '20'
cache: pnpm cache: pnpm
- name: Install dependencies - name: Install dependencies
@ -28,7 +28,7 @@ jobs:
- name: Build - name: Build
run: pnpm build run: pnpm build
- name: Upload - name: Upload
uses: actions/upload-pages-artifact@v3 uses: actions/upload-pages-artifact@v3
with: with:

View file

@ -14,7 +14,7 @@ jobs:
steps: steps:
- name: Checkout code - name: Checkout code
uses: actions/checkout@v4 uses: actions/checkout@v4
- uses: pnpm/action-setup@v3 - uses: pnpm/action-setup@v3
with: with:
version: 8 version: 8
@ -24,9 +24,9 @@ jobs:
with: with:
node-version: 20 node-version: 20
cache: 'pnpm' cache: 'pnpm'
- name: Install pnpm packages - name: Install pnpm packages
run: pnpm install run: pnpm install
- name: Run ESLint - name: Run ESLint
run: pnpm run lint run: pnpm run lint

View file

@ -1,6 +1,6 @@
MIT License MIT License
Copyright (c) 2023 sudo-flix Copyright (c) 2025 P-Stream
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

View file

@ -1,4 +1,3 @@
# sudo-flix docs # P-Stream docs
Find it at: idk i got a C&D Find it at: idk i got a C&D

View file

@ -2,7 +2,9 @@
border-radius: 0.6rem; border-radius: 0.6rem;
margin-left: -0.5rem; margin-left: -0.5rem;
padding: 0.65rem; padding: 0.65rem;
transition: transform 100ms ease-in-out, background-color 100ms ease-in-out; transition:
transform 100ms ease-in-out,
background-color 100ms ease-in-out;
} }
.logo > img { .logo > img {

View file

@ -5,7 +5,7 @@ import logoUrl from '../public/icon-light.png';
export function Logo() { export function Logo() {
return ( return (
<Link href="/" className={classes.logo}> <Link href="/" className={classes.logo}>
<img src={logoUrl.src} alt="Logo of sudo-flix" /> <img src={logoUrl.src} alt="Logo of P-Stream" />
</Link> </Link>
); );
} }

2
next-env.d.ts vendored
View file

@ -2,4 +2,4 @@
/// <reference types="next/image-types/global" /> /// <reference types="next/image-types/global" />
// NOTE: This file should not be edited // NOTE: This file should not be edited
// see https://nextjs.org/docs/basic-features/typescript for more information. // see https://nextjs.org/docs/pages/building-your-application/configuring/typescript for more information.

4
package-lock.json generated
View file

@ -1,11 +1,11 @@
{ {
"name": "sudo-flix-docs", "name": "P-Stream-docs",
"version": "0.2.0", "version": "0.2.0",
"lockfileVersion": 2, "lockfileVersion": 2,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "sudo-flix-docs", "name": "P-Stream-docs",
"version": "0.2.0", "version": "0.2.0",
"dependencies": { "dependencies": {
"@neato/guider": "^1.0.3", "@neato/guider": "^1.0.3",

View file

@ -1,5 +1,5 @@
{ {
"name": "sudo-flix-docs", "name": "P-Stream-docs",
"version": "0.2.0", "version": "0.2.0",
"private": true, "private": true,
"scripts": { "scripts": {
@ -10,18 +10,20 @@
"lint:fix": "next lint --fix" "lint:fix": "next lint --fix"
}, },
"devDependencies": { "devDependencies": {
"@mdx-js/loader": "^3.0.0",
"@mdx-js/react": "^3.0.0",
"@types/react": "18.2.73", "@types/react": "18.2.73",
"eslint": "^8.57.0", "eslint": "^8.57.1",
"eslint-config-next": "^14.2.3", "eslint-config-next": "^14.2.26",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3", "eslint-plugin-prettier": "^5.2.6",
"prettier": "^3.2.5", "prettier": "^3.5.3",
"typescript": "5.4.3" "typescript": "5.4.3"
}, },
"dependencies": { "dependencies": {
"@neato/guider": "^1.0.3", "@neato/guider": "^1.1.0",
"next": "^14.2.3", "next": "^14.2.26",
"next-seo": "^6.5.0", "next-seo": "^6.6.0",
"react": "^18.3.1", "react": "^18.3.1",
"react-dom": "^18.3.1" "react-dom": "^18.3.1"
} }

View file

@ -4,23 +4,21 @@ title: 'Changelog'
# Version 1.3.1 # Version 1.3.1
- Fixed bug where "false" env variables weren't treated as false for booleans - Fixed bug where "false" env variables weren't treated as false for booleans
- Added ARM support for hosted docker container - Added ARM support for hosted docker container
- Stopped using JSON for recaptcha verifications. - Stopped using JSON for recaptcha verifications.
# Version 1.3.0 # Version 1.3.0
For this update, you will need to run migrations. For this update, you will need to run migrations.
- proxy url syncing - proxy url syncing
- remove npm usage, replace with pnpm - remove npm usage, replace with pnpm
- add postgresql ssl support - add postgresql ssl support
# Version 1.2.0 # Version 1.2.0
<Warning> <Warning>For this update, you will need to run migrations.</Warning>
For this update, you will need to run migrations.
</Warning>
- [Added option to trust Cloudflare IP headers for ratelimits](./configuration.mdx#server-trust-cloudflare) - [Added option to trust Cloudflare IP headers for ratelimits](./configuration.mdx#server-trust-cloudflare)
- Removed unused table - Removed unused table

View file

@ -13,8 +13,10 @@ The backend can be configured in 3 different ways:
These different config options are all mutually inclusive, so you can use multiple at the same time if you want to. These different config options are all mutually inclusive, so you can use multiple at the same time if you want to.
<Warning> <Warning>
With any of these configurations, you have to have atleast three variables set for the server to function: With any of these configurations, you have to have atleast three variables set
[`postgres.connection`](#postgres-connection-⚠), [`crypto.sessionSecret`](#crypto-session-secret-⚠) and [`meta.name`](#meta-name-⚠) for the server to function: [`postgres.connection`](#postgres-connection-⚠),
[`crypto.sessionSecret`](#crypto-session-secret-⚠) and
[`meta.name`](#meta-name-⚠)
</Warning> </Warning>
### Method 1 - `config.json` ### Method 1 - `config.json`
@ -58,7 +60,7 @@ Port number that the HTTP server listens on.
- Type: `string` - Type: `string`
- Default: `""` - Default: `""`
- Example: `"https://sudo-flix.lol https://testing.sudo-flix.app"` - Example: `"https://pstream.org https://testing.pstream.org"`
Space separated list of allowed origins. Space separated list of allowed origins.
@ -90,9 +92,7 @@ Controls whether the server should trust Cloudflare IP headers. This is used to
Prefix for which path is being listened on. Useful if you're hosting on `example.com/backend` for example. Prefix for which path is being listened on. Useful if you're hosting on `example.com/backend` for example.
<Note> <Note>If this is set, you shouldn't apply URL rewriting before proxying.</Note>
If this is set, you shouldn't apply URL rewriting before proxying.
</Note>
## Logging ## Logging
@ -117,7 +117,7 @@ All configurations related to how postgres functions.
Connection URL for postgres instance, should contain the database in the URL. Connection URL for postgres instance, should contain the database in the URL.
<Caution> <Caution>
**Required. The backend will not start if this is not configured.** **Required. The backend will not start if this is not configured.**
</Caution> </Caution>
### `postgres.migrateOnBoot` ### `postgres.migrateOnBoot`
@ -128,7 +128,8 @@ Connection URL for postgres instance, should contain the database in the URL.
Run all [migrations](./introduction.mdx#migrations) that haven't ran yet on boot. Run all [migrations](./introduction.mdx#migrations) that haven't ran yet on boot.
<Warning> <Warning>
If you have multiple replicas running, this can cause a lot of issues. We recommend only using this if you run only one replica. If you have multiple replicas running, this can cause a lot of issues. We
recommend only using this if you run only one replica.
</Warning> </Warning>
### `postgres.debugLogging` ### `postgres.debugLogging`
@ -138,9 +139,7 @@ If you have multiple replicas running, this can cause a lot of issues. We recomm
Log all postgres queries in the console. Useful for debugging issues with the database. Log all postgres queries in the console. Useful for debugging issues with the database.
<Warning> <Warning>This outputs sensitive, **DO NOT** run it in production.</Warning>
This outputs sensitive, **DO NOT** run it in production.
</Warning>
### `postgres.ssl` ### `postgres.ssl`
@ -160,7 +159,7 @@ All configurations related to cryptography.
The secret used to sign sessions. **Must be at least 32 characters long.** The secret used to sign sessions. **Must be at least 32 characters long.**
<Caution> <Caution>
**Required. The backend will not start if this is not configured.** **Required. The backend will not start if this is not configured.**
</Caution> </Caution>
## Meta ## Meta
@ -170,19 +169,19 @@ These options configure how the server will display itself to the frontend.
### `meta.name` ⚠ ### `meta.name` ⚠
- Type: `string` - Type: `string`
- Example: `"Unofficial sudo-flix"` - Example: `"Unofficial backend"`
The name of the backend instance, this will be displayed to users who try to create an account. The name of the backend instance, this will be displayed to users who try to create an account.
<Caution> <Caution>
**Required. The backend will not start if this is not configured.** **Required. The backend will not start if this is not configured.**
</Caution> </Caution>
### `meta.description` ### `meta.description`
- Type: `string` - Type: `string`
- Default: `""` - Default: `""`
- Example: `"This is not an official instance of sudo-flix"` - Example: `"This is not an official instance of the backend"`
The description of the backend instance, this will be displayed to users who try to create an account. The description of the backend instance, this will be displayed to users who try to create an account.
@ -198,7 +197,7 @@ All configurations related to adding captcha functionality. Captchas' help to pr
Enables [Recaptcha](https://www.google.com/recaptcha/about/) support for user registration and login. [You can follow this guide to create a Recaptcha key](https://cloud.google.com/recaptcha-enterprise/docs/create-key-website#create-key). Enables [Recaptcha](https://www.google.com/recaptcha/about/) support for user registration and login. [You can follow this guide to create a Recaptcha key](https://cloud.google.com/recaptcha-enterprise/docs/create-key-website#create-key).
<Warning> <Warning>
If this is enabled, all other captcha related settings are required. If this is enabled, all other captcha related settings are required.
</Warning> </Warning>
### `captcha.secret` ### `captcha.secret`
@ -222,7 +221,8 @@ If this is enabled, all other captcha related settings are required.
All configuration options related to adding ratelimiting functionality. Helps to protect against bot attacks or spammy users. All configuration options related to adding ratelimiting functionality. Helps to protect against bot attacks or spammy users.
<Note> <Note>
Make sure your IP headers are properly forwarded if you're using a reverse proxy. Also see [`server.trustProxy`](#server-trust-proxy). Make sure your IP headers are properly forwarded if you're using a reverse
proxy. Also see [`server.trustProxy`](#server-trust-proxy).
</Note> </Note>
### `ratelimits.enabled` ### `ratelimits.enabled`
@ -233,7 +233,7 @@ Make sure your IP headers are properly forwarded if you're using a reverse proxy
Enables ratelimiting some more expensive endpoints. Enables ratelimiting some more expensive endpoints.
<Warning> <Warning>
If this is enabled, all other ratelimit related settings are required. If this is enabled, all other ratelimit related settings are required.
</Warning> </Warning>
### `ratelimits.redisUrl` ### `ratelimits.redisUrl`

View file

@ -9,7 +9,9 @@ The only officially recognized hosting method is through Docker (or similar cont
For configuration, check out the [configuration reference](./configuration.mdx). For configuration, check out the [configuration reference](./configuration.mdx).
<Note> <Note>
The postgres database will need to be populated with [migrations](./introduction.mdx#migrations) if `postgres.migrateOnBoot` isn't enabled. The postgres database will need to be populated with
[migrations](./introduction.mdx#migrations) if `postgres.migrateOnBoot` isn't
enabled.
</Note> </Note>
## Method 1 - Docker Deployment ## Method 1 - Docker Deployment
@ -18,10 +20,11 @@ This method provides a straightforward setup with minimal configuration. For mor
**Prerequisites** **Prerequisites**
* **Docker:** If you don't have Docker installed, download it from the official website: [Docker installation](https://www.docker.com/get-started) - **Docker:** If you don't have Docker installed, download it from the official website: [Docker installation](https://www.docker.com/get-started)
* **Docker Compose:** Install Docker Compose following the instructions for your operating system: [Docker-Compose installation](https://docs.docker.com/compose/install/) - **Docker Compose:** Install Docker Compose following the instructions for your operating system: [Docker-Compose installation](https://docs.docker.com/compose/install/)
**Setup** **Setup**
<Steps> <Steps>
<Steps.Step> <Steps.Step>
**Create `docker-compose.yml`:** **Create `docker-compose.yml`:**
@ -37,13 +40,13 @@ This method provides a straightforward setup with minimal configuration. For mor
ports: ports:
- "5432:5432" - "5432:5432"
networks: networks:
- sudo-flix-network - p-stream-network
sudo-flix: p-stream:
image: ghcr.io/sussy-code/backend:latest image: ghcr.io/sussy-code/backend:latest
environment: environment:
MWB_POSTGRES__CONNECTION: postgresql://movie_web_user:YourPasswordHere@postgres:5432/movie_web_backend MWB_POSTGRES__CONNECTION: postgresql://movie_web_user:YourPasswordHere@postgres:5432/movie_web_backend
MWB_CRYPTO__SESSION_SECRET: 32CharacterLongStringHere MWB_CRYPTO__SESSION_SECRET: 32CharacterLongStringHere
MWB_META__NAME: unofficial-sudo-flix MWB_META__NAME: unofficial-backend
MWB_POSTGRES__MIGRATE_ON_BOOT: "true" MWB_POSTGRES__MIGRATE_ON_BOOT: "true"
MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "true" MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "true"
ports: ports:
@ -51,9 +54,9 @@ This method provides a straightforward setup with minimal configuration. For mor
depends_on: depends_on:
- postgres - postgres
networks: networks:
- sudo-flix-network - p-stream-network
networks: networks:
sudo-flix-network: p-stream-network:
driver: bridge driver: bridge
``` ```
**Important:** **Important:**
@ -65,14 +68,15 @@ This method provides a straightforward setup with minimal configuration. For mor
**Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute: **Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute:
```bash ```bash
docker-compose up -d docker-compose up -d
``` ```
</Steps.Step> </Steps.Step>
</Steps> </Steps>
### Accessing Your Backend ### Accessing Your Backend
Your backend should be accessible on `(YourPrivateIP):80`. To share it outside your local network, you'll need to configure port forwarding or cloudflared tunnel. Your backend should be accessible on `(YourPrivateIP):80`. To share it outside your local network, you'll need to configure port forwarding or cloudflared tunnel.
### Optional: Implementing a Reverse Proxy ### Optional: Implementing a Reverse Proxy
@ -90,32 +94,41 @@ Railway offers you $5 of credit once you verify your account, which is enough to
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Login to your [Railway](https://railway.app) account if you have one, otherwise create one [here](https://railway.app/login). Login to your [Railway](https://railway.app) account if you have one,
- If you are signing up, then verify your account by clicking the link in the email Railway sends you. otherwise create one [here](https://railway.app/login). - If you are signing
- If you created your account with an email, then to verify your account further, go to your account, then plans and verify your account with a GitHub account. up, then verify your account by clicking the link in the email Railway sends
you. - If you created your account with an email, then to verify your
account further, go to your account, then plans and verify your account with
a GitHub account.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Click the [`Deploy on Railway`](https://railway.app/template/TS4mw5) button above. Click the [`Deploy on Railway`](https://railway.app/template/TS4mw5) button
above.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
If a `Configure` button is displayed, click on it and allow Railway to access your GitHub account. If a `Configure` button is displayed, click on it and allow Railway to
access your GitHub account.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Fill in the required variables or change the default values. Fill in the required variables or change the default values.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
The `Deploy` button at the bottom of the template should be active, click on it. The `Deploy` button at the bottom of the template should be active, click on
it.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Once the `Backend` service has deployed, copy the URL from the `Deployments` page. (Might take a second for it to be available after the service has deployed) Once the `Backend` service has deployed, copy the URL from the `Deployments`
page. (Might take a second for it to be available after the service has
deployed)
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Congratulations! You have deployed the backend, you can now [set up the client](../self-hosting/use-backend.mdx). Congratulations! You have deployed the backend, you can now [set up the
client](../self-hosting/use-backend.mdx).
</Steps.Step> </Steps.Step>
</Steps> </Steps>

View file

@ -3,9 +3,10 @@ title: 'Changelog'
--- ---
# Version 4.7.0 # Version 4.7.0
- Updated providers to 2.3.0 - Updated providers to 2.3.0
- Keyboard shortcuts now also work with uppercase keys - Keyboard shortcuts now also work with uppercase keys
- Audio language now defaults to your language preference - Audio language now defaults to your language preference
- The "Back to home" button in the video player can now be opened in a new tab using middle click - The "Back to home" button in the video player can now be opened in a new tab using middle click
- The "Next episode" button now turns into a "Next season" button if you are on the last episode - The "Next episode" button now turns into a "Next season" button if you are on the last episode
- Added a fallback TMDB API if the first one cannot be reached. This should fix an issue for some users that are not able to search. - Added a fallback TMDB API if the first one cannot be reached. This should fix an issue for some users that are not able to search.
@ -13,20 +14,24 @@ title: 'Changelog'
- Improved translations: Persion (Mehdi), French (Erwann) - Improved translations: Persion (Mehdi), French (Erwann)
# Version 4.6.6 # Version 4.6.6
- Updated providers to 2.2.9 - Updated providers to 2.2.9
- Fixes for VidSrcTo and RidoMovies - Fixes for VidSrcTo and RidoMovies
- Improved translations: German, Persian, Hindi, Korean, Nepali (macrolanguage), Dutch, Chinese (Han (Simplified variant)) - Improved translations: German, Persian, Hindi, Korean, Nepali (macrolanguage), Dutch, Chinese (Han (Simplified variant))
# Version 4.6.5 # Version 4.6.5
- Updated providers to 2.2.7 - Updated providers to 2.2.7
# Version 4.6.4 # Version 4.6.4
- Updated providers to 2.2.6 - Updated providers to 2.2.6
- Fixed Ridomovies not playing for extension users - Fixed Ridomovies not playing for extension users
- Added a default workflow for syncing forks - Added a default workflow for syncing forks
- Improved translations: Persian, Indonesian, Portuguese (Brazil), Russian - Improved translations: Persian, Indonesian, Portuguese (Brazil), Russian
# Version 4.6.3 # Version 4.6.3
- Updated providers to 2.2.5 - Updated providers to 2.2.5
- Fixed vercel routing - Fixed vercel routing
- Fixed TV browsers crashing because of MediaSession - Fixed TV browsers crashing because of MediaSession
@ -41,6 +46,7 @@ title: 'Changelog'
- Improved translations: Catalan, Czech, German, Spanish, Estonian, Persian, French, Galician, Indonesian, Italian, Dutch, Polish, Portuguese (Brazil), Romanian, Russian, Turkish, Chinese (Han (Traditional variant)) - Improved translations: Catalan, Czech, German, Spanish, Estonian, Persian, French, Galician, Indonesian, Italian, Dutch, Polish, Portuguese (Brazil), Romanian, Russian, Turkish, Chinese (Han (Traditional variant))
# Version 4.6.2 # Version 4.6.2
- Updated providers to 2.2.3 - Updated providers to 2.2.3
- Added defaults for extension store links - Added defaults for extension store links
- Onboarding now defaults to true for self-hosters. - Onboarding now defaults to true for self-hosters.
@ -48,6 +54,7 @@ title: 'Changelog'
- Improved translations: Polish, Toki Pona - Improved translations: Polish, Toki Pona
# Version 4.6.1 # Version 4.6.1
- Fixed subtitle blur settings loading as NaN - Fixed subtitle blur settings loading as NaN
- Improved translations: Czech, German, Persian, French, Italian, Dutch, Russian, Slovenian, Ukrainian, Chinese (Han (Simplified variant)) - Improved translations: Czech, German, Persian, French, Italian, Dutch, Russian, Slovenian, Ukrainian, Chinese (Han (Simplified variant))
@ -123,11 +130,11 @@ title: 'Changelog'
# Version 4.3.0 # Version 4.3.0
- Add onboarding process to sudo-flix, triggable manually through settings. This needs to be turned when selfhosting. - Add onboarding process to P-Stream, triggable manually through settings. This needs to be turned when selfhosting.
- Added settings to toggle generated thumbnails, disabled by default - Added settings to toggle generated thumbnails, disabled by default
- Fix multiple subtitles with same language all showing as selected - Fix multiple subtitles with same language all showing as selected
- Add docker support, a hosted container image included (with ARM support) - Add docker support, a hosted container image included (with ARM support)
- Added extension support, run sudo-flix without setting up a custom proxy - Added extension support, run P-Stream without setting up a custom proxy
- Add disabled cursor for disabled buttons - Add disabled cursor for disabled buttons
- Add instruction link to custom proxy and custom server settings - Add instruction link to custom proxy and custom server settings
- Added backdrop blur to navigation buttons - Added backdrop blur to navigation buttons
@ -137,17 +144,13 @@ title: 'Changelog'
# Version 4.2.5 # Version 4.2.5
<Warning> <Warning>This release requires a new version of simple-proxy: 2.1.3</Warning>
This release requires a new version of simple-proxy: 2.1.3
</Warning>
- Update provider package, with fixes for febbox-mp4 - Update provider package, with fixes for febbox-mp4
# Version 4.2.4 # Version 4.2.4
<Warning> <Warning>This release requires a new version of simple-proxy: 2.1.1</Warning>
This release requires a new version of simple-proxy: 2.1.1
</Warning>
- Add meta tag for PWA's for apple devices - Add meta tag for PWA's for apple devices
- Add galician flag - Add galician flag
@ -246,7 +249,8 @@ This release requires a new version of simple-proxy: 2.1.1
# Version 4.0.0 # Version 4.0.0
<Note> <Note>
If you are upgrading from a previous version, make sure to read [the upgrade guide](./upgrade.mdx). If you are upgrading from a previous version, make sure to read [the upgrade
guide](./upgrade.mdx).
</Note> </Note>
### Bug fixes ### Bug fixes
@ -272,8 +276,8 @@ If you are upgrading from a previous version, make sure to read [the upgrade gui
- Quality selector! You can now switch qualities. - Quality selector! You can now switch qualities.
- Search bar no longer requires you to choose between shows or movies. - Search bar no longer requires you to choose between shows or movies.
- Visit `/s/:term` to quickly watch something. For example `https://sudo-flix.lol/s/hamilton`. - Visit `/s/:term` to quickly watch something. For example `https://P-Stream.lol/s/hamilton`.
- You can now add sudo-flix as a search provider in your browser. - You can now add P-Stream as a search provider in your browser.
- Safari now has subtitles when fullscreening. - Safari now has subtitles when fullscreening.
- A next episode button will appear when close to the end of an episode, allowing quick switching to next episode. - A next episode button will appear when close to the end of an episode, allowing quick switching to next episode.
- When seeking and hovering over progress bar, you will now see a thumbnail for the place you're hovering. - When seeking and hovering over progress bar, you will now see a thumbnail for the place you're hovering.

View file

@ -4,22 +4,22 @@ title: 'Configuration'
# Client Config Reference # Client Config Reference
The config for the sudo-flix can be provided in 2 different ways, depending on how you are hosting sudo-flix: The config for the P-Stream can be provided in 2 different ways, depending on how you are hosting P-Stream:
- If you are using a static web hoster (such as Vercel, Netlify or Cloudflare Pages), you can use [environment variables](#method-1-environment-variables). - If you are using a static web hoster (such as Vercel, Netlify or Cloudflare Pages), you can use [environment variables](#method-1-environment-variables).
- If you are hosting sudo-flix using shared hosting (such as cPanel or FTP), please use [the config file](#method-2-config-file). - If you are hosting P-Stream using shared hosting (such as cPanel or FTP), please use [the config file](#method-2-config-file).
Both methods can specify any of the keys listed in the [Shared Config](#config-reference-shared-config) section. Both methods can specify any of the keys listed in the [Shared Config](#config-reference-shared-config) section.
## Method 1 - Environment Variables ## Method 1 - Environment Variables
The sudo-flix client can be configured using environment variables **at build time**. You cannot use this method if hosting the pre-built `sudo-flix.zip` files! The P-Stream client can be configured using environment variables **at build time**. You cannot use this method if hosting the pre-built `P-Stream.zip` files!
Using environment variables to configure sudo-flix also allows configuration of some [environment variable specific keys](#config-reference-environment-variables-only). Using environment variables to configure P-Stream also allows configuration of some [environment variable specific keys](#config-reference-environment-variables-only).
## Method 2 - Config File ## Method 2 - Config File
When using the pre-built `sudo-flix.zip`, you can set the configuration in the `config.js` file. When using the pre-built `P-Stream.zip`, you can set the configuration in the `config.js` file.
The `config.js` file contains a JavaScript object which must be set to the correct values: The `config.js` file contains a JavaScript object which must be set to the correct values:
@ -36,7 +36,7 @@ window.__CONFIG__ = {
- Type: `string` - Type: `string`
- Default: `""` - Default: `""`
This is the **read** API key from TMDB to allow sudo-flix to search for media. [Get one by following our guide](./tmdb.mdx). This is the **read** API key from TMDB to allow P-Stream to search for media. [Get one by following our guide](./tmdb.mdx).
<Caution> <Caution>
**Required. The client will not work properly if this is not configured.** **Required. The client will not work properly if this is not configured.**
@ -85,7 +85,7 @@ Setting this configuration value to `true` will enable the history-router.
- Default: `""` - Default: `""`
- Example: `"https://backend.example.com"` - Example: `"https://backend.example.com"`
This is the URL for the sudo-flix backend server which handles cross-device syncing. This is the URL for the P-Stream backend server which handles cross-device syncing.
The backend server can be found at https://github.com/sussy-code/backend and is offered as a [Docker](https://docs.docker.com/get-started/overview/) image for deployment. The backend server can be found at https://github.com/sussy-code/backend and is offered as a [Docker](https://docs.docker.com/get-started/overview/) image for deployment.
@ -101,7 +101,7 @@ If you want your users to be prompted with an onboarding screen before they star
### `VITE_ONBOARDING_CHROME_EXTENSION_INSTALL_LINK` ### `VITE_ONBOARDING_CHROME_EXTENSION_INSTALL_LINK`
- Type: `string` - Type: `string`
- Default: `"https://chromewebstore.google.com/detail/sudo-flix-extension/hoffoikpiofojilgpofjhnkkamfnnhmm"` - Default: `"https://chromewebstore.google.com/detail/P-Stream-extension/hoffoikpiofojilgpofjhnkkamfnnhmm"`
- Example: `"https://google.com"` - Example: `"https://google.com"`
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Chrome extension to install. When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Chrome extension to install.
@ -111,7 +111,7 @@ If omitted, this will still show the extension onboarding screen, just without a
### `VITE_ONBOARDING_FIREFOX_EXTENSION_INSTALL_LINK` ### `VITE_ONBOARDING_FIREFOX_EXTENSION_INSTALL_LINK`
- Type: `string` - Type: `string`
- Default: `"https://addons.mozilla.org/en-GB/firefox/addon/sudo-flix-extension"` - Default: `"https://addons.mozilla.org/en-GB/firefox/addon/P-Stream-extension"`
- Example: `"https://google.com"` - Example: `"https://google.com"`
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Firefox extension to install. When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the proper Firefox extension to install.
@ -198,7 +198,7 @@ The Google Analytics ID for tracking user behavior. If omitted, no tracking will
- Type: `string` - Type: `string`
- Default: `""` - Default: `""`
- Example: `"https://sudo-flix.lol"` - Example: `"https://P-Stream.lol"`
The domain where the app lives. Only required when having the [`VITE_OPENSEARCH_ENABLED`](#vite-opensearch-enabled) option enabled. The domain where the app lives. Only required when having the [`VITE_OPENSEARCH_ENABLED`](#vite-opensearch-enabled) option enabled.

View file

@ -8,108 +8,122 @@ title: 'Deploy'
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Click [here](https://github.com/sussy-code/smov/fork) to fork the sudo-flix Github repository Click [here](https://github.com/sussy-code/smov/fork) to fork the P-Stream
Github repository
</Steps.Step> </Steps.Step>
<Steps.Step>Click [here](https://vercel.com/) to go to Vercel</Steps.Step>
<Steps.Step>Sign in using either a GitHub, GitLab, or Bitbucket.</Steps.Step>
<Steps.Step> <Steps.Step>
Click [here](https://vercel.com/) to go to Vercel Clicking the "New Project" button on the top right of your dashboard and
following the steps to create a new project for your self hosted version of
movie web.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Sign in using either a GitHub, GitLab, or Bitbucket. After clicking it, you'll be presented with a list of Git repositories that
the Git account you've signed up with has write access to.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Clicking the "New Project" button on the top right of your dashboard and following the steps to create a new project for your self hosted version of movie web. Select your own fork of the P-Stream Github repository.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
After clicking it, you'll be presented with a list of Git repositories that the Git account you've signed up with has write access to. Configure the environment variables: - `VITE_CORS_PROXY_URL`: Enter your
proxy URL here. Make sure to not have a slash at the end of your URL.
Example (THIS IS AN EXAMPLE, IT WON'T WORK FOR YOU):
`https://test-proxy.test.workers.dev` - `VITE_TMDB_READ_API_KEY`: Enter your
TMDB Read Access Token here. Please read [the TMDB page](./tmdb.mdx) on how
to get an API key. - `VITE_BACKEND_URL`: Only set if you have a self-hosted
backend. Put in your backend URL. Check out [configuration
reference](../client/configuration.mdx) for details. Make sure to not have a
slash at the end of the URL.
</Steps.Step> </Steps.Step>
<Steps.Step>Click "Deploy"</Steps.Step>
<Steps.Step> <Steps.Step>
Select your own fork of the sudo-flix Github repository. Congrats! You have your own version of P-Stream hosted.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Configure the environment variables: You may wish to configure a custom domain - Please consult [the Vercel docs
- `VITE_CORS_PROXY_URL`: Enter your proxy URL here. Make sure to not have a slash at the end of your URL. for how to do
this](https://vercel.com/docs/getting-started-with-vercel/domains).
Example (THIS IS AN EXAMPLE, IT WON'T WORK FOR YOU): `https://test-proxy.test.workers.dev`
- `VITE_TMDB_READ_API_KEY`: Enter your TMDB Read Access Token here. Please read [the TMDB page](./tmdb.mdx) on how to get an API key.
- `VITE_BACKEND_URL`: Only set if you have a self-hosted backend. Put in your backend URL. Check out [configuration reference](../client/configuration.mdx) for details. Make sure to not have a slash at the end of the URL.
</Steps.Step>
<Steps.Step>
Click "Deploy"
</Steps.Step>
<Steps.Step>
Congrats! You have your own version of sudo-flix hosted.
</Steps.Step>
<Steps.Step>
You may wish to configure a custom domain - Please consult [the Vercel docs for how to do this](https://vercel.com/docs/getting-started-with-vercel/domains).
</Steps.Step> </Steps.Step>
</Steps> </Steps>
## Method 2 - Cloudflare Pages (Best host) ## Method 2 - Cloudflare Pages (Best host)
<Steps> <Steps>
<Steps.Step> <Steps.Step>
[Fork sudo-flix](https://github.com/sussy-code/smov/fork) on Github. [Fork P-Stream](https://github.com/sussy-code/smov/fork) on Github.
</Steps.Step> </Steps.Step>
<Steps.Step> {' '}
Go to [Cloudflare pages](https://pages.dev) and click "Sign Up". <Steps.Step>
</Steps.Step> Go to [Cloudflare pages](https://pages.dev) and click "Sign Up".
</Steps.Step>
{' '}
<Steps.Step>
Create a Cloudflare account.
<Note>
If you already have a Cloudflare account you will be redirected to the
workers and pages dashboard.
</Note>
</Steps.Step>
{' '}
<Steps.Step>
Now, click the blue "Create" button at the top of the page.
</Steps.Step>
{' '}
<Steps.Step>
By default Cloudflare assumes your creating a worker instead, change the
"Workers" tab to "Pages".
</Steps.Step>
{' '}
<Steps.Step>
Select the blue button that says "Connect to git" and then connect the Github
account you forked P-Stream on.
</Steps.Step>
{' '}
<Steps.Step>
Now you can select repositories from your github account, select your fork of
P-Stream and click "Begin setup".
</Steps.Step>
{' '}
<Steps.Step>
Give your project a silly name and select `main` as the production branch.
</Steps.Step>
{' '}
<Steps.Step>
In "Build settings" change the "Build command" to `pnpm build` and the "Build
output directory" to `dist`.
</Steps.Step>
{' '}
<Steps.Step>
Select the `Environment variable` drop down and add the below variables.
```env VITE_CORS_PROXY_URL = PUT_A_PROXY_URL_HERE VITE_TMDB_READ_API_KEY =
eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI1NzlkZWYyZDY5ZWFlNDk4ZjJiOTI4MTgyNDdjM2ViMCIsInN1YiI6IjY2MjdmMGJlNjJmMzM1MDE0YmQ4NTFmMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.h3KpPvkiaz8uNz1bntAKqsPrxG_4UUWaY3kYME6N6m8
```
</Steps.Step>
{' '}
<Steps.Step>Click "Save and Deploy" to watch your new site deploy.</Steps.Step>
<Steps.Step> <Steps.Step>
Create a Cloudflare account. Congrats! You have your own version of P-Stream hosted for **FREE**.
<Note>
If you already have a Cloudflare account you will be redirected to the workers and pages dashboard.
</Note>
</Steps.Step>
<Steps.Step>
Now, click the blue "Create" button at the top of the page.
</Steps.Step>
<Steps.Step>
By default Cloudflare assumes your creating a worker instead, change the "Workers" tab to "Pages".
</Steps.Step>
<Steps.Step>
Select the blue button that says "Connect to git" and then connect the Github account you forked sudo-flix on.
</Steps.Step>
<Steps.Step>
Now you can select repositories from your github account, select your fork of sudo-flix and click "Begin setup".
</Steps.Step>
<Steps.Step>
Give your project a silly name and select `main` as the production branch.
</Steps.Step>
<Steps.Step>
In "Build settings" change the "Build command" to `pnpm build` and the "Build output directory" to `dist`.
</Steps.Step>
<Steps.Step>
Select the `Environment variable` drop down and add the below variables.
```env
VITE_CORS_PROXY_URL = PUT_A_PROXY_URL_HERE
VITE_TMDB_READ_API_KEY = eyJhbGciOiJIUzI1NiJ9.eyJhdWQiOiI1NzlkZWYyZDY5ZWFlNDk4ZjJiOTI4MTgyNDdjM2ViMCIsInN1YiI6IjY2MjdmMGJlNjJmMzM1MDE0YmQ4NTFmMiIsInNjb3BlcyI6WyJhcGlfcmVhZCJdLCJ2ZXJzaW9uIjoxfQ.h3KpPvkiaz8uNz1bntAKqsPrxG_4UUWaY3kYME6N6m8
```
</Steps.Step>
<Steps.Step>
Click "Save and Deploy" to watch your new site deploy.
</Steps.Step>
<Steps.Step>
Congrats! You have your own version of sudo-flix hosted for **FREE**.
</Steps.Step> </Steps.Step>
</Steps> </Steps>
@ -117,54 +131,57 @@ title: 'Deploy'
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Download the file `sudo-flix.zip` from the latest release: https://github.com/sussy-code/smov/releases/latest. Download the file `P-Stream.zip` from the latest release:
https://github.com/sussy-code/smov/releases/latest.
</Steps.Step> </Steps.Step>
<Steps.Step>Extract the ZIP file so you can edit the files.</Steps.Step>
<Steps.Step> <Steps.Step>
Extract the ZIP file so you can edit the files. Open `config.js` in an editor such as Notepad, Visual Studio Code or
similar.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Open `config.js` in an editor such as Notepad, Visual Studio Code or similar. Put your proxy URL in-between the double quotes of `VITE_CORS_PROXY_URL:
""`. Make sure to not have a slash at the end of your URL. Example (THIS IS
AN EXAMPLE, IT WON'T WORK FOR YOU): `VITE_CORS_PROXY_URL:
"https://test-proxy.test.workers.dev"`
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Put your proxy URL in-between the double quotes of `VITE_CORS_PROXY_URL: ""`. Make sure to not have a slash at the end of your URL. Put your TMDB Read Access Token inside the quotes of
Example (THIS IS AN EXAMPLE, IT WON'T WORK FOR YOU): `VITE_CORS_PROXY_URL: "https://test-proxy.test.workers.dev"` `VITE_TMDB_READ_API_KEY: ""`. Please read [the TMDB page](./tmdb.mdx) on how
to get an API key.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Put your TMDB Read Access Token inside the quotes of `VITE_TMDB_READ_API_KEY: ""`. Please read [the TMDB page](./tmdb.mdx) on how to get an API key. If you have a self-hosted backend server, enter your URL in the
`VITE_BACKEND_URL` variable. Check out [configuration
reference](../client/configuration.mdx) for details. Make sure to not have a
slash at the end of the URL.
</Steps.Step> </Steps.Step>
<Steps.Step>Save the file.</Steps.Step>
<Steps.Step> <Steps.Step>
If you have a self-hosted backend server, enter your URL in the `VITE_BACKEND_URL` variable. Check out [configuration reference](../client/configuration.mdx) for details. Make sure to not have a slash at the end of the URL. Upload **all** of the files to a static website hosting such as: - GitHub
Pages - Netlify - Vercel - Etc, [there are lots of
options](https://www.staticwebsitehosting.org/).
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Save the file. Congrats! You have your own version of P-Stream hosted.
</Steps.Step>
<Steps.Step>
Upload **all** of the files to a static website hosting such as:
- GitHub Pages
- Netlify
- Vercel
- Etc, [there are lots of options](https://www.staticwebsitehosting.org/).
</Steps.Step>
<Steps.Step>
Congrats! You have your own version of sudo-flix hosted.
</Steps.Step> </Steps.Step>
</Steps> </Steps>
## Method 4 - Docker Compose - Home Network ## Method 4 - Docker Compose - Home Network
This method is meant for those using a desktop device or single board computer with a minimum of 4GB of RAM such as a [Raspberry Pi](https://www.raspberrypi.com/) to run sudo-flix on there home network for network connected devices. This method is meant for those using a desktop device or single board computer with a minimum of 4GB of RAM such as a [Raspberry Pi](https://www.raspberrypi.com/) to run P-Stream on there home network for network connected devices.
<Steps> <Steps>
<Steps.Step> <Steps.Step>
1. Ensure you have [docker](https://docs.docker.com/get-docker/) installed. In a newly created directory called `sudo-flix` create a file called `docker-compose.yaml`. Paste the contents of the code block below into this file. 1. Ensure you have [docker](https://docs.docker.com/get-docker/) installed. In a newly created directory called `P-Stream` create a file called `docker-compose.yaml`. Paste the contents of the code block below into this file.
```yaml ```yaml
version: "3.8" version: "3.8"
@ -212,14 +229,14 @@ This method is meant for those using a desktop device or single board computer w
Now use [docker](https://docs.docker.com/get-docker/) to run `movieweb` as background service. Now use [docker](https://docs.docker.com/get-docker/) to run `movieweb` as background service.
```bash ```bash
# sudo-flix is the current working directory # P-Stream is the current working directory
$ docker compose up --detach $ docker compose up --detach
``` ```
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Verify that setup was successful Verify that setup was successful
- Navigate to `http://localhost`. You should see the UI for `sudo-flix`. Find something to watch and make sure that it plays. - Navigate to `http://localhost`. You should see the UI for `P-Stream`. Find something to watch and make sure that it plays.
- View logs with - View logs with
```bash ```bash
@ -241,7 +258,7 @@ This method is meant for those using a desktop device or single board computer w
### To Perform Updates For New Releases of Movie Web ### To Perform Updates For New Releases of Movie Web
Make sure `sudo-flix` is your current working directory and run: Make sure `P-Stream` is your current working directory and run:
```bash ```bash
# Re-build the image and start the container # Re-build the image and start the container

View file

@ -6,33 +6,31 @@ title: 'TMDB API Key'
In order to search for movies and TV shows, we use an API called ["The Movie Database" (TMDB)](https://www.themoviedb.org/). For your client to be able to search, you need to generate an API key for yourself. In order to search for movies and TV shows, we use an API called ["The Movie Database" (TMDB)](https://www.themoviedb.org/). For your client to be able to search, you need to generate an API key for yourself.
<Note> <Note>The API key is **free**, you just need to create an account.</Note>
The API key is **free**, you just need to create an account.
</Note>
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Create an account at https://www.themoviedb.org/signup Create an account at https://www.themoviedb.org/signup
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
You will be required to verify your email; click the link that you get sent to verify your account. You will be required to verify your email; click the link that you get sent
to verify your account.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Go to https://www.themoviedb.org/settings/api/request to create a developer account. Go to https://www.themoviedb.org/settings/api/request to create a developer
account.
</Steps.Step> </Steps.Step>
<Steps.Step>Read the terms and conditions and accept them.</Steps.Step>
<Steps.Step> <Steps.Step>
Read the terms and conditions and accept them. Fill out your details: - Select "Website" as type of use. - For the other
details can put any values; they are not important.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Fill out your details: Copy the "API Read Access Token" - **DO NOT COPY THE API Key - IT WILL NOT
- Select "Website" as type of use. WORK**
- For the other details can put any values; they are not important.
</Steps.Step> </Steps.Step>
</Steps>
<Steps.Step>
Copy the "API Read Access Token" - **DO NOT COPY THE API Key - IT WILL NOT WORK**
</Steps.Step>
</Steps>

View file

@ -12,11 +12,13 @@ You can also setup a scheduled workflow to automatically update your instance. T
To do this, you will need to follow the guide below... To do this, you will need to follow the guide below...
<Warning>This upgrade method will only work if your repository is a fork!</Warning> <Warning>
This upgrade method will only work if your repository is a fork!
</Warning>
<Steps> <Steps>
<Steps.Step> <Steps.Step>
If you have not already, click [here](https://github.com/sussy-code/smov/fork) to fork the sudo-flix Github repository. If you have not already, click [here](https://github.com/sussy-code/smov/fork) to fork the P-Stream Github repository.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Paste the below file into your repository's root `/.github/workflows` directory Paste the below file into your repository's root `/.github/workflows` directory
@ -50,6 +52,7 @@ To do this, you will need to follow the guide below...
- uses: gautamkrishnar/keepalive-workflow@v1 - uses: gautamkrishnar/keepalive-workflow@v1
``` ```
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Commit and push the changes to your repository. Commit and push the changes to your repository.
@ -63,10 +66,10 @@ Your instance should now be automatically updated to the latest version.
You can manually update by executing the following commands in the root directory of the repository you have created, you would have to do this every time a push occurs to stay up-to-date: You can manually update by executing the following commands in the root directory of the repository you have created, you would have to do this every time a push occurs to stay up-to-date:
```bash ```bash
git remote add sudo-flix https://github.com/sussy-code/smov.git git remote add P-Stream https://github.com/sussy-code/smov.git
git fetch sudo-flix git fetch P-Stream
# Change `dev` to `master` if you want a stable experience # Change `dev` to `master` if you want a stable experience
git merge sudo-flix/dev --allow-unrelated-histories git merge P-Stream/dev --allow-unrelated-histories
git push -f # Force push to your origin main branch git push -f # Force push to your origin main branch
``` ```
@ -76,6 +79,6 @@ git push -f # Force push to your origin main branch
You will need the latest version of the proxy worker. Redeploy a new worker using [our self-hosting guide](../proxy/deploy.md). You will need the latest version of the proxy worker. Redeploy a new worker using [our self-hosting guide](../proxy/deploy.md).
After you have the new worker, you will need to [get the new sudo-flix deployment files](https://github.com/sussy-code/smov/releases/latest). **You CANNOT use the non-PWA version**. To upgrade safely without any complications, you need to update with `sudo-flix.pwa.zip`, Not the non-PWA version. After you have the new worker, you will need to [get the new P-Stream deployment files](https://github.com/sussy-code/smov/releases/latest). **You CANNOT use the non-PWA version**. To upgrade safely without any complications, you need to update with `P-Stream.pwa.zip`, Not the non-PWA version.
In the future, you will **ALWAYS** need to go with the PWA option. You cannot downgrade to non-PWA version without facing many caching complications. In the future, you will **ALWAYS** need to go with the PWA option. You cannot downgrade to non-PWA version without facing many caching complications.

View file

@ -4,12 +4,19 @@ title: 'Browser Extension'
# Browser Extension # Browser Extension
The sudo-flix browser extension enhances streaming quality and makes it possible to scrape more sources. The P-Stream browser extension enhances streaming quality and makes it possible to scrape more sources.
# Disclaimer Check out this [explanation](https://rentry.co/htagcrv4) about what the extension does.
The extension isn't currently available on official stores so **developer mode has to be enabled** to use the extension, we are working on getting the extension on the stores to make the process easier.
Select one of the following methods to install the extension. Ensure that you download the files compatible with your browser. ## 🧩 [Chrome Webstore](https://chromewebstore.google.com/detail/movie-web-remastered-exte/nbcjlcokgigjfhejofmbaomcimggiafn)
## 🧩 [Firefox Add-on Store](https://addons.mozilla.org/en-US/firefox/addon/pstream-extension/)
# Manual Installation
**Developer mode has to be enabled** to manually install the extension.
Select one of the following methods to install the extension. Ensure that you download the files compatible with your browser.
## Chromium-based Installation ## Chromium-based Installation
@ -25,24 +32,23 @@ These installation steps are for any chromium-based browsers such as Microsoft E
</Warning> </Warning>
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Go to your extensions page by typing the corresponding URL into your browser from the table below. Go to your extensions page by typing the corresponding URL into your browser
from the table below.
| Browser | URL |
| :--------------- | :-------------------- |
| Microsoft Edge | `edge://extensions` |
| Google Chrome | `chrome://extensions` |
| Vivaldi | `vivaldi://extensions`|
| Opera | `opera://extensions` |
</Steps.Step>
<Steps.Step> | Browser | URL |
Enable `Developer mode` toggle. |---------|-----|
</Steps.Step> | Microsoft Edge | `edge://extensions` |
| Google Chrome | `chrome://extensions` |
| Vivaldi | `vivaldi://extensions` |
| Opera | `opera://extensions` |
</Steps.Step>
<Steps.Step> <Steps.Step>Enable `Developer mode` toggle.</Steps.Step>
Drag and drop the downloaded extension CRX file onto the Extensions page.
</Steps.Step> <Steps.Step>
Drag and drop the downloaded extension CRX file onto the Extensions page.
</Steps.Step>
<Steps.Step> <Steps.Step>
When prompted, click Add extension to install the extension. When prompted, click Add extension to install the extension.
@ -56,23 +62,21 @@ These installation steps are for any chromium-based browsers such as Microsoft E
Download and **unpack** the ZIP file from [here](https://github.com/sussy-code/browser-ext/releases/download/1.2.0/1.2.0-mwext-CHROME.zip). Download and **unpack** the ZIP file from [here](https://github.com/sussy-code/browser-ext/releases/download/1.2.0/1.2.0-mwext-CHROME.zip).
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Go to your extensions page by typing the corresponding URL into your browser from the table below. Go to your extensions page by typing the corresponding URL into your browser
| Browser | URL | from the table below.
| :--------------- | :-------------------- |
| Microsoft Edge | `edge://extensions` |
| Google Chrome | `chrome://extensions` |
| Vivaldi | `vivaldi://extensions`|
| Opera | `opera://extensions` |
</Steps.Step>
<Steps.Step> | Browser | URL |
Enable `Developer mode` toggle. |---------|-----|
</Steps.Step> | Microsoft Edge | `edge://extensions` |
| Google Chrome | `chrome://extensions` |
| Vivaldi | `vivaldi://extensions` |
| Opera | `opera://extensions` |
</Steps.Step>
<Steps.Step> <Steps.Step>Enable `Developer mode` toggle.</Steps.Step>
Click the `Load unpacked` button.
</Steps.Step> <Steps.Step>Click the `Load unpacked` button.</Steps.Step>
<Steps.Step> <Steps.Step>
Select the extracted folder from the ZIP file from **Step 1**. Select the extracted folder from the ZIP file from **Step 1**.
@ -91,17 +95,18 @@ that will allow you to override the setting that enforces the extension signing
Open your browser and type `about:config` into the address bar. Open your browser and type `about:config` into the address bar.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>Click the `Accept the Risk and Continue` button.</Steps.Step>
Click the `Accept the Risk and Continue` button.
</Steps.Step>
<Steps.Step> <Steps.Step>
Search for `xpinstall.signatures.required` and set it to `false` by clicking the toggle. Search for `xpinstall.signatures.required` and set it to `false` by clicking
</Steps.Step> the toggle.
</Steps.Step>
<Steps.Step> <Steps.Step>
Download the XPI file from [here](https://github.com/sussy-code/browser-ext/releases/download/1.2.0/1.2.0-mwext-FIREFOX.xpi). It should automatically start the installation process. Download the XPI file from
</Steps.Step> [here](https://github.com/sussy-code/browser-ext/releases/download/1.2.0/1.2.0-mwext-FIREFOX.xpi).
It should automatically start the installation process.
</Steps.Step>
<Steps.Step> <Steps.Step>
When prompted, choose `Continue to Installation` and then `Add`. When prompted, choose `Continue to Installation` and then `Add`.

View file

@ -15,7 +15,7 @@
```yaml ```yaml
version: '3.8' version: '3.8'
services: services:
postgres: postgres:
image: postgres image: postgres
@ -25,9 +25,9 @@
POSTGRES_DB: movie_web_backend POSTGRES_DB: movie_web_backend
POSTGRES_PASSWORD: YourPasswordHere POSTGRES_PASSWORD: YourPasswordHere
networks: networks:
- sudo-flix-network - p-stream-network
sudo-flix-backend: p-stream-backend:
image: ghcr.io/sussy-code/backend:latest image: ghcr.io/sussy-code/backend:latest
restart: unless-stopped restart: unless-stopped
environment: environment:
@ -40,16 +40,16 @@
MWB_POSTGRES__MIGRATE_ON_BOOT: "true" MWB_POSTGRES__MIGRATE_ON_BOOT: "true"
MWB_SERVER__TRUSTPROXY: "true" MWB_SERVER__TRUSTPROXY: "true"
MWB_SERVER__TRUSTCLOUDFLARE: "true" MWB_SERVER__TRUSTCLOUDFLARE: "true"
# This is needed to resolve errors running migrations on some platforms - does not affect the application # This is needed to resolve errors running migrations on some platforms - does not affect the application
MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "false" MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "false"
ports: ports:
- "8080:8080" - "8080:8080"
depends_on: depends_on:
- postgres - postgres
networks: networks:
- sudo-flix-network - p-stream-network
sudo-flix-frontend: p-stream-frontend:
build: build:
context: https://github.com/sussy-code/smov.git context: https://github.com/sussy-code/smov.git
args: args:
@ -64,40 +64,42 @@
ports: ports:
- "80:80" - "80:80"
networks: networks:
- sudo-flix-network - p-stream-network
restart: unless-stopped restart: unless-stopped
sudo-flix-proxy: p-stream-proxy:
image: ghcr.io/sussy-code/sudo-proxy:latest image: ghcr.io/sussy-code/sudo-proxy:latest
ports: ports:
- "3000:3000" - "3000:3000"
networks: networks:
- sudo-flix-network - p-stream-network
restart: unless-stopped restart: unless-stopped
networks: networks:
sudo-flix-network: p-stream-network:
driver: bridge driver: bridge
``` ```
**Important:** **Important:**
* Replace `YourPasswordHere` with your secure database password. * Replace `YourPasswordHere` with your secure database password.
* Generate a strong session secret and replace `32CharacterLongStringHere`. * Generate a strong session secret and replace `32CharacterLongStringHere`.
* Replace `TMDBReadAPIKey` with your api key learn more [here](../client/tmdb.mdx). * Replace `TMDBReadAPIKey` with your api key learn more [here](../client/tmdb.mdx).
* replace `yourDomainHere` with whatever you'll be using to access your main site, like sudo-flix.app * replace `yourDomainHere` with whatever you'll be using to access your main site, like pstream.org
* replace `meta__name` and `meta__description` * replace `meta__name` and `meta__description`
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
**Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute: **Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute:
```bash ```bash
docker compose up --detach docker compose up --detach
``` ```
</Steps.Step> </Steps.Step>
</Steps> </Steps>
### Accessing Your Backend ### Accessing Your Backend
Your services should be accessible on `(YourPrivateIP):port`. To share it outside your local network, you'll need to configure port forwarding or cloudflared tunnel. Your services should be accessible on `(YourPrivateIP):port`. To share it outside your local network, you'll need to configure port forwarding or cloudflared tunnel.
### Optional: Implementing a Reverse Proxy ### Optional: Implementing a Reverse Proxy

View file

@ -4,13 +4,13 @@ title: 'Streaming'
# Streaming # Streaming
This page explains all the different ways you can enable sudo-flix to stream your favorite movies & TV shows, each with their own pros and cons. This page explains all the different ways you can enable P-Stream to stream your favorite movies & TV shows, each with their own pros and cons.
{/* ## Method 1 - Browser extension {/* ## Method 1 - Browser extension
The sudo-flix browser extension is the easiest way to be able to watch media with fast streaming speeds, it is available for both [Chrome] and [Firefox]. The P-Stream browser extension is the easiest way to be able to watch media with fast streaming speeds, it is available for both [Chrome] and [Firefox].
This method is great if you only use sudo-flix on your computer. If you use a mobile device or smart TV, you'll unfortunately have to stick to using a proxy since these devices don't usually support browser extensions. This method is great if you only use P-Stream on your computer. If you use a mobile device or smart TV, you'll unfortunately have to stick to using a proxy since these devices don't usually support browser extensions.
Since this method uses your own IP, it is undetectable by streaming services, so you can use it to watch your favorite shows without worrying about getting blocked by their servers. Since this method uses your own IP, it is undetectable by streaming services, so you can use it to watch your favorite shows without worrying about getting blocked by their servers.
*/} */}
@ -21,24 +21,23 @@ Self-hosting a proxy is an easy way to get faster streaming speeds, [we have a g
This method is recommended if you want to host a proxy for your friends and or family to use, as it is the faster than using the public proxy and the most reliable way to stream media at the moment. This method is recommended if you want to host a proxy for your friends and or family to use, as it is the faster than using the public proxy and the most reliable way to stream media at the moment.
{/* This method is recommended if you want to host a proxy for your friends and family to use, or if you want to use sudo-flix on a device that doesn't support the [browser extension](#method-1---browser-extension), such as a smart TV or mobile device.*/} {/* This method is recommended if you want to host a proxy for your friends and family to use, or if you want to use P-Stream on a device that doesn't support the [browser extension](#method-1---browser-extension), such as a smart TV or mobile device. */}
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Set up a proxy using one of our [guides](../proxy/deploy.mdx), [though we recommend Netlify](../proxy/deploy.mdx#method-1-netlify-easy). Set up a proxy using one of our [guides](../proxy/deploy.mdx), [though we recommend Netlify](../proxy/deploy.mdx#method-1-netlify-easy).
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Once that's done, go to the **Connections** section of the **Settings page** on your sudo-flix instance of choice. Once that's done, go to the **Connections** section of the **Settings page**
</Steps.Step> on your P-Stream instance of choice.
</Steps.Step>
<Steps.Step> <Steps.Step>
Enable `Use custom proxy workers` if it's not already enabled. Enable `Use custom proxy workers` if it's not already enabled.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>Add a new custom proxy by clicking `Add new worker`.</Steps.Step>
Add a new custom proxy by clicking `Add new worker`.
</Steps.Step>
<Steps.Step> <Steps.Step>
Copy the URL of the proxy you deployed before, and paste it into the empty text box. Copy the URL of the proxy you deployed before, and paste it into the empty text box.
@ -47,12 +46,14 @@ This method is recommended if you want to host a proxy for your friends and or f
</Steps> </Steps>
<Note> <Note>
If you're self-hosting the client, you can use the [`VITE_CORS_PROXY_URL`](../client/configuration.mdx#vite-cors-proxy-url) variable to set the proxy URL for everyone who uses your client. If you're self-hosting the client, you can use the
[`VITE_CORS_PROXY_URL`](../client/configuration.mdx#vite-cors-proxy-url)
variable to set the proxy URL for everyone who uses your client.
</Note> </Note>
## Method 2 - Public proxy ## Method 2 - Public proxy
The public proxy is the easiest way to get started with sudo-flix as it is the default, it is hosted by us and is completely free to use. The public proxy is the easiest way to get started with P-Stream as it is the default, it is hosted by us and is completely free to use.
If you are using the main website, then you are most likely already using the public proxy. Unfortunately you will most likely be getting slower speeds and your video might be buffering more often, which is why we recommend using a self-hosted proxy if you can. If you are using the main website, then you are most likely already using the public proxy. Unfortunately you will most likely be getting slower speeds and your video might be buffering more often, which is why we recommend using a self-hosted proxy if you can.

View file

@ -14,10 +14,10 @@ export default function LandingPage() {
<Hero> <Hero>
<div style={{ paddingBottom: '0.7em' }}> <div style={{ paddingBottom: '0.7em' }}>
<Frame> <Frame>
<img src={logoUrl.src} alt="Logo of sudo-flix" /> <img src={logoUrl.src} alt="Logo of P-Stream" />
</Frame> </Frame>
</div> </div>
<Hero.Title>sudo-flix</Hero.Title> <Hero.Title>P-Stream</Hero.Title>
<Hero.Subtitle> <Hero.Subtitle>
A cutesy app for watching your favorite movies and shows. Totally free A cutesy app for watching your favorite movies and shows. Totally free
and open source, forever! and open source, forever!
@ -32,7 +32,7 @@ export default function LandingPage() {
<Frame plain={true}> <Frame plain={true}>
<CardGrid> <CardGrid>
<Card icon="material-symbols:hangout-video-off" title="No Ads"> <Card icon="material-symbols:hangout-video-off" title="No Ads">
sudo-flix will never show ads, enjoy watching without interruptions. P-Stream will never show ads, enjoy watching without interruptions.
</Card> </Card>
<Card icon="ic:baseline-ondemand-video" title="Custom Player"> <Card icon="ic:baseline-ondemand-video" title="Custom Player">
Enjoy a fully custom video player including streaming integration, Enjoy a fully custom video player including streaming integration,
@ -51,7 +51,7 @@ export default function LandingPage() {
bookmarks sync effortlessly across all your devices. bookmarks sync effortlessly across all your devices.
</Card> </Card>
<Card icon="mdi:power-plug-outline" title="Modular by design"> <Card icon="mdi:power-plug-outline" title="Modular by design">
Mix and match different parts of the sudo-flix service, host your Mix and match different parts of the P-Stream service, host your
backend or use ours, it&apos;ll work either way. backend or use ours, it&apos;ll work either way.
</Card> </Card>
<Card icon="mdi:flag" title="Multiple Languages"> <Card icon="mdi:flag" title="Multiple Languages">

View file

@ -4,21 +4,19 @@ title: 'Instances'
# Instances # Instances
This page showcases sudo-flix instances hosted by the community. This page showcases P-Stream instances hosted by the community.
<Note> <Note>
* Sites with a `⭐` next to them are the best ones to use. * Sites with a `⭐` next to them are the best ones to use.
* Sites with a `🪞` next to them are mirrors of sudo-flix without changes. * Sites with a `🪞` next to them are mirrors of P-Stream without changes.
* Sites with a `💾` next to them use the sudo-backend meaning your data is synced across these sites. * Sites with a `💾` next to them use the sudo-backend meaning your data is synced across these sites.
* Sites with a `📱` next to them have PWA support meaning you can use the site as a native app on your phone. * Sites with a `📱` next to them have PWA support meaning you can use the site as a native app on your phone.
</Note> </Note>
| Site | Host | Stats | | Site | Host | Stats |
|:----------------------------------------------|:------------------|:-----------| | :------------------------------------------- | :----------------- | :------- |
| [pstream](https://pstream.org) | Pas | 💾📱⭐ | | [pstream](https://pstream.org) | Pas | 💾📱⭐⭐ |
| [sudo-flix.rip](https://sudo-flix.rip) | idfk just trust it | 💾📱🪞⭐ | | [movies.samj.app](https://movies.samj.app) | Samj | 💾📱⭐
| [movies.levrx.lol](https://movies.levrx.lol) | levrx | 💾📱⭐ | | [pseudo-flix.pro](https://pseudo-flix.pro) | idfk just trust it | 💾📱⭐ |
| [cinewhirl](https://cinewhirl.com) | fanlimdk | 💾📱 | | [movies.levrx.de](https://movies.levrx.de) | levrx | 💾📱⭐ |
| [𝓯𝓻𝓮𝓪𝓴𝔂-flix.top](https://freaky-flix.top) | Mope | 💾📱 | | [sudo-flix.nl](https://sudo-flix.nl/) | Chargonium | 💾📱 |
| [didi-flix](https://movies.didiinthe.cloud) | Didi | 💾📱🪞 |
| [Fmeee](https://movies.fmeee.ovh) | FMEEE | 💾📱 |

View file

@ -1,7 +1,7 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
const redirectTitle = 'Discord'; const redirectTitle = 'Discord';
const redirectUrl = 'https://discord.gg/mxhcENzG2j'; const redirectUrl = 'https://discord.gg/jZ6kkzADWS';
export default function WeblateRedirect() { export default function WeblateRedirect() {
const [countdown, setCountdown] = useState(5); const [countdown, setCountdown] = useState(5);
@ -40,12 +40,12 @@ export default function WeblateRedirect() {
<h1 <h1
style={{ fontSize: '2.5em', paddingBlock: '0.6em', color: '#A6A4AE' }} style={{ fontSize: '2.5em', paddingBlock: '0.6em', color: '#A6A4AE' }}
> >
Sudo-Flix {redirectTitle} P-Stream {redirectTitle}
</h1> </h1>
<hr <hr
style={{ style={{
marginInline: '2em', marginInline: '2em',
border: 'solid 0.1em #37334C', border: 'solid 0.1em #33344CFF',
}} }}
/> />
</div> </div>
@ -61,7 +61,7 @@ export default function WeblateRedirect() {
style={{ style={{
padding: '1em', padding: '1em',
marginInline: '2.5em', marginInline: '2.5em',
border: 'solid 0.1em #37334C', border: 'solid 0.1em #33334CFF',
borderRadius: '0.35em', borderRadius: '0.35em',
alignItems: 'center', alignItems: 'center',
textAlign: 'center', textAlign: 'center',
@ -107,9 +107,9 @@ export default function WeblateRedirect() {
fontSize: '0.7em', fontSize: '0.7em',
}} }}
> >
<p>© 2024 sudo-flix</p> <p>© 2025 P-Stream</p>
<p> <p>
Follow us on{' '} {/* Follow us on{' '}
<a <a
href="https://x.com/sudoFlix" href="https://x.com/sudoFlix"
onMouseEnter={(e) => onMouseEnter={(e) =>
@ -121,9 +121,9 @@ export default function WeblateRedirect() {
> >
Twitter Twitter
</a>{' '} </a>{' '}
and check out our{' '} and check out our{' '} */}
<a <a
href="https://github.com/sussy-code" href="https://github.com/Pasiteha0"
onMouseEnter={(e) => onMouseEnter={(e) =>
(e.currentTarget.style.textDecoration = 'underline') (e.currentTarget.style.textDecoration = 'underline')
} }
@ -133,7 +133,7 @@ export default function WeblateRedirect() {
> >
Github Github
</a> </a>
. {/* . */}
</p> </p>
</div> </div>
</div> </div>

View file

@ -1,7 +1,7 @@
import { useEffect, useState } from 'react'; import { useEffect, useState } from 'react';
const redirectTitle = 'Weblate'; const redirectTitle = 'Weblate';
const redirectUrl = 'https://weblate.tinypixel.uk/projects/sudo-flix/main/'; const redirectUrl = 'https://weblate.tinypixel.uk/projects/P-Stream/main/';
export default function WeblateRedirect() { export default function WeblateRedirect() {
const [countdown, setCountdown] = useState(5); const [countdown, setCountdown] = useState(5);
@ -40,7 +40,7 @@ export default function WeblateRedirect() {
<h1 <h1
style={{ fontSize: '2.5em', paddingBlock: '0.6em', color: '#A6A4AE' }} style={{ fontSize: '2.5em', paddingBlock: '0.6em', color: '#A6A4AE' }}
> >
Sudo-Flix {redirectTitle} P-Stream {redirectTitle}
</h1> </h1>
<hr <hr
style={{ style={{
@ -107,7 +107,7 @@ export default function WeblateRedirect() {
fontSize: '0.7em', fontSize: '0.7em',
}} }}
> >
<p>© 2024 sudo-flix</p> <p>© 2024 P-Stream</p>
<p> <p>
Follow us on{' '} Follow us on{' '}
<a <a

View file

@ -3,15 +3,18 @@ title: 'Changelog'
--- ---
# Version 2.1.3 # Version 2.1.3
- Upgrade nitro, which fixes issues on AWS lambda - Upgrade nitro, which fixes issues on AWS lambda
# Version 2.1.2 # Version 2.1.2
- Block more headers, be more anonymous (only works on non-cloudflare platforms) - Block more headers, be more anonymous (only works on non-cloudflare platforms)
- Add package version to route `/` for debugging purposes - Add package version to route `/` for debugging purposes
- Add REQ_DEBUG=true variable to allow for logging all requests made. - Add REQ_DEBUG=true variable to allow for logging all requests made.
- Remove old console.log - Remove old console.log
# Version 2.1.1 # Version 2.1.1
- Fix support for JWT on non-Cloudflare platforms - Fix support for JWT on non-Cloudflare platforms
- Fix header copying logic so User-Agent, Referer and Origin work properly - Fix header copying logic so User-Agent, Referer and Origin work properly
- Upgrade h3 - Upgrade h3

View file

@ -16,7 +16,9 @@ Adding environment variables is different for every platform, [here's a guide on
Turnstile secret key from the [Cloudflare dashboard](https://dash.cloudflare.com/sign-up?to=/:account/turnstile). Turnstile secret key from the [Cloudflare dashboard](https://dash.cloudflare.com/sign-up?to=/:account/turnstile).
<Warning> <Warning>
Keep in mind that you will also need to [configure the Turnstile key on the client](../client/configuration.mdx#vite-turnstile-key) and **configure the [`JWT_SECRET`](#jwt-secret) below.** Keep in mind that you will also need to [configure the Turnstile key on the
client](../client/configuration.mdx#vite-turnstile-key) and **configure the
[`JWT_SECRET`](#jwt-secret) below.**
</Warning> </Warning>
### `JWT_SECRET` ### `JWT_SECRET`

View file

@ -15,22 +15,25 @@ Netlify has a very generous free plan, so you'll be able to host your proxy for
Create a GitHub account at https://github.com/signup if you don't have one already. Create a GitHub account at https://github.com/signup if you don't have one already.
</Steps.Step> </Steps.Step>
<Steps.Step> {' '}
Click on the `Deploy to Netlify` button above. <Steps.Step>
- Authorize Netlify to connect with GitHub by clicking the `Connect to GitHub` button. Click on the `Deploy to Netlify` button above. - Authorize Netlify to connect
</Steps.Step> with GitHub by clicking the `Connect to GitHub` button.
</Steps.Step>
<Steps.Step> {' '}
There should now be a `Save & Deploy` button, click it. <Steps.Step>There should now be a `Save & Deploy` button, click it.</Steps.Step>
</Steps.Step>
<Steps.Step> {' '}
Once the deployment is complete, click on the `Get Started` button that pops up, this will redirect you to the dashboard of your site. <Steps.Step>
</Steps.Step> Once the deployment is complete, click on the `Get Started` button that pops
up, this will redirect you to the dashboard of your site.
</Steps.Step>
<Steps.Step> {' '}
Click on the only site in the `Sites` section of your dashboard. <Steps.Step>
</Steps.Step> Click on the only site in the `Sites` section of your dashboard.
</Steps.Step>
<Steps.Step> <Steps.Step>
Find the link of your site near the top of the page, it should look something like `https://<random-words>.netlify.app`. Right click the link, click `Copy link address`. [Now you'll just have to set up the client](../extra/streaming.mdx#method-1-self-hosted-proxy)! Find the link of your site near the top of the page, it should look something like `https://<random-words>.netlify.app`. Right click the link, click `Copy link address`. [Now you'll just have to set up the client](../extra/streaming.mdx#method-1-self-hosted-proxy)!
@ -47,63 +50,73 @@ Cloudflare has a generous free plan, so you don't need to pay anything unless yo
<Steps.Step> <Steps.Step>
Create a GitHub account at https://github.com if you don't have one. Create a GitHub account at https://github.com if you don't have one.
</Steps.Step> </Steps.Step>
<Steps.Step>Click the `Deploy with workers` button above.</Steps.Step>
<Steps.Step> <Steps.Step>
Click the `Deploy with workers` button above. Click the `Authorize Workers` button to authorize Cloudflare to talk to
GitHub.
</Steps.Step> </Steps.Step>
<Steps.Step>
Click the `Authorize Workers` button to authorize Cloudflare to talk to GitHub.
</Steps.Step>
<Steps.Step> <Steps.Step>
Authorize Cloudflare Workers in the GitHub page that pops up. Authorize Cloudflare Workers in the GitHub page that pops up.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Follow the instructions to configure your Cloudflare account. Select `I have an account` if you have a Cloudflare account already, otherwise follow the link to create one. Follow the instructions to configure your Cloudflare account. Select `I have
an account` if you have a Cloudflare account already, otherwise follow the
link to create one.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Click the link to [`Workers Dashboard`](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) to find your account ID. Click the link to [`Workers
- You can copy your account ID from the URL e.g. https://dash.cloudflare.com/ab7cb454c93987b6343350d4e84c16c7/workers-and-pages/create where `ab7cb454c93987b6343350d4e84c16c7` is the account ID. Dashboard`](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
- Paste the account ID into the text box on the original Cloudflare workers page. to find your account ID. - You can copy your account ID from the URL e.g.
https://dash.cloudflare.com/ab7cb454c93987b6343350d4e84c16c7/workers-and-pages/create
where `ab7cb454c93987b6343350d4e84c16c7` is the account ID. - Paste the
account ID into the text box on the original Cloudflare workers page.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Click the link to [`My Profile`](https://dash.cloudflare.com/profile/api-tokens), to create an API token. Click the link to [`My
- Click `Create Token`. Profile`](https://dash.cloudflare.com/profile/api-tokens), to create an API
- Select `Use template` next to `Edit Cloudflare Workers`. token. - Click `Create Token`. - Select `Use template` next to `Edit
- Under `Account Resources`, select `Include` and your account under the dropdown. Cloudflare Workers`. - Under `Account Resources`, select `Include` and your
- Under `Zone Resources`, select `All zones` (You can select a more specific zone if you have the zones available). account under the dropdown. - Under `Zone Resources`, select `All zones`
- At the bottom of the page, click `Continue to summary`. (You can select a more specific zone if you have the zones available). - At
- On the next screen, click `Create token`. the bottom of the page, click `Continue to summary`. - On the next screen,
- Copy the API token and **save it in a safe place, it won't be shown again**. click `Create token`. - Copy the API token and **save it in a safe place, it
- Paste the API token into the Cloudflare Workers API Token text box. won't be shown again**. - Paste the API token into the Cloudflare Workers
API Token text box.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Click `Fork the Repository` and follow the instructions to enable workflows. Click `Fork the Repository` and follow the instructions to enable workflows.
</Steps.Step> </Steps.Step>
<Steps.Step>Click `Deploy` to deploy to Cloudflare Workers.</Steps.Step>
<Steps.Step> <Steps.Step>
Click `Deploy` to deploy to Cloudflare Workers. Congratulations! Your worker is now deploying. Please wait for the GitHub
Action to build and publish your worker.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Congratulations! Your worker is now deploying. Please wait for the GitHub Action to build and publish your worker. You can click the [`Worker
dash`](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
and `GitHub repo` buttons to see the status of the deploy.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
You can click the [`Worker dash`](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) and `GitHub repo` buttons to see the status of the deploy. When the worker has deployed, you will need to take note of the URL. This
can be found on Cloudflare under [Workers and Pages ->
Overview](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
-> Proxy.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
When the worker has deployed, you will need to take note of the URL. This can be found on Cloudflare under [Workers and Pages -> Overview](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) -> Proxy. Use the URL you took note of and [set up a custom proxy in the
</Steps.Step> client](../extra/streaming.mdx#method-1-self-hosted-proxy).
<Steps.Step>
Use the URL you took note of and [set up a custom proxy in the client](../extra/streaming.mdx#method-1-self-hosted-proxy).
</Steps.Step> </Steps.Step>
</Steps> </Steps>
@ -111,49 +124,61 @@ Cloudflare has a generous free plan, so you don't need to pay anything unless yo
<Steps> <Steps>
<Steps.Step> <Steps.Step>
Login to your Cloudflare account if you have one, otherwise create one [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) Login to your Cloudflare account if you have one, otherwise create one
- If you are signing up for an account, make sure to verify your email before going further! [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) -
If you are signing up for an account, make sure to verify your email before
going further!
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Download the latest version of the Cloudflare [`sudo-proxy-cloudflare.mjs` script from here](https://github.com/sussy-code/sudo-proxy/releases/download/v2.1.5/simple-proxy-cloudflare.mjs). Download the latest version of the Cloudflare [`sudo-proxy-cloudflare.mjs`
script from
here](https://github.com/sussy-code/sudo-proxy/releases/download/v2.1.5/simple-proxy-cloudflare.mjs).
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Go to `Workers & Pages` and then `Overview` in the left-hand navigation bar. Go to `Workers & Pages` and then `Overview` in the left-hand navigation bar.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Click the `Create Worker` button Click the `Create Worker` button - If you've made a worker or pages
- If you've made a worker or pages application before, you will need to click `Create Application` first application before, you will need to click `Create Application` first - Give
- Give your worker a name and click `Deploy`. This can be anything you would like! your worker a name and click `Deploy`. This can be anything you would like!
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
On the `Congratulations` web page, click the `Edit code` button to edit the code in the worker you have just created. On the `Congratulations` web page, click the `Edit code` button to edit the
code in the worker you have just created.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
There should now be a code editor on the left hand side on the web page. There should now be a code editor on the left hand side on the web page. -
- Select all of the existing template code and delete it. **You must make sure all of the code is deleted for this to work!** Select all of the existing template code and delete it. **You must make sure
- Go to your downloads folder and open up the `sudo-proxy-cloudflare.mjs` file you downloaded earlier in a text editor, and **copy** the contents. all of the code is deleted for this to work!** - Go to your downloads folder
- Back in your browser, paste the contents of the file into the code editor. and open up the `sudo-proxy-cloudflare.mjs` file you downloaded earlier in a
text editor, and **copy** the contents. - Back in your browser, paste the
contents of the file into the code editor.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
The `Save and deploy` button in the top right corner should now be active, click it to deploy your proxy! The `Save and deploy` button in the top right corner should now be active,
click it to deploy your proxy!
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
A confirmation dialog will appear, click `Save and deploy` once more. A confirmation dialog will appear, click `Save and deploy` once more.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
Your worker is now deployed! You can click the back button in the top left to take you back to the summary screen. Your worker is now deployed! You can click the back button in the top left
to take you back to the summary screen.
</Steps.Step> </Steps.Step>
<Steps.Step> <Steps.Step>
On the summary screen, your worker link will be displayed under `Preview`. Right click the link, click `Copy link address` and save the link somewhere - [you will need it to set up the client](../5.extra/1.streaming.md#method-1---self-hosted-proxy)! On the summary screen, your worker link will be displayed under `Preview`.
Right click the link, click `Copy link address` and save the link somewhere
- [you will need it to set up the
client](../5.extra/1.streaming.md#method-1---self-hosted-proxy)!
</Steps.Step> </Steps.Step>
</Steps> </Steps>
@ -170,17 +195,23 @@ Railway offers you $5 of credit once you verify your account, which is enough to
- If you created your account with an email, then to verify your account further, go to your account, then plans and verify your account with a GitHub account. - If you created your account with an email, then to verify your account further, go to your account, then plans and verify your account with a GitHub account.
</Steps.Step> </Steps.Step>
<Steps.Step> {' '}
Click the [`Deploy on Railway`](https://railway.app/template/dyYHq1) button above. <Steps.Step>
</Steps.Step> Click the [`Deploy on Railway`](https://railway.app/template/dyYHq1) button
above.
</Steps.Step>
<Steps.Step> {' '}
If a `Configure` button is displayed, click on it and allow Railway to access your GitHub account. <Steps.Step>
</Steps.Step> If a `Configure` button is displayed, click on it and allow Railway to access
your GitHub account.
</Steps.Step>
<Steps.Step> {' '}
The `Deploy` button at the bottom of the template should be active, click on it. <Steps.Step>
</Steps.Step> The `Deploy` button at the bottom of the template should be active, click on
it.
</Steps.Step>
<Steps.Step> <Steps.Step>
Once the proxy has deployed, copy the URL from the `Deployments` page. Once the proxy has deployed, copy the URL from the `Deployments` page.
@ -194,8 +225,10 @@ Railway offers you $5 of credit once you verify your account, which is enough to
## Method 4 - Docker ## Method 4 - Docker
<Warning> <Warning>
Experience with Docker, domains and web hosting is **highly recommended** for this method. <br /> Experience with Docker, domains and web hosting is **highly recommended** for
[Deploying with Netlify](#method-1-netlify-easy) is easier and safer to do! You are exposing your server at your own risk! this method. <br />
[Deploying with Netlify](#method-1-netlify-easy) is easier and safer to do! You
are exposing your server at your own risk!
</Warning> </Warning>
Our `sudo-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/sussy-code/sudo-proxy:latest`](https://ghcr.io/sussy-code/sudo-proxy:latest) Our `sudo-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/sussy-code/sudo-proxy:latest`](https://ghcr.io/sussy-code/sudo-proxy:latest)

View file

@ -4,20 +4,21 @@ title: 'PWA vs no-PWA'
# About Self-hosting PWA # About Self-hosting PWA
So that clients can have a more native app-like experience on mobile, sudo-flix has a function to support Progressive Web Apps (PWA). You can learn more about what a PWA is [here](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/What_is_a_progressive_web_app). So that clients can have a more native app-like experience on mobile, P-Stream has a function to support Progressive Web Apps (PWA). You can learn more about what a PWA is [here](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/What_is_a_progressive_web_app).
In sudo-flix version 3, PWAs were enabled by default. Unfortunately, PWAs tend to come with caching complications that can be tricky to resolve. That's why we have **disabled** PWAs by default in sudo-flix version 4. If you are upgrading from version 3, please [read our upgrade guide](../client/upgrade.mdx) for more information. In P-Stream version 3, PWAs were enabled by default. Unfortunately, PWAs tend to come with caching complications that can be tricky to resolve. That's why we have **disabled** PWAs by default in P-Stream version 4. If you are upgrading from version 3, please [read our upgrade guide](../client/upgrade.mdx) for more information.
<Warning> <Warning>
Enabling PWAs means that you cannot disable it again - Please only proceed if you know what you are doing! Enabling PWAs means that you cannot disable it again - Please only proceed if
you know what you are doing!
</Warning> </Warning>
## If you are running sudo-flix on a hosting platform such as Vercel ## If you are running P-Stream on a hosting platform such as Vercel
If your hosting is building sudo-flix from the source, you can enable PWAs using the [`VITE_PWA_ENABLED`](../client/configuration.mdx#vite-pwa-enabled) environment variable. If your hosting is building P-Stream from the source, you can enable PWAs using the [`VITE_PWA_ENABLED`](../client/configuration.mdx#vite-pwa-enabled) environment variable.
Setting [`VITE_PWA_ENABLED`](../client/configuration.mdx#vite-pwa-enabled) to `true` will generate a [service worker file](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#service_worker) and a [web app manifest](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest) which enable the website to be installed from a [web browser both on Desktop and on Mobile](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#installation_from_the_web). Setting [`VITE_PWA_ENABLED`](../client/configuration.mdx#vite-pwa-enabled) to `true` will generate a [service worker file](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#service_worker) and a [web app manifest](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#the_web_app_manifest) which enable the website to be installed from a [web browser both on Desktop and on Mobile](https://developer.mozilla.org/en-US/docs/Web/Progressive_web_apps/Guides/Making_PWAs_installable#installation_from_the_web).
## If you are running sudo-flix using the .zip files ## If you are running P-Stream using the .zip files
If you are downloading the sudo-flix `zip` files from our GitHub and installing them on a static website host, then all you need to do is to make sure to download the [`sudo-flix.pwa.zip`](https://github.com/sussy-code/smov/releases/latest/download/sudo-flix.pwa.zip) file instead of the `sudo-flix.zip` file! If you are downloading the P-Stream `zip` files from our GitHub and installing them on a static website host, then all you need to do is to make sure to download the [`P-Stream.pwa.zip`](https://github.com/sussy-code/smov/releases/latest/download/P-Stream.pwa.zip) file instead of the `P-Stream.zip` file!

View file

@ -5,17 +5,18 @@ title: 'Start self-hosting'
# How to self-host # How to self-host
<Note> <Note>
We provide support and answer questions. If you have any enquiries, feel free to ask in our [Discord server](/links/discord). We provide support and answer questions. If you have any enquiries, feel free
to ask in our [Discord server](/links/discord).
</Note> </Note>
Since sudo-flix has many different components, there are a few configurations of how you can host it. Each of these configurations has their own benefits, whether that be having complete control over your data or customizing your experience. Since P-Stream has many different components, there are a few configurations of how you can host it. Each of these configurations has their own benefits, whether that be having complete control over your data or customizing your experience.
**If you don't know what to choose, go with [method 1.](#method-1-only-host-the-frontend)** **If you don't know what to choose, go with [method 1.](#method-1-only-host-the-frontend)**
--- ---
## Method 1 - Only host the frontend ## Method 1 - Only host the frontend
With this method, you only host the essential parts that make sudo-flix work. But keep using the account server from official sudo-flix. With this method, you only host the essential parts that make P-Stream work. But keep using the account server from official P-Stream.
This method is the easiest to self-host and is recommended for most users. This method is the easiest to self-host and is recommended for most users.
1. [Set up the Proxy!](../proxy/deploy.mdx) 1. [Set up the Proxy!](../proxy/deploy.mdx)
@ -35,7 +36,7 @@ This method is only recommended if you have experience hosting databases or othe
## Method 3 - Host everything ## Method 3 - Host everything
If you want an instance that's completely isolated from the official sudo-flix. You can self-host all of the parts yourself, though this method is not recommended for inexperienced hosters. If you want an instance that's completely isolated from the official P-Stream. You can self-host all of the parts yourself, though this method is not recommended for inexperienced hosters.
1. [Set up the Proxy!](../proxy/deploy.mdx) 1. [Set up the Proxy!](../proxy/deploy.mdx)
2. [Set up the Backend!](../backend/deploy.mdx) 2. [Set up the Backend!](../backend/deploy.mdx)

View file

@ -4,7 +4,7 @@ title: 'Troubleshooting'
# Troubleshooting # Troubleshooting
There is always a possibility for something to go wrong while trying to deploy your own instance of sudo-flix. This page will contain common issues people have come across while self-hosting and their solutions. There is always a possibility for something to go wrong while trying to deploy your own instance of P-Stream. This page will contain common issues people have come across while self-hosting and their solutions.
## "Failed to find media, try again!" while searching ## "Failed to find media, try again!" while searching
@ -34,7 +34,7 @@ If the version that shows up on your backend is not the latest version, you shou
## I updated from version 3 to version 4 but I still see the old version ## I updated from version 3 to version 4 but I still see the old version
It is likely that you haven't installed the PWA version of sudo-flix. Please read the [upgrade guide](../client/upgrade.mdx) for more details on the matter. It is likely that you haven't installed the PWA version of P-Stream. Please read the [upgrade guide](../client/upgrade.mdx) for more details on the matter.
## I'm getting SSL issues when using a hosted postgres database ## I'm getting SSL issues when using a hosted postgres database

View file

@ -4,24 +4,26 @@ title: 'Configure backend'
# Configure your client with the backend # Configure your client with the backend
If you would like to use an alternative backend server (the server responsible for saving user data across devices) then you can specify your own URL **without needing to host your own sudo-flix frontend!** If you would like to use an alternative backend server (the server responsible for saving user data across devices) then you can specify your own URL **without needing to host your own P-Stream frontend!**
<Caution> <Caution>
Changing your backend server will log you out of your account - make sure you have a copy of your 12-word passphrase saved in case you need to go back! Changing your backend server will log you out of your account - make sure you
have a copy of your 12-word passphrase saved in case you need to go back!
</Caution> </Caution>
<Steps> <Steps>
<Steps.Step> <Steps.Step>
On sudo-flix, click the menu icon at the top right and then `Settings`. On P-Stream, click the menu icon at the top right and then `Settings`.
</Steps.Step> </Steps.Step>
<Steps.Step> {' '}
Scroll down the page to the `Connections` section. <Steps.Step>Scroll down the page to the `Connections` section.</Steps.Step>
</Steps.Step>
<Steps.Step> {' '}
Enable the `Custom server` toggle and enter your backend URL in the input box that appears. <Steps.Step>
</Steps.Step> Enable the `Custom server` toggle and enter your backend URL in the input box
that appears.
</Steps.Step>
<Steps.Step> <Steps.Step>
Click `Save` at the bottom right corner of your screen. Click `Save` at the bottom right corner of your screen.

View file

@ -3,6 +3,7 @@ title: 'Support'
--- ---
# Support # Support
We provide support to users and hosters in our discord server. Though we have some rules about the questions you can ask. We provide support to users and hosters in our discord server. Though we have some rules about the questions you can ask.
<Frame> <Frame>
@ -15,5 +16,6 @@ We provide support to users and hosters in our discord server. Though we have so
</Frame> </Frame>
<Note> <Note>
Only ask questions in designated support tickets, otherwise they will most likely not be seen or answered seriously. Only ask questions in designated support tickets, otherwise they will most
likely not be seen or answered seriously.
</Note> </Note>

File diff suppressed because it is too large Load diff

Binary file not shown.

Before

Width:  |  Height:  |  Size: 369 KiB

After

Width:  |  Height:  |  Size: 223 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 4.8 KiB

View file

@ -1,11 +1,17 @@
import { defineTheme, directory, group, link, social } from '@neato/guider/theme'; import {
defineTheme,
directory,
group,
link,
social,
} from '@neato/guider/theme';
import { Logo } from './components/Logo'; import { Logo } from './components/Logo';
import { NextSeo } from 'next-seo'; import { NextSeo } from 'next-seo';
import coverUrl from "./public/cover.png"; import coverUrl from './public/cover.png';
import faviconUrl from "./public/favicon.ico"; import faviconUrl from './public/favicon.ico';
const starLinks = [ const starLinks = [
link('GitHub', 'https://github.com/sussy-code/smov', { link('GitHub', 'https://github.com/Pasithea0/smov', {
style: 'star', style: 'star',
newTab: true, newTab: true,
icon: 'akar-icons:github-fill', icon: 'akar-icons:github-fill',
@ -18,7 +24,7 @@ const starLinks = [
]; ];
export default defineTheme({ export default defineTheme({
github: "sussy-code/smov", github: 'Pasithea0/smov',
navigation: [ navigation: [
link('Discord', '/links/discord', { link('Discord', '/links/discord', {
style: 'star', style: 'star',
@ -31,94 +37,102 @@ export default defineTheme({
}), }),
], ],
contentFooter: { contentFooter: {
text: "Made with :3 (sillyness)", text: 'Made with :3 (sillyness)',
editRepositoryBase: "https://github.com/sussy-code/docs/blob/master", editRepositoryBase: 'https://github.com/Pasithea0/smov-docs/blob/master',
socials: [ socials: [
social.github("https://github.com/sussy-code"), social.github('https://github.com/Pasithea0'),
social.discord("/links/discord"), social.discord('/links/discord'),
] ],
}, },
meta: (pageMeta) => ( meta: (pageMeta) => (
<NextSeo {...{ <NextSeo
title: `${pageMeta.title ?? "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"} | sudo-flix`, {...{
description: pageMeta.description ?? "sudo-flix is a free and open source streaming site, no ads, no tracking, no nonsense.", title: `${pageMeta.title ?? "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"} | P-Stream`,
openGraph: { description:
images: [{ pageMeta.description ??
url: coverUrl.src, 'P-Stream is a free and open source streaming site, no ads, no tracking, no nonsense.',
}], openGraph: {
title: `${pageMeta.title ?? "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"} | sudo-flix`, images: [
description: pageMeta.description ?? "sudo-flix is a free and open source streaming site, no ads, no tracking, no nonsense.", {
}, url: coverUrl.src,
twitter: { },
cardType: 'summary_large_image', ],
}, title: `${pageMeta.title ?? "Watch your favorite shows and movies for free with no ads ever! (っ'ヮ'c)"} | P-Stream`,
additionalLinkTags: [ description:
{ pageMeta.description ??
href: faviconUrl.src, 'P-Stream is a free and open source streaming site, no ads, no tracking, no nonsense.',
rel: "icon", },
type: "image/x-icon", twitter: {
} cardType: 'summary_large_image',
] },
}} /> additionalLinkTags: [
{
href: faviconUrl.src,
rel: 'icon',
type: 'image/x-icon',
},
],
}}
/>
), ),
settings: { settings: {
logo: () => <Logo />, logo: () => <Logo />,
backgroundPattern: 'flare', backgroundPattern: 'flare',
colors: { colors: {
"primary": "#A476D9", primary: '#8288FE',
"primaryLighter": "#C4ADDE", primaryLighter: '#B7ADDE',
"primaryDarker": "#6E23C3", primaryDarker: '#656BD4',
"background": "#0C0B13", background: '#0C0B13',
"backgroundLighter": "#1A1726", backgroundLighter: '#12131FFF',
"backgroundLightest": "#282438", backgroundLightest: '#1A1B29FF',
"backgroundDarker": "#000000", backgroundDarker: '#000000',
"line": "#37334C", line: '#34334CFF',
"text": "#8C899A", text: '#8C899A',
"textLighter": "#A6A4AE", textLighter: '#A6A4AE',
"textHighlight": "#FFF" textHighlight: '#FFF',
}, },
}, },
directories: [ directories: [
directory("main", { directory('main', {
sidebar: [ sidebar: [
...starLinks, ...starLinks,
group("Global", [ group('Global', [
link("Instances", "/instances", { icon: 'mdi:web' }), link('Instances', '/instances', { icon: 'mdi:web' }),
link("Browser Extension", "/extension", { icon: 'mdi:extension' }), link('Browser Extension', '/extension', { icon: 'mdi:extension' }),
link("Support", "/support", { icon: 'mdi:help' }), link('Support', '/support', { icon: 'mdi:help' }),
]), ]),
group("Self-Hosting", [ group('Self-Hosting', [
link("Start self-hosting", "/self-hosting/hosting-intro"), link('Start self-hosting', '/self-hosting/hosting-intro'),
link("Configure backend", "/self-hosting/use-backend"), link('Configure backend', '/self-hosting/use-backend'),
link("PWA vs no-PWA", "/self-hosting/about-pwa"), link('PWA vs no-PWA', '/self-hosting/about-pwa'),
link("Troubleshooting", "/self-hosting/troubleshooting"), link('Troubleshooting', '/self-hosting/troubleshooting'),
]), ]),
group("Proxy", [ group('Proxy', [
link("Introduction", "/proxy/introduction"), link('Introduction', '/proxy/introduction'),
link("Deploy", "/proxy/deploy"), link('Deploy', '/proxy/deploy'),
link("Configuration", "/proxy/configuration"), link('Configuration', '/proxy/configuration'),
link("Changelog", "/proxy/changelog"), // link('Changelog', '/proxy/changelog'),
]), ]),
group("Client", [ group('Client', [
link("Introduction", "/client/introduction"), link('Introduction', '/client/introduction'),
link("Deploy", "/client/deploy"), link('Deploy', '/client/deploy'),
link("TMDB API Key", "/client/tmdb"), link('TMDB API Key', '/client/tmdb'),
link("Configuration", "/client/configuration"), link('Configuration', '/client/configuration'),
link("Changelog", "/client/changelog"), // link('Changelog', '/client/changelog'),
link("Update guide", "/client/upgrade"), link('Update guide', '/client/upgrade'),
]), ]),
group("Backend", [ group('Backend', [
link("Introduction", "/backend/introduction"), link('Introduction', '/backend/introduction'),
link("Deploy", "/backend/deploy"), link('Deploy', '/backend/deploy'),
link("Configuration", "/backend/configuration"), link('Configuration', '/backend/configuration'),
link("Changelog", "/backend/changelog"), // link('Changelog', '/backend/changelog'),
link("Update guide", "/backend/upgrade"), link('Update guide', '/backend/upgrade'),
]), ]),
group("Extra", [ group('Extra', [
link("Streaming", "/extra/streaming"), link('Streaming', '/extra/streaming'),
link("Selfhost", "/extra/selfhost"), link('Selfhost', '/extra/selfhost'),
]) ]),
] ],
}) }),
], ],
}); });

View file

@ -1,10 +1,6 @@
{ {
"compilerOptions": { "compilerOptions": {
"lib": [ "lib": ["dom", "dom.iterable", "esnext"],
"dom",
"dom.iterable",
"esnext"
],
"allowJs": true, "allowJs": true,
"skipLibCheck": true, "skipLibCheck": true,
"strict": false, "strict": false,
@ -17,12 +13,6 @@
"isolatedModules": true, "isolatedModules": true,
"jsx": "preserve" "jsx": "preserve"
}, },
"include": [ "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"],
"next-env.d.ts", "exclude": ["node_modules"]
"**/*.ts",
"**/*.tsx"
],
"exclude": [
"node_modules"
]
} }