Compare commits

..

2 Commits

Author SHA1 Message Date
mrjvs
d3aa6a5f88 Add new docs starter 2024-01-12 17:26:05 +01:00
mrjvs
629005646b Start new folder 2024-01-12 17:25:23 +01:00
27 changed files with 2979 additions and 448 deletions

View File

@@ -1,72 +0,0 @@
name: Deploy Nuxt site to Pages
on:
# Runs on pushes targeting the default branch
push:
branches: ["master"]
# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
# Sets permissions of the GITHUB_TOKEN to allow deployment to GitHub Pages
permissions:
contents: read
pages: write
id-token: write
# Allow only one concurrent deployment, skipping runs queued between the run in-progress and latest queued.
# However, do NOT cancel in-progress runs as we want to allow these production deployments to complete.
concurrency:
group: "pages"
cancel-in-progress: false
jobs:
# Build job
build:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- uses: pnpm/action-setup@v2
with:
version: 8
- name: Setup Node
uses: actions/setup-node@v4
with:
node-version: "20"
cache: pnpm
- name: Setup Pages
uses: actions/configure-pages@v4
#with:
# static_site_generator: nuxt
- name: Restore cache
uses: actions/cache@v4
with:
path: |
dist
.nuxt
key: ${{ runner.os }}-nuxt-build-${{ hashFiles('dist') }}
restore-keys: |
${{ runner.os }}-nuxt-build-
- name: Install dependencies
run: pnpm install --frozen-lockfile
- name: Static HTML export with Nuxt
run: pnpm generate
env:
NUXT_APP_BASE_URL: /docs/
- name: Upload artifact
uses: actions/upload-pages-artifact@v3
with:
path: ./dist
# Deployment job
deploy:
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
needs: build
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v4

View File

@@ -1,4 +1,4 @@
# movie-web docs # movie-web docs
Find it at https://movie-web.github.io/docs Find it at https://docs.movie-web.app/

View File

@@ -3,8 +3,8 @@ export default defineAppConfig({
title: 'movie-web', title: 'movie-web',
description: description:
'movie-web is a free and open source streaming site, no ads, no tracking, no nonsense.', 'movie-web is a free and open source streaming site, no ads, no tracking, no nonsense.',
url: 'https://movie-web.github.io/docs', url: 'https://docs.movie-web.app',
image: '/docs/cover.png', image: '/cover.png',
socials: { socials: {
github: 'movie-web/movie-web', github: 'movie-web/movie-web',
}, },
@@ -27,6 +27,14 @@ export default defineAppConfig({
text: 'Made with 💜', text: 'Made with 💜',
href: 'https://github.com/movie-web', href: 'https://github.com/movie-web',
}, },
textLinks: [
{
text: 'movie-web',
href: 'https://movie-web.app',
target: '_blank',
rel: 'noopener',
},
],
}, },
}, },
}); });

View File

@@ -78,7 +78,7 @@ What's all the fuss?
#title #title
Multiple Languages Multiple Languages
#description #description
Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more. Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more. View the full list on [weblate](https://weblate.movie-web.app){target="\_blank"}.
:: ::
::card{icon="mdi:brush-variant"} ::card{icon="mdi:brush-variant"}
#title #title

View File

@@ -1,47 +0,0 @@
---
title: 'Instances'
icon: 'mdi:web'
---
# Instances
This page showcases movie-web instances hosted by the community and other alternative sites. If you want to add your instance to this list, please open a pull request on [GitHub](https://github.com/movie-web/docs).
## Community Instances
The community maintains these trusted instances, meaning they are likely to be up-to-date. Remember that since these are volunteer instances, they might be down or stop working at any time. If you want to be sure you have access to movie-web, consider [hosting your own instance](../1.self-hosting/1.hosting-intro.md).
**Instances marked with a 💾 have set up a backend, making it possible to sync your data across multiple devices.**<br />
**Additionally, instances with a 🌐 use the community backend hosted by Lonelil, which has all the original movie-web.app data!**<br />
**Moreover, instances marked with a 📱 have full PWA compatibility, enabling usage on your mobile device as if it were a native application.**
| Instance | Host | Status |
| :------------------------------------------------ | :---------------------------------------------------------------------------------- | :------- |
| [mw.lonelil.com](https://mw.lonelil.com) | [lonelil - Partner](https://github.com/lonelil) | 💾🌐📱 |
| [watch.qtchaos.de](https://watch.qtchaos.de) | [chaos - Project Lead](https://github.com/qtchaos) | 💾📱 |
| [bmov](https://bmov.vercel.app) | [TheScreechingBagel - Mod](https://github.com/TheScreechingBagel) | 💾🌐 |
| [stream.thehairy.me](https://stream.thehairy.me) | [thehairy - Mod](https://github.com/thehairy) | 💾🌐📱 |
| [movie-web-me](https://movie-web-me.vercel.app) | [Isra - Contributor](https://github.com/zisra) | 💾🌐 |
| [scootydooter](https://scootydooter.vercel.app) | [Toon - Contributor](https://github.com/Toon-arch) | 💾🌐📱 |
| [sudo-flix.lol](https://sudo-flix.lol) | [itzCozi - Community Self Hoster](https://github.com/sudo-flix) | 💾📱 |
| [movie-web.x](https://movie-web.x) | [Unstoppable Domains](https://unstoppabledomains.com) and [IPFS](https://ipfs.tech) | 💾 |
::alert{type="info"}
[movie-web.x](https://movie-web.x) is only accessible using Brave, Opera or installing an [extension](https://unstoppabledomains.com/extension) to resolve unstoppable domains.
If you cannot access [movie-web.x](https://movie-web.x) try using a gateway: [Cloudflare](https://cloudflare-ipfs.com/ipns/k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd), [dweb.link](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.dweb.link), or [cf-ipfs](https://k51qzi5uqu5diql6nkzokwdvz9511dp9itillc7xhixptq14tk1oz8agh3wrjd.ipns.cf-ipfs.com)
::
## Community Backend
Our partner, Lonelil, has kindly offered to host a movie-web backend with a copy of the original data from the movie-web.app. You can access this backend at: `https://mw-backend.lonelil.com` or `https://mw-backend.lonelil.ru`
You **do not** have to set up a new account; you can use your previous passphrase from movie-web, and all of your data will be there!
## Alternatives
These sites are not related to movie-web but are good enough to switch to if the official instances are down. You can also use [FMHY](https://fmhy.pages.dev/videopiracyguide) to find even more options.
- [watch.lonelil.com](https://watch.lonelil.com)
- [themoviearchive.site](https://themoviearchive.site)
- [braflix.video](https://braflix.video)
- [watch.streamflix.one](https://watch.streamflix.one)

View File

@@ -5,7 +5,7 @@ title: 'Start self-hosting'
# How to self-host # How to self-host
::alert{type="info"} ::alert{type="info"}
We provide support on a case-by-case basis. If you have any questions, feel free to ask in our [Discord server](https://movie-web.github.io/links/discord). We **do not** provide support on how to self-host. If you can't figure it out then tough luck. Please do not make GitHub issues or ask in our Discord server for support on how to self-host.
:: ::
Since movie-web 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 movie-web 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.

View File

@@ -8,4 +8,4 @@ Our proxy is used to bypass CORS-protected URLs on the client side, allowing use
The proxy is made using [Nitro by UnJS](https://nitro.unjs.io/) which supports building the proxy to work on multiple providers including Cloudflare Workers, AWS Lambda and [more...](https://nitro.unjs.io/deploy) The proxy is made using [Nitro by UnJS](https://nitro.unjs.io/) which supports building the proxy to work on multiple providers including Cloudflare Workers, AWS Lambda and [more...](https://nitro.unjs.io/deploy)
Our recommended provider is Netlify due to its [generous free plan](https://www.netlify.com/pricing/#core-pricing-table). Our recommended provider is Cloudflare due to its [generous free plan](https://www.cloudflare.com/en-gb/plans/developer-platform/).

View File

@@ -20,10 +20,6 @@ Netlify has a very generous free plan, so you'll be able to host your proxy for
## Method 2 - Cloudflare (Easy) ## Method 2 - Cloudflare (Easy)
::alert{type="warning"}
The sources showbox and febbox do NOT work with cloudflare. Use a different host if you want those to work.
::
Cloudflare has a generous free plan, so you don't need to pay anything unless you get hundreds of users. Cloudflare has a generous free plan, so you don't need to pay anything unless you get hundreds of users.
[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/movie-web/simple-proxy){target="\_blank"} [![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/movie-web/simple-proxy){target="\_blank"}
@@ -54,10 +50,6 @@ Cloudflare has a generous free plan, so you don't need to pay anything unless yo
## Method 2 - Cloudflare (Manual) ## Method 2 - Cloudflare (Manual)
::alert{type="warning"}
The sources showbox and febbox do NOT work with cloudflare. Use a different host if you want those to work.
::
1. Login to your Cloudflare account if you have one, otherwise create one [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages) 1. Login to your Cloudflare account if you have one, otherwise create one [here](https://dash.cloudflare.com/sign-up?to=/:account/workers-and-pages)
1. If you are signing up for an account, make sure to verify your email before going further! 1. If you are signing up for an account, make sure to verify your email before going further!
1. Download the latest version of the Cloudflare [`simple-proxy-cloudflare.mjs` script from here](https://github.com/movie-web/simple-proxy/releases/latest/download/simple-proxy-cloudflare.mjs). 1. Download the latest version of the Cloudflare [`simple-proxy-cloudflare.mjs` script from here](https://github.com/movie-web/simple-proxy/releases/latest/download/simple-proxy-cloudflare.mjs).
@@ -94,7 +86,7 @@ Railway offers you $5 of credit once you verify your account, which is enough to
::alert{type="warning"} ::alert{type="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 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! [Deploying with Cloudflare](#method-1-cloudflare-easy) is easier and safer to do! You are exposing your server at your own risk!
:: ::
Our `simple-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/movie-web/simple-proxy:latest`](https://ghcr.io/movie-web/simple-proxy:latest){target="\_blank"} :copy-button{content="ghcr.io/movie-web/simple-proxy:latest"} Our `simple-proxy` application is available from the GitHub Container Registry under the image [`ghcr.io/movie-web/simple-proxy:latest`](https://ghcr.io/movie-web/simple-proxy:latest){target="\_blank"} :copy-button{content="ghcr.io/movie-web/simple-proxy:latest"}

View File

@@ -43,67 +43,3 @@ title: 'Deploy'
- Vercel - Vercel
- Etc, [there are lots of options](https://www.staticwebsitehosting.org/){target="\_blank"}. - Etc, [there are lots of options](https://www.staticwebsitehosting.org/){target="\_blank"}.
9. Congrats! You have your own version of movie-web hosted. 9. Congrats! You have your own version of movie-web hosted.
## Method 3 - 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 movie-web on there home network for network connected devices.
1. Ensure you have [docker](https://docs.docker.com/get-docker/) installed. In a newly created directory called `movie-web` create a file called `docker-compose.yaml`. Paste the contents of the code block below into this file.
```yaml
version: "3.8"
services:
movieweb:
build:
context: https://github.com/movie-web/movie-web.git
# args:
# TMDB_READ_API_KEY: ""
# CORS_PROXY_URL: ""
# BACKEND_URL: ""
ports:
- "80:80"
restart: unless-stopped
```
2. Within the `docker-compose.yaml` file uncomment `args`, `TMDB_READ_API_KEY`, `CORS_PROXY_URL`.
- Make sure `args` is in-line with `context`
- Make sure `TMDB_READ_API_KEY` and `CORS_PROXY_URL` are tabbed once to the right of `args`.
3. Put your proxy URL in-between the double quotes of `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): `CORS_PROXY_URL: "https://test-proxy.test.workers.dev"`
4. Put your TMDB Read Access Token inside the quotes of `TMDB_READ_API_KEY: ""`. Please read [the TMDB page](2.tmdb.md) on how to get an API key.
5. Uncomment and add any [additional environment variables](3.configuration.md) you may need. Remove the `VITE_` prefix when adding an environment variable to `args`.
6. Save the file!
7. Now use [docker](https://docs.docker.com/get-docker/) to run `movieweb` as background service.
```bash
# movie-web is the current working directory
$ docker compose up --detach
```
8. Verify that setup was successful
- Navigate to `http://localhost`. You should see the UI for `movie-web`. Find something to watch and make sure that it plays.
- View logs with
```bash
$ docker compose logs --follow movieweb
```
9. Set a static IP address for your device.
- For Raspberry Pi: [guide](https://www.makeuseof.com/raspberry-pi-set-static-ip/)
- For Mac: [guide](https://www.macinstruct.com/tutorials/how-to-set-a-static-ip-address-on-a-mac/)
- For Windows: [guide](https://www.pcmag.com/how-to/how-to-set-up-a-static-ip-address)
10. Navigate to movie web at `http://<static-ip-address` from another device connected to your network.
### To Perform Updates For New Releases of Movie Web
1. Make sure `movie-web` is your current working directory and run:
```bash
# Re-build the image and start the container
$ docker compose up --build --detach
```

View File

@@ -42,15 +42,13 @@ This is the **read** API key from TMDB to allow movie-web to search for media. [
**Required. The client will not work properly if this is not configured.** **Required. The client will not work properly if this is not configured.**
:: ::
### `VITE_CORS_PROXY_URL` ### `VITE_CORS_PROXY_URL`
- Type: `string` - Type: `string`
- Default: `""` - Default: `""`
- Example: `"https://example1.example.com,https://example2.example.com"` - Example: `"https://example1.example.com,https://example2.example.com"`
This is where you put proxy URLs. [Get some by following our guides](/proxy/deploy). This is where you put proxy URLS, you must have at least one. [Get one by following our guide](/proxy/deploy).
If left empty, the client onboarding will not provide a "default setup" and the user will have to manually configure their own proxy or use the extension.
You can add multiple Workers by separating them with a comma, they will be load balanced using round robin method on the client. You can add multiple Workers by separating them with a comma, they will be load balanced using round robin method on the client.
**Worker URL entries must not end with a slash.** **Worker URL entries must not end with a slash.**
@@ -82,7 +80,7 @@ Setting this configuration value to `true` will enable the history-router.
### `VITE_BACKEND_URL` ### `VITE_BACKEND_URL`
- Type: `string` - Type: `string`
- Default: `""` - Default: `"https://backend.movie-web.app"`
- Example: `"https://backend.example.com"` - Example: `"https://backend.example.com"`
This is the URL for the movie-web backend server which handles cross-device syncing. This is the URL for the movie-web backend server which handles cross-device syncing.
@@ -91,43 +89,6 @@ The backend server can be found at https://github.com/movie-web/backend and is o
Backend URL must **not** end with a slash. Backend URL must **not** end with a slash.
### `VITE_HAS_ONBOARDING`
- Type: `boolean`
- Default: `true`
If you want your users to be prompted with an onboarding screen before they start watching, enable this.
### `VITE_ONBOARDING_CHROME_EXTENSION_INSTALL_LINK`
- Type: `string`
- Default: `"https://chromewebstore.google.com/detail/movie-web-extension/hoffoikpiofojilgpofjhnkkamfnnhmm"`
- 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.
If omitted, this will still show the extension onboarding screen, just without an install link for the extension.
### `VITE_ONBOARDING_FIREFOX_EXTENSION_INSTALL_LINK`
- Type: `string`
- Default: `"https://addons.mozilla.org/en-GB/firefox/addon/movie-web-extension"`
- 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.
If omitted, this will still show the extension onboarding screen, just without an install link for the extension.
### `VITE_ONBOARDING_PROXY_INSTALL_LINK`
- Type: `string`
- Default: `""`
- Example: `"https://google.com"`
When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used to link the user to resources to host a custom proxy.
If omitted, this will still show the proxy onboarding screen, just without an documentation link for the proxy.
### `VITE_DISALLOWED_IDS` ### `VITE_DISALLOWED_IDS`
- Type: `string` - Type: `string`
@@ -177,14 +138,6 @@ A PWA web application can be installed as an application to your phone or deskto
Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once. Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once.
:: ::
### `VITE_GA_ID`
- Type: `string`
- Default: `""`
- Example: `"G-1234567890"`
The Google Analytics ID for tracking user behavior. If omitted, no tracking will be done.
### `VITE_APP_DOMAIN` ### `VITE_APP_DOMAIN`
- Type: `string` - Type: `string`

View File

@@ -2,108 +2,12 @@
title: 'Changelog' title: 'Changelog'
--- ---
# Version 4.6.2
- Updated providers to 2.2.3
- Added defaults for extension store links
- Onboarding now defaults to true for self-hosters.
- Support for embedded HLS subtitles (This fixes Ridomovies having default subtitles that could not be changed).
- Improved translations: Polish, Toki Pona
# Version 4.6.1
- Fixed subtitle blur settings loading as NaN
- Improved translations: Czech, German, Persian, French, Italian, Dutch, Russian, Slovenian, Ukrainian, Chinese (Han (Simplified variant))
# Version 4.6.0
- Implemented media session support!
- Added option to blur background in subtitles
- Added vercel config to properly support using non-hash routing
- Fixed a bug in config that treated empty environment variables as being set, causing config.js to be ignored
- Fixed a bug in the button component that meant our own pages opened in a new tab
- Added new translations: Catalan
- Improved translations: Catalan, Spanish, Persian, French, Hindi, Icelandic, Italian, Nepali (macrolanguage), Dutch, Panjabi, Slovenian, Chinese (Han (Simplified variant)), Russian, Estonian, Korean
# Version 4.5.1
- Improved translations: Catalan, Czech, Spanish, Persian, French, Italian, Portuguese (Brazil), Russian, Tamil, Vietnamese, Chinese (Han (Simplified variant))
- Update providers to 2.2.2
- Update Dockerfile to have build-time arguments and add a Docker compose file
- Allow banners to be dismissible
- Update extension logic to process all URLs in a HLS playlist
- Automatically prefix backend URL with https:// if not provided
# Version 4.5.0
- Improved translations: Estonian, Persian, Toki Pona, Vietnamese.
- Route subtitles through extension if installed.
- Fix Docker build failing when PWA is enabled.
- Add randomised placeholders for search bar.
- Add preview to the theme selector.
- Remove references to the official domain.
- Update admin page to run worker tests in parallel.
- Disable creating account when backend server isn't set.
- Remove default setup option if no default proxy set.
- Remove extension help text when extension succeeded.
- Allow configuration of Google Analytics - removed our default one.
- Fix media download button redirection to incorrect URL on main tab.
- Allow users to change volume with scroll wheel.
# Version 4.4.0
- Changed behaviour of HLS playlists to have a copy button instead of a download button for more compatibility.
- Improve the appearance of the "active" pill under theme settings - it now has better padding and matches the theme it represents.
- If a user selects a proxy during onboarding, it is now saved to the backend if the user is signed in.
- Fixed sorting of shows that caused the "continue watching" to not update properly when syncing with the backend.
- Added an "x" button to clear the search query.
- Improve mobile layout for setup component.
- Fix HLS issue with throwing 403 error.
- Improved translations: Arabic, German, Persian, Finnish, Galician, Italian, Japanese, Korean, Panjabi, Russian, Turkish, Ukrainian, Chinese (Han (Simplified variant)).
- Update providers package to 2.2.
# Version 4.3.3
- Fixed body not being transferred properly to the extension (needs latest version of extension)
- Added new translations: Finnish
- Improved translations: Czech, German, English, Spanish, Persian, French, Galician, Gujarati, Hebrew, Hindi, Icelandic, Navajo, Portuguese (Brazil), Russian, Ukrainian, Chinese (Han (Simplified variant))
# Version 4.3.2
- Run account server data fetching in parallel.
- Added specific text per browser for extension setup screen
- Fix bug where first load the page couldn't talk to extension
- Fix too short of a timeout when checking for proxy response
- Move start of bolding for HLS disclaimer
- Fix app crash when opening download screen on lower RAM browsers
- Make onboarding start screen more mobile friendly
- Separate extension install links into two settings (firefox & chrome)
- Added new translations: Icelandic
- Improved translations: German, Spanish, Persian, French, Hebrew, Italian, Nepali (macrolanguage), Dutch, Polish, Portuguese (Brazil), Romanian, Chinese (Han (Simplified variant))
# Version 4.3.1
- Fix provider API interaction with extension.
# Version 4.3.0
- Add onboarding process to movie-web, triggable manually through settings. This needs to be turned when selfhosting.
- Added settings to toggle generated thumbnails, disabled by default
- Fix multiple subtitles with same language all showing as selected
- Add docker support, a hosted container image included (with ARM support)
- Added extension support, run movie-web without setting up a custom proxy
- Add disabled cursor for disabled buttons
- Add instruction link to custom proxy and custom server settings
- Added backdrop blur to navigation buttons
- Updated provider package (Re-enabled showbox/febbox subtitles)
- Added new translations: Catalan
- Improved translations: Bengali, Czech, German, Spanish, Persian, French, Galician, Italian, Nepali, Dutch, Polish, Portuguese, Portuguese, Russian, Turkish, Ukrainian, Vietnamese, Chinese
# Version 4.2.5 # Version 4.2.5
::alert{type="warning"} ::alert{type="warning"}
This release requires a new version of simple-proxy: 2.1.3 This release requires a new version of simple-proxy: 2.1.3
:: ::
- Update provider package, with fixes for febbox-mp4
- Update provider package, with fixes for febbox-mp4
# Version 4.2.4 # Version 4.2.4
@@ -111,33 +15,32 @@ This release requires a new version of simple-proxy: 2.1.3
This release requires a new version of simple-proxy: 2.1.1 This release requires a new version of simple-proxy: 2.1.1
:: ::
- Add meta tag for PWA's for apple devices - Add meta tag for PWA's for apple devices
- Add galician flag - Add galician flag
- Fix language fallback, this fixes weird dot notation instead of english language fallback - Fix language fallback, this fixes weird dot notation instead of english language fallback
- Add Docker image for frontend - Add Docker image for frontend
- Fix Brazilian portuguese flag in language selector - Fix Brazilian portuguese flag in language selector
- Add profile picture preview in register and update - Add profile picture preview in register and update
- Update Provider package to 2.0.4 - Update Provider package to 2.0.4
- Added new translations: Catalan - Added new translations: Catalan
- Improved translations: Czech, Greek, French, Gujarati, Hebrew, Hindi, Italian, Khmer (Central), Nepali, Dutch, Punjabi, Polish, Portuguese (Brazil), Romanian, Russian, Ukrainian, Vietnamese, Chinese (Simplified), pirate (generated), minion (generated) - Improved translations: Czech, Greek, French, Gujarati, Hebrew, Hindi, Italian, Khmer (Central), Nepali, Dutch, Punjabi, Polish, Portuguese (Brazil), Romanian, Russian, Ukrainian, Vietnamese, Chinese (Simplified), pirate (generated), minion (generated)
# Version 4.2.3 # Version 4.2.3
- Fix player UI not disappearing
- Fix player UI not disappearing - Implement new locale system to support regional and alternative languages
- Implement new locale system to support regional and alternative languages - Add Turnstile interactive challenge and Turnstile loading screen
- Add Turnstile interactive challenge and Turnstile loading screen - Added new translations: Galician, Punjabi, Romanian
- Added new translations: Galician, Punjabi, Romanian - Improved translations: Arabic, Czech, German, Spanish, Estonian, Gujarati, Hindi, Russian, Chinese (Simplified)
- Improved translations: Arabic, Czech, German, Spanish, Estonian, Gujarati, Hindi, Russian, Chinese (Simplified)
# Version 4.2.2 # Version 4.2.2
- Add worker URL syncing for accounts
- Fix broken hero title during the day
- Move search items with no poster to the end of the search results
- disable episodes if they have not been aired yet
- update provider package: disable febbox HLS, irrepairable
- Added new translations: Bulgarian, Bengali, Greek, Persian, Gujarati, Indonesian, Japanese, Korean, Slovenian, Tamil, Chinese (Traditional)
- Improved translations: Arabic, Czech, German, Spanish, Estonian, French, Hebrew, Hindi, Italian, Nepali, Dutch, Polish, Portuguese (Brazil), Russian, Thai, Toki Pona, Turkish, Ukrainian, Chinese (Simplified), pirate (generated), minion (generated)
- Add worker URL syncing for accounts
- Fix broken hero title during the day
- Move search items with no poster to the end of the search results
- disable episodes if they have not been aired yet
- update provider package: disable febbox HLS, irreparable
- Added new translations: Bulgarian, Bengali, Greek, Persian, Gujarati, Indonesian, Japanese, Korean, Slovenian, Tamil, Chinese (Traditional)
- Improved translations: Arabic, Czech, German, Spanish, Estonian, French, Hebrew, Hindi, Italian, Nepali, Dutch, Polish, Portuguese (Brazil), Russian, Thai, Toki Pona, Turkish, Ukrainian, Chinese (Simplified), pirate (generated), minion (generated)
# Version 4.2.1 # Version 4.2.1
@@ -181,7 +84,7 @@ This release requires a new version of simple-proxy: 2.1.1
# Version 4.1.1 # Version 4.1.1
- Fixed bug where settings toggles sometimes weren't usable - Fixed bug where settings toggles sometimes weren't usuable
- Fixed bug where captions were permanently enabled - Fixed bug where captions were permanently enabled
- Fixed some missing translations - Fixed some missing translations
- Translation improvements: arabic, french, nepali, chinese - Translation improvements: arabic, french, nepali, chinese
@@ -200,7 +103,7 @@ This release requires a new version of simple-proxy: 2.1.1
- Added minion joke language. Blame @jip\_. - Added minion joke language. Blame @jip\_.
- Thumbnail preview no longer goes under the next episode button. - Thumbnail preview no longer goes under the next episode button.
- Passphrase inputs are now actual password fields, so they may act nicer with password managers. - Passphrase inputs are now actual password fields, so they may act nicer with password managers.
- The player now remembers what your subtitle settings were, so no longer you need to keep selecting english every time you watch. - The player now remembers what your subtitle settings were, so no longer you need to keep selecting english everytime you watch.
- Fix home link not working with /s/:term shortcut. - Fix home link not working with /s/:term shortcut.
- Swedish flag is now an actual Swedish flag. - Swedish flag is now an actual Swedish flag.
- Fix for various layout issues with small width mobile screens. - Fix for various layout issues with small width mobile screens.

View File

@@ -6,11 +6,6 @@ title: 'Introduction'
The backend is essentially just an account server. It handles user accounts, syncing, and other account related features. The backend is essentially just an account server. It handles user accounts, syncing, and other account related features.
## Recommended Community Backend
To keep consistency and compatibility between different instances our partner, [lonelil](https://github.com/lonelil), has kindly offered to host a movie-web backend with a copy of the original data from the now unavailable movie-web.app backend. You can access this backend at: `https://mw-backend.lonelil.com` and `https://mw-backend.lonelil.ru`
Meaning users **do not** have to set up a new account; you can use your previous passphrase from movie-web, and all of your data will be there!
## Metrics ## Metrics
The backend exposes an endpoint for [Prometheus metrics](https://prometheus.io/){target="\_blank"} which allows you to keep track of the backend more easily, it can be accessed on `/metrics`. The backend exposes an endpoint for [Prometheus metrics](https://prometheus.io/){target="\_blank"} which allows you to keep track of the backend more easily, it can be accessed on `/metrics`.

View File

@@ -12,73 +12,26 @@ For configuration, check out the [configuration reference](2.configuration.md).
The postgres database will need to be populated with [migrations](0.introduction.md#migrations) if `postgres.migrateOnBoot` isn't enabled. The postgres database will need to be populated with [migrations](0.introduction.md#migrations) if `postgres.migrateOnBoot` isn't enabled.
:: ::
## Method 1 - Docker Deployment ## Method 1 - Docker
This method provides a straightforward setup with minimal configuration. For more extensive customization, see the [Configuration Reference](2.configuration.md). This method will help you set up the backend with the bare minimum configuration options. You'll most likely want to [add some more environment variables](2.configuration.md) to customize your experience more thoroughly.
**Prerequisites** The command below will not work unless customized by you, change the [`MWB_POSTGRES__CONNECTION`](2.configuration.md#postgresconnection) and [`MWB_CRYPTO__SESSION_SECRET`](2.configuration.md#cryptosessionsecret) to something valid for the backend to function.
* **Docker:** If you don't have Docker installed, download it from the official website: [Docker installation](https://www.docker.com/get-started) If you're using a hosted postgres database like [Neon](https://neon.tech/){target="\_blank"}, you'll also want to enable SSL support for the backend using the [`postgres.ssl`](2.configuration.md#postgresssl) option.
* **Docker Compose:** Install Docker Compose following the instructions for your operating system: [Docker-Compose installation](https://docs.docker.com/compose/install/)
**Setup** For other versions of the image, [check out the package page](https://github.com/movie-web/backend/pkgs/container/backend){target="\_blank"}.
1. **Create `docker-compose.yml`:**
```yaml ```sh
version: '3.8' docker run \
-p 80:80 \
-e MWB_POSTGRES__CONNECTION=postgresql://localhost:5432 \
-e MWB_CRYPTO__SESSION_SECRET=add-your-own-secret \
-e MWB_META__NAME=unofficial-movie-web \
ghcr.io/movie-web/backend:latest
```
services: After running that command, your backend [_should_](../1.self-hosting/4.troubleshooting.md) now be available on `localhost:80`. if you want to be able to connect to the backend outside of your local network (for example sharing it with your friends), then you'll need set up to port forwarding.
postgres:
image: postgres
environment:
POSTGRES_USER: movie_web_user
POSTGRES_DB: movie_web_backend
POSTGRES_PASSWORD: YourPasswordHere
ports:
- "5432:5432"
networks:
- movie-web-network
movie-web:
image: ghcr.io/movie-web/backend:latest
environment:
MWB_POSTGRES__CONNECTION: postgresql://movie_web_user:YourPasswordHere@postgres:5432/movie_web_backend
MWB_CRYPTO__SESSION_SECRET: 32CharacterLongStringHere
MWB_META__NAME: unofficial-movie-web
MWB_POSTGRES__MIGRATE_ON_BOOT: "true"
MIKRO_ORM_MIGRATIONS_DISABLE_FOREIGN_KEYS: "true"
ports:
- "80:80"
depends_on:
- postgres
networks:
- movie-web-network
networks:
movie-web-network:
driver: bridge
```
**Important:**
* Replace `YourPasswordHere` with your secure database password.
* Generate a strong session secret and replace `32CharacterLongStringHere`.
2. **Start the Backend:** Open a terminal in the directory containing `docker-compose.yml` and execute:
```bash
docker-compose up -d
```
**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.
**Optional: Implementing a Reverse Proxy**
To enhance your SSL and domain configuration, it's advisable to establish a reverse proxy, such as Nginx. For an optimal choice in this regard, Cloudflare Zero Trust Tunnel is recommended. You can find more information [here](https://developers.cloudflare.com/cloudflare-one/connections/connect-networks/get-started/create-remote-tunnel/).
- If you decide to utilize a reverse proxy, it's important to include `MWB_SERVER__CORS: "https://movie.example.com"` in your configuration.
- `MWB_SERVER__CORS` must contain a **space-separated** list of origins (Protocol + Hostname) for the client to be able to access the backend.
- Depending on your specific setup, you may also require the addition of `MWB_SERVER__TRUST_PROXY: true` and `MWB_SERVER__TRUST_CLOUDFLARE: true`.
## Method 2 - Railway (Easy) ## Method 2 - Railway (Easy)

View File

@@ -60,7 +60,7 @@ Port number that the HTTP server listens on.
- Default: `""` - Default: `""`
- Example: `"https://movie-web.app https://testing.movie-web.app"` - Example: `"https://movie-web.app https://testing.movie-web.app"`
Space separated list of allowed origins. Space seperated list of allowed origins.
### `server.allowAnySite` ### `server.allowAnySite`

View File

@@ -2,12 +2,6 @@
title: 'Changelog' title: 'Changelog'
--- ---
# Version 1.3.1
- Fixed bug where "false" env variables weren't treated as false for booleans
- Added ARM support for hosted docker container
- 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.

View File

@@ -23,7 +23,7 @@ This method is recommended if you want to host a proxy for your friends and or f
<!-- This method is recommended if you want to host a proxy for your friends and family to use, or if you want to use movie-web 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 movie-web on a device that doesn't support the [browser extension](#method-1---browser-extension), such as a smart TV or mobile device. -->
1. Set up a proxy using one of our [guides](../2.proxy/1.deploy.md#deploying-the-proxy), [though we recommend Netlify](../2.proxy/1.deploy.md#method-1---netlify-easy). 1. Set up a proxy using one of our [guides](../2.proxy/1.deploy.md#deploying-the-proxy), [though we recommend Netlify](../2.proxy/1.deploy.md#method-1---netlify-easy).
2. Once that's done, go to the **Connections** section of the **Settings page** on your movie-web instance of chocie. 2. Once that's done, go to the [Connections](https://movie-web.app/settings#settings-connection){target="\_blank"} section of the [Settings page](https://movie-web.app/settings){target="\_blank"} on [movie-web](https://movie-web.app){target="\_blank"}.
3. Enable `Use custom proxy workers` if it's not already enabled. 3. Enable `Use custom proxy workers` if it's not already enabled.
4. Add a new custom proxy by clicking `Add new worker`. 4. Add a new custom proxy by clicking `Add new worker`.
5. Copy the URL of the proxy you deployed before, and paste it into the empty text box. 5. Copy the URL of the proxy you deployed before, and paste it into the empty text box.

7
new/.editorconfig Normal file
View File

@@ -0,0 +1,7 @@
root = true
[*]
end_of_line = lf
insert_final_newline = true
indent_size = 2
indent_style = space

1
new/.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
* text=auto eol=lf

3
new/.gitignore vendored Normal file
View File

@@ -0,0 +1,3 @@
node_modules
.DS_Store
.next

21
new/LICENSE Normal file
View File

@@ -0,0 +1,21 @@
MIT License
Copyright (c) 2023 movie-web
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

4
new/README.md Normal file
View File

@@ -0,0 +1,4 @@
# movie-web docs
Find it at https://docs.movie-web.app/

8
new/next.config.js Normal file
View File

@@ -0,0 +1,8 @@
import nextra from "nextra";
const withNextra = nextra({
theme: 'nextra-theme-docs',
themeConfig: './theme.config.tsx'
})
export default withNextra({});

15
new/package.json Normal file
View File

@@ -0,0 +1,15 @@
{
"type": "module",
"scripts": {
"dev": "next",
"build": "next build",
"start": "next start"
},
"dependencies": {
"next": "^14.0.4",
"nextra": "^2.13.2",
"nextra-theme-docs": "^2.13.2",
"react": "^18.2.0",
"react-dom": "^18.2.0"
}
}

3
new/pages/index.mdx Normal file
View File

@@ -0,0 +1,3 @@
# Hello world !
This is a test

2844
new/pnpm-lock.yaml generated Normal file

File diff suppressed because it is too large Load Diff

10
new/theme.config.tsx Normal file
View File

@@ -0,0 +1,10 @@
import type { ThemeConfig } from "nextra"
const config: ThemeConfig = {
logo: <span>My Nextra Documentation</span>,
project: {
link: 'https://github.com/shuding/nextra'
}
}
export default config;

View File

@@ -3,9 +3,9 @@ export default defineNuxtConfig({
extends: '@nuxt-themes/docus', extends: '@nuxt-themes/docus',
devtools: { enabled: true }, devtools: { enabled: true },
app: { modules: [
head: { // Remove it if you don't use Plausible analytics
link: [{ rel: 'icon', type: 'image/x-icon', href: '/docs/favicon.ico' }], // https://github.com/nuxt-modules/plausible
}, '@nuxtjs/plausible',
}, ],
}); });