Compare commits

..

1 Commits

Author SHA1 Message Date
mrjvs
ccb355da7f Merge 6723047b99 into e10040dc40 2024-03-31 03:03:12 +02:00
17 changed files with 101 additions and 1447 deletions

View File

@@ -1,6 +1,8 @@
module.exports = { module.exports = {
extends: ['next', 'plugin:prettier/recommended'], root: true,
rules: { extends: ['plugin:@next/next/recommended', 'plugin:prettier/recommended'],
'@next/next/no-img-element': 'off', parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
}, },
}; };

View File

@@ -1,32 +0,0 @@
name: Linting and Testing
on:
push:
branches:
- master
pull_request:
jobs:
linting:
name: Run Linters
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
- uses: pnpm/action-setup@v3
with:
version: 8
- name: Install Node.js
uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install pnpm packages
run: pnpm install
- name: Run ESLint
run: pnpm run lint

View File

@@ -1,10 +1,13 @@
import Link from 'next/link'; import Link from "next/link";
import classes from './Logo.module.css'; import classes from "./Logo.module.css";
import logoUrl from '../public/icon-light.png'; 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 movie-web" /> <img src={logoUrl.src} alt="Logo of movie-web" />
</Link> </Link>
); );

View File

@@ -10,16 +10,16 @@
"lint:fix": "next lint --fix" "lint:fix": "next lint --fix"
}, },
"devDependencies": { "devDependencies": {
"@next/eslint-plugin-next": "^14.1.4",
"@types/react": "18.2.73", "@types/react": "18.2.73",
"eslint": "^8.56.0", "eslint": "^8.56.0",
"eslint-config-next": "^14.1.4",
"eslint-config-prettier": "^9.1.0", "eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.2", "eslint-plugin-prettier": "^5.1.2",
"prettier": "^3.1.1", "prettier": "^3.1.1",
"typescript": "5.4.3" "typescript": "5.4.3"
}, },
"dependencies": { "dependencies": {
"@neato/guider": "^1.0.1", "@neato/guider": "^0.1.3",
"next": "^14.1.4", "next": "^14.1.4",
"next-seo": "^6.5.0", "next-seo": "^6.5.0",
"react": "^18.2.0", "react": "^18.2.0",

View File

@@ -1,3 +1,3 @@
import { createRedirect } from '@neato/guider/client'; import { createRedirect } from "@neato/guider/client";
export default createRedirect({ to: '/backend/introduction' }); export default createRedirect({ to: '/backend/introduction' });

View File

@@ -2,30 +2,6 @@
title: 'Changelog' title: 'Changelog'
--- ---
# Version 4.7.0
- Updated providers to 2.3.0
- Keyboard shortcuts now also work with uppercase keys
- 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 "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 autoplay. This can be turned on for extension users, users with a custom proxy, or can be turned on for all users for self-hosters using a environment variable.
- Improved translations: Persion (Mehdi), French (Erwann)
# Version 4.6.6
- Updated providers to 2.2.9
- Fixes for VidSrcTo and RidoMovies
- Improved translations: German, Persian, Hindi, Korean, Nepali (macrolanguage), Dutch, Chinese (Han (Simplified variant))
# Version 4.6.5
- Updated providers to 2.2.7
# Version 4.6.4
- Updated providers to 2.2.6
- Fixed Ridomovies not playing for extension users
- Added a default workflow for syncing forks
- 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

View File

@@ -128,13 +128,6 @@ When onboarding is enabled using `VITE_HAS_ONBOARDING`. This link will be used t
If omitted, this will still show the proxy onboarding screen, just without an documentation link for the proxy. If omitted, this will still show the proxy onboarding screen, just without an documentation link for the proxy.
### `VITE_ALLOW_AUTOPLAY`
- Type: `boolean`
- Default: `false`
Whether to allow autoplay for users that use the host provided proxies.
### `VITE_DISALLOWED_IDS` ### `VITE_DISALLOWED_IDS`
- Type: `string` - Type: `string`
@@ -169,8 +162,7 @@ The [Turnstile key](https://dash.cloudflare.com/sign-up?to=/:account/turnstile)
## Config reference - Environment Variables Only ## Config reference - Environment Variables Only
<Caution> <Caution>
These configuration keys are specific to environment variables, they **only** These configuration keys are specific to environment variables, they **only** work as environment variables **set at build time**.
work as environment variables **set at build time**.
</Caution> </Caution>
### `VITE_PWA_ENABLED` ### `VITE_PWA_ENABLED`
@@ -182,8 +174,7 @@ Set to `true` if you want to output a PWA application. Set to `false` or omit to
A PWA web application can be installed as an application to your phone or desktop computer, but can be tricky to manage and comes with a few footguns. A PWA web application can be installed as an application to your phone or desktop computer, but can be tricky to manage and comes with a few footguns.
<Warning> <Warning>
Make sure you know what you're doing before enabling this, it **cannot be Make sure you know what you're doing before enabling this, it **cannot be disabled** after you've set it up once.
disabled** after you've set it up once.
</Warning> </Warning>
### `VITE_GA_ID` ### `VITE_GA_ID`

View File

@@ -6,13 +6,11 @@ title: 'Deploy'
## Method 1 - Vercel - Recommended ## Method 1 - Vercel - Recommended
1. Click [here](https://github.com/movie-web/movie-web/fork) to fork the movie-web Github repository [![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https%3A%2F%2Fgithub.com%2Fmovie-web%2Fmovie-web%2Ftree%2Fmaster&env=VITE_CORS_PROXY_URL,VITE_TMDB_READ_API_KEY)
1. Click [here](https://vercel.com/) to go to Vercel
1. Click the Deploy button.
1. Sign in using either a GitHub, GitLab, or Bitbucket. 1. Sign in using either a GitHub, GitLab, or Bitbucket.
1. 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. 1. Follow the instructions to create a repository for movie-web.
1. 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.
![image](https://github.com/movie-web/docs/assets/115524074/f0186018-4499-4c29-9d04-f6c421811704)
1. Select your own fork of the movie-web Github repository.
1. Configure the environment variables: 1. 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. - `VITE_CORS_PROXY_URL`: Enter your proxy URL here. Make sure to not have a slash at the end of your URL.
@@ -22,7 +20,7 @@ title: 'Deploy'
- `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_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. - `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.
![Screenshot 2024-04-07 at 14-55-24 New Project Vercel](https://github.com/movie-web/docs/assets/115524074/a584ac1d-6e15-4618-8bb2-988985def3e0)
1. Click "Deploy" 1. Click "Deploy"
1. Congrats! You have your own version of movie-web hosted. 1. Congrats! You have your own version of movie-web hosted.
1. 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). 1. 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).

View File

@@ -1,3 +1,3 @@
import { createRedirect } from '@neato/guider/client'; import { createRedirect } from "@neato/guider/client";
export default createRedirect({ to: '/client/introduction' }); export default createRedirect({ to: '/client/introduction' });

View File

@@ -11,50 +11,34 @@ Keeping your instance up-to-date with the latest features and bug fixes can enha
You can also setup a scheduled workflow to automatically update your instance. This will allow you to keep your instance up to date without manual intervention. You can also setup a scheduled workflow to automatically update your instance. This will allow you to keep your instance up to date without manual intervention.
To do this, you will need to follow the guide below... To do this, you will need to follow the guide below...
1. If you have not already, click [here](https://github.com/movie-web/movie-web/fork) to fork the movie-web Github repository.
<Warning>This upgrade method will only work if your repository is a fork!</Warning> 2. Paste the below file into your repository's root `/.github/workflows` directory
<Steps>
<Steps.Step>
If you have not already, click [here](https://github.com/movie-web/movie-web/fork) to fork the movie-web Github repository.
</Steps.Step>
<Steps.Step>
Paste the below file into your repository's root `/.github/workflows` directory
```yaml ```yaml
# File: .github/workflows/sync.yml # File: .github/workflows/sync.yml
name: Sync fork name: Sync fork
permissions:
contents: write
on: on:
schedule: schedule:
- cron: "0 0 * * *" - cron: "0 * * * *" # Run the job every hour
workflow_dispatch: push:
branches:
- "*"
paths:
- .github/workflows/sync.yml
jobs: jobs:
sync: sync:
name: Sync fork
runs-on: ubuntu-latest runs-on: ubuntu-latest
if: ${{ github.event.repository.fork }}
steps: steps:
- name: Checkout code - uses: actions/checkout@v3
uses: actions/checkout@v4 - run: gh repo sync <OWNER>/<FORK> # Replace the placeholders within the < >
- name: Sync fork
run: gh repo sync ${{ github.repository }}
env:
GH_TOKEN: ${{ github.token }}
- uses: gautamkrishnar/keepalive-workflow@v1 - uses: gautamkrishnar/keepalive-workflow@v1
``` ```
</Steps.Step>
<Steps.Step> 3. Replace the `<OWNER>` placeholder with the GitHub username of the account that owns the fork.
Commit and push the changes to your repository. 4. Replace the `<FORK>` placeholder with the repository name of your fork.
</Steps.Step> 5. Commit and push the changes to your repository.
</Steps>
Your instance should now be automatically updated to the latest version. Your instance should now be automatically updated to the latest version.

View File

@@ -1,3 +1,3 @@
import { createRedirect } from '@neato/guider/client'; import { createRedirect } from "@neato/guider/client";
export default createRedirect({ to: '/extra/streaming' }); export default createRedirect({ to: '/extra/streaming' });

View File

@@ -24,7 +24,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](../proxy/deploy.mdx), [though we recommend Netlify](../proxy/deploy.mdx#method-1-netlify-easy). 1. Set up a proxy using one of our [guides](../proxy/deploy.mdx), [though we recommend Netlify](../proxy/deploy.mdx#method-1-netlify-easy).
2. Once that's done, go to the **Connections** section of the **Settings page** on your movie-web instance of choice. 2. Once that's done, go to the **Connections** section of the **Settings page** on your movie-web instance of chocie.
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.

View File

@@ -12,8 +12,7 @@ export default function LandingPage() {
<Hero> <Hero>
<Hero.Title>movie-web</Hero.Title> <Hero.Title>movie-web</Hero.Title>
<Hero.Subtitle> <Hero.Subtitle>
A simple and no-BS app for watching movies and TV shows. Totally free A simple and no-BS app for watching movies and TV shows. Totally free and open source, forever.
and open source, forever.
</Hero.Subtitle> </Hero.Subtitle>
<Hero.Actions> <Hero.Actions>
<Button to="/self-hosting/hosting-intro">Get Started</Button> <Button to="/self-hosting/hosting-intro">Get Started</Button>
@@ -30,36 +29,28 @@ export default function LandingPage() {
movie-web will never show ads, enjoy watching without interruptions. movie-web 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, subtitle customization and easy TV season navigation.
subtitle customization and easy TV season navigation.
</Card> </Card>
<Card icon="mdi:content-save" title="Saves your progress"> <Card icon="mdi:content-save" title="Saves your progress">
Will remember your progress in movies and TV shows, so you can easily Will remember your progress in movies and TV shows, so you can easily continue where you left off.
continue where you left off.
</Card> </Card>
<Card icon="mdi:bookmark" title="Bookmarking"> <Card icon="mdi:bookmark" title="Bookmarking">
Allows you to bookmark your favorite movies and TV shows, so you can Allows you to bookmark your favorite movies and TV shows, so you can easily find them again.
easily find them again.
</Card> </Card>
<Card icon="mdi:cloud-refresh" title="Syncing across devices"> <Card icon="mdi:cloud-refresh" title="Syncing across devices">
Enjoy uninterrupted streaming as your progress, proxies, and bookmarks Enjoy uninterrupted streaming as your progress, proxies, and bookmarks sync effortlessly across all your devices.
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 movie-web service, host your Mix and match different parts of the movie-web service, [host your backend](4.backend/1.deploy.md) or use ours, it'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">
Supports over 25 languages, including English, German, French, Supports over 25 languages, including English, German, French, Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more.
Spanish, Italian, Czech, Hindi, Arabic, Hebrew and more.
</Card> </Card>
<Card icon="mdi:brush-variant" title="Customizable"> <Card icon="mdi:brush-variant" title="Customizable">
Supports various themes, subtitle colors and subtitle sizes so you can Supports various themes, subtitle colors and subtitle sizes so you can make it look however you want.
make it look however you want.
</Card> </Card>
<Card icon="mdi:cellphone" title="Progressive Web App Support"> <Card icon="mdi:cellphone" title="Progressive Web App Support">
Supports PWA, so you can install it on your phone and use it just like Supports PWA, so you can install it on your phone and use it just like a native app.
a native app.
</Card> </Card>
</CardGrid> </CardGrid>
</GuiderLayout> </GuiderLayout>

View File

@@ -4,11 +4,11 @@ title: 'Instances'
# Instances # Instances
This page showcases movie-web instances hosted by the community and other alternative sites. 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 ## Community Instances
The community maintains these trusted instances, which are likely to be up-to-date. Remember that since these are volunteer instances, they might be down or stop working anytime. If you want to be sure you have access to movie-web, consider [hosting your own instance](../self-hosting/hosting-intro.mdx). 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](../self-hosting/hosting-intro.mdx).
**Instances marked with a 💾 have set up a backend, making it possible to sync your data across multiple devices.** **Instances marked with a 💾 have set up a backend, making it possible to sync your data across multiple devices.**
@@ -18,13 +18,13 @@ The community maintains these trusted instances, which are likely to be up-to-da
| Instance | Host | Status | | Instance | Host | Status |
| :------------------------------------------------ | :---------------------------------------------------------------------------------- | :------- | | :------------------------------------------------ | :---------------------------------------------------------------------------------- | :------- |
| [mw.lonelil.ru](https://mw.lonelil.ru) | [lonelil - Partner](https://github.com/lonelil) | 💾🌐📱 | | [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) | 💾📱 | | [watch.qtchaos.de](https://watch.qtchaos.de) | [chaos - Project Lead](https://github.com/qtchaos) | 💾📱 |
| [bmov.app](https://bmov.app) | [TheScreechingBagel - Mod](https://github.com/TheScreechingBagel) | 💾🌐 | | [bmov](https://bmov.vercel.app) | [TheScreechingBagel - Mod](https://github.com/TheScreechingBagel) | 💾🌐 |
| [stream.thehairy.me](https://stream.thehairy.me) | [thehairy - Mod](https://github.com/thehairy) | 💾🌐📱 | | [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) | 💾🌐 | | [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) | 💾🌐📱 | | [scootydooter](https://scootydooter.vercel.app) | [Toon - Contributor](https://github.com/Toon-arch) | 💾🌐📱 |
| [sudo-flix.lol](https://sudo-flix.lol) | [itzCozi - Contributor](https://github.com/sussy-code) | 💾📱 | | [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) | 💾 | | [movie-web.x](https://movie-web.x) | [Unstoppable Domains](https://unstoppabledomains.com) and [IPFS](https://ipfs.tech) | 💾 |
<Note> <Note>
@@ -34,7 +34,7 @@ If you cannot access [movie-web.x](https://movie-web.x) try using a gateway: [Cl
## Community Backend ## 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.ru` 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! 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!
@@ -42,7 +42,7 @@ You **do not** have to set up a new account; you can use your previous passphras
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. 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.ru](https://watch.lonelil.ru) - [watch.lonelil.com](https://watch.lonelil.com)
- [themoviearchive.site](https://themoviearchive.site) - [themoviearchive.site](https://themoviearchive.site)
- [braflix.video](https://braflix.video) - [braflix.video](https://braflix.video)
- [watch.streamflix.one](https://watch.streamflix.one) - [watch.streamflix.one](https://watch.streamflix.one)

View File

@@ -1,3 +1,3 @@
import { createRedirect } from '@neato/guider/client'; import { createRedirect } from "@neato/guider/client";
export default createRedirect({ to: '/proxy/introduction' }); export default createRedirect({ to: '/proxy/introduction' });

View File

@@ -1,3 +1,3 @@
import { createRedirect } from '@neato/guider/client'; import { createRedirect } from "@neato/guider/client";
export default createRedirect({ to: '/self-hosting/hosting-intro' }); export default createRedirect({ to: '/self-hosting/hosting-intro' });

1319
pnpm-lock.yaml generated

File diff suppressed because it is too large Load Diff