switched to guider

This commit is contained in:
mohitbkl
2024-04-15 12:07:48 +03:00
parent 89a78e4ae9
commit bd65ca0a9f
69 changed files with 2947 additions and 7912 deletions

View File

@@ -0,0 +1,128 @@
---
title: 'Changelog'
---
# Version 2.3.0
- Fixed RidoMovies search results
- Added Insertunit, SoaperTV, and WarezCDN providers
- Disabled Showbox and VidSrc
# Version 2.2.9
- Fixed VidSrcTo (both Vidplay and Filemoon embeds)
- Added dropload, filelions and vtube embeds to Primewire
- Fixed and enabled Smashystream
- Improved RidoMovies search results
# Version 2.2.8
- Fix package exports for CJS and ESM
- Fixed Mixdrop embed
- Added thumbnailTrack to Vidplay embed
# Version 2.2.7
- Fix showbox
# Version 2.2.6
- Fix febbox
- Validate if a stream is actually playable. Streams that are not responding are no longer returned.
# Version 2.2.5
- Add Primewire provider
- Improve VidSrcTo search results
- Fixed Filemoon embeds
- Fixed febbox
- Disabled non-working providers
- Reordered providers in ranking
# Version 2.2.4
- Hotfix for HDRezka provider
# Version 2.2.3
- Fix VidSrcTo
- Add HDRezka provider
- Fix Goojara causing a crash
- Improve react-native URLSearchParams implementation
- Cover an edge case where the title contains 'the movie' or 'the show'
# Version 2.2.2
- Fix subtitles not appearing if the name of the subtitle is in its native tongue.
- Remove references to the old domain
- Fixed ridomovies not working for some shows and movies
- Fixed Showbox not working in react-native.
# Version 2.2.1
- Fixed Closeload scraper
# Version 2.2.0
- Fixed vidsrc.me URL decoding.
- Added ridomovies with Ridoo and Closeload embed.
- Added Goojara.to source.
- Fixed VidSrcTo crashing if no subtitles are found.
- Added Nepu Provider.
- Added vidcloud to flixhq and zoechip.
- Add thumbnail track option to response (Not supported by any providers yet).
- Disabled Lookmovie and swapped Showbox and VidSrcTo in ranking.
# Version 2.1.1
- Fixed vidplay decryption keys being wrong and switched the domain to one that works
# Version 2.1.0
- Add preferedHeaders to most sources
- Add CF_BLOCKED flag to sources that have blocked cloudflare API's
- Fix vidsrc sometimes having an equal sign where it shouldnt
- Increase ranking of lookmovie
- Re-enabled subtitles for febbox-mp4
# Version 2.0.5
- Disable subtitles for febbox-mp4. As their endpoint doesn't work anymore.
# Version 2.0.4
- Added providers:
- Add VidSrcTo provider with Vidplay and Filemoon embeds
- Add VidSrc provider with StreamBucket embeds
- Fixed providers:
- RemoteStream
- LookMovie - Fixed captions
- ShowBox
- Updated documentation to fix spelling + grammar
- User-agent header fix
- Needs the latest simple-proxy update
- Added utility to not return multiple subs for the same language - Applies to Lookmovie and Showbox
# Version 2.0.3
- Actually remove Febbox HLS
# Version 2.0.2
- Added Lookmovie caption support
- Fix Febbox duplicate subtitle languages
- Remove Febbox HLS
# Version 2.0.1
- Fixed issue where febbox-mp4 would not show all qualities
- Fixed issue where discoverEmbeds event would not show the embeds in the right order
# Version 2.0.0
<Warning>
There are breaking changes in this list, make sure to read them thoroughly if you plan on updating.
</Warning>
**Development tooling:**
- Added integration test for browser. To make sure the package keeps working in the browser
- Add type checking when building, previously it ignored them
- Refactored the main folder, now called entrypoint.
- Dev-cli code has been split up a bit more, a bit cleaner to navigate
- Dev-cli is now moved to `npm run cli`
- Dev-cli has now has support for running in a headless browser using a proxy URL.
- Fetchers can now return a full response with headers and everything
**New features:**
- Added system to allow scraping IP locked sources through the consistentIpforRequests option.
- There is now a `buildProviders()` function that gives a builder for the `ProviderControls`. It's an alternative to `makeProviders()`.
- Streams can now return a headers object and a `preferredHeaders` object. which is required and optional headers for when using the stream.
**Notable changes:**
- Renamed the NO_CORS flag to CORS_ALLOWED (meaning that resource sharing is allowed)
- Export Fetcher and Stream types with all types related to it
- Providers can now return a list of streams instead of just one.
- Captions now have identifiers returned with them. Just generally useful to have
- New targets and some of them renamed

View File

@@ -0,0 +1,7 @@
---
title: 'Examples'
---
<Note>
Coming soon
</Note>

View File

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

View File

@@ -0,0 +1,16 @@
---
title: 'Introduction'
---
## What is `@movie-web/providers` ?
`@movie-web/providers` is the soul of [movie-web](https://github.com/movie-web/movie-web). It's a collection of scrapers of various streaming sites. It extracts the raw streams from those sites, so you can watch them without any extra fluff from the original sites.
## What can I use this on?
We support many different environments, here are a few examples:
- In browser, watch streams without needing a server to scrape (does need a proxy)
- In a native app, scrape in the app itself
- In a backend server, scrape on the server and give the streams to the client to watch.
To find out how to configure the library for your environment, You can read [How to use on X](/essentials/usage-on-x).

View File

@@ -0,0 +1,71 @@
---
title: 'Quick Start'
---
## Installation
Let's get started with `@movie-web/providers`. First lets install the package.
```sh npm2yarn
npm install @movie-web/providers
```
## Scrape your first item
To get started with scraping on the **server**, first you have to make an instance of the providers.
<Important>
This snippet will only work on a **server**. For other environments, check out [Usage on X](/essentials/usage-on-x).
</Important>
```ts title="index.ts (server)" showLineNumbers
import { makeProviders, makeStandardFetcher, targets } from '@movie-web/providers';
// this is how the library will make http requests
const myFetcher = makeStandardFetcher(fetch);
// make an instance of the providers library
const providers = makeProviders({
fetcher: myFetcher,
// will be played on a native video player
target: targets.NATIVE
})
```
Perfect. You now have an instance of the providers you can reuse everywhere.
Now let's scrape an item:
```ts title="index.ts (server)" showLineNumbers
import { ScrapeMedia, makeProviders, makeStandardFetcher, targets } from '@movie-web/providers';
const myFetcher = makeStandardFetcher(fetch);
const providers = makeProviders({
fetcher: myFetcher,
target: targets.NATIVE
});
const media: ScrapeMedia = {
type: 'movie',
title: "Oppenheimer",
releaseYear: 2023,
tmdbId: "872585"
};
async function fetchData() {
try {
const output = await providers.runAll({
media: media,
});
console.log("Output:",output)
} catch (error) {
console.error('Error occurred:', error);
}
}
fetchData();
```
Now we have our stream in the output variable. (If the output is `null` then nothing could be found.)
To find out how to use the streams, check out [Using streams](/essentials/using-streams).