From 37a41c715e8515bcae2d09ed295900b57fca0ae1 Mon Sep 17 00:00:00 2001 From: Cloudburst <18114966+C10udburst@users.noreply.github.com> Date: Sun, 22 Jan 2023 11:12:51 +0100 Subject: [PATCH] update dev urls --- devs/create-your-own-json-repository.md | 2 +- devs/create-your-own-providers.md | 2 +- devs/index.md | 2 +- devs/scraping/devtools_detectors.md | 2 +- devs/scraping/disguising_your_scraper.md | 2 +- devs/scraping/index.md | 10 +++++----- devs/scraping/using_apis.md | 4 ++-- devs/using-plugin-template.md | 6 +++--- 8 files changed, 15 insertions(+), 15 deletions(-) diff --git a/devs/create-your-own-json-repository.md b/devs/create-your-own-json-repository.md index de65a11..1fdf600 100644 --- a/devs/create-your-own-json-repository.md +++ b/devs/create-your-own-json-repository.md @@ -20,5 +20,5 @@ Cloudstream uses JSON files to fetch and parse lists of repositories. You can cr - `description`: self explanatory, will be visible in the app - `manifestVersion`: currently unused, may be used in the future for backwards compatibility - `pluginLists`: List of urls, which contain plugins. All of them will be fetched. - - If you followed "[Using plugin template](../using-plugin-template.md)" tutorial, the appropriate `plugins.json` file should be in the builds branch of your new repository. + - If you followed "[Using plugin template](using-plugin-template)" tutorial, the appropriate `plugins.json` file should be in the builds branch of your new repository. - If not, you can still generate one by running `gradlew makePluginsJson` \ No newline at end of file diff --git a/devs/create-your-own-providers.md b/devs/create-your-own-providers.md index 27befdf..0151751 100644 --- a/devs/create-your-own-providers.md +++ b/devs/create-your-own-providers.md @@ -16,7 +16,7 @@ Video links are often the most protected part of the website and if you cannot s ## 0. Scraping -If you are unfamiliar with the concept of scraping, you should probably start by reading [this guide](../scraping/index.md) which should hopefuly familiarize you with this technique. +If you are unfamiliar with the concept of scraping, you should probably start by reading [this guide](scraping) which should hopefuly familiarize you with this technique. ## 1. Searching diff --git a/devs/index.md b/devs/index.md index 43f0b09..4136362 100644 --- a/devs/index.md +++ b/devs/index.md @@ -7,4 +7,4 @@ expanded: false # For extension developers This section will outline how to start developing your own extensions for Cloudstream. -You should probably start by reading [How to use our plugin template](../using-plugin-template.md). +You should probably start by reading [How to use our plugin template](using-plugin-template). diff --git a/devs/scraping/devtools_detectors.md b/devs/scraping/devtools_detectors.md index 4053c89..50c1ffd 100644 --- a/devs/scraping/devtools_detectors.md +++ b/devs/scraping/devtools_detectors.md @@ -100,4 +100,4 @@ pref("devtools.console.bypass", true); pref("devtools.debugger.bypass", true); ``` -### Next up: [Why your requests fail](../disguising_your_scraper.md) \ No newline at end of file +### Next up: [Why your requests fail](disguising_your_scraper) \ No newline at end of file diff --git a/devs/scraping/disguising_your_scraper.md b/devs/scraping/disguising_your_scraper.md index 482953e..a1059f4 100644 --- a/devs/scraping/disguising_your_scraper.md +++ b/devs/scraping/disguising_your_scraper.md @@ -191,4 +191,4 @@ Keep in mind that if there is no ribbon/token, there is no way of reasonably acc In any case, this is how you, as a decent developer, handle the response properly. -### Next up: [Finding video links](../finding_video_links.md) \ No newline at end of file +### Next up: [Finding video links](finding_video_links) \ No newline at end of file diff --git a/devs/scraping/index.md b/devs/scraping/index.md index c6bf4ff..6289bf4 100644 --- a/devs/scraping/index.md +++ b/devs/scraping/index.md @@ -11,10 +11,10 @@ If you find any aspect of this guide confusing please open an issue about it and If you do not know programming at all then this guide will __not__ help you, learn programming! first Real scraping cannot be done by copy pasting with a vauge understanding. -0. [Starting scraping from zero](../starting.md) -1. [Properly scraping JSON apis often found on sites](../using_apis.md) -2. [Evading developer tools detection when scraping](../devtools_detectors.md) -3. [Why your requests fail and how to fix them](../disguising_your_scraper.md) -4. [Finding links and scraping videos](../finding_video_links.md) +0. [Starting scraping from zero](starting) +1. [Properly scraping JSON apis often found on sites](using_apis) +2. [Evading developer tools detection when scraping](devtools_detectors) +3. [Why your requests fail and how to fix them](disguising_your_scraper) +4. [Finding links and scraping videos](finding_video_links) Once you've read and understood the concepts behind scraping take a look at [a provider for CloudStream](https://github.com/recloudstream/cloudstream-extensions/blob/master/VidstreamBundle/src/main/kotlin/com/lagradost/VidEmbedProvider.kt#L4). I added tons of comments to make every aspect of writing CloudStream providers clear. Even if you're not planning on contributing to Cloudstream looking at the code may help. \ No newline at end of file diff --git a/devs/scraping/using_apis.md b/devs/scraping/using_apis.md index e11914d..346a2ab 100644 --- a/devs/scraping/using_apis.md +++ b/devs/scraping/using_apis.md @@ -10,7 +10,7 @@ And sometimes its the only way `(eg: the site uses its API to load the content, Anyways, this guide won't teach the same concepts over and over again,
so if you can't even make requests to an API then this will not tell you how to do that. -Refer to [starting](../starting.md) on how to make http/https requests. +Refer to [starting](starting) on how to make http/https requests. And yes, this guide expects you to have basic knowledge on both Python and Kotlin. ### Using an API (and parsing json) @@ -169,4 +169,4 @@ One thing to note is that you don't need to add all of the json key/value pairs Even though we set `DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES` as `false` it will still error on missing properties.
If a json may or may not include some info, make those properties as nullable in the structure you build. -### Next up: [Evading developer tools detection](../devtools_detectors.md) \ No newline at end of file +### Next up: [Evading developer tools detection](devtools_detectors) \ No newline at end of file diff --git a/devs/using-plugin-template.md b/devs/using-plugin-template.md index 9d147fc..75cde67 100644 --- a/devs/using-plugin-template.md +++ b/devs/using-plugin-template.md @@ -9,7 +9,7 @@ The easiest way to start developing is to use our [plugin-template](https://gith 1) Use our plugin template -2) Select `Include all branches`: +2) Select `Include all branches` 3) Check if GitHub actions are enabled, by going to: `Settings > Actions > General > Allow all actions and reusable workflows` @@ -19,5 +19,5 @@ The easiest way to start developing is to use our [plugin-template](https://gith After you have set up the repository, you can continue by reading: -- [Creating your own JSON repository](../create-your-own-json-repository.md) -- [Creating your own providers](../create-your-own-providers.md) +- [Creating your own JSON repository](create-your-own-json-repository) +- [Creating your own providers](create-your-own-providers)