diff --git a/.github/workflows/links.yml b/.github/workflows/links.yml
new file mode 100644
index 000000000..5cf81e7af
--- /dev/null
+++ b/.github/workflows/links.yml
@@ -0,0 +1,43 @@
+name: Links
+
+on:
+ workflow_dispatch:
+ schedule:
+ - cron: "0 0 * * 0"
+
+jobs:
+ linkChecker:
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+
+ - name: Link Checker
+ id: lychee
+ uses: lycheeverse/lychee-action@v1.8.0
+ with:
+ args: >-
+ --exclude-all-private
+ --verbose --no-progress
+ --user-agent 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36'
+ --max-redirects 10
+ --header "accept=*/*"
+ --accept 200,204,206,403,429
+ --base 'https://thewiki.moe'
+ --exclude-path './docs/hidden'
+ --exclude '^https://www.amd.com'
+ --exclude '^https://exhentai.org'
+ --exclude '^https://www.nzbking.com'
+ './**/*.md'
+
+# Public trackers, streaming sites, crunchyroll, kodi, qbittorrent, etc return 403
+# Nyaa returns 429
+# ./docs/hidden has unmaintained legacy files
+# AMD fails for reasons unknown to me, exhentai is private, and nzbking has bad uptime
+
+ - name: Create Issue From File
+ if: env.lychee_exit_code != 0
+ uses: peter-evans/create-issue-from-file@v4
+ with:
+ title: Link Checker Report
+ content-filepath: ./lychee/out.md
+ labels: report, automated issue
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 000000000..9589cd8c4
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+
+retype.manifest
diff --git a/README.md b/README.md
index 030e57260..93cc97866 100644
--- a/README.md
+++ b/README.md
@@ -1,15 +1,119 @@
-# thewiki
-Retype docs for thewiki.moe
+
+
+
+
+
thewiki.moe
+
+ Retype docs for thewiki.moe, a wiki for all things related to anime and more.
+
+ Explore the wiki »
+
+
+
-## How to edit
+
-1. [Create a new branch to do your work on](https://user-images.githubusercontent.com/4893775/213875083-5042d163-a775-49cd-88a1-090a65670b0c.png)
-2. [Do your work on it and commit the changes](https://user-images.githubusercontent.com/4893775/213875253-3578bbb1-cbe2-4250-9cd9-5c5412245d27.png)
-3. [Create a new pull request](https://user-images.githubusercontent.com/4893775/213874701-b4bcb7b9-bc3d-4c9f-a7d2-81b45b1009d6.png)
-4. [Squash and merge it](https://user-images.githubusercontent.com/4893775/213874863-624e7f47-ec39-4e6a-97ed-6b90fb8e5f4e.png)
+[![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/Snaacky/thewiki/retype-action.yml?style=flat&logo=github)](https://github.com/Snaacky/thewiki/actions/workflows/retype-action.yml) [![GitHub Workflow Status (with event)](https://img.shields.io/github/actions/workflow/status/Snaacky/thewiki/links.yml?logo=github&label=links)](https://github.com/Snaacky/thewiki/actions/workflows/links.yml)
+ [![GitHub issues](https://img.shields.io/github/issues/Snaacky/thewiki?style=flat&logo=github)](https://github.com/Snaacky/thewiki/issues) [![License](https://img.shields.io/github/license/Snaacky/thewiki?style=flat&logo=unlicense)](https://github.com/Snaacky/thewiki/blob/master/LICENSE) [![Discord](https://img.shields.io/discord/974468300304171038?style=flat&logo=discord)](https://discord.gg/snackbox)
-## Useful links
-* [Retype formatting guide](https://retype.com/guides/formatting/)
-* [Retype components list](https://retype.com/components/)
-* [Retype page configuration options](https://retype.com/configuration/page/)
-* [Retype folder configuration options](https://retype.com/configuration/folder/)
+
+
+## Table Of Contents
+
+- [Getting Started](#getting-started)
+ - [Prerequisites](#prerequisites)
+ - [Installation](#installation)
+- [Contributing](#contributing)
+- [License](#license)
+- [Contributors](#contributors)
+
+## Getting Started
+
+thewiki is built using [Retype](https://retype.com). See how you can host a local copy on your machine:
+
+### Prerequisites
+
+- [Node.js](https://nodejs.org/en) - *This can be installed with [`nvm`](https://github.com/nvm-sh/nvm) or [`nvm-windows`](https://github.com/coreybutler/nvm-windows) depending on your OS*
+
+- To install with `nvm`, run the following in your terminal:
+
+ ```sh
+ nvm install latest
+ ```
+
+ ```sh
+ nvm use latest
+ ```
+
+### Installation
+
+1. Install [retypeapp](https://www.npmjs.com/package/retypeapp). You can install it using [`npm`](https://www.npmjs.com) or [`yarn`](https://yarnpkg.com):
+
+ ```sh
+ npm install retypeapp --global
+ ```
+
+ ```sh
+ yarn global add retypeapp
+ ```
+
+2. Clone this repo:
+
+ ```sh
+ git clone https://github.com/Snaacky/thewiki.git
+ ```
+
+3. Build and run:
+
+ - The `retype start` command automatically prepares and loads the website into the browser:
+
+ ```sh
+ retype start thewiki
+ ```
+
+ - Alternatively, you can use `retype build` to build it without running it:
+
+ ```sh
+ retype build thewiki --output retype
+ ```
+
+## Contributing
+
+Contributions are **much appreciated**!
+
+- If you have any suggestions, feel free to [open an issue](https://github.com/Snaacky/thewiki/issues/new) to discuss it, join our [Discord](https://discord.gg/snackbox), or create a [pull request](https://github.com/Snaacky/thewiki/pulls)
+- Make sure you check your spelling and grammar
+- Create an individual PR for each suggestion
+
+### Creating A Pull Request
+
+1. Fork this repository
+2. Create your feature branch
+
+ ```sh
+ git checkout -b feature/NewGuide
+ ```
+
+3. Commit your changes
+
+ ```sh
+ git commit -m 'Add some NewGuide'
+ ```
+
+4. Push to the branch
+
+ ```sh
+ git push origin feature/NewGuide
+ ```
+
+5. Open a pull request
+
+## License
+
+Distributed under the [Unlicense](https://choosealicense.com/licenses/unlicense/) License. See [LICENSE](https://github.com/Snaacky/thewiki/blob/master/LICENSE) for more information.
+
+## Contributors
+
+
+
+
diff --git a/docs/advanced/muxing.md b/docs/advanced/muxing.md
index a25c9315f..e3c871bd0 100644
--- a/docs/advanced/muxing.md
+++ b/docs/advanced/muxing.md
@@ -1,260 +1,120 @@
---
label: Muxing
+description: Muxing files with MKVToolNix
order: -2
---
# Muxing
-Matroska(mkv) is a very versatile container. It can contain multiple streams of video, audio, subtitles, and other attachments. The process of taking these streams, adding or removing some, and bundling them into a new mkv is called muxing. In general, you could be muxing any format, but for anime we'll mostly be dealing with mkv. It's useful when you want to use subtitles from a different release with what you already have downloaded, or to remove the extra english audio tracks to save space. Note that this is a lossless process different from encoding and takes only a few seconds.
+[Matroska](https://www.matroska.org/) is a very versatile container. Matroska is usually found as `.mkv` files (Matroska video), .`mka` files (Matroska audio), `.mks` files (subtitles). It can contain multiple streams of video, audio, subtitles, and other attachments. The process of taking these streams, adding or removing some, and bundling them into a new file is called muxing or multiplexing. Muxing is a lossless process and takes only a few seconds. In general, you could be muxing any format, but for anime we'll mostly be dealing with mkv. It's useful when you want to use subtitles from a different release with what you already have downloaded, or to remove the extra english audio tracks to save space.
-[Mkvtoolnix](https://mkvtoolnix.download/) is the best tool for all kinds of muxing. The equivalent cli option is mkvmerge (installed with mkvtoolnix) or ffmpeg. The process can also be done in batch for a whole folder at once. Example (paste in cmd in that folder) -
+## MKVToolNix
-`FOR /F "tokens=*" %G IN ( 'dir /b *.mkv ') DO ffmpeg -n -i "%G" -map 0:v:0 -map 0:a:1 -map 0:s:2 -map 0:t? -c copy "%~nG .mkv"`
+[MKVToolNix](https://mkvtoolnix.download/downloads.html) is a set of tools to create, alter and inspect Matroska & WebM files under Windows, macOS, Linux and other Unices. It is the de-facto reference implementation of a Matroska multiplexer.
-This will copy the first video, second audio, third subtitle stream and all attachments, which are usually the japanese ones in dual audio releases. You can check the stream number with mediainfo. The index starts from zero so `-map 0:s:0` would select the first subtitle stream. `-map 0:t?` copies the attachments(fonts) if any exist. Understanding more about the [ffmpeg map option](https://trac.ffmpeg.org/wiki/Map) is helpful here as that is the only part you need to change.
+MKVToolNix consists of the following command-line tools:
-## Video
+- `mkvmerge` is a tool to create Matroska & WebM files from other formats.
+- `mkvinfo` allows one to get information about the tracks in Matroska & WebM files.
+- `mkvextract` can extract tracks from Matroska & WebM files to other formats.
+- `mkvpropedit` can edit properties such as header and chapter information or attachments without remuxing.
-Ideally, the video should be an encode that's an improvement over the source video but realistically that isn't always the case since sometimes no good encode exists. This guide won't be tackling the topic of encoding since there's already one [here](https://guide.encode.moe/encoding/preparation.html).
+On top of them sits `MKVToolNix GUI`, an easy-to-use program making the functionality of those command-line tools available as a GUI.
-### General
+### Getting started
-- WEB-DLs are usually the best source for shows which haven't gotten a BluRay (usually airing or recently ended).
-- An encode of the BluRay that's better than the source will trump the source.
-- BluRay Remux trumps WEB-DL/WEBRip and Bad Encodes.
-- Avoid mini encodes as these are targeted to save size by sacrificing quality. Some popular mini encode groups to avoid are:
+1. After installing MKVToolNix, you're pretty much ready to go. Once you launch it, you'll be greeted with this.
+ You'll see 3 tabs here:
+ - `Input` tab for adding your files, modifying existing tracks, adding/removing tracks and more.
+ - `Output` tab for adding metadata like file title or chapters.
+ - `Attachments` tab for additional attachments, commonly used for adding fonts required by the subtitle tracks and things like cover.
-```
-Anime Time, AnimeKaizoku, AnimeRG, BakedFish, Bonkai, CBB/CherryBomB, Cleo, DB, DeadFish,
-Edge, EMBER, Hakata Ramen, Hi10, iPUNISHER, Judas, Kanjouteki, M@nI, MiniFreeza,
-MiniTheatre, Mr.Deadpool, NemDiggers, NoobSubs, project-gxs, SSA, youshikibi
-```
-
-### Video Source
-
-Unless you are making your own encode, you'll have to stick to the available options. To get started:
-
-- Download the different raws/encodes you find along with the source (BDMV/Remux) and make a [comparison](/tutorials/comparison).
-- Look at the comparison to decide the best source and if you are having trouble picking one, feel free to join the [SeaDex Discord](https://discord.com/invite/jPeeZewWRn) where pixel peepers will check it out and help you decide.
-
-## Audio
-
-### Recommended Tools
-
-- [eac3to](https://forum.doom9.org/showthread.php?t=125966) with [updated libraries](https://mega.nz/#!dFAmEC4Y!WMTQvzLkfTDHPfhTXURSLaFWbmDMVaq3dKfk4ucjYrI) for extracting and transcoding.
-- [SoX](http://sox.sourceforge.net/) for resampling and bit depth reduction.
-- [opus-tools](https://opus-codec.org/downloads/) for transcoding lossless audio to Opus.
-- [acsuite](https://github.com/OrangeChannel/acsuite) for frame-based cutting/trimming/splicing of audio files using VapourSynth clip information.
-- [sync-audio-tracks](https://github.com/alopatindev/sync-audio-tracks) calculates a delay between two audios and produces a shifted audio.
-- [downsampler-threaded](https://gitlab.com/beep_street/downsampler-threaded) is a multi-process sox frontend for automatically resampling FLAC files.
-
-### General
-
-Either lossless or lossy audio can be used for a good release but with a few things to keep in mind:
-
-- Avoid including the lossless audio tracks like PCM, DTS-HD, DTS-HD MA, and TrueHD from BDMVs/Remuxes. These tracks should always be transcoded to either FLAC (lossless compression) or a lossy codec with appropriate bitrate.
- - **Note**: _Do not transcode object-based codecs like DTS:X or Dolby Atmos to FLAC as Dolby Atmos is an extension to TrueHD and DTS:X is an extension to DTS-HD MA. Their metadata will be ignored or stripped out during conversion._
-- Audio tracks should either be converted to 16-bit FLAC because 24-bit FLAC is bloated with no benefits or to a lossy audio codec like Opus with an appropriate bitrate like 128-192Kb/s for Stereo tracks and 256-320Kb/s for multi-channel tracks to achieve transparency.
-- Never downmix multichannel audio to stereo.
-- Never transcode a lossy track.
-
-### eac3to
-
-Once you have eac3to with updated libraries, you can start with this simple command:
-
-```batch
-eac3to ExampleAnime.mkv
-```
-
-Or, if it's a BDMV
-
-```batch
-eac3to /path/to/BDMV/
-```
+ [![](/static/muxing/mkvtoolnix.png)](/static/muxing/mkvtoolnix.png)
-This will return all the tracks in the file.
-For example:
+2. You can either right-click anywhere in the top "Source Files" box or drag and drop your file in it.
-```batch
-D:\MHA>eac3to "My Hero Academia the Movie- The Heroes Rising 2018 1080p BluRay Hybrid-REMUX AVC TrueHD 5.1 Dual Audio -ZR-.mkv"
-MKV, 1 video track, 3 audio tracks, 3 subtitle tracks, 1:44:09, 24p /1.001
-1: h264/AVC, English, 1080p24 /1.001 (16:9)
-2: TrueHD, English, 5.1 channels, 48kHz
- "Surround 5.1"
-3: AC3, English, 5.1 channels, 448kbps, 48kHz, 24ms
- "Surround 5.1"
-4: DTS Master Audio, Japanese, 5.1 channels, 24 bits, 48kHz
- (core: DTS, 5.1 channels, 1509kbps, 48kHz)
- "Surround 5.1"
-5: Subtitle (PGS), English
-6: Subtitle (PGS), English, "Signs & Songs"
-7: Subtitle (PGS), Japanese
-```
-
-Now you can select, extract and convert them all at once by using the numbers corresponding to each track.
-
-```batch
-eac3to ExampleAnime.mkv 2: "ENG.5.1.flac" 3: "ENG.5.1.*" 4: "JPN.5.1.flac"
-```
+ - Once you add your source file, all the tracks in your file will show up in the box below, along with other relevant things in each tab.
+ - Tracks will be randomly assigned a color to indicate what source they belong to.
+ - Checking or unchecking a track will decide if it'll be kept or removed in the output file.
+ - By default, anything you won't explicitly uncheck will be copied over to the new output file.
+ - Clicking on any track allows you to modify several properties in the window on the right. It's important you get this right and it's covered in more details [below](#correct-tagging).
-Batch command:
+ [![](/static/muxing/mkvtoolnix2.png)](/static/muxing/mkvtoolnix2.png)
-```batch
-for %I in (*.mkv) do eac3to "%I" 2: "%~nI.ENG.5.1.flac" 3: "%~nI.ENG.5.1.*" 4: "%~nI.JPN.5.1.flac"
-```
+3. Once you're done making your changes, assign a [name](/advanced/release-standards/#naming) to your file and hit `Start multiplexing`. Make sure to check all 3 tabs to ensure what's being copied over.
-Shell command:
-
-```shell
-for file in *.mkv; do eac3to "${file}" 2: "${file%.*}.ENG.5.1.flac" 3: "${file%.*}.ENG.5.1.*" 4: "${file%.*}.JPN.5.1.flac"; done
+ [![](/static/muxing/mkvtoolnix3.png)](/static/muxing/mkvtoolnix3.png)
-```
+ !!!
+ MKVToolNix also allows you to [generate a commandline](/static/muxing/mkvtoolnix4.png) with all the changes you made in the GUI.
+ !!!
-This will select the second and fourth tracks and transcode both of them losslessly to FLAC but the third lossy track will be extracted without any transcoding because no codec was specified.
+### Fonts
-For example:
+Fonts used by the `.ass` subtitles must be attached to the `.mkv` file for displaying subtitles accurately on the user's end. This can be easily done by dragging the fonts used by the `.ass` file into the `attachments` tab. You can usually source the correct fonts from the same fansub release you got the subtitles from. You can also get the fonts used by the `.ass` file with [Aegisub](https://github.com/arch1t3cht/Aegisub) or [FontCollector](https://github.com/moi15moi/FontCollector) if you have them on your system already.
-```batch
-D:\MHA>eac3to "My Hero Academia the Movie- The Heroes Rising 2018 1080p BluRay Hybrid-REMUX AVC TrueHD 5.1 Dual Audio -ZR-.mkv" 2: "English 5.1.flac" 3: "English 5.1.*" 4: "Japanese 5.1.flac"
-------------------------------------------------------------------------------
-MKV, 1 video track, 3 audio tracks, 3 subtitle tracks, 1:44:09, 24p /1.001
-1: h264/AVC, English, 1080p24 /1.001 (16:9)
-2: TrueHD, English, 5.1 channels, 48kHz
- "Surround 5.1"
-3: AC3, English, 5.1 channels, 448kbps, 48kHz, 24ms
- "Surround 5.1"
-4: DTS Master Audio, Japanese, 5.1 channels, 24 bits, 48kHz
- (core: DTS, 5.1 channels, 1509kbps, 48kHz)
- "Surround 5.1"
-5: Subtitle (PGS), English
-6: Subtitle (PGS), English, "Signs & Songs"
-7: Subtitle (PGS), Japanese
-[a02] Extracting audio track number 2...
-[a03] Extracting audio track number 3...
-[a04] Extracting audio track number 4...
-[a02] Decoding with libav/ffmpeg...
-[a03] Applying (E-)AC3 delay...
-[a04] Decoding with libDcaDec DTS Decoder...
-[a02] Encoding FLAC with libFlac...
-[a03] A remaining delay of -8ms could not be fixed.
-[a04] Encoding FLAC with libFlac...
-[a02] Creating file "English 5.1.flac"...
-[a03] Creating file "English 5.1.ac3"...
-[a04] Creating file "Japanese 5.1.flac"...
-[a02] Removing TrueHD dialog normalization...
-[a02] Original audio track, L+R+C+SL+SR: max 20 bits, average 17 bits.
-[a02] Original audio track, LFE: constant bit depth of 16 bits.
-[a04] The original audio track has a constant bit depth of 24 bits.
-Video track 1 contains 149592 frames.
-eac3to processing took 7 minutes, 28 seconds.
-Done.
-```
+### Correct Tagging
-Here the second and fourth lossless tracks get transcoded to FLAC while the lossy AC3 track remains the same.
+The `Properties` tab allows you tag each track with various flags. Tagging a track correctly is very important and must be done correctly because proper tagging enables a player to autoselect the correct language streams for audio and subtitles. Tags can be edited in the MKVToolNix or mkvpropedit without remuxing.
-### SoX
+- **Video track:**
+ - Language tag is optional.
+ - Mention the name of the `Encoder/Encode group` or simply region like `JPBD` or `ITABD` if it's untouched BluRay Remux.
+- **Audio Tracks:**
+ - Mention the Codec, Channels, and Bitrate in the `Name` field.
+ - `Japanese` audio should always be tagged as `jpn` and marked as `Default`
+ - `English` audio should always be tagged as `eng` but should not be marked as `Default` or `Forced`. This is to make sure auto-selection works well for both dub and sub watchers.
+- **Subtitle Tracks:**
+ - Language tag must be used appropriately reflecting the language of the subtitles.
+ - Tag the best `Full Subtitles` as `eng` and `Default`
+ - Tag the `Signs/Songs` track as `eng` and `forced`. This is to make sure auto-selection works well for both dub and sub watchers.
+ - Tag the `Honorifics` track as `enm` but neither `Default` nor `Forced`.
+ - Tag any and all additional subtitle tracks as neither `Default` nor `Forced`.
-If you're planning to include lossless audio from the source, downconvert and dither 24-bit lossless tracks to 16-bit FLAC for the sake of reducing bloat as 24-bit is significantly larger with no benefits over 16-bit FLAC.
+!!!info
+The [`Forced display`](https://user-images.githubusercontent.com/78981416/242083337-174f6edf-8ac7-4bbf-a4ea-1dd46f66d3d7.png) flag here DOES NOT mean that these subs will be permanently on the screen, which is a common misconception. Forced subtitles only provide subtitles when the characters speak a foreign or alien language, or a sign, flag, or other text in a scene is not translated in the localization and dubbing process. In our case, it's supposed to be displayed whenever the English dub has untranslated things like Japanese Signs and Songs like Opening/Ending or Inserts.
+!!!
-Here's the recommended command:
+Here's an example of what a properly tagged file would look like:
-```batch
-sox input.flac -R -G -b 16 output.flac rate -v -L 48000 dither
-```
+| Track | Language | Name | Default | Forced |
+| ------------ | -------- | ------------------------- | ------- | ------ |
+| Video | jpn | Encode Group | yes | no |
+| Audio #1 | jpn | FLAC 2.0 | yes | no |
+| Audio #2 | eng | Opus 5.1 @ 320kb/s | no | no |
+| Subtitles #1 | eng | Full Subtitles [Fansub] | yes | no |
+| Subtitles #2 | enm | Honorifics [Fansub] | no | no |
+| Subtitles #3 | eng | Signs/Songs [Fansub] | no | yes |
+| Subtitles #4 | eng | Full Subtitles [Official] | no | no |
-Batch command:
+!!!warning
+Newer mkvtoolnix versions automatically set the default flag to `yes` on all streams. This is technically the correct use for the flag but all players do not have the intended results with this kind of tagging.
+!!!
+**Command to tag everything properly for an existing file without remuxing (assuming the order of tracks is correct):**
++++ Windows
```batch
-for %I in (*.flac) do sox "%I" -G -b 16 "%~nI.flac" rate -v -L 48000 dither
-```
-
-Shell command:
-
+for %X in (*.mkv) do mkvpropedit "%X" --add-track-statistics-tags --edit info --delete title ^
+--edit track:v1 --set name="Encode Group" --set language=jpn --set flag-default=1 ^
+--edit track:a1 --set name="FLAC 2.0" --set language=jpn --set flag-default=1 ^
+--edit track:a2 --set name="Opus 5.1 @ 320kb/s" --set language=eng --set flag-default=0 ^
+--edit track:s1 --set name="Full Subtitles [Fansub]" --set language=eng --set flag-default=1 --set flag-forced=0 ^
+--edit track:s2 --set name="Honorifics [Fansub]" --set language=enm --set flag-default=0 --set flag-forced=0 ^
+--edit track:s3 --set name="Signs/Songs [Fansub]" --set language=eng --set flag-default=0 --set flag-forced=1 ^
+--edit track:s4 --set name="Full Subtitles [Official]" --set language=eng --set flag-default=0 --set flag-forced=0
+```
++++ Linux
```shell
-for file in *.flac; do sox -S "${file}" -R -G -b 16 "${file%.*}.flac" rate -v -L 48000 dither; done
-```
-
-### opus-tools
-
-If you're planning to include lossy audio, it's recommended to use Opus with a bitrate of 128-192Kb/s for Stereo tracks and 256-320Kb/s for multi-channel tracks to achieve transparency.
-
-Here are the recommended commands:
-
-```batch
-opusenc --bitrate 192 Stereo_track.flac Stereo_track.opus
-```
-
-```batch
-opusenc --bitrate 320 multichannel_track.flac multichannel_track.opus
-```
-
-Batch command:
-
-```batch
-for %I in (*.flac) do opusenc --bitrate 192 "%I" "%~nI.opus"
-```
-
-Shell command:
-
-```shell
-for file in *.flac; do opusenc --bitrate 192 "${file}" "${file%.*}.opus"; done
-```
-
-## Subtitles
-
-## Recommended Tools
-
-- [arch1t3cht/Aegisub](https://github.com/arch1t3cht/Aegisub) for everything subtitle work.
-- [SubKt](https://github.com/Myaamori/SubKt) is a highly configurable toolkit for fansubbing automation.
-- [Myaamori-Aegisub-Scripts](https://github.com/TypesettingTools/Myaamori-Aegisub-Scripts) includes several helpful scripts for processing `.ASS` subtitles.
-- [Prass](https://github.com/tp7/Prass) is another Console processor for `.ASS` subtitles.
-- [tp7/Sushi](https://github.com/tp7/Sushi) is an automatic subtitle shifter based on audio.
-- [FichteFoll/Sushi](https://github.com/FichteFoll/Sushi) is the python 3 fork of [tp7/Sushi](https://github.com/tp7/Sushi).
-
-## General
-
-- Multiple Subtitle tracks take negligible space and provide more options so there's no reason not to include them.
-- Always include the official subtitle track.
-- Always include fansubs if they exist and are of good quality.
-- `Honorifics` track must be tagged as `enm`.
-- Must include a `Signs and Songs` track for English dub.
-- It's recommended to check the subtitle track for obvious grammatical errors, punctuation errors, typos, etc.
-- Check the subtitle tracks for scene bleeds, i.e, when something extends to a frame it shouldn't.
-- Pick the default subtitle track by diffing the different options and finding the best one. This can be done via sites like [Diffchecker](https://www.diffchecker.com/) or [evadiff](https://meitantei.org/public/evadiff/).
-- Here's a [subdigest](https://github.com/TypesettingTools/Myaamori-Aegisub-Scripts#sub-digest) script to get clean text file output of .ASS subtitles for diff checking:
-
-Batch command:
-
-```batch
-for %I in (*.ass) do python -m subdigest -i "%I" --selection-set "text" "\\p" --remove-selected --selection-set style "Sign|OP|ED|op|ed|kfx|Karaoke|Eyecatch|Signs" --remove-selected --remove-all-tags --remove-comments --get-field text -o "%~nI.txt"
-```
-
-Shell command:
-
-```shell
-for file in *.ass do; python -m subdigest -i "${file}" --selection-set "text" "\\p" --remove-selected --selection-set style "Sign|OP|ED|op|ed|kfx|Karaoke|Eyecatch|Signs" --remove-selected --remove-all-tags --remove-comments --get-field text -o "${file%.*}.txt"; done
-```
-
-## Styling
-
-- The dialogue style must be readable without being distracting.
-- Feel free to restyle bad styling. Here's a reference for some good [dialogue fonts](https://user-images.githubusercontent.com/78981416/233718169-0c5bf0d5-3ba4-4836-b41b-6c7c1c0d14b1.png).
-- You can also copy styling from existing groups like [GJM](https://nyaa.si/user/GoodJobMedia), [Kaleido](https://nyaa.si/user/Kaleido-subs), or [DDY](https://nyaa.si/user/DameDesuYo).
-- Try to match the styling of previous seasons of the same show to maintain consistency. Although this isn't mandatory and should be avoided if previous season releases had bad styling.
-
-## Advanced
-
-### Ordered Chapters/mkv linking
-
-On some releases(like coalgirls), the OP/ED are removed from the episodes and placed into separate files. These files are then linked to the appropriate position in the episodes where they are supposed to play. While this is a great idea to save space, unfortunately, it doesn't work on a lot of players and the OP/ED is never played. If you notice this while watching anime, OCs are the most probable cause.
-
-[Explanation for ordered chapters](https://mod16.org/hurfdurf/?p=8)
-
-Fix ordered chapters using [UnlinkMKV](https://github.com/gnoling/UnlinkMKV)
-
-### CRC32
-
-This is used to verify that the files you have are the correct ones, or whether they match with the version released by the uploader. CRCs will change if any part of the file changes, even if you only change one letter in one tag in the file. This allows us to identify files that were changed from the original source or corrupted at some point. However, just renaming the file will not change it. Apart from the numbers included within [] at the end of a filename, .sfv (CRC checksum) or .md5 (MD5 checksum) files can also be used for the same purpose. Sometimes a group makes mistakes and wants to correct them by releasing a second version(v2), in this case the changed CRC makes it easy to differentiate between multiple versions.
-
-You can use [Anime Checker](http://animechecker.sourceforge.net/) or [RapidCRC](https://www.ov2.eu/programs/rapidcrc-unicode) to verify or add CRC to your files.
+for file in *.mkv; do
+ mkvpropedit "${file}" --add-track-statistics-tags --edit info --delete title \
+ --edit track:v1 --set name="Encode Group" --set language=jpn --set flag-default=1 \
+ --edit track:a1 --set name="FLAC 2.0" --set language=jpn --set flag-default=1 \
+ --edit track:a2 --set name="Opus 5.1 @ 320kb/s" --set language=eng --set flag-default=0 \
+ --edit track:s1 --set name="Full Subtitles [Fansub]" --set language=eng --set flag-default=1 --set flag-forced=0 \
+ --edit track:s2 --set name="Honorifics [Fansub]" --set language=enm --set flag-default=0 --set flag-forced=0 \
+ --edit track:s3 --set name="Signs/Songs [Fansub]" --set language=eng --set flag-default=0 --set flag-forced=1 \
+ --edit track:s4 --set name="Full Subtitles [Official]" --set language=eng --set flag-default=0 --set flag-forced=0
+done
+```
++++
diff --git a/docs/advanced/release-standards.md b/docs/advanced/release-standards.md
index 21f7c200a..dd0322c48 100644
--- a/docs/advanced/release-standards.md
+++ b/docs/advanced/release-standards.md
@@ -1,6 +1,6 @@
---
label: Release Standards
-order: -3
+order: -4
---
# Release Standards
diff --git a/docs/advanced/typesetting.md b/docs/advanced/typesetting.md
new file mode 100644
index 000000000..5d71a1256
--- /dev/null
+++ b/docs/advanced/typesetting.md
@@ -0,0 +1,5 @@
+---
+label: Typesetting
+redirect: https://unanimated.github.io/ts/
+order: -3
+---
diff --git a/docs/faq/faq-general.md b/docs/faq/faq-general.md
index 8490c34cd..74edf6683 100644
--- a/docs/faq/faq-general.md
+++ b/docs/faq/faq-general.md
@@ -59,7 +59,7 @@ Not every block is implemented the same, so the only way to figure out is by tri
- If it's a deep packet inspection (DPI) block, you may have some success with DPI circumvention tools such as [GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI) or [PowerTunnel](https://github.com/krlvm/PowerTunnel-Android).
-- Otherwise, a VPN with servers in a country without censorship blocks will usually work. [Refer to our VPN FAQ section for more information](/faq/vpn).
+- Otherwise, a VPN with servers in a country without censorship blocks will usually work. [Refer to our VPN FAQ section for more information](/faq/faq-vpn/).
diff --git a/docs/faq/faq-torrent.md b/docs/faq/faq-torrent.md
index 7ec7a1200..139da004c 100644
--- a/docs/faq/faq-torrent.md
+++ b/docs/faq/faq-torrent.md
@@ -7,7 +7,7 @@ order: -2
## How do I torrent?
-Check out our [detailed torrenting guide](/guides/torrenting), it's very useful along with [Google](https://www.google.com/).
+Check out our [detailed torrenting guide](/getting-started/torrenting/), it's very useful along with [Google](https://www.google.com/).
## What torrent clients are recommended?
@@ -72,9 +72,9 @@ Size can be used to judge web sources, but it's not the best measure of quality
## What does it mean for a torrent to be "stalled"?
-The files you download from torrents are downloaded from [**seeders**](/guides/torrenting), who have already finished downloading the files and are uploading to leechers/peers, who may also upload to each other. In case there aren't enough seeders, or if you are unable to [connect](/guides/torrenting#connectability) to a seeder, you will be unable to download 100% of a torrent.
+The files you download from torrents are downloaded from [**seeders**](/getting-started/torrenting/), who have already finished downloading the files and are uploading to leechers/peers, who may also upload to each other. In case there aren't enough seeders, or if you are unable to [connect](/getting-started/torrenting/#port-forwarding) to a seeder, you will be unable to download 100% of a torrent.
-This may also be because the initial seeder (the uploader) hasn't uploaded the entirety of the file to the **swarm** yet. Usually, you can wait and you should eventually connect to a seeder, but in case there are no seeders, you can ask someone who has the file to re-seed it so that you can download it. You can also try **reannouncing** to the [tracker](/guides/torrenting#glossary) (manually requesting the tracker for a refresh on peers and seeders) to try and get more seeders.
+This may also be because the initial seeder (the uploader) hasn't uploaded the entirety of the file to the **swarm** yet. Usually, you can wait and you should eventually connect to a seeder, but in case there are no seeders, you can ask someone who has the file to re-seed it so that you can download it. You can also try **reannouncing** to the [tracker](/resources/glossary/) (manually requesting the tracker for a refresh on peers and seeders) to try and get more seeders.
## What do I do if some files are corrupt/unplayable?
diff --git a/docs/getting-started/anime.md b/docs/getting-started/anime.md
index 3b9e14ff8..d64fb90d6 100644
--- a/docs/getting-started/anime.md
+++ b/docs/getting-started/anime.md
@@ -1,7 +1,7 @@
---
label: Anime
order: -2
-description: Learn How and Where to Find Your Favorite Anime
+description: Learn how and where to find your favorite anime
image: https://user-images.githubusercontent.com/78981416/215166522-1d7358e8-bec2-4a54-a9ec-71deab646e56.gif
---
@@ -9,40 +9,69 @@ image: https://user-images.githubusercontent.com/78981416/215166522-1d7358e8-bec
## Streaming
-Unofficial - [TheIndex](https://theindex.moe/)
+!!!
+*See [The Index](https://theindex.moe) for a more comprehensive list of unofficial anime streaming sites.*
+
+Looking for official streaming sites? *See [r/anime's list of legal streams](https://www.reddit.com/r/anime/wiki/legal_streams).*
+!!!
+
+Streaming sites are generally preferred by most anime watchers as they require no additional setup and are easy to use while being convenient.
-Official - [/r/anime list of legal streams](https://www.reddit.com/r/anime/wiki/legal_streams)
+However, some sites will heavily compress video/audio and may have ads. *We suggest using a reliable content blocker, such as [uBlock Origin](https://ublockorigin.com). Additionally, you may want to consider torrenting if you care about quality.*
-Streaming sites require no setup and are convenient. However, they heavily compress video and may have ads. Aiming for compatibility, they are also unable to use efficient codecs like x265. If data limits are a concern, torrenting x265 mini encodes from Nyaa is a better option. Here is a comparison between mini encodes and most popular streaming sites - https://slow.pics/c/pjYaqdnr.
+Aiming for compatibility, they are also unable to use efficient codecs like x265. *If data limits are a concern, torrenting x265 mini encodes may be a better option. See the [quality comparisons between mini encodes and popular streaming sites](/guides/quality/#quality-comparisons).*
-Official streams have better quality, but are also larger (~1.3GB per episode for 1080p). They can be obtained by torrenting from groups like SubsPlease, who rip untouched official streams.
+Official streams have better quality but are also typically larger (~1.3GB per episode for 1080p). *They can be obtained by torrenting from groups like SubsPlease, who rip untouched streams.*
-Read more: [Quality Guide](/guides/quality)
+*See the [streaming sites](/sourcing/streaming/) sourcing guide and [quality guide](/guides/quality) for more information.*
## Torrenting
-Torrent files can be found and downloaded from trackers like [nyaa.si](https://nyaa.si). Use [GoodbyeDPI](https://github.com/ValdikSS/GoodbyeDPI) or follow this [tutorial](/tutorials/unblock) to unblock sites.
+Torrenting, while can sometimes require more setup, allows for more flexibility and accessibility for watching your shows.
-The downloaded .torrent file or the magnet link has to be opened in your torrent client - [qBittorrent](https://www.qbittorrent.org/download.php) for PC and [LibreTorrent](https://play.google.com/store/apps/details?id=org.proninyaroslav.libretorrent)/[Flud](https://play.google.com/store/apps/details?id=com.delphicoder.flud) for Android. After the download is complete, the torrents do not need to be removed from the client.
+Unlike streaming sites, torrents provide access to better releases, such as [BDs for older shows](/guides/quality/#bd-vs-web) and greater video quality. *Some shows will also have fansubs, which may be preferred over official subtitles.*
-The speed is dependent on the number of seeds and their connection quality. You can connect to more seeds and improve speeds with [port forwarding](/guides/torrenting#how-to-port-forward). You may want to use a [VPN](/faq/vpn) or a [seedbox](/guides/torrenting#what-is-a-seedbox) for downloading torrents to avoid receiving a copyright infringement notice from your ISP.
+Torrenting requires the use of a torrent client, such as [qBittorrent](/tutorials/qbittorrent). Shows are shared in the form of .torrent files or magnet links, which can be found on trackers such as [Nyaa](https://nyaa.si). These are used by your torrent client to know what to download. *Download speeds are dependent on the number of seeds available and connection quality.*
+
+!!!warning
+Downloading anime torrents may be illegal depending on where you live. *To avoid receiving a copyright infringement notice from your ISP, you may want to consider using a [VPN](/getting-started/torrenting/#vpn) or [seedbox](/getting-started/torrenting/#seedbox).*
+!!!
-Advantages of torrents include access to more options with better quality/size ratios, and automation through RSS or Sonarr.
+Additionally, you may choose to automatically fetch and download shows using RSS or Sonarr. *Check out the [RSS Tutorial](/tutorials/qbittorrent/#rss) on how to set up RSS with your torrent client.*
-Read more: [Torrenting Guide](/guides/torrenting), [RSS Tutorial](/tutorials/rss)
+*See the [torrenting guide](/getting-started/torrenting) for more information.*
## Playback
+A brief list of recommended media player applications.
+
!!!warning
-VLC is not recommended because it displays wrong colours, introduces visual artifacts, and breaks intensive subtitles.
+VLC is not recommended as it introduces visual artifacts, displays wrong colors, and breaks intensive subtitles. We suggest using alternative media players.
!!!
-**PC:** [MPV](https://mpv.io/installation/), [MPC-HC](https://github.com/clsid2/mpc-hc/releases), [Potplayer](https://potplayer.daum.net)
++++ PC :desktop_computer:
+
+- [mpv](https://mpv.io/installation/) [!badge icon=":heart:" variant="primary" text="Recommended"]
+- [MPC-HC](https://github.com/clsid2/mpc-hc/releases)
+- [Potplayer](https://potplayer.daum.net)
+
++++ Android :robot_face:
+
+- [mpv-android](https://play.google.com/store/apps/details?id=is.xyz.mpv)
+- [VLC for Android](https://play.google.com/store/apps/details?id=org.videolan.vlc)
+
++++ iOS :green_apple:
+
+- [Outplayer](https://apps.apple.com/app/outplayer/id1449923287)
+- [VLC media player](https://apps.apple.com/app/vlc-media-player/id650377962)
-**Android:** [mpv-android](https://play.google.com/store/apps/details?id=is.xyz.mpv&hl=lv&gl=US), [VLC for Android](https://play.google.com/store/apps/details?id=org.videolan.vlc)
++++ TV/Media Servers :tv:
-**iOS:** [Outplayer](https://apps.apple.com/us/app/outplayer/id1449923287), [VLC for iOS](https://apps.apple.com/us/app/vlc-media-player/id650377962)
+- [Kodi](https://kodi.tv) [!badge icon=":heart:" variant="primary" text="Recommended"]
+- [Plex](https://www.plex.tv) [!badge icon=":heart:" variant="primary" text="Recommended"]
+- [Emby](https://emby.media)
+- [Jellyfin](https://jellyfin.org)
-**TV/Media Servers:** [Kodi](https://kodi.tv), [Plex](https://www.plex.tv/), [Jellyfin](https://jellyfin.org/)
++++
-Read more: [Playback Guide](/guides/playback)
+*See the [playback guide](/guides/playback) for more information.*
diff --git a/docs/getting-started/hentai.md b/docs/getting-started/hentai.md
index f49e604c0..8c4c759d1 100644
--- a/docs/getting-started/hentai.md
+++ b/docs/getting-started/hentai.md
@@ -1,11 +1,11 @@
---
label: Hentai
order: -5
-description: Learn How and Where to Find Your Favorite Hentai
+description: Learn how and where to find your favorite hentai
image: https://user-images.githubusercontent.com/78981416/229375640-a48e0150-2558-40f5-b42b-dad17ff6729b.gif
author:
- name: "ctyd"
- link: https://github.com/ctyd0
+ name: "scourgeofgrozny"
+ link: https://github.com/scourgeofgrozny
avatar: https://avatars.githubusercontent.com/u/124029849
---
diff --git a/docs/getting-started/literature.md b/docs/getting-started/literature.md
index 165547b75..286cc25ea 100644
--- a/docs/getting-started/literature.md
+++ b/docs/getting-started/literature.md
@@ -80,11 +80,11 @@ Although these are significantly lower quality, not all manga get official digit
[Kavita](https://www.kavitareader.com/) - Free and open source manga, comic, and book server with OPDS support. This means that any reader with OPDS, like Perfect Viewer, [can be used to read manga from the server](https://wiki.kavitareader.com/en/guides/settings/opds). Has support for [CDisplayEX](https://wiki.kavitareader.com/en/guides/misc/cdisplayex), [Tachiyomi](https://wiki.kavitareader.com/en/guides/misc/tachiyomi), and [Paperback](https://wiki.kavitareader.com/en/guides/misc/paperback). It also has an integrated webreader. [DEMO](https://wiki.kavitareader.com/en/kavita-demo).
-[Komga](https://komga.org/) - Free and open source manga server with OPDS support. This means that any reader with OPDS, like Perfect Viewer, [can be used to read manga from the server](https://komga.org/guides/opds.html). Tachiyomi and Paperback are supported through their respective [komga extensions](https://komga.org/guides/tachiyomi.html). It also has an integrated webreader.
+[Komga](https://komga.org/) - Free and open source manga server with OPDS support. This means that any reader with OPDS, like Perfect Viewer, [can be used to read manga from the server](https://komga.org/docs/guides/opds). Tachiyomi and Paperback are supported through their respective [komga extensions](https://komga.org/docs/guides/tachiyomi). It also has an integrated webreader.
[komf](https://github.com/Snd-R/komf) - Komga and Kavita metadata fetcher.
-[Mango](https://getmango.app/) - An open-source manga server and web reader.
+[Mango](https://github.com/getmango/Mango) - An open-source manga server and web reader.
[FMD2](https://github.com/FreeMangaDownloader/FMD2) - Free Manga Downloader 2
diff --git a/docs/getting-started/music.md b/docs/getting-started/music.md
index 69a67644d..2bad0b3f4 100644
--- a/docs/getting-started/music.md
+++ b/docs/getting-started/music.md
@@ -1,11 +1,88 @@
---
label: Music
order: -4
-description: Learn How and Where to Listen to Your Favorite Music
+description: Learn how and where to find your favorite music
image: https://user-images.githubusercontent.com/78981416/215862523-7c39ad32-2656-4e88-81a7-346428bc41f2.gif
+author:
+ name: "scourgeofgrozny"
+ link: https://github.com/scourgeofgrozny
+ avatar: https://avatars.githubusercontent.com/u/124029849
---
# Music
-- [The Mega Music Ripping Guide](https://ori5000.github.io/musicripping.html)
-- [Sharky's Music Google Docs](https://docs.google.com/document/d/1Poj4p2W0C0Napmwd7bcustlgWrkgp71dy9HlZwUr46w/edit)
+## Content Resources
+
+- [Soulseek](http://www.slsknet.org/news/) - P2P network where people share music files of their own. Great way to find lossless music and a lot of relevant music.
+
+- [Redacted](https://redacted.ch/) - Commonly referred to as RED, it's the best source for music, and has everything in both FLAC and MP3. It's a private tracker, meaning you'll have to go through an [IRC Interview](https://interviewfor.red/en/index.html) to join. Thoroughly read the interview page.
+
+- [Orpheus](https://orpheus.network/) - Another music private tracker like RED. Music selection is smaller than RED but it's easier to join with a more lenient economy. You'll have to go through an [IRC Interview](https://interview.orpheus.network/) to join this as well. Again, thoroughly read the interview page.
+
+- [Jpopsuki](https://jpopsuki.eu/) - Asian music private tracker with an extremely easy economy but lacks quality control. The only way to join this is via invites on other private trackers.
+
+!!!warning
+Do not under any circumstances ask people to invite you. This is forbidden by private trackers and can lead to your accounts being permanently disabled. Trading/buying invites is also forbidden and will get you disabled/blacklisted across all private trackers.
+!!!
+
+## Spectral Analysis
+
+- Since Soulseek doesn't have strict rules regarding upconversion (lossy->lossless), many files may be of dubious quality. This can be verified through spectral analysis. A full guide for doing so along with the required software can be found [here](https://interviewfor.red/en/spectrals.html) and [here](https://erikstechcorner.com/2020/09/how-to-check-if-your-flac-files-are-really-lossless/). In summary, you are looking for frequency cutoffs like the following:
+
+ +++ Full Size
+
+ ![](https://user-images.githubusercontent.com/78981416/246205066-d48507dd-a97b-493d-ac33-c04586298ac8.png)
+
+ +++ Zoomed in
+
+ ![](https://user-images.githubusercontent.com/78981416/246205087-e977fe1a-a4b0-41c5-a309-8e4568d34bf4.png)
+
+ +++
+
+- (Recommended) Spectrogram generation can be achieved using popular audio command-line utility [SoX](https://sox.sourceforge.net/). Some basic options to generate spectrograms like the ones shown above are:
+
+ +++ Full Size
+
+ ```batch
+ sox track01.flac -n remix 1 spectrogram -x 3000 -y 513 -z 120 -w Kaiser -o "track01-full.png"
+ ```
+
+ +++ Zoomed in
+
+ ```batch
+ sox track01.flac -n remix 1 spectrogram -X 500 -y 1025 -z 120 -w Kaiser -S 1:00 -d 0:02 -o "track01-zoom.png"
+ ```
+
+ +++ Windows
+
+ ```batch
+ for %I in (*.flac) do sox "%I" -n remix 1 spectrogram -x 3000 -y 513 -z 120 -w Kaiser -o "%~nI-full.png"
+ ```
+
+ ```batch
+ for %I in (*.flac) do sox "%I" -n remix 1 spectrogram -X 500 -y 1025 -z 120 -w Kaiser -S 1:00 -d 0:02 -o "%~nI-zoom.png"
+ ```
+
+ +++ Linux
+
+ ```shell
+ for file in *.flac; do sox "${file}" -n remix 1 spectrogram -x 3000 -y 513 -z 120 -w Kaiser -o "${file%.*}-full.png"; done
+ ```
+
+ ```shell
+ for file in *.flac; do sox "${file}" -n remix 1 spectrogram -X 500 -y 1025 -z 120 -w Kaiser -S 1:00 -d 0:02 -o "${file%.*}-zoom.png"; done
+ ```
+
+ +++
+
+- How this works, in a nutshell, is that the user's input audio file gets downmixed into a singular channel with `remix 1`, followed by the input track being replaced with a null file by flag `-n` (since spectrogram is a command that returns audio information and does not modify it, the audio itself isn't needed for much else). `-X,`, `-y`, and `-z` is used to specify the spectrogram's dimensions, where `X` is the length, `y` is the height (both in pixels), and `z` is the range in decibels. `-w Kaiser` produces the spectrogram calculated with the Kaiser window function. `-S` and `-d` are options that allow for the analysis of audio snippets, where S is the start and d is the end of the audio snippet. Finally, `-o "filename"` changes the name of the spectrogram.
+
+- You can find detailed explanations on each option flag [here](https://sox.sourceforge.net/sox.html) as well a plethora of additional ones to fine-tune your spectrogram to your desire.
+
+- If you're looking for something that can produce spectrograms of various files and directories quickly, [scourgeofgrozny/sox-spectrogram](https://github.com/scourgeofgrozny/sox-spectrogram) is a GitHub repo containing a useful script that takes away most of the heavy lifting. Feel free to fork or download the source code and customize it to fit your own uses and preferences :)
+
+## Comprehensive Guides
+
+- [The Mega Music Ripping Guide](https://ori5000.github.io/musicripping.html) guide containing instructions on how to rip music from a variety of different popular sources.
+
+- [Sharky's Music Google Docs](https://docs.google.com/document/d/1Poj4p2W0C0Napmwd7bcustlgWrkgp71dy9HlZwUr46w/edit) is a massive document containing all sorts of tutorials and explanations for commonly-seen aspects of music ripping and uploading.
diff --git a/docs/getting-started/torrenting.md b/docs/getting-started/torrenting.md
index 5e220e296..fc02f79f0 100644
--- a/docs/getting-started/torrenting.md
+++ b/docs/getting-started/torrenting.md
@@ -1,46 +1,161 @@
---
label: Torrenting
order: -1
-description: Get started with torrenting
-image: https://user-images.githubusercontent.com/78981416/232287791-8ab2be5d-0944-4a2b-a1cf-1d25e50ca42e.png
+description: Learn how to get started with torrenting
+image: https://user-images.githubusercontent.com/78981416/247237870-7dd7da8f-cdbc-48e4-b096-1d790817aa18.png
---
# Torrenting
-## Basic Terminology
+Torrenting is a peer-to-peer file-sharing method that facilitates the distribution and downloading of files over the internet.
-- Peer - Any person who is uploading/downloading a torrent.
-- Swarm - The entire set of peers.
-- Seed - A peer who has finished downloading the torrent and is now uploading it to other peers.
-- Leech - A peer who is still downloading.
-- Racing - Being the first in swarm to maximise upload. Only relevant in [Private trackers](/sourcing/private-trackers/).
-- Torrent file - A small file with a `.torrent` extension that you download to begin torrenting. It contains metadata that describes the to-be-downloaded content and tells your torrent client where to download the content from.
-- Torrent Client - Your Client is the software that manages your BitTorrent connections. It is responsible for loading torrent links and connecting to peers in the swarm.
-- Tracker - A tracker is a server that keeps track of which seeds and peers are in the swarm. Clients report information to the tracker periodically and in exchange, receive information about other clients to which they can connect. The tracker is not directly involved in the data transfer and does not have a copy of the file. It only receives information from the client.
+Unlike traditional file downloads, where files are obtained from a single source, torrenting leverages the collective resources of numerous participants, known as peers. This collaborative process enhances download speeds and reduces strain on individual servers, providing an efficient and resilient method for file transferring. A [torrent client](#torrent-client) allows you to connect with these peers and download the file in small fragments, which are put together to create the final result.
-## Torrent Clients
+==- Understanding the Terminology
-All the torrent clients mentioned below are cross platform and open source.
+Term | Definition
+-------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+**Leecher** | A user who is currently downloading the file, or has finished downloading some parts of the torrent and is sharing the pieces they have
+**Magnet link** | A BitTorrent hyperlink that allows you to download the torrent without the need for a `.torrent` file
+**Peer** | An individual computer or device connected to the swarm
+**Piece** | A small segment of the file(s) that was cut up during the torrent creation process, allowing simultaneous downloading and uploading of different pieces across peers
+**Ratio** | The ratio between the amount of data uploaded and downloaded by the user
+**Seeder** | A user who has completed downloading the files and is sharing them with other peers by uploading the file pieces
+**Swarm** | The collective group of peers (seeders and leechers) distributing the files
+**Torrent client** | The software or application used to download and upload files using the BitTorrent protocol
+**Torrent file** | A file (`.torrent`) that contains metadata about the files to be shared and the tracker information required to initiate and coordinate the downloading process
+**Tracker** | A server or web service that assists in coordinating the communication between peers in a BitTorrent network by keeping track of which peers possess which pieces of a file
-- [qBittorrent](/tutorials/qbittorrent) - Feature-full client with several features like Categories, tags, RSS, Web-UI, and more. Highly recommended.
-- [Transmission](/tutorials/transmission) - Stable and efficient client with minimal resource usage. Lacks alot of features that qBittorrent has but in turn can handle large quantities of torrents with ease.
-- [Deluge](/tutorials/deluge) - Mostly used by seedboxes for racing torrents. Neither as efficient as Transmission nor as feature-full as qBittorent. Pretty much only use this if you intend to race on Private Trackers for buffer.
+===
-## VPN Binding
+For most people, [streaming services](/sourcing/streaming) are more convenient to use. However, torrenting is fairly simple and allows for better flexibility. Some reasons to use torrents are:
-VPN killswitches aren't reliable, the best way to avoid exposing your IP address is by binding the VPN network interface to the torrent client. This means that you'll only be able to download/upload while the VPN tunnel is active, reducing the probability of having a leak to virtually zero.
+- Broad range of qualities and sizes
+- [Significantly better quality](/guides/quality/#quality-comparisons) compared to streaming sites
+- Better and faster availability
+- Better subtitles/[fansubs](/guides/quality/#fansubs) and styling options
+- Access to a larger variety of titles and [Blu-ray releases](/guides/quality/#blu-ray-vs-web)
+- Downloaded files for rewatching with no additional data usage
+!!!warning
+Downloading anime torrents may be illegal depending on where you live. *To avoid receiving a copyright infringement notice from your ISP, you may want to consider using a [VPN](#vpn) or [seedbox](#seedbox).*
!!!
-qBittorrent supports network interface binding natively, while Deluge and Transmission do not.
+
+## Torrent Client
+
+To start torrenting, you'll need a torrent client. This is the software that you will use to download torrents. Below is a list of some popular clients:
+
+- [qBittorrent](/tutorials/qbittorrent) [!badge icon=":heart:" variant="primary" text="Recommended"]
+- [Deluge](/tutorials/deluge)
+- [LibreTorrent](https://play.google.com/store/apps/details?id=org.proninyaroslav.libretorrent) [!badge variant="secondary" text="Android"]
+- [rTorrent](https://github.com/rakshasa/rtorrent) [!badge variant="secondary" text="Linux"]
+- [Transmission](/tutorials/transmission)
+
+For most users, we recommend using [qBittorrent](/tutorials/qbittorrent). It's a free, open-source, and feature-full client that is easy to use and understand.
+
+!!!warning
+You should not use newer versions of [μTorrent](https://wikipedia.org/wiki/%CE%9CTorrent) or [BitTorrent](https://wikipedia.org/wiki/BitTorrent_(software)), as they are known to be bundled with malware and adware.
!!!
-To bind your client to your VPN follow these steps:
+## Getting Torrents
+
+Torrents are shared using `.torrent` files or magnet links, which contain the necessary metadata of the file to be downloaded. These can be obtained through various trackers.
+
+`.torrent` files can be added to your torrent client by opening it or browsing for the file manually. Magnet links can be opened in your browser, where it will prompt you to choose the torrent client to be opened with. Alternatively, you can paste this magnet link into your client.
+
+==- Video example
+
+[!embed text="Launching a torrent file with qBittorrent"](/static/torrenting/getting-torrents-file.mp4)
+
+===
+
+*See the list of [public trackers](/sourcing/public-trackers) or [private trackers](/sourcing/private-trackers) for places to find anime torrents.*
+
+## Additional Tools
-- Start the VPN and connect to a location.
-- Open qBittorrent. Go to Preferences, and then Advanced tab.
-- Change Network interface to the VPN (usually its name, like "Mullvad").
-- Restart qBittorrent.
+### Port Forwarding
+Port forwarding allows computers on other networks to be able to access services behind your network. Opening ports gives your client better connectability, enabling you to download from seeders with closed ports and upload to leechers with closed ports much faster.
+
+A quick breakdown of expected performance is below:
+
+Situation | Result
+---------------------------------------------------------------------------------------|---------------------------------------------
+Leecher - Seeder | No connection¹
+Leecher - Seeder | Longer initiation², then normal connection
+Leecher - Seeder | Normal connection
+Leecher - Seeder | Normal connection
+
+!!!secondary
+Green peers represent open ports. Red peers represent closed ports.
+
+¹A connection can be made between two unconnectable peers via a connectable third-party through [holepunching](http://bittorrent.org/beps/bep_0055.html).
+
+²The seeder needs to wait until the next tracker update in order to see the new peer.
!!!
-If the above didn't work for you, go [here](/tutorials/vpn-binding) for a more detailed guide.
+
+==- Enabling port forwarding
+
+By default, most torrent clients automatically try to forward the current port via UPnP. You can test if this is working by using a port checker such as [CanYouSeeMe.org](https://canyouseeme.org) and entering the port.
+
+If UPnP doesn't work, you can try manually forwarding the port through your router settings.
+
+!!!warning
+The port forwarding tutorial below is intended for those using home routers. This will not work with [VPNs](#vpn). *Check with your provider to see if port forwarding is available.*
!!!
+
+- Find the port used by your client. In [qBittorrent](/tutorials/qbittorrent/), this can be found under **Tools** -> **Options** -> **Connection** -> **Listening Port**
+- Access your router's default gateway in your browser. You can find this on Windows by running Command Prompt and typing in `ipconfig`. Some common examples are:
+ - [`192.168.0.1`](http://192.168.0.1)
+ - [`172.16.0.1`](http://172.16.0.1)
+ - [`10.0.0.1`](http://10.0.0.1)
+- Locate the port forwarding option for your router. *We recommend using ports from [49152 or higher](https://wikipedia.org/wiki/Ephemeral_port) to avoid interference with other services as well as being blocked by your ISP, which is common on lower ports*
+- After saving/restarting your router and torrent client, go to [CanYouSeeMe.org](https://canyouseeme.org) to check if the port is now open
+ - If the port is closed, then you are likely using a NAT. *Unfortunately, this means you will need to use a different ISP or use a [VPN](#vpn) that supports port forwarding*
+
+!!!danger
+Do not enable all ports, as they may interfere with other services or put you at risk. Avoid enabling any [well-known ports](https://wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Well-known_ports) and [registered ports](https://wikipedia.org/wiki/List_of_TCP_and_UDP_port_numbers#Registered_ports).
+!!!
+
+===
+
+### VPN
+
+A VPN is an encrypted network tunnel between your device and the internet, allowing you to mask your activity from your ISP. In the case of torrenting, this allows you to hide your torrent traffic and prevent someone from trying to spy on you.
+
+Depending on which country you live in, your ISP may send you a copyright infringement notice, threaten to shut off your internet, or do absolutely nothing. On a good VPN service, this will never reach your ISP, as it is blocked by the VPN protecting your activity. *If your country is strict about it, you should highly consider buying a VPN, such as in North America or Europe.*
+
+!!!warning
+Do not use free VPNs. These services often have limitations, weak security, and questionable privacy concerns. *These may put you at greater risk compared to a premium service.*
+!!!
+
+!!!
+If you use qBittorrent, you may want to consider [binding it to your client](/tutorials/qbittorrent/#vpn-binding).
+!!!
+
+#### Forwarding Ports
+
+Some VPNs offer the ability to forward ports, which is especially useful if you are not able to [port forward](#port-forwarding) normally as it bypasses ISP restrictions:
+
+- [AirVPN](https://airvpn.org) - Offers 5 static ports. *Recommended to use with a third-party client such as [WireSock](https://github.com/wiresock/WireSockUI)*
+
+- [ProtonVPN](https://protonvpn.com) - Offers 1 dynamic port. *Recommended to use with an [automatic port mapping client](https://github.com/maah/ProtonVPN-win-app) to avoid manually updating ports on reconnect*
+
+#### Split Tunneling
+
+Split tunneling allows you to selectively route your internet traffic through the VPN tunnel or your internet connection simultaneously. With split tunneling, you can choose specific applications, websites, or services to be routed through the VPN while allowing other traffic to bypass the VPN and use the regular internet connection.
+
+*See the [split tunneling guide for Wireguard](/tutorials/splittunnel) on how to set it up.*
+
+### Seedbox
+
+A seedbox is a dedicated server optimized for high-speed downloading and seeding of torrents. Unlike [VPNs](#vpn), seedboxes are separate from your network, allowing for better peace of mind when torrenting.
+
+Other advantages include:
+
+- Better uptime as it doesn't require your PC to run. *This is especially useful if you plan to build ratio on various trackers*
+- Higher prioritization when seeding due to their high speed
+- Avoiding copyright notices, as they are directed to your box instead (i.e. ignored)
+- Synergy and integration with third-party applications/plugins (e.g. [media servers](/guides/playback/#media-servers))
+
+Seedboxes can be run on your own virtual private server (VPS) or personal computer. Alternatively, they can be hosted through various seedbox providers.
diff --git a/docs/guides/quality.md b/docs/guides/quality.md
index 5d598ea9f..7c9be43e7 100644
--- a/docs/guides/quality.md
+++ b/docs/guides/quality.md
@@ -1,142 +1,224 @@
---
label: Quality
order: -1
+description: Learn what to look for to get the best quality
+image: https://user-images.githubusercontent.com/78981416/215166522-1d7358e8-bec2-4a54-a9ec-71deab646e56.gif
---
# Quality
## Video
-**Container** - .mkv and.mp4, these contain various video, audio, and subtitle streams within them. Even the exact same video can be placed in different containers. You can losslessly convert between them with [ffmpeg](https://ffmpeg.org/download.html).
+Commonly used terminology:
-**Codec** - This is what most people mean when they confuse it with the container. The codec is the biggest factor in compatibility with your hardware and system. HEVC(h265/x265) and AVC(h264/x264) are the main ones.
+- **Container** - The file itself, containing various video, audio, and subtitle streams. *They are typically stored as `.mkv` or `.mp4`*
+- **Codec** - The compression format used for the video stream and the biggest factor in compatibility with your system. *HEVC (H.265) and AVC (H.264) are the main ones*
+- **Bit depth** - The maximum colors that can be stored in the video. *Typically in 8-bit, or 10-bit for high-quality anime encodes*
+ - Converting an 8-bit source to 10-bit might seem counterintuitive, *[but it can give better results at smaller sizes](https://yukisubs.files.wordpress.com/2016/10/why_does_10bit_save_bandwidth_-_ateme.pdf)*
+- **Frame rate** - The frequency at which frames are displayed. *This will usually be close to 23.976 fps (24000/1001)*
+ - Many TVs will use [interpolation](https://en.wikipedia.org/wiki/Motion_interpolation) to convert low frame rate content to a higher frame rate like 60 fps, giving you an artificial sense of smoothness. *This is not recommended for anime and should be disabled in settings. 60 fps encodes should also be avoided*
+- **Level/profile** - The maximum resolution and bitrate specified within the AVC/HEVC standard. *A higher level/profile means lower compatibility and more processing power required to decode*
+ - *See [Levels for AVC (H.264)](https://en.wikipedia.org/wiki/Advanced_Video_Coding#Levels) and [Levels for HEVC (H.265)](https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding_tiers_and_levels#Levels)*
-**Bit depth** - 8-bit/10-bit - Most high quality anime encodes are 10-bit. Converting an 8-bit source to 10-bit might seem counterintuitive if you know a little about transcoding and data loss, [but it gives a better result at smaller sizes.](https://yukisubs.files.wordpress.com/2016/10/why_does_10bit_save_bandwidth_-_ateme.pdf)
+==- Reading the File Name
-**Frame rate** - This will usually be 23.976 FPS. Many TVs use [interpolation](https://en.wikipedia.org/wiki/Motion_interpolation) to turn this into 60 fps giving you an artificial sense of smoothness. This is not recommended for anime and should be disabled in settings. 60 FPS encodes are even worse and should be avoided.
+The file name for a release will typically look like one of the following:
-**Level/Profile** - These are specifications within the h264/h265 standard which give an idea of compatibility and specify the maximum resolution and bitrate, for example h264 4.0 = 1080p 30fps 20 Mbps. Higher level/profile = lower compatibility = more processing power needed to decode.
+![Example File Names of Common Releases](https://files.catbox.moe/hn6135.png)
-The full information for a video will look like:
-```
-[Group] Anime Name - S01E01 - (BD 1080p HEVC 10-bit FLAC) [Dual Audio] [CRC32].mkv
-Anime Name - S01E01 - (BD 1080p HEVC FLAC) [Dual Audio] [Group].mkv
-Anime.Name.S01E01.1080p.BluRay.Opus2.0.x264-Hi10p-Group.mkv
-```
+Key | Meaning
+-----------------------------------------------------------|-----------------------------------------------------------
+![#ed8796](https://placehold.co/14x14/ed8796/ed8796.png) 1 | The name of the group/person who created the release
+![#f5a97f](https://placehold.co/14x14/f5a97f/f5a97f.png) 2 | The title of the anime
+![#eed49f](https://placehold.co/14x14/eed49f/eed49f.png) 3 | The season/episode number
+![#a6da95](https://placehold.co/14x14/a6da95/a6da95.png) 4 | The source where the video was taken from. *Typically BD (Blu-ray) or WEB*
+![#91d7e3](https://placehold.co/14x14/91d7e3/91d7e3.png) 5 | The resolution of the video stream
+![#8aadf4](https://placehold.co/14x14/8aadf4/8aadf4.png) 6 | The video codec. *Typically HEVC or AVC*
+![#c6a0f6](https://placehold.co/14x14/c6a0f6/c6a0f6.png) 7 | The audio codec. *Dual audio means the release contains two audio streams, typically the dubbed and original*
+![#f4dbd6](https://placehold.co/14x14/f4dbd6/f4dbd6.png) 8 | The CRC32 checksum
+![#f5bde6](https://placehold.co/14x14/f5bde6/f5bde6.png) 9 | The container format. *Typically `.mkv` or `.mp4`*
-| Keyword | What it means |
-|-----------------|-------------------------------------------------------------------|
-|`.mkv` | Commonly used container that holds everything together. |
-| BD | Video is taken from BluRay (typically JPBD) |
-| Remux | Untouched Video taken from BluRay |
-| x265/HEVC/H.265 | Codec used to encode the video |
-| x264/AVC/H.264 | Codec used to encode the video |
-| AV1 | Codec used to encode the video |
-| 1080p | Resolution is 1920x1080p, `p` stands for progressive video. |
-| 8-bit | Bit-Depth of the video |
-| 10-bit | Bit-Depth of the video |
-| FLAC | Codec used to encode the audio |
-| Opus | Codec used to encode the audio |
-| AAC | Codec used to encode the audio |
-| E-AC-3/EAC3/DDP | Codec used to encode the audio, DDP stands for Dobly Digital Plus |
-| Dual Audio | Has two audio tracks. Typically English and Japanese |
-| [F0EAA72E] | Random string at the end of the filename is typically CRC32. |
+===
-### Quality
+### Encoding
-Quality might be somewhat subjective. The best release for the purpose of this guide is an encode which fixes flaws of the raw bdmv while simultaneously not altering the original material too much. There is a difference between obvious flaws which need to be fixed and your subjective preference of how you like the encode. If something apparently looks "better" because it unnecessarily alters the video, then it's not a good indication of quality. These statements might seem too complicated or a bit vague, I'll try to explain in brief, but this is beyond the scope of a guide for beginners and more into the realm of encoding.
+Quality is subjective to an extent, and there is a difference between flaws that need to be fixed and the preferences of the end user.
-The official BDMV, from the blurays, is itself an encode of the actual source. It often suffers from issues like banding, blocking, noise, aliasing, etc. These might be originating from a variety of reasons. For example, a lot of anime is native 720p and is upscaled to 1080p for the bluray. Even if issues aren't present in the bdmv, they can appear in the encode because of compression. This fixing is called filtering, a step which comes before encoding. The video is filtered with Avisynth/Vapoursynth before passing it on to the encoder.
+Generally, the best release is an encode which fixes the flaws of an untouched Blu-ray (BDMV) while simultaneously not altering the original material. There are objective flaws called **artifacts**, a term used to broadly describe defects or foreign, unwanted elements in a video. There can be several causes, ranging from lossy compression, improper conversions, to post-processing adjustments like sharpening and resampling. *You can read about artifacts in detail [here](https://guide.encode.moe/encoding/video-artifacts.html).* On the other hand, end user preferences like excessive sharpening or contrast are destructive and go against the idea of a good encode.
+
+The official BDMV is an encode of the original source master. Subsequently, it often suffers from various issues (e.g. aliasing, banding, blocking, noise) originating due to a variety of reasons. For example, a lot of anime is natively 720p and is upscaled to 1080p for the Blu-ray. *Even if issues aren't present in the BDMV, they can appear in an encode due to compression.*
+
+These issues can be fixed through filtering, a step which comes before encoding. The video is filtered with tools like [VapourSynth](https://github.com/vapoursynth/vapoursynth) before passing it on to the encoder. Since encoding is a lossy process, filtering is necessary to improve the video quality along with transparent encoder settings. *As a result, any unfiltered encodes are by definition worse than the source.*
+
+See the links below for more information:
- [Examples of problems](http://bakashots.me/guide/index.php)
- [Encoding guides and more examples](https://guide.encode.moe/encoding/video-artifacts.html)
- [Advanced encoding guide](https://silentaperture.gitlab.io/mdbook-guide/introduction.html)
- [Mini encodes and audio](https://kokomins.wordpress.com/2019/10/10/anime-encoding-guide-for-x265-and-why-to-never-use-flac/)
-### Types of releases
+!!!warning
+The encoding guides above should give you a general idea of the workflow, *but do note they are heavily outdated and incomplete.*
+!!!
+
+### Types of Releases
+
++++ BDMV
+
+Also known as: [!badge variant="info" text="Blu-ray Disc" margin="0 8 0 0"]
+[!badge variant="info" text="Untouched Blu-ray"]
+
+A complete copy of the original Blu-ray, including menus, extras, adverts, etc. Used as a source for making other releases or encodes. *These are not practical for watching.*
+
+Japanese Blu-rays often have better quality than other countries as they allocate far more bitrate to the video. This is not necessarily intentional, but a side effect of having fewer episodes per disc and not including dub tracks, in contrast to other regions which tend to cram more episodes onto a single disc and have large 5.1 dubs.
+
+There are cases where regional discs do offer better quality. This generally applies when Japanese discs have authoring issues, resulting in the alternatives being better by comparison. For instance, Italian discs from Dynit frequently offer the best video even at lower bitrates due to good filtering and better-optimized encode settings.
+
+These can be mainly found on [U2](https://u2.dmhy.org) (Private), however [Nyaa](https://nyaa.si) (Public) and [Skyey Snow](https://skyeysnow.com) (Private, Open Signup) will have some too. *Release groups don't matter for BDMVs because they are 1:1 copies of the disc and should instead be chosen based on region.*
+
++++ BD Remux
+
+Also known as: [!badge variant="info" text="Remux" margin="0 8 0 0"]
+[!badge variant="info" text="Blu-ray Remux"]
+
+A losslessly packaged version of the BDMV put into `.mkv` files, allowing for slightly lower sizes (`.mkv` files have less overhead than `.m2ts`), much better ease of use, lossless compression of audio, and tracks from other sources.
+
+A Blu-ray Remux is generally the best version to get quality-wise, unless a properly filtered release exists.
+
++++ BD Encode
+
+Also known as: [!badge variant="info" text="BD" margin="0 8 0 0"]
+[!badge variant="info" text="BDRip" margin="0 8 0 0"]
+[!badge variant="info" text="Blu-ray"]
+
+An encode made directly from the BDMV or BD Remux. Generally, the goal is to retain visual transparency to the source while reducing file size, however many good encoders will aim to make their release better than the source via filtering.
+
+Most can be found on [Nyaa](https://nyaa.si), with some rare stuff on places like [RuTracker](https://rutracker.org).
+
++++ WEB-DL
+
+A WEB-DL is a file losslessly downloaded from an official streaming service, such as Amazon, Crunchyroll, HIDIVE, Netflix, etc. As a result, they are a 1:1 copy of the official stream.
-**BDMV** - A simple complete copy of the bluray. It's used as a source for making another release or encoding, this is not useful for watching.
+Until the Blu-rays are released, this is the only and best source available for most airing anime. The quality of a WEB-DL from the same service will be identical no matter which group releases it. *Some exceptions exist, such as Netflix with multiple quality profiles and Amazon with multiple regions/services.*
-These can be found on U2 (Chinese-Private), Skyeysnow (Chinese-Open) and Nyaa (usually without seeds). Release groups don't matter for bdmvs because they're all the same unless the files are corrupted. JPBDs often have better quality than USBD because of more bitrate devoted to the video instead of multiple(dub) audio tracks. In some cases, blurays from Italy or other countries might have the best quality.
+WEB-DLs can be obtained from groups like [SubsPlease](https://subsplease.org) or [Erai-Raws](https://www.erai-raws.info). Both rip from [Crunchyroll](https://www.crunchyroll.com) and have fast release times, with the difference being that SubsPlease rips only the English subs, while Erai-Raws rips all the subs.
-**BDRemux** - The BDMV is losslessly packaged into mkv files for ease. The sizes are huge, just like bdmvs.
++++ WEBRip
-**BDRip** - An encode made directly from the BDMV/BDRemux. This is the only kind of encode considered good quality.
+WEBRips are transcodes of the official stream. This terminology is broad and is associated with either screen recordings of the content or encodes of a WEB-DL. *Because of this, WEBRips are generally not recommended, especially if a WEB-DL already exists.*
-Most can be found on Nyaa with some rare stuff on rutracker(Russian). The direct encode is usually a raw without subtitles and is used by muxers or fansubbers to make a release. The groups can be roughly rated as -
+Most WEBRips will be lower quality than their WEB-DL equivalent. However, some groups will attempt to improve upon a WEB-DL by filtering it to fix issues.
-- Excellent - Beatrice-Raws, Kawaiika-Raws, SCY, Raws-Maji
-- Good - VCB-Studio
-- Okay - Snow-raws, ANK-raws, Reinforce, LowPower-Raws, Moozzi2
+Some encoders will merge multiple WEB sources, resulting in significantly better quality than a single source, and sometimes even beating Blu-rays.
-Fansub groups like Coalgirls, Commie, Doki etc. also have their own encodes, but their main contribution is subtitles. These subtitles are taken by mux groups and combined with good video and multiple subtitle/audio options to make a complete release. Sometimes they use their own encodes. They'll usually mention all sources used for the release in the description.
++++ Re-encode
-Examples of good mux groups are - OZR, Kametsu, CTR, YURI, pog42, Arid, ARC, Mysteria, Drag, UDF, NH, KH.
+Re-encodes are encodes of an existing Blu-ray or WEB encode. These are common on [streaming sites](/sourcing/streaming/), where they convert the original encode to a supported file format while also trying to save space, but can also be found in some mini encodes.
-**WEB-DL** - Until the blurays are released, this is the only source available for new airing anime. Note that this is not a WEBRip, as in a screen capture. The ones released by reliable groups are always direct WEB-DLs from sources like Crunchyroll or Funimation. The quality will be the same no matter which group releases these, however they often go down and reliability is a factor when you want airing anime in the shortest time possible. The most reliable one right now is SubsPlease.
+The process of re-encoding is generally considered a bad practice due to quality loss, as encoding is a lossy process and information is lost at every stage. As a result, it introduces artifacts like blocking and banding. *Because of this, re-encodes are not recommended if you want quality and should be avoided.*
-**Re-encode** - Marked red on nyaa, these are usually encodes of a BDRip, WEB source or even worse. Encoding is a lossy proceess and information is lost at every stage. The same encode made from the BDMV instead of a BDRip would've been better quality. Re-encoding is considered a bad practice.
+On [Nyaa](https://nyaa.si), these are marked in red. *You can see the difference with re-encodes from the comparisons below.*
-**Mini encode** - These are around 500mb or lower, they can be either a BDRip or a re-encode. Despite a bad reputation, the minis which are not re-encodes can be a decent option for those low on storage or bandwidth. Mini groups -
++++ Mini Encode
-- Good - Judas (new)
-- Decent - Akihitosubs, DB, Ember, Nep_Blanc
-- Bad - Judas (old), Cleo, Reaktor, Cerberus. Their video might be bad, but Cerberus and Reaktor often pick good subtitle sources.
-- Trash - bonkai77, DaddySubs, Tenrai-Sensei, DKB, HR, SSA, FFA, YuiSubs and any other group using NVENC.
+Mini encodes are releases designed to save on space and bandwidth while retaining some quality. *These are not the same as re-encodes, as some minis encode from the original BD or WEB source.*
-Judas (new) is roughly mid 2020 and later.
-Note that this tier list is valid only for BD sourced encodes and not airing anime. The order of quality for WEB releases is -
+While re-encoding is a bad process, re-encoded minis will often use the original WEB source. With BDs, some will use the best encode/raw available for their release. They also usually opt for alternative and efficient codecs such as H.265 and apply various filters to compensate. As a result, they can be a better option when compared to [streams](/sourcing/streaming/) of similar size or bad encodes.
-`Subsplease/Erai 1080p > Subsplease/Erai 720p > All mini encodes.`
+Some may not notice the differences between a good mini encode and its alternatives. *See how minis compare in the quality comparisons below.*
-### BD vs WEB
++++
-The BD is usually always a better source than WEB. There's no reason to get a WEB sourced encode once the BD is out. The advantages of BD and what you're missing out on with WEB are -
+==- Quality Comparisons
-1. Better Quality - The average episode on the BD is 6GB compared to 1.3GB on WEB. This makes it a better source even for mini encodes, as compression is better when you have more data to work with. A same size encode made from both sources will show the BD version to be superior.
+!!!
+Most streams and WEB minis are re-encodes. These are marked in red. *See [Types of Releases](#types-of-releases).*
+!!!
-2. No Censorship - The BDs will remove or reduce censorship wherever possible, this can range from minor changes within scenes to whole new scenes being added.
+Show | Type | Sources
+----------------------------------------------------------|------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+[Dokyuu Hentai HxEros](https://slow.pics/c/PZRxqAsh) | BD | Raw (Reinforce) vs. Official (HorribleSubs/Crunchyroll) vs. Stream (animepahe, AniWave (9anime), Gogoanime) vs. Mini (EMBER)
+[Jujutsu Kaisen S2](https://slow.pics/c/HZeCzBjs) | WEB | Official (NanakoRaws, SubsPlease/Crunchyroll 1080p/720p, VARYG/Netflix) vs. Mini (A-L, Anime Time, ASW, Breeze, DKB, Judas, Sokudo, Valenciano)
+[Masamune-kun no Revenge R](https://slow.pics/c/rj3QjRMA) | WEB | Encode (smol) vs. Official (SubsPlease/Crunchyroll) vs. Stream (animepahe, AniWatch, AniWave, Gogoanime, Marin) vs. Mini (ASW, DKB, EMBER, Judas)
+[Oshi no Ko](https://slow.pics/c/6HqApHsn) | WEB | Encode (Setsugen) vs. Official (SubsPlease/Crunchyroll) vs. Stream (AniWatch (Zoro), AniWave (9anime), Gogoanime, Marin)
+[Senran Kagura](https://slow.pics/c/QLtX61qx) | BD | Raw (BDMV, Snow-Raws) vs. Stream (animepahe, AniWatch (Zoro), AniWave (9anime), Gogoanime)
+[Space Dandy](https://slow.pics/c/d5hU8mnp) | BD | Encode (MTBB) vs. Mini (AnimeRG, Cleo 1080p/720p, Commie 720p, DHD)
+[SukiMega](https://slow.pics/c/vpcExtLb) | WEB | Official (SubsPlease/Crunchyroll 1080p/720p) vs. Mini (Anime Time, ASW, DKB, EMBER, Judas, Valenciano)
+[Vinland Saga S2](https://slow.pics/c/GjhwBwo3) | WEB | Encode (Foxtrot) vs. Official (SubsPlease/Crunchyroll) vs. Stream (Gogoanime, Marin) vs. Mini (Anime Time, ASW, Breeze, DKB, EMBER, Judas, Trix)
-3. Additional Content - Censorship is not the only situation where content is added. A BD release allows the studios to fix any mistakes made due to budget/time/airing duration constraints and they can add as much content as they want. An example of this is Fate UBW, you can check the difference in episode durations.
+===
-4. Animation Improvements - Fully redrawn scenes, extra details, shading improvements, removed dimming/brightness changes etc.
+### Blu-ray vs WEB
-Here are some comparisons -
+Blu-rays are usually a better source than WEB. *However, there are some cases where WEB is better than the Blu-ray.*
+The advantages of BD are:
+
+1. **Better Quality** - An average BD episode is around 6GB compared to 1.3GB on WEB. This makes it a better source even for mini encodes, as they have more data to work with; *a same size encode made from both sources will show the BD version to be superior*
+
+2. **No Censorship** - BDs will remove or reduce censorship that may be present on WEB releases, ranging from minor changes within scenes to whole new scenes being added
+
+3. **Additional Content** - BDs allow studios to add as much content as they want and fix any mistakes made due to budget/time/airing duration constraints
+
+4. **Improvements** - Fully redrawn scenes, extra details, shading improvements, dimming/brightness changes, etc.
+
+See the comparisons below between BD and WEB:
+
+- [Demon Slayer](https://slow.pics/c/UMxyTZ7T)
+- [Saiki Kusuo no Ψ-nan](https://slow.pics/c/GxJxekoN)
- [Toaru Kagaku no Accelerator EP 5](https://slow.pics/c/Z0DF2PlI)
- [Toaru Kagaku no Accelerator EP 6](https://slow.pics/c/CpGp3GIv)
-- [Saiki Kusuo no Ψ-nan](https://slow.pics/c/GxJxekoN)
-- [Demon Slayer](https://slow.pics/c/UMxyTZ7T)
## Audio
-Codecs - Audio codecs are divided into lossless (FLAC, TrueHD, DTS-HDMA) and lossy (aac, opus, mp3). While lossless raw video will be multiple GBs per minute, audio is more manageable in size, and you'll see many options with lossless audio.
+### Codecs
-Lossless audio is unnecessary for most sound systems. Even with the best audiophile grade setup, it's nearly impossible to make out the difference. However, some exceptional music samples exist, which can be used to differentiate lower-bitrate lossy audio by listening to small extracted parts repeatedly. If you want to try, check out these [online ABX tests](http://abx.digitalfeed.net) or [Foobar plugin](https://www.foobar2000.org/components/view/foo_abx) with [this guide for setting it up.](https://www.head-fi.org/threads/setting-up-an-abx-test-simple-guide-to-ripping-tagging-transcoding.655879/#post-9268096.) This foobar plugin lets you ABX any two tracks of your choice and produces a verifiable log. If you manage to complete it with a decent probability, do join our [discord](https://discord.gg/snackbox) for some interesting conversation.
+Audio codecs are divided into lossless (DTS-HD MA, FLAC, TrueHD) and lossy formats (AAC, MP3, Opus). While lossless video will be multiple GBs per minute, lossless audio is more manageable when it comes to size, and you'll see many releases utilizing it.
-A good benchmark for bitrates (stereo/2.0) is -
+Lossless audio is typically unnecessary for the majority of sound systems. Even with the best audiophile-grade setup, most users will find it impossible to make out the difference between lossless and good lossy audio. *However, some exceptional music samples exist, which can be used to differentiate lower-bitrate lossy audio by listening to small extracted parts repeatedly.*
-- 128 kbps for opus
-- 160 kbps for aac
-- 192 kbps for mp3
+!!!
+We suggest checking out these [online ABX tests](http://abx.digitalfeed.net) with your setup.
-For surround audio, multiply with the number of stereo pairs.
+Alternatively, you can use the [ABX Comparator plugin for foobar2000](https://www.foobar2000.org/components/view/foo_abx) with [this guide for setting it up](https://www.head-fi.org/threads/setting-up-an-abx-test-simple-guide-to-ripping-tagging-transcoding.655879/#post-9268096.). ABX Comparator allows you to compare any two tracks and produce a verifiable log.
+
+*If you manage to complete it with a decent probability, feel free to join our [Discord](https://discord.gg/snackbox) to talk about it!*
+!!!
+
+A good benchmark for lossy audio bitrates (Stereo/2.0) is:
+
+- 128Kbps for Opus
+- 160Kbps for AAC
+- 192Kbps for MP3
+
+For surround audio, multiply them by the number of stereo pairs.
## Subtitles
-Most anime subtitles are in the .ass format, it has better styling options compared to srt. This styling often breaks when there is incompatibility somewhere in the playback process.
+Most anime releases will use `.ass` subtitles, as it allows for better styling options compared to alternatives like `.srt`. *However, this styling breaks when there is incompatibility somewhere during playback.*
-Fansubs use a variety of fonts in subtitles. These are bundled within the .mkv files as attachments or provided separately in a folder. The ones given separately can be installed on windows or placed in your player's fonts folder for a quick solution. They should be muxed in for perfect compatibility.
+Fansubs use a variety of fonts in their subtitles. These are embedded within the `.mkv` files as attachments or provided separately in a folder. Fonts included separately can be installed on your system or placed in your player's fonts folder for a quick solution. They should be muxed in for perfect compatibility.
### Fansubs
-Older anime was subbed by a variety of fansub groups. Every good release will mention the sources used for subtitles, the edits made, and often describe their choice of subtitles. A very good resource for fansub reviews was MyAnimeList. They removed the fansub reviews section a few years ago towards their goal of legitimization, since fansubs are associated with piracy. Luckily, the data was archived and [can be brought back on the MAL page itself through this](https://www.reddit.com/r/anime/comments/9kq1ch/bringing_fansubs_back_on_mal/). Fair warning, the reviews are mostly filled with hate and trolls but often give you an idea of which group used which script. You can also make out the kind of translation and how much it is localized.
+Fansubs are fan-produced versions of subtitles. They will often edit the official subs from sources like [Crunchyroll](https://www.crunchyroll.com) and perform modifications such as retiming, adding OP/ED translations, typesetting signs, restyling, etc. Often they will also edit the dialogue to make it more/less localized (depending on the political persuasion of the group) and fix any perceived issues. Some fansubbers will opt for an OTL (original translation), meaning they make the entire track from scratch.
+
+While these edits can be an improvement over the original subs, *they may also introduce more errors than they fix.* A degree of localization is always involved with translation to make sure the dialogue flows smoothly. Localization is the process of changing cultural references and puns to fit the target audience's context. Fansubs can range from excessive localization by completely eradicating and replacing the idea of Japan, to the untranslation of random phrases and lines back to Japanese, damaging the concept of subtitles. Most good fansubs lie somewhere in between these extremes. After looking at the work of these groups, you'll be able to figure out who tends to do what.
+
+==- Getting Subs with AnimeTosho
+
+[AnimeTosho](https://animetosho.org) is a useful resource for grabbing just the subtitles from any release on [Nyaa](https://nyaa.si). *Note that only uploads that are less than 16GB will have downloadable attachments on AnimeTosho.*
+
+They can be downloaded under the *Subtitles* section of a release:
+
+![AnimeTosho](/static/quality/animetosho.gif)
+
+===
-Localization means changing cultural references and puns to fit the english context, but too often it becomes more about the American context and fansubs get riddled with memes. A degree of localization is always involved with translation to make sure the dialogue flows smoothly, but too much of it might be a problem for some. These two websites provide information and comparisons between various groups doing any anime -
+## Releases
-- https://www.crymore.net
-- https://fansub.co
+With so many options for every show, it can be hard to find which one to download.
-Most newer fansubbed anime is some variation of edited official subs from CR or Funi. These edits are usually range between excessive localization by completely eradicating and replacing the idea of Japan with America or untranslation by changing random phrases and lines back to Japanese. Most actual fansubs lie somewhere in between these extremes. After looking at the work of a few groups, you'll be able to figure out who has a tendency to do what.
+Although most re-encoded releases (marked in red on [Nyaa](https://nyaa.si/help#torrent-colors)) should be avoided, the best release group varies per show, and there's no foolproof way to tell without [comparing the different sources](https://slow.pics/c/J8ow4zap).
-AnimeTosho is a very useful resource for grabbing just the subtitles from any release on nyaa. You search the title as it is on Nyaa and after opening the page you'll see `All Attachments` near the bottom. This will download all subtitles and fonts extracted from that release. It's also useful to get the mediainfo when the uploader hasn't posted it, to do this, just click on any of the mkv files in the torrent and you'll get details about it. Animetosho is also a DDL site which uploads torrents from Nyaa to various hosting services. There's also an NZB option, but none of the file hosts last for long.
+[SeaDex](https://releases.moe) is a quick and easy way to find the best releases for your shows. It is actively maintained to stay up-to-date on what's best, backed by quality comparisons.
diff --git a/docs/guides/sourcing.md b/docs/guides/sourcing.md
index 9bf79219d..9847ffc0a 100644
--- a/docs/guides/sourcing.md
+++ b/docs/guides/sourcing.md
@@ -21,7 +21,7 @@ The first one is geared more towards video quality than the best subtitles. A lo
### Searching
-The main source for finding torrents is [Nyaa](nyaa.si), you already have a general idea about the codecs, quality and release groups from the sections above. These 3 things are what we'll use to quickly find the best release for any anime. Nyaa search is simple and limited, but it's enough for finding anything, given that the uploader correctly tags the release.
+The main source for finding torrents is [Nyaa](https://nyaa.si/), you already have a general idea about the codecs, quality and release groups from the sections above. These 3 things are what we'll use to quickly find the best release for any anime. Nyaa search is simple and limited, but it's enough for finding anything, given that the uploader correctly tags the release.
First, change the All Categories option to `Anime - English Translated`. It can be set to just `Anime` to include english, raws and other languages. The two useful search operators are `-` and `|(OR)`, `AND` is already implicit in every search. For example -
diff --git a/docs/hidden/faq-torrent.md b/docs/hidden/faq-torrent.md
index 91b1b2cb7..df88a45bc 100644
--- a/docs/hidden/faq-torrent.md
+++ b/docs/hidden/faq-torrent.md
@@ -7,7 +7,7 @@ visibility: hidden
## How do I torrent?
-Check out our [detailed torrenting guide](/guides/torrenting), it's very useful along with [Google](https://www.google.com/).
+Check out our [detailed torrenting guide](/getting-started/torrenting/), it's very useful along with [Google](https://www.google.com/).
## What torrent clients are recommended?
@@ -64,9 +64,9 @@ Check out the [sourcing guide](/guides/sourcing) for more detailed information o
## What does it mean for a torrent to be "stalled"?
-The files you download from torrents are downloaded from [**seeders**](/guides/torrenting), who have already finished downloading the files and are uploading to leechers/peers, who may also upload to each other. In case there aren't enough seeders, or if you are unable to [connect](/guides/torrenting#connectability) to a seeder, you will be unable to download 100% of a torrent.
+The files you download from torrents are downloaded from [**seeders**](/getting-started/torrenting/), who have already finished downloading the files and are uploading to leechers/peers, who may also upload to each other. In case there aren't enough seeders, or if you are unable to [connect](/getting-started/torrenting/#port-forwarding) to a seeder, you will be unable to download 100% of a torrent.
-This may also be because the initial seeder (the uploader) hasn't uploaded the entirety of the file to the **swarm** yet. Usually, you can wait and you should eventually connect to a seeder, but in case there are no seeders, you can ask someone who has the file to re-seed it so that you can download it. You can also try **reannouncing** to the [tracker](/guides/torrenting#glossary) (manually requesting the tracker for a refresh on peers and seeders) to try and get more seeders.
+This may also be because the initial seeder (the uploader) hasn't uploaded the entirety of the file to the **swarm** yet. Usually, you can wait and you should eventually connect to a seeder, but in case there are no seeders, you can ask someone who has the file to re-seed it so that you can download it. You can also try **reannouncing** to the [tracker](/resources/glossary/) (manually requesting the tracker for a refresh on peers and seeders) to try and get more seeders.
## What do I do if some files are corrupt/unplayable?
diff --git a/docs/guides/torrenting.md b/docs/hidden/guide-torrenting-old.md
similarity index 99%
rename from docs/guides/torrenting.md
rename to docs/hidden/guide-torrenting-old.md
index 7f0ef2363..b8f38d528 100644
--- a/docs/guides/torrenting.md
+++ b/docs/hidden/guide-torrenting-old.md
@@ -1,6 +1,6 @@
---
-label: Torrenting
-order: -3
+label: Torrenting Guide
+visibility: hidden
---
# Torrenting
diff --git a/docs/index.md b/docs/index.md
index f722bdaad..e858ae0ed 100644
--- a/docs/index.md
+++ b/docs/index.md
@@ -8,43 +8,43 @@ description: Wiki for all things related to anime and more!
![](https://user-images.githubusercontent.com/78981416/214677895-b5497a9f-b78c-4c26-8ef3-880594c67e7a.png)
-Welcome to the wiki for all things related to anime and more!
-Here you can find stuff ranging from easy to digest tutorials to full blown guides.
+Welcome to the wiki for all things related to anime and more, ranging from easy to digest tutorials to full blown guides!
+
We also have a Discord server where you can hang out, report, and request things related to this wiki.
[![](https://discordapp.com/api/guilds/974468300304171038/widget.png?style=banner2)](https://discord.gg/snackbox)
-### :rocket: Getting Started
+#### :rocket: Getting started
- [How and where to find your favorite anime](/getting-started/anime/)
-- [How and where to find your favorite manga, light novel, etc](/getting-started/literature/)
+- [How and where to find your favorite manga and light novels](/getting-started/literature/)
- [How and where to find your favorite hentai](/getting-started/hentai/)
-### :book: Learn About Various Topics in Details
+#### :book: Learn about various topics in detail
-- [Various players and what's best for your device](/guides/playback/)
-- [Sourcing your favorite content in the easiest and highest quality possible](/guides/playback/)
-- [Learn how to torrent from scratch](/guides/torrenting/)
+- [Find the best media player for your device](/guides/playback/)
+- [Source your favorite content in the highest quality possible](/guides/quality/)
+- [Learn how to torrent from scratch](/getting-started/torrenting/)
-### :tv: Learn about the Various Ways to Watch Your Anime
+#### :tv: Learn about the various ways to watch your anime
- [Quickly and easily stream your favorite anime](/sourcing/streaming/)
-- [Download your favorite anime in the higest quality possible](/sourcing/public-trackers/)
+- [Download your favorite anime in the best quality possible](/sourcing/public-trackers/)
- [Direct download your favorite anime](/sourcing/ddl/)
-### :scroll: Some Helpful Tutorials
+#### :scroll: Some helpful tutorials
-- [Install and configure MPV](/tutorials/mpv/)
-- [Download your favorite weekly shows automatically](/tutorials/rss/)
-- [Compare various versions to find the best](/tutorials/comparison/)
+- [Install and configure mpv](/tutorials/mpv/)
+- [Download your favorite weekly shows automatically using RSS](/tutorials/qbittorrent/#rss)
+- [Compare multiple releases to find what's best for you](/tutorials/comparison/)
-### :floppy_disk: Want to Make Your Own Release for Others to Watch and Enjoy?
+#### :floppy_disk: Want to make your own release for others to watch and enjoy?
- [Learn how to make your very own release](/advanced/release-standards/)
-### :question: Have Some Questions You Want to Ask?
+#### :question: Have some questions you want to ask?
- [Check out our extensive FAQ](/resources/faq/)
-### :sparkling_heart: Want To Contribute and Help Improve this Wiki?
+#### :sparkling_heart: Want to contribute and help improve this wiki?
-- [Read how to contribute](https://github.com/Snaacky/thewiki/blob/master/README.md)
\ No newline at end of file
+- [See how you can contribute](https://github.com/Snaacky/thewiki#getting-started)
\ No newline at end of file
diff --git a/docs/resources/glossary.md b/docs/resources/glossary.md
new file mode 100644
index 000000000..7f4607745
--- /dev/null
+++ b/docs/resources/glossary.md
@@ -0,0 +1,69 @@
+---
+label: Glossary
+description: A glossary of common video, audio, subtitles, and more related terms
+image: https://user-images.githubusercontent.com/78981416/246030855-c784e898-74a6-4fae-bbfa-1bb4a6bdbac1.gif
+order: -4
+---
+
+# Glossary
+
+## General
+
+| Term | Meaning |
+| ------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Codec | A codec is a software or hardware algorithm that compresses and decompresses audio or video data. There are different types of codecs, each with its own compression algorithms and characteristics. Lossless codecs preserve the original quality of the data during compression and decompression, while lossy codecs achieve higher compression ratios by discarding certain information that is considered less important or perceptually less noticeable. Generally, a codec on its own does not determine the quality. |
+| Bitrate | Refers to the amount of data that is processed or transmitted per unit of time. Higher bitrates generally produce higher-quality audio or video, but they also require more storage space and bandwidth for transmission. However, it's worth noting that the relationship between bitrate and quality is not always linear. Factors like the codec, compression algorithm, resolution, and content complexity also play significant roles in determining the perceived quality. |
+| Transparency | Transparency is a term used to describe the perceived quality of a lossy file. A lossy file is considered transparent if a human cannot tell the difference between a lossy file and a lossless file. |
+
+## Video
+
+| Term | Meaning |
+| ----- | ----------------------------------------------------------------------------- |
+| AV1 | Video codec used to compress videos. Currently in early stages of development |
+| H.264 | Video codec used to compress videos |
+| H.265 | Video codec used to compress videos. Successor to H.264 |
+| x264 | Video encoder used to encode videos into H.264 |
+| x265 | Video encoder used to encode videos into H.265 |
+
+## Audio
+
+| Term | Meaning |
+| ------------------ | --------------------------------------------------------------------------- |
+| AAC | Lossy audio codec used by several official streaming sites |
+| Dolby Atmos | An extension of Dolby TrueHD. Cannot be converted to any other format |
+| Dolby Digital | Proprietary Lossy audio codec. Commonly used by official streaming sites |
+| Dolby Digital Plus | Proprietary Lossy audio codec. Commonly used by official streaming sites |
+| Dolby TrueHD | Proprietary lossless audio codec found in BluRays |
+| DTS-HD | Proprietary Lossy audio codec |
+| DTS-HD MA | Proprietary lossless audio codec found in BluRays |
+| DTS:X | An extension of DTS-HD MA. Cannot be converted to any other format |
+| FLAC | Fastest and most widely supported lossless audio codec |
+| MP3 | Lossy audio codec generally used for music, is beaten by newer lossy codecs |
+| Opus | Open lossy audio codec, currently the best one |
+| PCM | Uncompress lossless audio codec generally found in BluRays |
+| Vorbis | Outdated lossy audio codec |
+
+## Torrent
+
+| Term | Meaning |
+| --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| BitTorrent | A peer-to-peer (P2P) file-sharing protocol used for distributing large amounts of data over the internet, where files are broken into small pieces and shared among multiple users simultaneously. |
+| Buffer | The difference between the amount of data a user has uploaded and downloaded on a private tracker |
+| DHT | A decentralized method used by BitTorrent to track peers without relying on a central server, enabling peer discovery and file sharing even if the tracker is unavailable |
+| Freeleech | A status assigned to certain torrents on a private tracker where the downloaded data does not count towards a user's download ratio, encouraging increased participation and sharing |
+| Hit and run | A term used to describe when a user downloads a file from a private tracker but fails to continue seeding it to the required ratio or for a specified period |
+| Leecher | A user who is in the process of downloading a file but has not yet completed the download or is not actively uploading (sharing) the downloaded pieces with others |
+| Magnet link | A type of hyperlink used in BitTorrent that allows users to directly connect to the tracker and peers without needing to download a separate torrent file |
+| Neutral leech | A status assigned to certain torrents on a private tracker where none of the data uploaded or downloaded is counted |
+| Peer | An individual computer or device connected to a P2P network that participates in sharing and downloading files |
+| Piece | A small part of a file that is broken down during the BitTorrent process, allowing simultaneous downloading and uploading of different pieces from different peers |
+| Private tracker | A BitTorrent tracker that requires an invitation to join. Advantages of private trackers include speed, retention, selection, and quality control |
+| Public tracker | A BitTorrent tracker that allows any user to join and participate in file sharing without requiring registration or authentication |
+| Ratio | The ratio between the amount of data uploaded by a user and the amount downloaded. Private trackers often enforce minimum ratio requirements to ensure fair sharing among users. |
+| Seedbox | A dedicated remote server optimized for high-speed downloading and seeding of torrents |
+| Seeder | A user who has completed downloading a file and continues to share it with other users by uploading the file pieces they possess |
+| Swarm | The collective group of peers (both seeders and leechers) participating in the distribution of a particular file through BitTorrent |
+| Torrent client | Software or application used to download and upload files using the BitTorrent protocol |
+| Torrent file | A small file that contains metadata about the files to be shared and the tracker information required to initiate and coordinate the downloading process |
+| Tracker | A server or web service that assists in coordinating the communication between peers in a BitTorrent network by keeping track of which peers possess which pieces of a file |
+| Racing | Being the first in a swarm to maximize upload |
diff --git a/docs/resources/guides.md b/docs/resources/guides.md
index dc45d9578..122fb63b1 100644
--- a/docs/resources/guides.md
+++ b/docs/resources/guides.md
@@ -7,4 +7,3 @@ order: -2
[!ref](/guides/quality/)
[!ref](/guides/playback/)
-[!ref](/guides/torrenting/)
diff --git a/docs/resources/tutorials.md b/docs/resources/tutorials.md
index 4333a5cf4..8a64c83e1 100644
--- a/docs/resources/tutorials.md
+++ b/docs/resources/tutorials.md
@@ -5,20 +5,19 @@ order: -3
# Tutorials
-- [Auto downloading anime using RSS](/tutorials/rss)
- [Automate Downloads With Taiga2shana](/tutorials/shana)
-- [Bind VPN network interface to torrent client](/tutorials/vpn-binding)
- [Creating a comparison](/tutorials/comparison)
-- [Creating a torrent](/tutorials/torrent)
+- [Creating torrents](/tutorials/torrent)
- [Deluge](/tutorials/deluge)
- [Download OP/ED From MAL/AniList Account](/tutorials/oped)
- [How to Extract Visual Novel assets](/tutorials/visualnovels)
- [How To Use IRC/XDCC](/tutorials/irc)
- [Manage LN/WN using Calibre](/tutorials/calibre)
-- [MPV Setup and Config](/tutorials/mpv)
+- [mpv Setup and Config](/tutorials/mpv)
- [Plex Player Modding](/tutorials/plex)
- [Propolis](/tutorials/propolis)
- [qBittorrent](/tutorials/qbittorrent)
- [Sonarr](/tutorials/sonarr)
+- [Split Tunneling](/tutorials/splittunnel)
- [Transmission](/tutorials/transmission)
- [Unblock Guide](/tutorials/unblock)
diff --git a/docs/sourcing/private-trackers.md b/docs/sourcing/private-trackers.md
index 3cd0acb87..8aff80000 100644
--- a/docs/sourcing/private-trackers.md
+++ b/docs/sourcing/private-trackers.md
@@ -1,35 +1,46 @@
---
-label: Private BitTorrent Trackers
+label: Private Trackers
order: -3
---
-# Private BitTorrent Trackers
+# Private Trackers
-## Private Trackers
+Private trackers are BitTorrent trackers that require user registration in order to access and download torrents.
-- [AnimeBytes](https://animebytes.tv/)
-- [BakaBT](http://bakabt.me/)
-- [AnimeTorrents](https://animetorrents.me/)
+If you're new to torrenting, see the [torrenting guide](/getting-started/torrenting) on how to get started. *Additionally, we suggest you stick to [public trackers](/sourcing/public-trackers), as most shows can be found there without being locked behind user signup.*
+
+- [AnimeBytes](https://animebytes.tv)
+- [AnimeTorrents](https://animetorrents.me)
+- [BakaBT](https://bakabt.me)
+- [Skyey Snow](https://skyeysnow.com) [!badge variant="success" icon="sign-in" text="Open Signup"]
- [U2](https://u2.dmhy.org)
-- [Skyeysnow](https://skyeysnow.com/) (open signup)
-## How do I join private trackers?
+## AnimeBytes
+
+[AnimeBytes](https://animebytes.tv) (AB) is a closed private BitTorrent tracker for anime.
+
+Users are can join this tracker through recruitments on various top-tier trackers. Unlike other trackers, however, joining AB is difficult and *not* guaranteed as several factors can affect your standing, such as receiving bans from other trackers.
+
+## AnimeTorrents
+
+[AnimeTorrents](https://animetorrents.me) (AnT/AnimeZ) is a closed private BitTorrent tracker for anime.
+
+Users can join this tracker through recruitments. Unfortunately, getting into this tracker is currently impossible, as recruits remain closed.
-Typically by open signups, interviews, applications, recruitment and user invites. The ways to get into common private anime trackers are given below:
+## BakaBT
-- AnimeBytes (AB):
+[BakaBT](https://bakabt.me) (BBT) is a closed private BitTorrent tracker for anime, literature, music, etc.
- - Elite anime tracker, affiliated with the private tracker cabal so bans on other cabal trackers will affect your standing at AB. Recruits from various entry level cabal/cabal-affiliated trackers like RED at 12 months + Power User and GGn at 3 months + Elite Gamer. Has official recruitments at most top tier cabal trackers. Allegedly some quicker routes exist if you know the right path. Users are subject to intense scrutinity by staff and trees bans so user invites are more than likely out of the question for this one.
+Users can join this tracker after successfully passing an interview via IRC. The interview goes over the basics about torrenting and the site rules, which can be found on [their wiki](https://wiki.bakabt.me).
-- BakaBT (BBT):
+## Skyey Snow
- - Only allows new registrations from users who successfully pass an interview via IRC. The interview is extremely easy, mostly about the rules, BitTorrent, and other various information you can find on their wiki. Allowed to read their wiki while doing the interview which results in a /comfy/ experience but tracker is somewhat lackluster.
+[Skyey Snow](https://skyeysnow.com) is a open private BitTorrent tracker for anime.
-- AnimeTorrents (AnT/AnimeZ):
+Users can join this tracker by completing the account registration process.
- - Used to recruit once or twice per year, hasn't recruited since late 2019. Allegedly planning to reopen the site after they complete a revamp that has been years in the making but their SysOp stalls worse than your average anime encoder. Used to allow you to self-invite from other AvistaZ network trackers but since closed. User invite system has been broken for years despite allowing you to buy invites with bonus points. Essentially closed at the moment.
+## U2
-- U2 (u2.dmhy):
- - Recruits from AnimeBytes in the class restricted invite forums and various Chinese private trackers. Allegedly a secret BBS exists where you can showcase your anime collection and test your luck getting invited by a stranger. Tree bans are not a thing on U2 so user invites are relatively easy to come by.
+[U2](https://u2.dmhy.org) is a closed private BitTorrent tracker for anime.
-[This wiki page](https://wiki.installgentoo.com/index.php/Private_trackers) explains private trackers in detail. Note that it's largely written for a shitpost community on /g/ so the content will reflect as such and some of the information is out of date but it is still a good resource for beginners.
+Users can join this tracker through recruitments on [AnimeBytes](#animebytes).
diff --git a/docs/sourcing/public-trackers.md b/docs/sourcing/public-trackers.md
index ac4683396..fdfc93475 100644
--- a/docs/sourcing/public-trackers.md
+++ b/docs/sourcing/public-trackers.md
@@ -1,47 +1,64 @@
---
-label: Public BitTorrent Trackers
+label: Public Trackers
order: -2
---
-# Public BitTorrent Trackers
+# Public Trackers
-## Public Trackers
+Public trackers are BitTorrent trackers that allow anyone to access and download torrents without requiring user registration, unlike [private trackers](/sourcing/private-trackers).
-!!!
-Make sure to use an adblocker like [uBlock Origin](https://ublockorigin.com/).
+If you're new to torrenting, see the [torrenting guide](/getting-started/torrenting) on how to get started.
+
+!!!warning
+We suggest you use a reliable content blocker such as [uBlock Origin](https://ublockorigin.com).
!!!
-- [Nyaa.si](https://nyaa.si)
-- [Anidex](https://anidex.info/)
-- [Rutracker](https://rutracker.org/) (Russian, use Google Translate)
-- [Tokyotosho](https://www.tokyotosho.info/?cat=1)
-- [AnimeTosho](https://animetosho.org/) - Scrapes other public trackers, useful for getting information, mediainfo or subtitles and attachments from a torrent.
-- [Dmhy](https://dmhy.org/) - (Chinese, use Google Translate)
-- [ACG.RIP](https://acg.rip/) - (Chinese, use Google Translate)
-- [ACGNX](https://share.acgnx.se/) - (Chinese, use Google Translate)
+- [Nyaa](https://nyaa.si) [!badge icon=":heart:" variant="primary" text="Recommended"]
+- [AcgnX](https://share.acgnx.se) [!badge variant="secondary" text="Chinese"]
+- [ACG.RIP](https://acg.rip) [!badge variant="secondary" text="Chinese"]
+- [AniDex](https://anidex.info)
+- [AnimeTosho](https://animetosho.org) [!badge variant="danger" icon="search" text="Scraper"]
+- [DMHY](https://dmhy.org) [!badge variant="secondary" text="Chinese"]
+- [RuTracker](https://rutracker.org) [!badge variant="secondary" text="Russian"]
+- [Tokyo Toshokan](https://www.tokyotosho.info/?cat=1)
-## Using Nyaa
+## Nyaa
-The main source for finding torrents is [Nyaa](nyaa.si), you already have a general idea about the codecs, quality and release groups from the [quality guide](/guides/quality). These 3 things are what we'll use to quickly find the best release for any anime. Nyaa search is simple and limited, but it's enough for finding anything, given that the uploader correctly tags the release.
+[Nyaa](https://nyaa.si) is a public BitTorrent tracker for anime, manga, light novels, etc.
-First, change the All Categories option to `Anime - English Translated`. It can be set to just `Anime` to include english, raws and other languages. The two useful search operators are `-` and `|(OR)`, `AND` is already implicit in every search. For example -
+### Searching
-`"Attack on Titan"|"Shingeki no Kyojin"` will return results that match either
+#### Categories
-`-` is useful when you want to exclude something. When I try to search for an anime titled just [`Monster`](https://myanimelist.net/anime/19/Monster,), the results are flooded by Pocket Monsters episodes. This can be solved by changing the search to `Monster -pocket`.
+Torrents on [Nyaa](https://nyaa.si) are sorted by category. These can be changed using the second dropdown menu on the search bar.
-!!!
-When searching for a dubbed version of an anime, be sure to add the term `dual audio`
-!!!
+To search for releases in English, use the `- English-translated` option under the various categories.
+
+#### Regex
-Once you have the search results, they are sorted by date (newest) by default. Sorting by seeds or completed downloads might help in finding the best release.
+Below is a list of useful regex that can help narrow down your search when looking for torrents:
-**Example Search**
+Regex | Meaning | Example Usage
+------|--------------------------------------------------|----------------------------------------------------------------
+`"` | Only return results that match exact word/phrase | `"Gochuumon wa Usagi desu ka??"`
+`|` | Return results that match either word/phrase; or | `"Is the Order a Rabbit?"|"Gochuumon wa Usagi desu ka?"`
+`-` | Exclude word/phrase from search | `Gochuumon wa Usagi desu ka? BD Hi10P -BLOOM -"Sing For You"`
-For a complete example, let's take [KonoSuba](https://myanimelist.net/anime/30831/Kono_Subarashii_Sekai_ni_Shukufuku_wo), the long title is complicated enough to make searching hard. Suppose I want to watch this on a TV, and a compatibility check reveals that I can't play x264 10-bit (hi10p) . For the video, I want to avoid hi10p and prefer hevc/x265 10-bit for potentially smaller sizes. And I want the superior video from a bluray, with fansubs, instead of a web release. For some reason, I also desire flac. So my search becomes
+*See [their help section](https://nyaa.si/help#using-search) for more information.*
-`Konosuba BD 1080 hevc flac -hi10`
+### Custom RSS
-Most releases are tagged both hevc and x265, explicitly mentioning only 265 like `Konosuba BD 265 flac` will also give you some results where the uploader forgot to tag hevc. If I don't want flac, it'll be `Konosuba BD hevc -flac` or `Konosuba BD hevc opus`. There's still a problem in this search, we used `konosuba` instead of the full name and some results are missing. Changing it to `Kono BD hevc flac` matches everything. Now we can sort the results and immediately see one by kawaiika-raws. Aware of the fact that they usually have the best video and often pick good fansubs, you can safely download it.
+[Nyaa](https://nyaa.si) supports custom RSS feed creation. This is useful if you plan on automatically downloading releases that do not have existing RSS feeds, such as fansubs for airing shows.
-This was just to provide a better idea of the process, most actual searches are easy and rarely need anything beyond `Anime name BD` or `Anime name hevc` for smaller sizes.
+- Search and go to the user's profile you want to create a feed for
+- On the top bar, click on **RSS**. *Copy this URL and add it to your torrent client*
+
+==- Video tutorial
+
+[!embed text="Creating an RSS feed for Yameii"](/static/torrenting/nyaa/custom-rss.mp4)
+
+==-
+
+!!!warning
+You should always make searches from the profile page, as global searches carry the risk of potentially downloading torrents from imposters using the group's name, which may contain malware or other undesirable content.
+!!!
diff --git a/docs/sourcing/streaming.md b/docs/sourcing/streaming.md
index ea21bbba2..bc7544d36 100644
--- a/docs/sourcing/streaming.md
+++ b/docs/sourcing/streaming.md
@@ -5,78 +5,112 @@ order: -1
# Streaming Sites
-## Popular Streaming Sites
+!!!warning
+Majority of unofficial streaming sites will contain unwanted or annoying pop-ups and ads that may interfere with your experience. *We suggest you use a reliable content blocker such as [uBlock Origin](https://ublockorigin.com).*
+!!!
-- [gogoanime](https://gogoanime.lu/) - Self-hosted site that nearly all scraper sites source from.
-- [9anime](https://9anime.to) - Self-hosted site with a library on par with gogoanime. Marginally better quality while updating their releases to more often include fansubs and BD versions on older content.
-- [Zoro](https://zoro.to/) - Self-hosted site similar in quality to 9anime with an extensive library and is one of the only streaming sites with soft subtitles.
+## Popular Sites
-## Picking a Streaming Site
+- [AniWatch](https://aniwatch.to) (previously *Zoro*) - Self-hosted site with quality similar to AniWave while maintaining an extensive library. *One of the only streaming sites with soft subtitles*
+ - *Not to be confused with defunct streaming site [Aniwatch.me](https://aniwatch.me)*
+- [AniWave](https://aniwave.to) (previously *9anime*) - Self-hosted site with one of the largest and oldest anime libraries. *Releases are often updated to include fansubs and BD releases for older content*
+- [Gogoanime](https://gogoanime.lu) - Self-hosted site with a vast library. *Majority of scraper sites will source from here*
-While one can choose between the numerous popular sites listed both here and on [The Index](https://theindex.moe/), the best way to pick a streaming site is to choose one that suits your needs, whatever those may be. These are some factors that may affect your choice.
+*See [The Index](https://theindex.moe) for a more comprehensive list of unofficial anime streaming sites.*
-### Scrapers vs Self-Hosted Sites
+Looking for official streaming sites? *See [r/anime's list of legal streams](https://www.reddit.com/r/anime/wiki/legal_streams).*
-A "scraper" is a site that takes content hosted on other sites, and puts it on their own. These are the streaming site equivalent to [manga aggregator sites](https://thewiki.moe/guides/literature#sourcing) that are mentioned in the literature page. These can lead to extensive libraries without the need for the site owners to host the content themselves, usually at the expense of video quality. By far the most commonly scraped from site is [gogoanime](https://gogoanime.lu/), so much so that most streaming sites in existence are gogoanime scrapers.
+## Picking a Site
-**Examples of scraper sites:** [AllAnime](https://allanime.to/), [11anime](https://11anime.fr/), [5anime](https://5anime.net/), [Genoanime](https://genoanime.com/), [Animeflix](https://animeflix.sbs/)
+The best way to pick a streaming site is to choose one that suits your needs and preferences. These are some factors that you may want to take into consideration:
-A "self-hosted" site is one that actually hosts all the content on their own servers. With some exceptions, this usually means a significantly smaller selection than all the scraper sites who can utilize gogo's massive library. However, this usually also leads to better video quality that can range from a marginal improvement, to extremely significant.
+### Self-Hosted vs. Scrapers
-**Examples of self-hosted sites:** [gogoanime](https://gogoanime.lu/), [9anime](https://9anime.to), [Zoro](https://zoro.to/), [animepahe](https://animepahe.com/), [Marin](https://marin.moe/)
+!!!warning
+Beware of fake streaming sites! These are scrapers with copied interfaces and are oftentimes not reflected of the original site. Always pay attention to the URL of the website. *You can always find legitimate sites on [The Index](https://theindex.moe).*
+!!!
+
++++ Self-Hosted
+
+A **self-hosted** site is a streaming site that hosts the content on their own servers.
+
+Typically, self-hosted sites allow for significantly better video quality compared to scrapers or other sites. They also generally pick good BD releases or fansubs for some shows. *However, some self-hosted libraries can be more limited.*
+
+**Examples of self-hosted sites:** [animepahe](https://animepahe.com), [AniWatch](https://aniwatch.to), [AniWave](https://aniwave.to), [Gogoanime](https://gogoanime.lu), [Marin](https://marin.moe)
+
++++ Scrapers
+
+A **scraper** is a site that grabs content hosted on existing self-hosted sites and uses it for their own site, similar to how manga aggregator sites operate.
+
+This allows for anime libraries equivalent in size to self-hosted ones, without the need for the scraper to host content themselves. Additionally, site owners can implement their own UI or features, which may be preferred over the original site.
+
+Majority of sites will scrape from [Gogoanime](https://gogoanime.lu), a popular self-hosted streaming site.
+
+**Examples of scraper sites:** [AllAnime](https://allanime.to), [Anix](https://anix.to), [Genoanime](https://genoanime.com), [YugenAnime](https://yugenanime.tv)
+
++++
### Video Quality
-While streaming sites offer the worst video quality in comparison to the alternatives such as torrenting, DDL, or XDCC, that does not mean that all streaming sites are made equal. If for whatever reason those other methods are not open to you but you'd still like to improve the video quality of your media, then you have some options available to you.
+While streaming sites will offer worse video quality compared to alternatives such as torrenting, DDL, XDCC, or even legal streaming, *not all streaming sites are made equal.*
-Some comparisons between streaming sites:
+You can see for yourself in the quality comparisons linked below:
-- Demon Slayer (most major streaming sites and torrents) - https://slow.pics/c/pjYaqdnr
-- Fate/Zero (9anime, animepahe, gogo, tenshi, and torrents) - https://slow.pics/c/1LNZtDzm
-- Senran Kagura (gogo, animepahe, 9anime, twist, zoro, and torrents) - https://slow.pics/c/QLtX61qx
-- Dokyuu Hentai HxEros (gogoanime, animepahe, 9anime, torrents) - https://slow.pics/c/PZRxqAsh
-- Vinland Saga S2 (9anime, Zoro, Marin, torrents) - https://slow.pics/c/GjhwBwo3
+Show | Sources
+----------------------------------------------------------|------------------------------------------------------------------------------------
+[Demon Slayer](https://slow.pics/c/pjYaqdnr) | AniWatch (Zoro), AniWave (9anime), animepahe, Gogoanime, Marin (tenshi), torrents
+[Dokyuu Hentai HxEros](https://slow.pics/c/PZRxqAsh) | animepahe, AniWave (9anime), Gogoanime, torrents
+[Fate/Zero](https://slow.pics/c/1LNZtDzm) | animepahe, AniWave (9anime), Gogoanime, Marin (tenshi), torrents
+[Masamune-kun no Revenge R](https://slow.pics/c/rj3QjRMA) | animepahe, AniWatch, AniWave, Gogoanime, Marin, torrents
+[Oshi no Ko](https://slow.pics/c/6HqApHsn) | AniWatch (Zoro), AniWave (9anime), Gogoanime, Marin, torrents
+[Senran Kagura](https://slow.pics/c/QLtX61qx) | AniWatch (Zoro), AniWave (9anime), animepahe, Gogoanime, torrents
+[Vinland Saga S2](https://slow.pics/c/GjhwBwo3) | Gogoanime, Marin, torrents
-#### **Quality Tier List**
+#### Quality Tier List
-**Tier 1**:
++++ Tier 1 (Best)
-- [Marin](https://marin.moe/) - Contains the smallest library of all the sites but with the best quality for BD releases and good quality for seasonal content. Consistently the best overall
-- [AllAnime](https://allanime.to/) - Specific seasonal content belongs in Tier 1 because it is equal to SubsPlease/HorribleSubs releases making it the undisputed best quality for illegal streaming sites in these instances. Not all series are scraped from VRV though and in those instances the quality is Tier 3.
-- [AnimeDao](https://animedao.to/) - Same as above but it depends on which server you choose. Try them out and pick the one with good quality.
+- [AllAnime](https://allanime.to) - Scraper site with great video quality when scraped from VRV, making them on par with SubsPlease/HorribleSubs torrent releases. *However, not all shows use VRV, resulting in Tier 3 quality*
+- [Marin](https://marin.moe) - Consistently the best video quality with BD releases and good quality for seasonals. *Formerly tenshi*
-**Tier 2**:
++++ Tier 2 (Good)
-- [9anime](https://9anime.to)
-- [Zoro](https://zoro.to/)
+- [AniWatch](https://aniwatch.to) - *Formerly Zoro*
+ - *Not to be confused with defunct streaming site [Aniwatch.me](https://aniwatch.me)*
+- [AniWave](https://aniwave.to) - *Formerly 9anime*
-**Tier 3**:
++++ Tier 3 (Okay)
-- [gogoanime](https://gogoanime.lu/) (and scrapers)
-- [animepahe](https://animepahe.com/) - Can be better or worse than gogoanime but with significantly smaller file size and the benefit of sourcing from good BD releases when available, like [Marin](https://marin.moe/).
+- [animepahe](https://animepahe.com) - Quality can be better or worse than Gogoanime. *However, they offer significantly smaller file sizes and use good BD releases whenever available similar to [Marin](https://marin.moe)*
+- [Gogoanime](https://gogoanime.lu) (and its scrapers)
-### Other Factors
++++
-There are a multitude of other factors that may affect your decision in picking a site. Here are some brief recommendations based on some factors that aren't covered in [The Index](https://theindex.moe/) and are often not taken into account.
+### Other Factors
-**Fansubs and BD Versions**
+There are a multitude of other factors that may affect your decision in picking a site. Here are some brief recommendations based on some factors that aren't covered in [The Index](https://theindex.moe) and are often not taken into account:
-- [Marin](https://marin.moe/) and [animepahe](https://animepahe.com/) are very consistent at picking good BD releases with good fansubs. [9anime](https://9anime.to) also does this but less often and often with slightly worse release choice.
+==- Fansubs and BD Releases
+[Marin](https://marin.moe) and [animepahe](https://animepahe.com) are very consistent at picking good BD releases with fansubs.
-**Filesize**
+[AniWave](https://aniwave.to) does this too, *but typically less often and with slightly worse release choice.*
-- [animepahe](https://animepahe.com/) has some of the smallest filesizes compared to other streaming sites. [9anime's](https://9anime.to) are also relatively small compared to [gogoanime](https://gogoanime.lu/) and [Marin](https://marin.moe/).
+==- File Size
+[animepahe](https://animepahe.com) has some of the smallest file sizes compared to other streaming sites.
-**UI**
+[AniWave's](https://aniwave.to) are also relatively small when compared to sites like [Gogoanime](https://gogoanime.lu) and [Marin](https://marin.moe).
-- Streaming site users often care about the UI and user experience. This is completely subjective, and the best advice we have is to try out the sites from [The Index](https://theindex.moe/) yourself and find what you like.
+==- Library
+[AniWave](https://aniwave.to) and [Gogoanime](https://gogoanime.lu) have some of the largest libraries available.
-**Library**
+Additionally, [AniWave](https://aniwave.to) has one of the best libraries when it comes to older and rarer shows.
-- [gogoanime](https://gogoanime.lu/) (and its scrapers) and [9anime](https://9anime.to) have some of the largest libraries available.
+==- Soft Subs
+[AniWatch](https://aniwatch.to) is one of the only streaming sites that use soft subtitles, with the other alternatives being legal streaming sites.
-**Soft Subs**
+==- UI and Features
+Users often care about the UI and site features. *As this is completely subjective, we suggest you visit and try out the collection of sites from [The Index](https://theindex.moe) and find what you like best.*
-- [Zoro](https://zoro.to/) is one of the only streaming sites with soft subtitles with the only other real alternatives being legal streaming sites.
+===
-Other factors like the ability to download, commments, MAL-Sync, and more can be identified in [The Index](https://theindex.moe/)
+*Additional factors, like the ability to download, comment, use [MAL-Sync](https://malsync.moe), and more can be identified on [The Index](https://theindex.moe).*
diff --git a/docs/sourcing/usenet.md b/docs/sourcing/usenet.md
index eefa8a3c3..c0f086197 100644
--- a/docs/sourcing/usenet.md
+++ b/docs/sourcing/usenet.md
@@ -1,7 +1,7 @@
---
label: Usenet
order: -5
-description: Get Started with Usenet
+description: Get started with usenet
image: https://user-images.githubusercontent.com/78981416/215252980-0a038d94-b05c-4e52-83b4-51948df6a591.gif
---
@@ -11,6 +11,7 @@ image: https://user-images.githubusercontent.com/78981416/215252980-0a038d94-b05
## Getting started
You will need 3 things at a basic level before you can download anything:
+
- A usenet provider, which will provide servers to download content from. You have to pay for one and many offer in-bulk deals (yearly) which can average out to as low as 3-4 USD a month.
- An NZB indexer, this is where you will get your `.nzb` file. An `.nzb` file is akin to a `.torrent` file in that it contains a map pointing to the location of the content that you want to download. These can be paid, free, public or private. Just like torrents, private ones are better than the public ones. Indexers usually have a heavily limited free tier and you'll have to pay for full functionality.
- [SABnzbd](https://sabnzbd.org/), which is a download client, into which you will feed your `.nzb` files in order to begin downloading your desired content. Make sure to put your SABnzbd behind a strong password.
@@ -33,10 +34,10 @@ Animetosho skips uploading most torrents over 16GB in size and some specific exc
Anime Tosho is an amazing source to download weeklies via usenet.
To use it, simply click the `NZB` button under the release title to download the `.nzb` file which you can then add to your SABnzbd and it'll start downloading.
-![](https://user-images.githubusercontent.com/78981416/215181082-b1c273ed-9a2a-4b4f-a52d-e069df152645.png)
+![Animetosho NZB download](https://user-images.githubusercontent.com/78981416/215181082-b1c273ed-9a2a-4b4f-a52d-e069df152645.png)
You can also directly copy the link and paste it in SABnzbd, similar to how magnet links work in torrent clients.
-![](https://user-images.githubusercontent.com/78981416/215181096-ebc1c2ce-0187-4cf2-acb2-dcc67abeec6b.png)
+![Animetosho NZB link](https://user-images.githubusercontent.com/78981416/215181096-ebc1c2ce-0187-4cf2-acb2-dcc67abeec6b.png)
## SeaDex
@@ -45,21 +46,72 @@ You can also directly copy the link and paste it in SABnzbd, similar to how magn
## Searching Indexers
You can use either Prowlarr or NZBHydra2 to search several Indexers together instead of searching them one by one.
+
- [NZBHydra 2 is a meta search for newznab indexers and torznab trackers](https://github.com/theotherp/nzbhydra2)
- [Prowlarr is an indexer manager for both torrent trackers and usenet indexers](https://github.com/Prowlarr/Prowlarr)
## Uploading to Usenet
+
You can use either of the following to upload to usenet.
-- [ngPost is a CLI/GUI usenet poster for binaries](https://github.com/mbruel/ngPost)
+
+- [ngPost is a CLI/GUI usenet poster for binaries](https://github.com/mbruel/ngPost/releases)
- [Nyuu is a flexible CLI usenet binary posting tool](https://github.com/animetosho/Nyuu)
+**A provider is required to upload, however we recommend that you purchase an account anonymously with crypto, and upload using a VPN.**
+
+### Uploading with ngPost
+
+Download the appropriate version for your OS from the above link, the file ending with x64_setup.exe if you're using Windows
+
+After installing, you'll want to edit the config file before you open the GUI, otherwise your settings will not be saved between sessions.
+
+==- Configuring ngPost
+Go to the install location, open ngPost.conf with a text editor, and set the following values:
+
+#### Config options
+
+**nzbPath:** Where you want the .nzb files to be saved after the upload is complete
+
+**GROUPS:** The usenet groups you wish to upload to, we recommend `a.b.boneless` as a default
+
+**obfuscate:** Uncomment this section if you wish to obfuscate your uploads, see below.
+
+**TMP_DIR:** Folder where rar and par files will temporarily be stored during the upload process
+
+#### Provider details
+
+**host:** Your usenet provider address, for example `news.eweka.nl`
+
+**port:** The port given, usually 563 for SSL and 119 for normal
+
+**ssl:** Keep as true if your port is 563, otherwise set to false
+
+**user/pass:** Self explanatory
+
+**connection:** Limit according to your internet capabilities, recommended to start with 8
+==-
+
+Now you've setup the config file, open the GUI with ngPost.exe, which should be filled with all the values you just set
+
+To upload files, simply select Auto Posting, drag all your files into the window below, and click Generate Posts.
+
+**`Compress` should be un-ticked unless you need to preserve folder structure, as it allows for faster creation and downloading of NZBs**
+
+**`Article's obfuscation` should be un-ticked if you want your uploads to be easily accessible without the need for your NZB file**
+
+[![ngPost GUI](https://github.com/Snaacky/thewiki/assets/78981416/332b361b-b1f7-40ba-a7fe-d1b8f96fbcae "ngPost GUI")](https://github.com/Snaacky/thewiki/assets/78981416/332b361b-b1f7-40ba-a7fe-d1b8f96fbcae "ngPost GUI")
+
+
+Once the upload has finished, you'll be left with the NZB file in the directory you chose earlier.
+
## Usenet Providers and Backbones
-[![](https://user-images.githubusercontent.com/78981416/215181155-f6633053-4f7c-4f3b-8a0a-e35c215c7193.png)](https://upload.wikimedia.org/wikipedia/commons/7/7d/Usenet_Providers_and_Backbones.svg)
+[![Usenet Providers and Backbones](https://user-images.githubusercontent.com/78981416/215181155-f6633053-4f7c-4f3b-8a0a-e35c215c7193.png)](https://upload.wikimedia.org/wikipedia/commons/7/7d/Usenet_Providers_and_Backbones.svg)
!!!
-The above map is from https://commons.wikimedia.org/wiki/File:Usenet_Providers_and_Backbones.svg
+The above map is from
!!!
## Related Subreddit
+
- [/r/Usenet](https://www.reddit.com/r/usenet/)
diff --git a/docs/static/comparison/hyouka.gif b/docs/static/comparison/hyouka.gif
new file mode 100644
index 000000000..32d74a204
Binary files /dev/null and b/docs/static/comparison/hyouka.gif differ
diff --git a/docs/static/index.yml b/docs/static/index.yml
new file mode 100644
index 000000000..4708564f6
--- /dev/null
+++ b/docs/static/index.yml
@@ -0,0 +1 @@
+visibility: hidden
\ No newline at end of file
diff --git a/docs/static/muxing/mkvtoolnix.png b/docs/static/muxing/mkvtoolnix.png
new file mode 100644
index 000000000..6f7ba949c
Binary files /dev/null and b/docs/static/muxing/mkvtoolnix.png differ
diff --git a/docs/static/muxing/mkvtoolnix2.png b/docs/static/muxing/mkvtoolnix2.png
new file mode 100644
index 000000000..a9e61aa66
Binary files /dev/null and b/docs/static/muxing/mkvtoolnix2.png differ
diff --git a/docs/static/muxing/mkvtoolnix3.png b/docs/static/muxing/mkvtoolnix3.png
new file mode 100644
index 000000000..ae3fde723
Binary files /dev/null and b/docs/static/muxing/mkvtoolnix3.png differ
diff --git a/docs/static/muxing/mkvtoolnix4.png b/docs/static/muxing/mkvtoolnix4.png
new file mode 100644
index 000000000..02b2290bd
Binary files /dev/null and b/docs/static/muxing/mkvtoolnix4.png differ
diff --git a/docs/static/ntsc-regions.png b/docs/static/ntsc-regions.png
new file mode 100644
index 000000000..735ee419d
Binary files /dev/null and b/docs/static/ntsc-regions.png differ
diff --git a/docs/static/playback/fonts/cabin.zip b/docs/static/playback/fonts/cabin.zip
new file mode 100644
index 000000000..ccbc0bc50
Binary files /dev/null and b/docs/static/playback/fonts/cabin.zip differ
diff --git a/docs/static/playback/fonts/gandhi-sans.zip b/docs/static/playback/fonts/gandhi-sans.zip
new file mode 100644
index 000000000..e327a8a0f
Binary files /dev/null and b/docs/static/playback/fonts/gandhi-sans.zip differ
diff --git a/docs/static/playback/mpv/installation-windows.mp4 b/docs/static/playback/mpv/installation-windows.mp4
new file mode 100644
index 000000000..b379bea7b
Binary files /dev/null and b/docs/static/playback/mpv/installation-windows.mp4 differ
diff --git a/docs/static/quality/animetosho.gif b/docs/static/quality/animetosho.gif
new file mode 100644
index 000000000..ec68049ec
Binary files /dev/null and b/docs/static/quality/animetosho.gif differ
diff --git a/docs/static/readme/logo-thick-border.png b/docs/static/readme/logo-thick-border.png
new file mode 100644
index 000000000..d8959d8f1
Binary files /dev/null and b/docs/static/readme/logo-thick-border.png differ
diff --git a/docs/static/readme/logo-thin-border.png b/docs/static/readme/logo-thin-border.png
new file mode 100644
index 000000000..f207fb500
Binary files /dev/null and b/docs/static/readme/logo-thin-border.png differ
diff --git a/docs/static/tohsaka.gif b/docs/static/tohsaka.gif
new file mode 100644
index 000000000..38150b253
Binary files /dev/null and b/docs/static/tohsaka.gif differ
diff --git a/docs/static/torrenting/deluge/installing_ltconfig.mp4 b/docs/static/torrenting/deluge/installing_ltconfig.mp4
new file mode 100644
index 000000000..c81d03936
Binary files /dev/null and b/docs/static/torrenting/deluge/installing_ltconfig.mp4 differ
diff --git a/docs/static/torrenting/dottorrent-gui/creating-torrents-single.mp4 b/docs/static/torrenting/dottorrent-gui/creating-torrents-single.mp4
new file mode 100644
index 000000000..93da2ce21
Binary files /dev/null and b/docs/static/torrenting/dottorrent-gui/creating-torrents-single.mp4 differ
diff --git a/docs/static/torrenting/getting-torrents-file.mp4 b/docs/static/torrenting/getting-torrents-file.mp4
new file mode 100644
index 000000000..579e454ce
Binary files /dev/null and b/docs/static/torrenting/getting-torrents-file.mp4 differ
diff --git a/docs/static/torrenting/getting-torrents-magnet.mp4 b/docs/static/torrenting/getting-torrents-magnet.mp4
new file mode 100644
index 000000000..d4abe5b25
Binary files /dev/null and b/docs/static/torrenting/getting-torrents-magnet.mp4 differ
diff --git a/docs/static/torrenting/nyaa/custom-rss.mp4 b/docs/static/torrenting/nyaa/custom-rss.mp4
new file mode 100644
index 000000000..37e088ebb
Binary files /dev/null and b/docs/static/torrenting/nyaa/custom-rss.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/adding-feeds.mp4 b/docs/static/torrenting/qbittorrent/adding-feeds.mp4
new file mode 100644
index 000000000..4ff3ec436
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/adding-feeds.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/creating-torrents-single.mp4 b/docs/static/torrenting/qbittorrent/creating-torrents-single.mp4
new file mode 100644
index 000000000..430096b61
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/creating-torrents-single.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/download-rules.mp4 b/docs/static/torrenting/qbittorrent/download-rules.mp4
new file mode 100644
index 000000000..cd7d5ee1f
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/download-rules.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/enabling-rss.mp4 b/docs/static/torrenting/qbittorrent/enabling-rss.mp4
new file mode 100644
index 000000000..f208ee8c0
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/enabling-rss.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/installation-windows.mp4 b/docs/static/torrenting/qbittorrent/installation-windows.mp4
new file mode 100644
index 000000000..b98c76a0c
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/installation-windows.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/sequential-downloading.mp4 b/docs/static/torrenting/qbittorrent/sequential-downloading.mp4
new file mode 100644
index 000000000..0d5a062ab
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/sequential-downloading.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/usage-file.mp4 b/docs/static/torrenting/qbittorrent/usage-file.mp4
new file mode 100644
index 000000000..88a7e155e
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/usage-file.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/usage-magnet.mp4 b/docs/static/torrenting/qbittorrent/usage-magnet.mp4
new file mode 100644
index 000000000..53cb540a4
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/usage-magnet.mp4 differ
diff --git a/docs/static/torrenting/qbittorrent/vpn-binding.mp4 b/docs/static/torrenting/qbittorrent/vpn-binding.mp4
new file mode 100644
index 000000000..a8d6af255
Binary files /dev/null and b/docs/static/torrenting/qbittorrent/vpn-binding.mp4 differ
diff --git a/docs/tutorials/comparison.md b/docs/tutorials/comparison.md
index abb9928a8..f770842ff 100644
--- a/docs/tutorials/comparison.md
+++ b/docs/tutorials/comparison.md
@@ -1,218 +1,468 @@
---
label: Comparison
-description: Learn How to Compare Various Sources of a Video
-image: https://user-images.githubusercontent.com/78981416/219719610-2ccd06e9-e3ec-4b50-aae3-a7881292887f.gif
+description: Learn how to compare various sources of a video
+image: /static/comparison/hyouka.gif
---
# Comparison
-## Vapoursynth-Preview
+Comparisons are frequently used within the enthusiast community to compare the video quality offered by different sources, be that official releases or user made encodes. This guide goes through the process of setting up and effectively utilising Vapoursynth-Preview to produce useful comparisons that will allow you to ascertain which release offers the best visual experience.
-### Setup
+## Initial setup
-1. Install [Python 3.10](https://www.python.org/downloads/release/python-3105/)
- - During installation tick `Add Python 3.10 to PATH`.
+### Installing dependencies
+
+1. Install [Python 3.11](https://www.python.org/downloads/). During installation tick `Add python.exe to PATH`
2. Install [Git](https://gitforwindows.org/)
- - Optionally type `git version` in your terminal to verify Git was installed.
-3. Install [Vapoursynth](https://github.com/vapoursynth/vapoursynth/releases)
+3. Install [Vapoursynth](https://github.com/vapoursynth/vapoursynth/releases). Select `Install for me only`
+4. Before we install vs-preview, we need to install the following dependencies:
- - Select `Install for me only`.
- - If you have any issues here, check out the [official Installation Guide](https://www.vapoursynth.com/doc/installation.html).
+ [`libP2P`](https://github.com/DJATOM/LibP2P-Vapoursynth "LibP2P") [`lsmas`](https://github.com/AkarinVS/L-SMASH-Works "LSMASHSource") [`subtext`](https://github.com/vapoursynth/subtext "Subtext") [`vs-placebo`](https://github.com/Lypheo/vs-placebo "vs-placebo") [`awsmfunc`](https://github.com/OpusGang/awsmfunc "awsmfunc")
-4. Before we install vs-preview, we need to install the following dependencies:
- - [`LibP2P`](https://github.com/DJATOM/LibP2P-Vapoursynth "LibP2P")
- - [`LSMASHSource`](https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works "LSMASHSource")
- - [`Subtext`](https://github.com/vapoursynth/subtext "Subtext")
- - [`vs-placebo`](https://github.com/Lypheo/vs-placebo "vs-placebo")
- - [`libdovi`](https://github.com/quietvoid/dovi_tool/releases/tag/libdovi-1.6.7 "libdovi")
- - [`awsmfunc`](https://github.com/OpusGang/awsmfunc "awsmfunc")
-
- To install LSMASHSource, download [LSMASHSource](https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases "LSMASHSource") and open it. Inside the zip, open the x64 folder, copy `LSMASHSource.dll` and paste it in `%appdata%\VapourSynth\plugins64`
-
- To install the rest of the plugins, run the following commands in your terminal:
- ```
- vsrepo.py install libp2p sub placebo dovi_library
- ```
- ```
- pip install git+https://github.com/OpusGang/awsmfunc.git
- ```
- !!!
- If `vsrepo.py` command doesn't work, make sure Windows is set to open `.py` files with Python.
- !!!
-
-5. Install [vs-preview](https://github.com/Irrational-Encoding-Wizardry/vs-preview):
+ You can install these with the following commands:
- ```
- pip install vspreview
+ ```powershell
+ vsrepo.py install lsmas libp2p sub placebo
```
-6. Create a new file called `comp.vpy`.
-7. Open `comp.vpy` with a text editor such as notepad++ and paste the following, edit as required and save it:
-
- ```py
- import vapoursynth as vs
- from vapoursynth import core
- from awsmfunc import FrameInfo
-
- ## Hold shift and right click your file, select copy as path and paste it here
- clip1 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
- clip2 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
- clip3 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
-
- ## Name of the source, uncomment as needed depending on how many sources you're comparing
- source1 = "FirstSourceName"
- source2 = "SecondSourceName"
- source3 = "ThirdSourceName"
-
- ## Convert clip to 16bit (Only for filters that need it such as tonemapping and gamma fixing)
- ##clip1 = core.resize.Bicubic(clip1, format=vs.YUV444P16)
- ##clip2 = core.resize.Bicubic(clip2, format=vs.YUV444P16)
- ##clip3 = core.resize.Bicubic(clip3, format=vs.YUV444P16)
-
- ## Uncomment and edit values as needed if clips need cropping (Black letterboxing) [16 BIT REQUIRED FOR ODD NUMBERS]
- ##clip1 = core.std.Crop(clip1, left=240, right=240, top=0, bottom=0)
- ##clip2 = core.std.Crop(clip2, left=0, right=0, top=276, bottom=276)
- ##clip3 = core.std.Crop(clip3, left=0, right=0, top=21, bottom=21)
-
- ## Uncomment and edit values as needed if you need to upscale your clips
- ## Always scale to the highest resolution
- ##clip1 = core.resize.Spline36(clip1, 1920, 1080)
- ##clip2 = core.resize.Spline36(clip2, 1920, 1080)
- ##clip3 = core.resize.Spline36(clip3, 3840, 2160)
-
- ## Uncomment and edit values as needed if you need to trim your clips (Calculate the frame difference and enter the number here)
- ##clip1 = clip1[0:]
- ##clip2 = clip2[24:]
- ##clip3 = clip3[0:]
-
- ## Tonemapping (For HDR/DV content only), src_csp=1 is for HDR, src_csp=3 is for DV [16 BIT REQUIRED]
- ##clip1 = core.placebo.Tonemap(clip1, dynamic_peak_detection=0, tone_mapping_function=3, src_csp=1, dst_csp=0)
- ##clip2 = core.placebo.Tonemap(clip2, dynamic_peak_detection=0, tone_mapping_function=3, src_csp=3, dst_csp=0)
- ##clip3 = core.placebo.Tonemap(clip3, dynamic_peak_detection=0, tone_mapping_function=3, src_csp=1, dst_csp=0)
-
- ##Set DV clips to limited after tonemapping so FrameInfo works
- ##clip1 = core.resize.Bicubic(clip1, format=vs.YUV444P16, range=0)
- ##clip2 = core.resize.Bicubic(clip2, format=vs.YUV444P16, range=0)
- ##clip2 = core.resize.Bicubic(clip3, format=vs.YUV444P16, range=0)
-
- ## Fix Gamma bug (When one source is much brighter than others) [16 BIT REQUIRED]
- ##clip1 = core.std.Levels(clip1, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
- ##clip2 = core.std.Levels(clip2, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
- ##clip3 = core.std.Levels(clip3, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
-
- ## Displays the frame number, type, and group name in the top left corner
- clip1= FrameInfo(clip1, source1)
- clip2= FrameInfo(clip2, source2)
- clip3= FrameInfo(clip3, source3)
-
- ## Slow.pics labelling for automatic comparisons
- clip1 = clip1.std.SetFrameProp('Name', data = source1)
- clip2 = clip2.std.SetFrameProp('Name', data = source2)
- clip3 = clip3.std.SetFrameProp('Name', data = source3)
-
- ## Comment/Uncomment as needed depending on how many clips you're comparing
- clip1.set_output(1)
- clip2.set_output(2)
- clip3.set_output(3)
+ ```powershell
+ pip install git+https://github.com/OpusGang/awsmfunc.git
```
-8. That's it for the setup, now to use vspreview you just need to run this command in your terminal or paste it in a text file and save it as `comp.bat`:
+ !!!
+ If `vsrepo.py` command doesn't work, make sure Windows is set to open `.py` files with Python
+ !!!
+
+5. (Optional) If you're working with Dolby Vision, you'll need to install the following additional dependencies:
+
+==- :large_purple_square:Dolby Vision:large_green_square: Specific Installation
+
+- [`libdovi`](https://github.com/quietvoid/dovi_tool "libdovi")
+
+```powershell
+vsrepo.py install dovi_library
+```
+
+- [`lsmas vA.5b`](https://github.com/AkarinVS/L-SMASH-Works/releases/tag/vA.5b) instead of [`lsmas vA.3j`](https://github.com/AkarinVS/L-SMASH-Works/releases/tag/vA.3j). Currently, `vsrepo` installs `A.3x` by default which does not support DV. `A.5x` is experimental and not available on `vsrepo`, so you will have to install it manually.
+
+- Download `release-x86_64-cachedir-cwd.zip` and open it
+- Copy `libvslsmashsource.dll` and paste it in `%appdata%\VapourSynth\plugins64`
+- If asked, overwite the old `libvslsmashsource.dll` with the new version
+===
+
+Install [vs-preview](https://github.com/Irrational-Encoding-Wizardry/vs-preview):
+
+```powershell
+pip install vspreview
+```
+
+### The comparison script
+
+1. Create a new file called `comp.vpy`.
+2. Open `comp.vpy` with a text editor such as Notepad++ and paste the following, edit as required, and save it:
+==- :icon-file-code: comp.vpy
+
+```python
+## Boring stuff: Ignore me
+import vapoursynth as vs
+from vapoursynth import core
+from awsmfunc import FrameInfo
+from vspreview import set_output
+
+## File paths: Hold shift and right-click your file, select copy as path, and paste it here
+clip1 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
+clip2 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
+clip3 = core.lsmas.LWLibavSource(r"C:\Paste\File\Path\Here.mkv")
+
+## Source: Name of the source
+source1 = "FirstSourceName"
+source2 = "SecondSourceName"
+source3 = "ThirdSourceName"
+
+## FieldBased: Sets the content as either progressive (0) or interlaced (1/2), required for progressive content tagged as interlaced
+##clip1 = core.std.SetFieldBased(clip1, 0)
+##clip2 = core.std.SetFieldBased(clip2, 1)
+##clip3 = core.std.SetFieldBased(clip3, 2)
+
+## Convert: Convert clip to 16bit 444 (Only for filters that need it such as tonemapping and gamma fixing)
+##clip1 = core.resize.Bicubic(clip1, format=vs.YUV444P16)
+##clip2 = core.resize.Bicubic(clip2, format=vs.YUV444P16)
+##clip3 = core.resize.Bicubic(clip3, format=vs.YUV444P16)
+
+## Cropping: Removes letterboxing (Black bars) [16 BIT REQUIRED FOR ODD NUMBERS]
+##clip1 = core.std.Crop(clip1, left=240, right=240, top=0, bottom=0)
+##clip2 = core.std.Crop(clip2, left=0, right=0, top=276, bottom=276)
+##clip3 = core.std.Crop(clip3, left=0, right=0, top=21, bottom=21)
+
+## Scaling: Up/downscale clips to match, recommended to scale to the highest resolution
+##clip1 = core.resize.Spline36(clip1, 1920, 1080)
+##clip2 = core.resize.Spline36(clip2, 1920, 1080)
+##clip3 = core.resize.Spline36(clip3, 3840, 2160)
+
+## Trimming: Trim frames to match clips (Calculate the frame difference and enter the number here)
+##clip1 = clip1[0:]
+##clip2 = clip2[24:]
+##clip3 = clip3[0:]
+
+## Set FPS: Change fps to match other sources, only needed when the previewer doesn't automatically keep them in sync
+##clip1 = core.std.AssumeFPS(clip1, fpsnum=24000, fpsden=1001)
+##clip2 = core.std.AssumeFPS(clip2, fpsnum=25000, fpsden=1000)
+##clip3 = core.std.AssumeFPS(clip3, fpsnum=24000, fpsden=1000)
+
+## Tonemapping: For HDR/DV content only, src_csp=1 is for HDR (and DV Profile 8), src_csp=3 is for DV (Profile 5) [16 BIT REQUIRED]
+##clip1 = core.placebo.Tonemap(clip1, dynamic_peak_detection=1, tone_mapping_function=2, tone_mapping_mode=1, src_csp=1, dst_csp=0, gamut_mode=0, use_dovi=1)
+##clip2 = core.placebo.Tonemap(clip2, dynamic_peak_detection=1, tone_mapping_function=2, tone_mapping_mode=1, src_csp=3, dst_csp=0, gamut_mode=0, use_dovi=1)
+##clip3 = core.placebo.Tonemap(clip3, dynamic_peak_detection=1, tone_mapping_function=2, tone_mapping_mode=1, src_csp=1, dst_csp=0, gamut_mode=0, use_dovi=1, dst_max=120)
+
+##Set Colour Range: Marks the clip as limited (0) or full (1) range, DV clips will need to be set to limited after tonemapping.
+##clip1 = core.resize.Bicubic(clip1, format=vs.YUV444P16, range=0)
+##clip2 = core.resize.Bicubic(clip2, format=vs.YUV444P16, range=0)
+##clip3 = core.resize.Bicubic(clip3, format=vs.YUV444P16, range=1)
+
+## Gamma: Fix Gamma bug (When one source is much brighter than others) [16 BIT REQUIRED]
+##clip1 = core.std.Levels(clip1, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
+##clip2 = core.std.Levels(clip2, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
+##clip3 = core.std.Levels(clip3, gamma=0.88, min_in=4096, max_in=60160, min_out=4096, max_out=60160, planes=0)
+
+## Set Matrix: If source has incorrect/missing metadata, usually applies to 4K SDR and content you're up/downscaling. (Colours will be off, particularly reds, greens, and blues)
+##clip1 = core.std.SetFrameProp(clip1, prop="_Matrix", intval=1)
+##clip2 = core.std.SetFrameProp(clip2, prop="_Matrix", intval=6)
+##clip3 = core.std.SetFrameProp(clip3, prop="_Matrix", intval=5)
+
+## Correct Matrix: If the colours cannot be corrected with the above command [16 BIT REQUIRED]
+##clip1 = core.resize.Point(clip1, matrix=5)
+##clip1 = core.std.SetFrameProp(clip1, prop="_Matrix", intval=1)
+##clip2 = core.resize.Point(clip2, matrix=6)
+##clip2 = core.std.SetFrameProp(clip2, prop="_Matrix", intval=1)
+##clip3 = core.resize.Point(clip3, matrix=4)
+##clip3 = core.std.SetFrameProp(clip3, prop="_Matrix", intval=1)
+
+## Fix Double range compression: When one source looks very washed out
+##clip1 = core.resize.Point(clip1, range_in=0, range=1, dither_type="error_diffusion")
+##clip1 = core.std.SetFrameProp(clip1, prop="_ColorRange", intval=1)
+
+## Frameinfo: Displays the frame number, type, and group name in the top left corner (Leave these lines untouched, it reads the source from the top)
+clip1= FrameInfo(clip1, source1)
+clip2= FrameInfo(clip2, source2)
+clip3= FrameInfo(clip3, source3)
+
+## FrameProp: Slow.pics/file name labelling (Leave these lines untouched, it reads the source from the top)
+clip1 = clip1.std.SetFrameProp('Name', data = source1)
+clip2 = clip2.std.SetFrameProp('Name', data = source2)
+clip3 = clip3.std.SetFrameProp('Name', data = source3)
+
+## Output: Comment/Uncomment as needed depending on how many clips you're comparing
+set_output(clip1, name=source1)
+set_output(clip2, name=source2)
+set_output(clip3, name=source3)
+```
+
+==-
+3. Now to use VS-Preview you just need to run this command in your terminal, or paste it into a text file and save it as `comp.bat`
+
+ ```powershell
+ vspreview "C:\Path\To\comp.vpy"
```
- vspreview /path/to/comp.vpy
+
+- To get the path, shift and right-click the comp.py file you just made, and select `Copy as path`
+
+Now, when making comps you just edit `comp.vpy` to include the necessary file paths, comment/uncomment lines as required, edit the crop, trim, upscale, etc values when needed, and then run `comp.bat` or run `vspreview comp.vpy` directly from your terminal.
+
+#### Understanding the comparison script
+
+Unsure of how to go about editing the comp script? The panel below will explain how each section works.
+
+==- :icon-file: Understanding comp.vpy
+At first, the comparison script may seem daunting, especially since it's a giant wall of text with a lot of technical jargon. It has basic explanations of each section, however, this guide will go over each part in more detail and describe how to properly edit the values.
+
+When comparing, you will want to go through the different sections, uncommenting/commenting the parts you need to use (removing/adding the ## in front of them, which determines whether the line will be used or not), modifying the values to suit your needs and applying them to the correct clip numbers.
+
+**Boring stuff**: Just the requirements to make the script work, can be safely ignored.
+
+**File paths**: The location of the video files you want to compare, you just need to hold shift and right-click the video file, select copy as path, then paste it into this section.
+
+**Source:** The name for each video, this will be shown on the slowpics page, frameinfo in the top left, and file name if you save manually. Recommended to set as the encoder name (not necessarily the release group) in the case of encodes, the region and type in the case of discs/remuxes, or the streaming service in the case of WEB-DLs. Some examples for each respective category would be Beatrice-Raws for one of their encodes, JPN BD for a Japanese Blu-ray or Remux, and DSNP for a WEB-DL from Disney+. If your source is HDR/DV it's best to specify that too.
+
+**FieldBased:** Only required when the content is flagged as interlaced, it may actually be progressive which would require you to set a value of 0 to tell VS-Preview that it's progressive, otherwise the quality will look worse than it is.
+
+**Convert:** Converts the video from 8/10 bit to 16 bit and full chroma, which allows for better precision with certain filters. Should only be enabled when you're using a filter that requires it, such as tonemapping, gamma fixing, or cropping an odd number of pixels.
+
+**Cropping:** Crops pixels from any side of the video, should be used on any content that has letterboxing (black borders) on the top/bottom or sides. Generally encodes do this already, so it will only apply to Blurays/Remuxes and WEB-DLs. To calculate the value you need to enter, you can use the crop feature in the Misc section at the bottom right of VS-Preview, keep on increasing the value until the black bars are completely gone, turn it off then copy the numbers into comp.vpy. Alternatively, you can quickly count the pixels with a tool such as ShareX.
+
+**Scaling:** When you have multiple clips of different resolutions, you need to scale them to match each other. Generally, this means getting the resolution of the highest res video and upscaling the rest to match it. In VS-Preview at the bottom left you can see the video resolution, so for example, if you're comparing a 1920x1080 video to a 1280x720 video, you would set the 1280x720 video to 1920, 1080.
+
+**Trimming:** Often your videos will not be in sync, so you need to cut a certain amount of frames from one of the clips in order for them to match. To easily calculate the value required, navigate to a unique frame such as a scene change in one source, note the frame number, then navigate to the exact same unique frame in your other source and note that frame number, then simply work out the difference between the two numbers, and delay the further ahead video by that amount. Usually, the difference is just 24 black frames at the start. After reloading VS-Preview (Control+R) they should both be perfectly in sync, however, it's possible that they may de-sync later on due to small differences in cuts. In those situations, you can either figure out the new delay as you go along (Bolt-Action) or find all the delays first and set the whole clip to be in sync (Auto/Semi-auto). An example of chaining together trims would be `clip4 = clip4[0:8705]+clip4[8706:25894]+clip4[25895:]`
+
+**Set FPS:** Sometimes you will find that different videos have different frame rates, visible at the bottom left of VS-Preview. This framerate difference usually causes your sources to slowly become more and more out of sync, so you'll need to set the FPS of the outlier to make it match the rest. In rarer circumstances VS-Preview will keep the sources in sync despite there being a difference in frame rate, in those scenarios you can ignore this section, but do note that this means that one of the sources either has dropped or duplicated frames, which should be noted when posting the comp.
+
+**Tonemapping:** For HDR or DV content, by default they won't display correctly so they need to be tonemapped to SDR to look normal. This filter requires you to uncomment the Convert section mentioned earlier. If the content appears as washed out, it's HDR and you should use src_csp=1, if it appears green/purple then it's DV and you need to use src_csp=3. Most other values can remain unchanged unless you wish to play around with different tone mapping algorithms. dst_max forces a certain brightness, it can be used to make HDR/DV clips appear brighter for easier comparison to SDR.
+
+**Set Colour Range:** When content has the wrong metadata or you're tonemapping a DV clip (needs to be set to limited)
+
+**Gamma:** Allows you to adjust the gamma of the videos, most commonly used to correct what's known as the "Gamma bug" that you'll sometimes come across, where one source is much brighter than the rest.
+
+**Set Matrix:** If you notice that certain colours are slightly off between sources (Most notably reds/greens/blues) then your source likely has incorrect or missing matrix metadata. Most commonly you encounter this when upscaling content (eg DVDs to 1080p, BDs to 4K) and 4K SDR WEB releases. Generally speaking, HD SDR content (BDs, 720p-4K WEB) should be set as intval=1 (BT.709), SD content (DVDs) should be set as 5 (BT.601), HDR/DV content should be set as intval=9 (BT.2020 NCL). If this does not fix your issue, see below.
+
+**Correct Matrix:** Sometimes simply setting the correct Matrix does not work, and this is because the video has undergone an incorrect conversion which you need to reverse.
+
+**Fix Double range compression:** Some sources will have undergone range compression twice, and will appear as very washed out. To fix this simply uncomment the lines and enter the correct clip number.
+
+**Frameinfo:** Lists the frame number, type, and source name in the top left of the videos.
+
+**FrameProp:** Sets the source name you entered earlier, for correct labelling on slow.pics.
+
+**Output:** Simply makes the clips appear in VS-Preview.
+==-
+
+## Screenshotting
+
+There are 3 methods of screenshotting:
+
+**Full-auto:** Allowing VS-Preview to do everything for you, by far the fastest option.
+
+**Semi-auto:** Manually marking the frame numbers as you go through the clips, then letting VS-Preview automatically extract, compress, and upload them to slow.pics. Generally the recommended option.
+
+**Bolt-action:** Saving the images locally as you go through the clips, then uploading them manually later. Mainly useful for uploading to other sites and keeping the comparison archived locally, but also has other benefits like faster and more efficient compression.
+
++++ Full-auto
+
+- Click the `comp` button in the bottom right of the toolbar.
+- Untick `I` so only `P` and `B` are selected, or only select `B` if you want matching frame-types.
+- Tick the `public` box to make the comparison available on the slow.pics homepage.
+- Name the collection appropriately for Slow.pics, get the TMDB ID from and paste it in the TMDB box, with it correctly set to Movie/TV depending on the content.
+- Set the tag to the same name as listed on TMDB.
+- Set "Delete After" to your desired value, by default comps expire after 2 years of not being viewed.
+- Under `random` enter a frame count amount, you should use a large number of images to make the comparison as effective as possible, ideally at least 40 since not all frames will be useful.
+- Make sure your PNG compression is set to 0 (Max) under Settings -> Main*
+- Hit `Start Upload` and patiently wait while VS-Preview collects the frames and uploads the comparison.
+
+**If you wish to upload to a slow.pics account for comp history and ability to edit comps, do the following:**
+
+- Make sure you're logged into slow.pics
+- Open the developer menu, go to Application at the top, then Storage on the left, open Local Storage and select slow.pics. Copy the browserId.
+- Still in the developer menu, go to Network, refresh the page to populate the list, select the slow.pics entry and scroll until you see SLPSESSION and copy the ID.
+- Back in VS-Preview, go to settings, Comp, and paste the two IDs in the relevant boxes.
+
++++ Semi-auto
+
+### Marking the frames
+
+- Press `Shift` & `Right Arrow` keys to move forward a set amount of frames (configurable in playback section of the toolbar)
+- `Number` keys to switch between video sources and compare quality.
+- Press `Control` & `Space` keys to mark the frame numbers. (Configurable in cfg files)
+- Aim to screenshot a variety of scenes, light/dark, low/high motion, etc.
+- Try and match frame type when screenshotting, e.g. all sources on a `B` frame, single frame jump comes in handy for when they don't match (`Arrow keys`).
+- If a source file does not have `B` frames for you to match, you should skip matching frame type entirely for that source. This is usually true for Crunchyroll WEB-DLs, which have no `B` frames.
+
+### Uploading the comp
+
+- Once you are done marking frames, click the `comp` button in the bottom right of the toolbar.
+- Tick the `public` box to make the comparison available on the slow.pics homepage.
+- Name the collection appropriately for Slow.pics, get the TMDB ID from and paste it in the TMDB box, with it correctly set to Movie/TV depending on the content.
+- Set the tag to the same name as listed on TMDB.
+- Set "Delete After" to your desired value, by default comps expire after 2 years of not being viewed.
+- Under `random` you may specify an additional frame amount for VS-Preview to pick at random, recommended to help fill the comparison with more frames.
+- Untick `Current frame` as you likely don't want that included.
+- Make sure your PNG compression is set to 0 (Max) under Settings -> Main
+
+**If you wish to upload to a slow.pics account for comp history and the ability to edit comps do the following:**
+
+- Make sure you're logged into slow.pics
+- Open the developer menu, go to Application at the top, then Storage on the left, open Local Storage and select slow.pics. Copy the browserId.
+- Still in the developer menu, go to Network, refresh the page to populate the list, select the slow.pics entry and scroll until you see SLPSESSION and copy the ID.
+- Back in VS-Preview, go to settings, Comp, and paste the two IDs in the relevant boxes.
+
+### QOL Changes
+
+- **Jump through frames quickly**
+
+ In VS-Preview on the bottom bar select Playback, directly right of the playback keys set the `1` value to `120`.
+
+- **Mark screenshots quicker by setting the mark frame button to enter**
+
+ Open `%localappdata%\Programs\Python\Python311\Lib\site-packages\vspreview\toolbars\comp` and edit `toolbar.py`
+
+ - Line 552: Replace `QKeyCombination(Qt.Modifier.CTRL, Qt.Key.Key_Space).toCombined(), self.add_current_frame_to_comp` with `(Qt.Key_Return), self.add_current_frame_to_comp`
+
+- **Swap binds to save your pinky finger, so you no longer have to hold shift all the time**
+
+ Open `%localappdata%\Programs\Python\Python311\Lib\site-packages\vspreview\toolbars\playback\` and edit `toolbar.py`
+ - Select lines 180-187, delete them, and paste
+
+ ```python
+ self.main.add_shortcut(QKeyCombination(Qt.SHIFT, Qt.Key.Key_Left), self.seek_to_prev_button.click)
+ self.main.add_shortcut(QKeyCombination(Qt.SHIFT, Qt.Key.Key_Right), self.seek_to_next_button.click)
+ self.main.add_shortcut(Qt.Key.Key_Left, self.seek_n_frames_b_button.click)
+ self.main.add_shortcut(Qt.Key.Key_Right, self.seek_n_frames_f_button.click)
```
- Now, when making comps you just edit `comp.vpy` to include the necessary file paths, comment/uncomment lines as required, edit the crop, trim, upscale, etc values when needed and then run `comp.bat` or run `vspreview comp.vpy` directly from your terminal.
++++ Bolt-action
+- Press `Shift` & `Right Arrow` keys to move forward a set amount of frames (configurable in playback section of the toolbar)
+- `Number` keys to switch between video sources and compare quality.
+- Press `Shift` & `S` keys to take and save screenshots. (Configurable in cfg files)
+- *Note: Make sure your PNG compression is enabled under Settings -> Main (0-50 depending on speed impact), or disabled (100) if you plan to compress with a tool such as Oxipng later*
+- Aim to screenshot a variety of scenes, light/dark, low/high motion, etc.
+- Try and match frame type when screenshotting, e.g. all sources on a `B` frame, single frame jump comes in handy for when they don't match (`Arrow keys`).
+- *Note: If a source file does not have `B` frames for you to match, you should skip matching frame type entirely for that source. This is usually true for Crunchyroll WEB-DLs, which have no `B` frames.*
+
+#### QOL Improvements
-### Quality of Life Changes for Screenshotting Manually via VS-Preview (Recommended)
+- **Use slow.pics friendly file naming, so you can drag all the images onto the site and have them automatically sorted, with comparison names intact.**
-- **Use slow.pics friendly file naming, so you can drag all the images onto the site and have them automaically sorted**
- In VSPreview on the bottom bar select Misc, set file name template to `{frame}_{script_name}_({index})`.
+ In VS-Preview on the bottom bar select Misc, and set file name template to `{frame}_{index}_{Name}`.
- **Jump through frames quickly**
- In VSPreview on the bottom bar select Playback, directly right of the playback keys set the `1` value to `120`.
+
+ In VS-Preview on the bottom bar select Playback, directly right of the playback keys set the `1` value to `120`.
- **Take screenshots quicker by setting the save image button to enter**
- Open `%localappdata%\Programs\Python\Python310\Lib\site-packages\vspreview\toolbars\misc` and edit `toolbar.py` - Line 150: `Replace Qt.SHIFT + Qt.Key_S` with `Qt.Key_Return`. - If you can't spam fast enough, in vs-preview click settings and set PNG compression to a lower level (higher value).
+
+ Open `%localappdata%\Programs\Python\Python311\Lib\site-packages\vspreview\toolbars\misc` and edit `toolbar.py`
+ - Line 166: Replace `QKeyCombination(Qt.Modifier.SHIFT, Qt.Key.Key_S).toCombined(), self.save_frame_as_button.click` with `(Qt.Key_Return), self.save_frame_as_button.click`.
+ - If you can't spam fast enough, in vs-preview click settings and set PNG compression to a lower level (higher value).
- **Swap binds to save your pinky finger, so you no longer have to hold shift all the time**
- Open `%localappdata%\Programs\Python\Python310\Lib\site-packages\vspreview\toolbars\playback\` and edit `toolbar.py` - Line 164-165 Add `Qt.SHIFT +` before `Qt.Key_Left` and `Qt.Key_Right` - Line 166-167 Remove `Qt.SHIFT +` before `Qt.Key_Left` and `Qt.Key_Right`
-### Making the comparison
+ Open `%localappdata%\Programs\Python\Python311\Lib\site-packages\vspreview\toolbars\playback\` and edit `toolbar.py`
-- Press `Right Arrow` key to move forward a set amount of frames.
-- `Number` keys to switch between video sources and compare quality.
-- Double tap `Enter` key to take and save screenshots.
-- Aim to screenshot a variety of scenes like light/dark, low/high motion, etc.
-- Try and match frame type when screenshotting, e.g. all sources on a `B` frame, single frame jump comes in handy for when they don't match (`Shift + Arrow keys`).
- - *Note: If a source file does not have `B` frames for you to match, you should skip matching frame type entirely for that source. This is usually true for Crunchyroll WEB-DLs, which have no `B` frames.*
-
-### Screenshotting Automatically
-
-If you don't want to take screenshots and upload them manually, then you can simply use VS-Preview's automatic comparison function.
-
-- Click the `comp` button in the toolbar.
-- Set the `Picture Type` to `All`, or `B` if you want matching frame-types
-- Name the collection appropriately for Slow.pics.
-- Use a large amount of images to make the comparison as useful as possible, ideally at least 40 since you'll get a lot of futile results with it being automatic.
-- Hit `Start Upload` and patiently wait while vspreview absolutely molests your battlestation.
- [![Comp](https://user-images.githubusercontent.com/78981416/233719219-2db98938-04f7-420b-b389-c7a3bbdf3898.png "Comp")](https://user-images.githubusercontent.com/78981416/233719219-2db98938-04f7-420b-b389-c7a3bbdf3898.png "Comp")
-
-## Automatic Comparison Scripts
-
-Prerequisites:
-1. Install [Python 3.10](https://www.python.org/downloads/release/python-3105/)
-2. Install [Vapoursynth](https://github.com/vapoursynth/vapoursynth/releases)
- - Select `Install for me only`.
- - If you have any issues here, check out the [official Installation Guide](https://www.vapoursynth.com/doc/installation.html).
-3. Install dependencies via running the following command in your terminal:
- ```
- pip install pathlib anitopy pyperclip requests requests_toolbelt
- ```
-4. Download [LSMASHSource](https://github.com/HomeOfAviSynthPlusEvolution/L-SMASH-Works/releases "LSMASHSource") and open it. Inside the zip, open the x64 folder, copy `LSMASHSource.dll` and paste it in `%appdata%\VapourSynth\plugins64`
-5. (Optional) Install [FFmpeg](https://ffmpeg.org/download.html) and add it to PATH.
-
-Instructions:
-1. Put `comp.py` into the same folder where the video files you want to compare are located.
-2. Rename your files to have the typical `[Group] Show - EP.mkv` naming, since the script will try to parse the group and show name.
-3. When there's no group, such as BDMV or WEB-DL, use the source/service as the group tag.
- For example:
- ```
- /Comparison/
- ├── [JPBD] Youjo Senki - 01.m2ts
- ├── [Crunchyroll WEB-DL] Youjo Senki - 01.mkv
- ├── [Group] Youjo Senki - 01.mkv
- └── comp.py
- ```
- This will result in images named as JPBD.png, Crunchyroll WEB-DL.png, and Group.png from JPBD, Crunchyroll WEB-DL, and Group respectively.
-4. Adjust the variables in the script accordingly.
-5. Run the script via either double clicking it or by running `py comp.py` in your terminal.
-
-- [Vodes' Script](https://gist.github.com/Vodes/300997ac1473ac2b9d08d62c169a26de)
-- [McBaws' Script](https://gist.github.com/McBaws/a5dcbb244c91bcfdedababf3ee652609)
-
-## Manually with MPV
-
-- [Install MPV](/tutorials/mpv)
-- Screenshots are to be taken using MPV.
-- [Slow.pics](https://slow.pics/) must be used for making comparisons.
-- Any other video-altering settings (different scalers, shaders, etc) are not allowed to be used.
-- Hardware decoding must be disabled.
-- Both screenshots are to be the exact same frame.
-- Both screenshots must be taken at the same resolution, take scaled screenshots if necessary.
-- Always scale to the highest resolution.
-- Subtitles are to be disabled.
-- Comparisons must be titled the name of the anime, and all encodes must be labelled accordingly.
-- You must include source in the comparison, this will usually be the BDMV/Remux when BluRay encodes are being compared or WEB-DL if WEB encodes are being compared.
-
-MPV config must be the one as shown below:
+ - Select lines 180-187, delete them, and paste the following, making sure the indentation of the lines match (using spaces).
+
+ ```python
+ self.main.add_shortcut(QKeyCombination(Qt.SHIFT, Qt.Key.Key_Left), self.seek_to_prev_button.click)
+ self.main.add_shortcut(QKeyCombination(Qt.SHIFT, Qt.Key.Key_Right), self.seek_to_next_button.click)
+ self.main.add_shortcut(Qt.Key.Key_Left, self.seek_n_frames_b_button.click)
+ self.main.add_shortcut(Qt.Key.Key_Right, self.seek_n_frames_f_button.click)
+ ```
+
+#### Post-processing
+
+The Bolt-action method is best paired with some scripts to run after you've saved all the frames. The following scripts are generated by chatgpt as I cannot code 👍
+Generally, I just run all 3 with a .bat file, or just the first 2 if I'm not uploading to ptpimg.
+==- Zero padding
+
+Zero pads all frames in the current directory and removes some of the garbage from the name. Allows for automatic numerical sorting on slow.pics and automatic filling of comparison names based on comp.vpy
+
+```python
+import os
+
+def zero_pad_and_clean_file_names():
+ current_directory = os.getcwd()
+ for filename in os.listdir(current_directory):
+ base_name, extension = os.path.splitext(filename)
+ parts = base_name.split('_')
+
+ if len(parts) > 2 and parts[0].isdigit():
+ parts[0] = parts[0].zfill(5)
+ parts[2] = parts[2].replace("b'", "").replace("'", "")
+ new_filename = '_'.join(parts) + extension
+ os.rename(os.path.join(current_directory, filename), os.path.join(current_directory, new_filename))
+
+# Usage example
+zero_pad_and_clean_file_names()
+```
+==-
+
+==- Compressing
+Compresses all png files in the current directory with Oxipng compression level 1, very fast and should take less than a minute to iterate over hundreds of images.
+
+```python
+import os
+import glob
+import subprocess
+
+folder_path = os.getcwd() # Get the current working directory
+
+os.chdir(folder_path) # Change the working directory to the specified folder
+
+image_files = glob.glob("*.png") # Get a list of PNG files in the folder
+
+processes = []
+
+# Divide the image files into chunks of four
+image_chunks = [image_files[i:i+4] for i in range(0, len(image_files), 4)]
+
+for images in image_chunks:
+ command = ["oxipng"] + images + ["-o", "1", "-s", "-a", "-t", "8"]
+ process = subprocess.Popen(command)
+ processes.append(process)
+
+# Wait for all processes to finish
+for process in processes:
+ process.wait()
```
-no-deband
-profile=gpu-hq
-screenshot-format=png
+
+==-
+==- Uploading to ptpimg
+Uploads all png files in the current directory to ptpimg. Requires your ptpimg API key in `%USERPROFILE%\.ptpimg.key`.
+
+```python
+#!/usr/bin/python
+#Windows wildcard support fork - use at your own peril
+import sys
+import requests
+import os
+import glob
+argc=len(sys.argv)
+noconf=0
+debug=0
+configfile=os.path.join(os.path.expanduser("~"), ".ptpimg.key")
+if argc==1:
+ print("""Usage: ptpimgup.py file1 file2 file3...
+ Uploads images to ptpimg and spits out http urls of said images
+ config file %s should contain api_key eg:
+ 01234567-89ab-cdef-0123-456789abcdef
+ contact oddbondboris with bugs"""%(configfile))
+ sys.exit()
+try:
+ configfile=os.path.expanduser(configfile)
+ cfgfile=open(configfile,'r')
+ apikey=cfgfile.read()[:36]
+ if len(apikey.split("-")) != 5:
+ print("bad api key %s, file should only contain the api key"%(apikey))
+ else:
+ if debug==1:
+ print(apikey)
+except:
+ print("broken configi %s"%(configfile))
+ raise
+ sys.exit()
+finally:
+ try:
+ cfgfile.close()
+ except:
+ pass
+links=[]
+if '*' in sys.argv[-1]:
+ sys.argv[-1:] = glob.glob(sys.argv[-1])
+for fname in sys.argv[1:]:
+ #print fname
+ try:
+ curimg=open(os.path.expanduser(fname),'rb')
+ r=requests.post("https://ptpimg.me/upload.php",files={('file-upload[0]',('lol.png',curimg, 'image/jpg'))},data={'api_key':apikey})
+ if r.status_code==200:
+ print("https://ptpimg.me/%s.%s"%(r.json()[0]['code'],r.json()[0]['ext']))
+ links.append(("https://ptpimg.me/%s.%s"%(r.json()[0]['code'],r.json()[0]['ext']),fname))
+ else:
+ print("error uploading file %s http %s"%(fname,r.status_code))
+ except IOError as e:
+ print("error on file %s : %s"%(fname,e.strerror))
+ finally:
+ try:
+ curimg.close()
+ except:
+ pass
+for link in links:
+ print("[img]%s[/img]"%(link[0]))
+for link in links:
+ print("%s %s"%(link))
```
-!!!
-It's recommended to use the latest git builds of MPV.
-!!!
+==-
++++
+
+## Automatic Comp Scripts
+
+If VS-Preview is too scary to setup, you can simply run a script to generate the comparisons for you.
+- [McBaws' Script](https://github.com/McBaws/comp)
diff --git a/docs/tutorials/deluge.md b/docs/tutorials/deluge.md
index 8b3d1d952..4cffbd40f 100644
--- a/docs/tutorials/deluge.md
+++ b/docs/tutorials/deluge.md
@@ -6,40 +6,47 @@ image: https://user-images.githubusercontent.com/78981416/232306295-0e123ed8-c83
# Deluge
-[Deluge](https://deluge-torrent.org/) is a free, open source, and cross platform bittorrent client, primarily used by seedboxes for racing. Works as both a stand alone client and a thin client for a remote server.
+[Deluge](https://deluge-torrent.org) is a free, open-source, and cross-platform BitTorrent client. It is often used by seedboxes for racing and works as both a standalone client and a thin client for a remote server.
-## Install
+## Installation
-1. For Windows, go to Deluge's Windows [download page](https://ftp.osuosl.org/pub/deluge/windows/?C=M;O=D), then download the latest `.exe` file.
++++ Windows
- ![](https://user-images.githubusercontent.com/78981416/232305635-111a14c6-7dba-4ff1-a4b4-90e6dc0e4808.png)
+1. Download the latest `.exe` version of [Deluge](https://ftp.osuosl.org/pub/deluge/windows/?C=M;O=D)
+2. Run the installer and follow the on-screen instructions to complete installation
-2. For macOS, go to Deluge's macOS [download page](https://ftp.osuosl.org/pub/deluge/mac_osx/?C=M;O=D), then download the latest `.dmg` file.
+![Latest 64-bit `.exe` for Deluge](https://user-images.githubusercontent.com/78981416/232305635-111a14c6-7dba-4ff1-a4b4-90e6dc0e4808.png)
- ![](https://user-images.githubusercontent.com/78981416/232306677-efd31d7f-57c6-4a19-bf0f-62e354ea0c99.png)
++++ macOS
-3. For Linux, go to
+1. Download the latest `.dmg` version of [Deluge](https://ftp.osuosl.org/pub/deluge/mac_osx/?C=M;O=D)
+2. Run the installer and follow the on-screen instructions to complete installation
-## ltconfig
+![Latest x64 `.dmg` for Deluge](https://user-images.githubusercontent.com/78981416/232306677-efd31d7f-57c6-4a19-bf0f-62e354ea0c99.png)
-[Deluge-ltconfig](https://github.com/ratanakvlun/deluge-ltconfig/releases) is a popular plugin used for racing torrents on seedboxes. It modifies the libtorrent settings directly and comes with presets.
++++ Linux
-### Install ltconfig
+1. Download the latest version of [Deluge](https://dev.deluge-torrent.org/wiki/Download#Linux) for your distro
+2. Run the installer and follow the on-screen instructions to complete installation
-1. Most seedboxes offer Deluge `1.3.15`. So that's what we'll use.
-2. Download [`ltConfig-0.3.1-py2.7.egg`](https://github.com/ratanakvlun/deluge-ltconfig/releases/tag/v0.3.1)
-3. Click on `Preferences`.
++++
- ![](https://user-images.githubusercontent.com/78981416/232335499-4be73157-341d-4bbc-b463-0c7380bbdaa1.png)
+## Configuration
-4. Click on `Plugins` -> `Install` and then upload the `ltConfig-0.3.1-py2.7.egg` you downloaded earlier.
+### ltconfig
- ![](https://user-images.githubusercontent.com/78981416/232335563-7450b9e2-1427-4daf-8f6f-17963f68d047.png)
+[ltConfig](https://github.com/ratanakvlun/deluge-ltconfig) is a popular plugin used for racing torrents on seedboxes. It modifies the libtorrent settings directly and comes with presets.
-5. `ltConfig` will appear in your plugin list, select it, apply, and then it'll show up in `Categories` pane.
+1. Download the correct version of [ltConfig](https://github.com/ratanakvlun/deluge-ltconfig/releases) for your version of Deluge:
+ - Deluge v2.x or later: [!button size="s" variant="secondary" icon="download" text="v2.0.0"](https://github.com/ratanakvlun/deluge-ltconfig/releases/download/v2.0.0/ltConfig-2.0.0.egg)
+ - Deluge v1.x: [!button size="s" variant="secondary" icon="download" text="v0.3.1"](https://github.com/ratanakvlun/deluge-ltconfig/releases/download/v0.3.1/ltConfig-0.3.1-py2.7.egg)
+2. Launch Deluge. In the top bar, go to **Edit** -> **Preferences**
+3. Under **Plugins**, click on **Install** and select the ltConfig file
+4. Enable ltConfig from your plugin list and hit **Apply**
+5. Under **ltConfig**, check **Apply settings on startup**. For racing, select the *High Performance Seed* preset -> **Load preset** -> **Apply**
- ![](https://user-images.githubusercontent.com/78981416/232335700-665a5dd9-fd7c-4509-b07a-d5abd682ec02.png)
+==- Video tutorial
-6. Check `Apply settings on startup`, select the preset you want which in this case is `High Performace Seed`, click load preset, apply, and you're done.
+[!embed text="Installing ltConfig on Windows"](/static/torrenting/deluge/installing_ltconfig.mp4)
- ![](https://user-images.githubusercontent.com/78981416/232335845-f8464500-c2c8-43dd-9149-2ee5f9579686.png)
\ No newline at end of file
+==-
diff --git a/docs/tutorials/mpv.md b/docs/tutorials/mpv.md
index 86c9e859a..f54a99683 100644
--- a/docs/tutorials/mpv.md
+++ b/docs/tutorials/mpv.md
@@ -1,245 +1,442 @@
---
-label: MPV
-description: Installation, Setup and Configuration for MPV
+label: mpv
+description: Learn how to install, setup, and configure mpv
image: https://user-images.githubusercontent.com/78981416/215125796-08b99128-fe50-4d0c-b0dd-49f8828af0dc.png
---
-# MPV
-
-## Windows
-==- Manually Installing MPV
-1. Grab the topmost file from [here](https://sourceforge.net/projects/mpv-player-windows/files/64bit/).
-
-2. Extract it into a folder. This folder cannot be changed after installation. If you want to change it after installation, you'll have to uninstall and then reinstall it in the new location.
-
-3. Navigate to the `installer` folder.
-
-4. Inside the `installer` folder you'll find `mpv-install.bat`, run this as an administrator. If you want to read about what `mpv-install.bat` does, visit [here](https://github.com/rossy/mpv-install).
-
-5. After it's done, you'll get a prompt to open Control Panel and set MPV as the default player.
-
-That's it for the basic installation of MPV. You can use it without doing anything else.
-
-==- Adding MPV to PATH
-1. Open the Start Search, type in `env`, and choose `Edit the system environment variables`.
-2. Click the `Environment Variables…` button.
-3. Under the `System Variables` section (the lower half), find the row with `Path` in the first column, and click `edit`.
-4. The `Edit environment variable` UI will appear. Here, you can click `New` and add the path of the directory containing `mpv.exe`.
-5. Dismiss all of the dialogs by choosing `OK`. Your changes are saved.
-
-==- Automatically Installing MPV with Scoop
-1. Open PowerShell
-
-2. Run the following commands in PowerShell to install [scoop](https://scoop.sh/)
- ```powershell
- Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
- ```
- ```powershell
- irm get.scoop.sh | iex
- ```
- This is a one time thing to install scoop. Scoop will be installed to `C:\Users\\scoop` by default.
-
-3. Now install mpv via running the following commands
- ```powershell
- scoop bucket add extras
- ```
- ```powershell
- scoop install mpv-git
- ```
- That's it. This will not only install MPV, it'll also add it to your PATH which makes MPV accessible via terminal and create [`portable-config`](#additional-filesfolders) folder for you. This is where your [custom config](#custom-config) will go.
- Scoop installs each app under its own directory and keeps them contained so your MPV is installed in `C:\Users\\scoop\apps\mpv-git` by default.
-
-4. To update MPV in future just run the command below
- ```powershell
- scoop update mpv-git
- ```
-5. To uninstall just run
- ```powershell
- scoop uninstall mpv-git
- ```
- This will uninstall MPV entirely but preserve your `portable-config` in `C:\Users\\scoop\persist\mpv-git\portable_config`.
- If you also want to delete persisting data such as the config, run:
- ```powershell
- scoop uninstall mpv-git --purge
- ```
-
-==- Preconfigured MPV portable build
-If you don't want to setup MPV yourself, you can grab the preconfigured MPV portable build linked below. It has the same settings as described in this guide. All you need to do is download it and follow these installation instructions.
-[!file MPV Portable Build](https://mega.nz/folder/11QCTZgR#sdsjUYkIieGjVR09mnpYSw)
-===
+# mpv
-## MacOS
+[mpv](https://mpv.io) is a versatile and lightweight media player with extensive customizability. It is used and recommended by most enthusiasts as it supports a wide range of video, audio, and subtitle formats. Additionally, it offers many advanced features and is available on multiple platforms.
-Grab MacOS builds from [here](https://laboratory.stolendata.net/~djinn/mpv_osx/)
+## Installation
-### Homebrew
+### Windows
-You will need [homebrew](https://brew.sh/) installed for this and then run the following command in your terminal.
+==- 🔧 Installing mpv
-```
-brew install mpv --HEAD
-```
+1. Download the latest Windows build of [mpv](https://mpv.io) from [SourceForge](https://sourceforge.net/projects/mpv-player-windows/files/):
+[!button size="s" variant="primary" icon="download" text="64-bit" margin="0 8 0 0"](https://sourceforge.net/projects/mpv-player-windows/files/64bit/)
+[!button size="s" variant="secondary" icon="download" text="32-bit"](https://sourceforge.net/projects/mpv-player-windows/files/32bit/)
+2. Once downloaded, extract the archive's contents to your specified location
+!!!warning
+This folder cannot be changed after installation. If you wish to change it in the future, you will need to uninstall it first.
+!!!
+3. Navigate to the `installer` folder and run `mpv-install.bat`. Follow the on-screen instructions to complete installation
+
+[!embed text="Installing mpv on Windows"](/static/playback/mpv/installation-windows.mp4)
+
+==- 📦 Installing a pre-configured build
+
+If you don't want to setup mpv yourself, portable builds of mpv are available below. They are pre-configured to have the settings described in the [Basic Config](#basic-config) and [Advanced Config](#advanced-config).
+
+[!file mpv (Default OSC)](https://github.com/Snaacky/thewiki/releases/latest/download/mpv-default.zip)
+[!file mpv (ModernX)](https://github.com/Snaacky/thewiki/releases/latest/download/mpv-modernx.zip)
+[!file mpv (uosc)](https://github.com/Snaacky/thewiki/releases/latest/download/mpv-uosc.zip)
+
+==- 🍴 Installing a fork
+
+[mpv](https://mpv.io) can also be found in the various forks below:
+
+- [ImPlay](https://github.com/tsl0922/ImPlay)
+- [mpv.net](https://github.com/mpvnet-player/mpv.net) [!badge icon="apps" variant="info" text="Microsoft Store"](https://apps.microsoft.com/store/detail/9N64SQZTB3LM)
+
+==-
+
+==- 📁 Adding mpv to PATH
+
+If you want to access mpv from the command line, you will need to add it to Windows PATH:
+
+1. In *Windows Settings* -> *System* -> *About*, locate *Advanced System Settings*. Head to *Advanced* and click on *Environment Variables...*
+2. Under *System Variables*, select *Path* and click on *Edit...*
+3. Click *New* and point the new variable to the `mpv.exe` located where mpv is installed
+4. Dismiss all of the dialogs by clicking `OK`
-## Linux
+==-
+### macOS
+
+==- 🔧 Installing mpv
+
+Download the latest macOS build of [mpv](https://mpv.io):
+[!button size="s" variant="primary" icon="download" text="Stable" margin="0 8 0 0"](https://laboratory.stolendata.net/~djinn/mpv_osx/)
+[!button size="s" variant="secondary" icon="download" text="Nightly"](https://github.com/jnozsc/mpv-nightly-build)
+
+==- 🍺 Installing with Homebrew
+
+Install [Homebrew](https://brew.sh/). Then, run the following command in your terminal:
+
+```sh
+brew install mpv
```
+
+==-
+
+!!!warning
+[IINA](https://iina.io) is not recommended as it can display incorrect colors. We suggest sticking with the stock [mpv](https://mpv.io) player.
+!!!
+
+### Linux
+
+==- 🔧 Installing on Ubuntu/Debian (APT)
+
+Run the following command in your terminal:
+
+```sh
apt install mpv
```
-# Additional files/folders
+==-
-The default path for mpv config is `%APPDATA%/mpv/` but a folder named `portable_config` next to the `mpv.exe` overrides this. Here's a brief overview of files/folders you may want inside either of these folders -
+## Config Overview
-- `mpv.conf` - MPV user settings.
-- `input.conf` - custom keybind settings. You can see the default key bindings [here](https://user-images.githubusercontent.com/78981416/233719424-c442e27d-bd40-4138-912a-746a2b14493b.png) and syntax [here](https://mpv.io/manual/master/#input-conf).
-- `fonts` - Font files in this directory are used by mpv/libass for subtitles.
-- `scripts` - This directory is used to load custom scripts, usually `.lua` files. You can find scripts [here](https://github.com/mpv-player/mpv/wiki/User-Scripts).
-- `shaders` - This directory is used to load custom shaders like NNEDI3, Ravu, FSRCNNX, etc.
-- `script-opts` - A complementary folder to `scripts`, required by some `.lua` scripts to store user settings.
+By default, mpv's config can be found under `%APPDATA%/mpv/`. However, a folder named `portable_config` next to where `mpv.exe` is stored can override this location as the config folder.
-For more details, visit [here](https://mpv.io/manual/master/#files)
++++ Default (`%APPDATA%`)
-# Custom config
+```properties
+.
+└── mpv/
+ ├── fonts/
+ ├── script-opts/
+ ├── scripts/
+ ├── shaders/
+ ├── input.conf
+ └── mpv.conf
+```
-MPV is a great player out-of-the-box but you can customize it further to make it even better.
++++ Modified (`portable_config`)
+
+```properties
+.
+├── mpv.exe
+└── portable_config/
+ ├── fonts/
+ ├── script-opts/
+ ├── scripts/
+ ├── shaders/
+ ├── input.conf
+ └── mpv.conf
+```
+
++++
+
+File | Meaning
+---------------|---------------------------------------------------------------------------------------------------------------------------
+`fonts/` | Directory for custom font files. *These are typically used for subtitles*
+`scripts/` | Directory for [custom scripts](#custom-scripts). *These are usually `.lua` scripts*
+`shaders/` | Directory for custom shaders used in [scaling](/guides/playback/#scaling), [filtering](/guides/playback/#filtering), etc.
+`script-opts/` | Directory used by custom scripts to store additional options/configs
+`mpv.conf` | General user configuration for mpv
+`input.conf` | Keybind settings for mpv
+
+Some folders may not be present by default and will need to be created.
+
+*For more details, see [mpv's documentation on files](https://mpv.io/manual/master/#files).*
## Basic Config
-The comments are a brief explaination of what each line does.
+mpv is a great player out-of-the-box which can be extensively customized to your liking.
+
+We recommend taking your time to create your own config. If you want to get up and running quickly, we suggest using the generic `mpv.conf` config below:
+
+==- Generic `mpv.conf`
+
+```properties
+## Video
+
+profile=gpu-hq
+vo=gpu-next
+gpu-api=vulkan
+
+## Behavior
-```
-#### General
-profile=gpu-hq #Allows for higher quality playback on MPV. Uses scaling methods that are significantly better than Default MPV, VLC and MPC.
-vo=gpu #General purpose, customizable, GPU-accelerated video output driver. It supports extended scaling methods, dithering, color management, custom shaders, HDR, and more.
-priority=high #Makes PC prioritize MPV for allocating resources.
keep-open=yes
save-position-on-quit
-script-opts=ytdl_hook-ytdl_path=yt-dlp.exe
-cursor-autohide-fs-only
-cursor-autohide=100
-fullscreen=yes #Set to no if you don't want to start in fullscreen
-#### Shaders
-scale=spline36 #if lag occurs change spline36 to bicubic_fast
-dscale=mitchell #if lag occurs change mitchell to bicubic_fast
-cscale=spline36 #if lag occurs change spline36 to bicubic_fast
+## Scaler
+
+# If you encounter problems using ewa_lanczos, change to spline36
+scale=ewa_lanczos
+dscale=mitchell
+cscale=ewa_lanczos
+
+## Screenshots
-#### Screenshots
screenshot-format=png
screenshot-high-bit-depth=no
-screenshot-png-compression=9 #if it takes too long taking screenshots then delete this line
+screenshot-png-compression=9
+screenshot-directory="~/Pictures/mpv"
+screenshot-template="%F-%p"
-#### Subtitle Options
-demuxer-mkv-subtitle-preroll=yes #try harder to show embedded soft subtitles when seeking somewhere
-sub-ass-vsfilter-blur-compat=no #Scale \blur tags by video resolution instead of script resolution (enabled by default)
-sub-fix-timing=no #Adjust subtitle timing is to remove minor gaps or overlaps between subtitles
-sub-auto=fuzzy #Load all subs containing the media filename.
+## Language Priority
-#### Language Priority
-#Sub
-slang=jpn,eng,en #Add enm before eng for honorifics
-alang=jpn,ja,jpn
+# Sub
+# Add enm before eng for honorifics
+slang=eng,en
+alang=jpn,ja
-#Dub #uncomment this section to prefer English Dub with subtitles for English Dub.
+# Dub
+# Uncomment this section to prefer English dub with subtitles for English dub
+#slang=zxx,eng,en
#alang=eng,en
-#slang=zxx,auto,eng
#subs-with-matching-audio=no
-
```
-## Profiles for automatic debanding
+==- Understanding the config
+
+!!!
+See [mpv's user manual](https://mpv.io/manual/stable) for a detailed explanation of all the options.
+!!!
-Banding is a visual artifact, visual artifacts should never be in a video.
-Example of banding:
-![Banding (bad) vs No Banding (good)](https://user-images.githubusercontent.com/78981416/214381256-e5722886-57d7-4cd4-834e-edbd30b432e0.png "Banding (bad) vs No Banding (good)")
-Debanding is the process of removing said banding.
-6 minute explanation of what causes banding: https://youtu.be/h9j89L8eQQk
+Option | Meaning
+-------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+[`profile`](https://mpv.io/manual/stable/#profiles) | The profile to be used by mpv. This should be left at the top of your file avoid conflict with other settings. *We recommend `gpu-hq` for high-quality playback*
+[`vo`](https://mpv.io/manual/stable/#video-output-drivers) | The output driver to be used by mpv. *We recommend `gpu-next` for most modern hardware*
+[`gpu-api`](https://mpv.io/manual/stable/#options-gpu-api) | The graphics API to be used by mpv. *We recommend `vulkan` for most modern hardware*
+[`keep-open`](https://mpv.io/manual/stable/#options-keep-open) | Whether to close or leave the player open after the file finishes playing. *Use `no` if you want the player to close*
+[`save-position-on-quit`](https://mpv.io/manual/stable/#resuming-playback) | Save the current playback position on quit. When the file is reopened, mpv will resume from where it left off. *Remove this option if you do not want the player to save your position*
+[`scale`](https://mpv.io/manual/stable/#options-scale) | The [upscale](#scaling) filter. *We recommend `ewa_lanczos` for best quality*
+[`dscale`](https://mpv.io/manual/stable/#options-dscale) | The [downscale](#scaling) filter. *We recommend `mitchell` for best quality*
+[`cscale`](https://mpv.io/manual/stable/#options-cscale) | The [scale](#scaling) for interpolating chroma information. *We recommend `ewa_lanczos` for best quality*
+[`screenshot-format`](https://mpv.io/manual/stable/#options-screenshot-format) | File format used for screenshots. *We recommend `png` for lossless quality*
+[`screenshot-high-bit-depth`](https://mpv.io/manual/stable/#options-screenshot-high-bit-depth) | Use a bit depth similar to the source for screenshots. *Leave this at `no` as it creates unnecessarily large files*
+[`screenshot-png-compression`](https://mpv.io/manual/stable/#options-screenshot-png-compression) | The compression level for `.png` screenshots. *Can be set between `0` to `9`; a higher number means better compression and longer output time*
+[`screenshot-directory`](https://mpv.io/manual/stable/#options-screenshot-directory) | The directory where screenshots will be saved. *Currently set to your default pictures folder (`Pictures/mpv`)*
+[`screenshot-template`](https://mpv.io/manual/stable/#options-screenshot-template) | The naming scheme for screenshots. *`%F-%p` translates to `filename-timestamp`*
+[`slang`](https://mpv.io/manual/stable/#options-slang) | Priority list of subtitle languages to use when there are multiple tracks
+[`alang`](https://mpv.io/manual/stable/#options-alang) | Priority list of audio languages to use when there are multiple tracks
+[`subs-with-matching-audio`](https://mpv.io/manual/stable/#options-subs-with-matching-audio) | Determines whether the subtitle and audio track must match their language. *Use `no` if you want to watch dubs with subtitle track*
-```
-#Banding is a visual artifact, visual artifacts should never be in a video.
-#Example of banding: https://user-images.githubusercontent.com/78981416/233719301-ebe72064-03ef-45ff-aa93-76ef0d990ecd.png
-#Debanding is the process of removing said banding.
-#6 minute explanation of what causes banding: https://youtu.be/h9j89L8eQQk
+===
-[Web]
- profile-cond=string.match(p.filename, "HorribleSubs")~=nil or string.match(p.filename, "Erai%-raws")~=nil or string.match(p.filename, "SubsPlease")~=nil
- deband=yes
+## Advanced Config
-[Mini-Encode #1]
- profile-cond=string.match(p.filename, "ASW")~=nil or string.match(p.filename, "DKB")~=nil or string.match(p.filename, "Judas")~=nil
- deband=yes
+mpv can be fine-tuned to meet your specific needs, from tweaking playback behavior to customizing video, audio, and subtitle settings. This section outlines the common options that can improve your experience.
-[Mini-Encode #2]
- profile-cond=string.match(p.filename, "Cleo")~=nil or profile-cond=string.match(p.filename, "Cerberus")~=nil or string.match(p.filename, "Reaktor")~=nil
- deband=yes
+!!!
+This guide assumes you know the location of your config folder. *See [Config Overview](#config-overview) to see where to locate your config files.*
+!!!
-[Mini-Encode #3]
- profile-cond=string.match(p.filename, "Ember")~=nil or string.match(p.filename, "Nep%_Blanc")~=nil or string.match(p.filename, "Akihito")~=nil
- deband=yes
+### Debanding
-```
+Color banding is a visual artifact that is typically seen in gradients, where the colors can be easily differentiated by the human eye. *See [Tom Scott's video explaining color banding](https://youtu.be/h9j89L8eQQk).*
+
+![Banding (left) vs. No banding (right)](https://user-images.githubusercontent.com/78981416/214381256-e5722886-57d7-4cd4-834e-edbd30b432e0.png)
-## Profiles for upscaling
+To enable debanding in mpv, apply the following changes to your config:
-These are for a 2160p display, simply adjust the values accordingly for other resolutions.
-[Click here to read about scaling in details](/guides/playback/#scaling)
++++ `mpv.conf`
+```properties
+## Deband
+
+# Set deband to "no" as we only need to enable it for specific cases
+# If you wish to apply debanding automatically on startup, set it to "yes" (not recommended)
+deband=no
+deband-iterations=4
+deband-threshold=48
+deband-grain=48
```
-[2x_upscaling]
- profile-desc='Profile for 1080: 2*1080=2160'
- profile-cond=(height == 1080 and estimated_vf_fps <= 31 and string.match(path, 'http') == nil)
- glsl-shaders='~~/shaders/compute/nnedi3-nns16-win8x4.hook'
- scaler-resizes-only=no # yes with FSRCNNX_x2_16-0-4-1.glsl
-[3x_upscaling]
- profile-desc='Profile for 720: 3*720=2160'
- profile-cond=(height == 720 and string.match(path, 'http') == nil)
- glsl-shaders='~~/shaders/vulkan/compute/ravu-3x-r3.hook'
- scaler-resizes-only=no
+!!!warning
+Your deband settings should be placed after your [`profile`](https://mpv.io/manual/stable/#profiles) in order to prevent conflict.
+!!!
+
++++ `input.conf`
-[4x_upscaling]
- profile-desc='Profile for 540: 2*2*540=2160'
- profile-cond=(height == 540 and string.match(path, 'http') == nil)
- glsl-shaders-append='~~/shaders/vulkan/compute/ravu-r3.hook'
- glsl-shaders-append='~~/shaders/vulkan/compute/ravu-r3.hook'
- scaler-resizes-only=no
+```properties
+D cycle deband
```
-![An Example Showing some of the Scalers. Do note this does not cover everything.](https://user-images.githubusercontent.com/78981416/214379891-5caaf01d-8c24-4e3c-addf-ed8eee02305e.png)
+
++++
+
+After applying your changes, debanding can be applied at any time by pressing `Shift` + `D`.
+
+### Scaling
+
+Scaling is the process of taking content that does not match your screen resolution and resizing it to fit your display. *See the [Playback Guide](/guides/playback/#scaling) for more information.*
!!!
-Scalers only work when the resolution of your video does not match with your display. If the resolution of the video you're playing matches with your display's resolution, scalers will remain unused.
+Scalers only work when the resolution of your video does not match your display. They do not activate if the content resolution already matches your display resolution.
!!!
-For more options, check out the following links:
++++ High-End PCs
+For those with high-end hardware, we recommend using [nnedi3-nns256-win8x4](https://github.com/bjin/mpv-prescalers/blob/master/nnedi3-nns256-win8x4.hook).
-- [MPV Docs](https://mpv.io/manual/master/#options)
-- [Configuration guide 1](https://iamscum.wordpress.com/guides/videoplayback-guide/)
-- [Configuration guide 2](https://kokomins.wordpress.com/2019/10/14/mpv-config-guide/)
-- [Sample config 1](https://github.com/DeadNews/mpv-config/blob/main/mpv/mpv.conf)
-- [Sample config 2](https://github.com/LightArrowsEXE/dotfiles/blob/master/mpv/.config/mpv/mpv.conf)
+Download the shader file and place it in your `shaders` folder.
-!!!warning
-Some of the above guides are quite advanced, do not blindly copy paste things from them without understanding what they do.
-!!!
+To use the shader, add the following to your `mpv.conf`:
+
+```properties
+glsl-shaders="~~/shaders/nnedi3-nns256-win8x4.hook"
+```
+
+To activate it with a key, add the following to your `input.conf`, replacing `G` with the bind of your choice, if necessary (case-sensitive):
-## Scripts
+```properties
+G change-list glsl-shaders toggle "~~/shaders/nnedi3-nns256-win8x4.hook"
+```
-- https://github.com/ekisu/mpv-webm
-- https://github.com/jonniek/mpv-playlistmanager
-- https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autoload.lua
-- https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/pause-when-minimize.lua
-- https://github.com/po5/thumbfast
-- https://github.com/po5/trackselect
++++ Mid-Range PCs
+For those with mid-range hardware, we recommend using [nnedi3-nns128-win8x4](https://github.com/bjin/mpv-prescalers/blob/master/nnedi3-nns128-win8x4.hook).
-## DV/HDR Tonemapping
+Download the shader file and place it in your `shaders` folder.
-For watching Dobly Vision or HDR content on an SDR screen you need to tonemap it. To do this change the `vo=gpu` to `vo=gpu-next` and add `tone-mapping=bt.2446a` to your config.
+To use the shader, add the following to your `mpv.conf`:
+```properties
+glsl-shaders="~~/shaders/nnedi3-nns128-win8x4.hook"
```
+
+To activate it with a key, add the following to your `input.conf`, replacing `G` with the bind of your choice, if necessary (case-sensitive):
+
+```properties
+G change-list glsl-shaders toggle "~~/shaders/nnedi3-nns128-win8x4.hook"
+```
+
++++ Low-End PCs
+For those with low-end hardware, we recommend sticking to mpv's built-in scalers.
+
+In your `mpv.conf`, add the following:
+
+```properties
vo=gpu-next
-tone-mapping=bt.2446a
+scale=ewa_lanczos
+dscale=mitchell
+cscale=ewa_lanczos
```
+This is included in the [Basic Config](#basic-config).
+
+If these are too heavy for your system, delete these lines from your config. mpv will use `spline36` by default with `profile=gpu-hq`.
++++
+
+### Subtitle Restyling
+
+Most releases will use their own font for `.ass` subtitles. These can be manually overridden by mpv, which can help improve readability or match personal preferences.
+
+Below are a few commonly used styles:
+
++++ Gandhi Sans
+
+![Gandhi Sans](https://user-images.githubusercontent.com/78981416/248583226-18cece1d-4cd6-4a55-8fbf-8fa587399262.png)
+
+[Download this font here](https://fontmeme.com/fonts/gandhi-sans-font) or use the button below:
+
+[!button icon="download" variant="primary" text="Gandhi Sans"](/static/playback/fonts/gandhi-sans.zip)
+
+Run the `.otf` font file to install it system-wide or put it in your `fonts` folder. Add the following to your `mpv.conf`:
+
+```properties
+## Restyle Subtitles
+
+# Set sub-ass-override to "no" as we only need to enable it for specific cases
+# If you wish to use it for all video, set it to "yes"
+sub-ass-override=no
+sub-ass-force-style=playresx=1920,playresy=1080
+sub-font="Gandhi Sans"
+sub-font-size=50
+sub-color="#FFFFFF"
+sub-border-size=2.4
+sub-border-color="#FF000000"
+sub-shadow-color="#A0000000"
+sub-shadow-offset=0.75
+sub-bold=yes
+sub-ass-force-style=Kerning=yes
+```
+
++++ Cabin
+
+![Cabin](https://user-images.githubusercontent.com/78981416/248583220-ac376f74-ce9f-4c3c-800b-370355a841f0.png)
+
+[Download this font here](https://fontmeme.com/fonts/cabin-font) or use the button below:
+
+[!button icon="download" variant="primary" text="Cabin"](/static/playback/fonts/cabin.zip)
+
+Run the `.ttf` font file to install it system-wide or put it in your `fonts` folder. Add the following to your `mpv.conf`:
+
+```properties
+## Restyle Subtitles
+
+# Set sub-ass-override to "no" as we only need to enable it for specific cases
+# If you wish to use it for all video, set it to "yes"
+sub-ass-override=no
+sub-ass-force-style=playresx=1920,playresy=1080
+sub-font="Cabin"
+sub-font-size=50
+sub-color="#FFFFFFFF"
+sub-border-size=2.4
+sub-border-color="#FF000000"
+sub-shadow-color="#A0000000"
+sub-shadow-offset=0.8
+sub-ass-force-style=Kerning=yes
+```
+
++++
+
+To activate it with a key, add the following to your `input.conf`, replacing `k` with the bind of your choice, if necessary (case-sensitive):
+
+```properties
+k cycle_values sub-ass-override "force" "no"
+```
+
+### Auto Profiles
+
+Auto profiles allow users to automate actions based on certain conditions. Tasks such as [debanding](#debanding) and [subtitle restyling](#subtitle-restyling) can be applied automatically when these conditions are met, such as file names.
+
+For instance, some seasonal releases may exhibit banding issues and use subjectively less-appealing subtitle fonts. To address this, we can create a `simulcast` auto profile, which automatically applies [debanding](#debanding) and [subtitle restyling](#subtitle-restyling) when playing releases uploaded by SubsPlease, Erai-raws, Tsundere-Raws, VARYG, or HorribleSubs.
+
+Add the following to the end of your `mpv.conf`:
+
+```properties
+## Auto profiles
+
+[simulcast]
+profile-cond=string.match(p.filename, "SubsPlease") or string.match(p.filename, "Erai%-raws") or string.match(p.filename, "Tsundere%-Raws") or string.match(p.filename, "%-VARYG") or string.match(p.filename, "HorribleSubs")
+profile-restore=copy
+sub-fix-timing=yes
+sub-ass-override=force
+deband=yes
+```
+
+!!!warning
+Your auto profile(s) should be placed at the end of your `mpv.conf` in order to prevent conflict.
!!!
-This will only affect content that needs tonemapping, SDR content will be unaffected. `gpu-next` is still an experimental output driver so you may experience unexpected behavior. You can read more about `gpu-next` [here](https://github.com/mpv-player/mpv/wiki/GPU-Next-vs-GPU).
-!!!
+
+### Quality of Life
+
+#### Volume
+
+By default, scrolling the mouse wheel up and down seek the video instead of changing the volume. This behavior can be changed by adding the following to your `input.conf`:
+
+```properties
+WHEEL_UP add volume 2
+WHEEL_DOWN add volume -2
+```
+
+### Custom Scripts
+
+mpv supports loading custom scripts, allowing you to further expand the player's functionality.
+
+Below is a list of some popular scripts:
+
+- [autoload](https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/autoload.lua) - Automatically adds all files present in the folder to a playlist
+- [mpv-playlistmanager](https://github.com/jonniek/mpv-playlistmanager) - Script to create and manage playlists
+- [mpv-webm](https://github.com/ekisu/mpv-webm) - WebM maker for mpv
+- [pause-when-minimize](https://github.com/mpv-player/mpv/blob/master/TOOLS/lua/pause-when-minimize.lua) - Pauses playback when minimizing the window, and resumes playback when brought back
+- [thumbfast](https://github.com/po5/thumbfast) - Display thumbnails when scrubbing video (may be needed for some [Skins](#skins))
+- [trackselect](https://github.com/po5/trackselect) - Select tracks based on their title
+
+### Skins
+
+You can customize how mpv looks using skins. These are subject to personal preference, so find what works best for you.
+
+Below is a list of some popular skins:
+
+- [mfpbar](https://codeberg.org/NRK/mpv-toolbox/src/branch/master/mfpbar)
+- [ModernX](https://github.com/cyl0/ModernX)
+- [mpv-osc-modern](https://github.com/maoiscat/mpv-osc-modern)
+- [mpv-osc-tethys](https://github.com/Zren/mpv-osc-tethys)
+- [mpv-progressbar](https://github.com/torque/mpv-progressbar)
+- [oscc](https://github.com/longtermfree/oscc)
+- [uosc](https://github.com/tomasklaen/uosc)
diff --git a/docs/tutorials/plex.md b/docs/tutorials/plex.md
index 4f9886ee3..803a2c3cb 100644
--- a/docs/tutorials/plex.md
+++ b/docs/tutorials/plex.md
@@ -1,6 +1,6 @@
---
label: Plex
-description: Modify the Plex Windows App to Include an Extended MPV Version
+description: Modify the Plex Windows app to include an extended MPV version
author:
name: "! ThaUnknown_#3951"
link: http://github.com/ThaUnknown
diff --git a/docs/tutorials/qbittorrent.md b/docs/tutorials/qbittorrent.md
index b6750ae37..52d0c1b43 100644
--- a/docs/tutorials/qbittorrent.md
+++ b/docs/tutorials/qbittorrent.md
@@ -6,15 +6,129 @@ image: https://user-images.githubusercontent.com/78981416/232305852-17383fd0-c7d
# qBittorrent
-[qBittorrent](https://www.qbittorrent.org) is a free, open source, and cross platform bittorrent client with several features like Categories, tags, RSS, Web-UI, and more.
+[qBittorrent](https://www.qbittorrent.org) is a free, open-source, and cross-platform BitTorrent client. It is often recommended by most users due to its extensive features and ease of use.
-1. Go to qBittorrent's [download page](https://www.fosshub.com/qBittorrent.html)
-2. Download `qBittorrent Windows x64` for Windows, `qBittorrent AppImage` for Linux, and `qBittorrent Mac OS X` for macOS.
+## Installation
- ![](https://user-images.githubusercontent.com/78981416/232291788-1eb92521-c0a1-46ea-a81c-9f00881bc2cb.png)
+==- 🖥️ Windows
+
+1. Download the latest version of [qBittorrent](https://www.qbittorrent.org) from [FOSSHUB](https://www.fosshub.com/qBittorrent.html). For Windows, you'll want to download *qBitTorrent Windows x64*
+2. Run the installer and follow the on-screen instructions to complete installation
+
+[!embed text="Installing qBittorrent on Windows"](/static/torrenting/qbittorrent/installation-windows.mp4)
+
+==- 🍎 macOS
+
+1. Download the latest version of [qBittorrent](https://www.qbittorrent.org) from [FOSSHUB](https://www.fosshub.com/qBittorrent.html). For macOS, you'll want to download *qBitTorrent Mac OS X*
+2. Run the installer and follow the on-screen instructions to complete installation
+
+==- 🐧 Linux
+
+1. Download the latest version of [qBittorrent](https://www.qbittorrent.org) from [FOSSHUB](https://www.fosshub.com/qBittorrent.html). For Linux, you'll want to download *qBitTorrent AppImage*
+2. Run the installer and follow the on-screen instructions to complete installation
+
+==-
+
+## Usage
+
+qBittorrent supports both `.torrent` files and magnet links.
+
+==- Automatic
+
+qBittorrent supports automatic detection and can start downloading torrents by simply opening the `.torrent` file or launching magnet links.
+
+[!embed text="Automatically starting from a torrent file"](/static/torrenting/getting-torrents-file.mp4)
+
+[!embed text="Automatically starting from a magnet link"](/static/torrenting/getting-torrents-magnet.mp4)
+
+==- Manual
+
+- Launch qBittorrent. In the top bar, find the **Add Torrent File** or **Add Torrent Link** button
+- Locate the `.torrent` file or paste in the magnet link
+- Once submitted, qBittorrent should immediately start fetching the file metadata and begin downloading
+
+[!embed text="Adding a torrent file"](/static/torrenting/qbittorrent/usage-file.mp4)
+
+[!embed text="Adding a magnet link"](/static/torrenting/qbittorrent/usage-magnet.mp4)
+
+==-
+
+## Configuration
+
+### VPN Binding
+
+If you use a [VPN](/getting-started/torrenting/#vpn), you may want to consider binding it to your qBittorrent client. This prevents you from accidentally torrenting when your VPN is inactive or from exposing your IP.
+
+1. Launch qBittorrent. In the top bar, go to **Tools** -> **Options**
+2. Head to **Advanced** and locate *Network interface*. In the dropdown menu, select your VPN's network adapter
+3. Click **Apply** in the bottom-right and close the **Options** window
+
+==- Video tutorial
+
+[!embed text="Using VPN binding"](/static/torrenting/qbittorrent/vpn-binding.mp4)
+
+==-
+
+### RSS
+
+RSS is an easy way to automatically fetch and download shows to your machine. This may be useful if you plan on downloading airing shows without having to manually add the torrent to your client.
+
+==- Enabling RSS
+
+1. Launch qBittorrent. In the top bar, go to **Tools** -> **Options**
+2. Head to **RSS**. Under **RSS Reader**, check *Enable fetching RSS feeds*. You can also change how often your RSS feed is updated under *Feeds refresh interval*. *We recommend setting it to 15 minutes*
+3. Under **RSS Torrent Auto Downloader**, check *Enable auto downloading of RSS torrents*
+
+[!embed text="Enabling RSS"](/static/torrenting/qbittorrent/enabling-rss.mp4)
+
+==- Adding feeds
+
+1. Choose an RSS feed to use. Popular RSS feeds for airing anime:
+[!button size="s" variant="secondary" icon="rss" text="Erai-raws" margin="0 8 0 0"](https://www.erai-raws.info/rss-page/)
+[!button size="s" variant="secondary" icon="rss" text="SubsPlease"](https://subsplease.org/rss-feeds/)
+2. Launch qBittorrent. In the top bar, go to **View** and check *RSS Reader*
+3. Select the **RSS** tab near the top bar. Click on **New subscription**
+4. Paste the RSS URL and click **OK**.
+
+[!embed text="Adding feeds"](/static/torrenting/qbittorrent/adding-feeds.mp4)
+
+==- Download rules
+
+1. Launch qBittorrent. In the top bar, go to **View** and check *RSS Reader*
+2. Select the **RSS** tab near the top bar. Click on **RSS Downloader...**
+3. Click on the **+** to create a new download rule. Below is a list of important parameters:
+
+Rule | Meaning | Example Usage
+---------------------|-------------------------------------------------------------------------------|-----------------------------------------
+**Must Contain** | The title of the show to follow the rule | `Shiro Seijo to Kuro Bokushi`
+**Must Not Contain** | Additional text to avoid downloading certain files, such as batch releases | `batch`
+**Save to** | Optional directory to save to when *Save to a different directory* is checked | `D:\Anime\Shiro Seijo to Kuro Bokushi`
!!!
-You'll see a few confusing terms here, like `lt20`, `qt5`, and `qt6`. You don't really have to know anything about them besides the fact that they are builds with underlying breaking changes which are not yet widely adopted which is why you should avoid them.
+If your filter works properly, you should see the desired files under **Matching RSS Articles**.
!!!
+4. Under **Apply Rule to Feeds**, check off the desired RSS feed for the download rule
+
+[!embed text="Download rules"](/static/torrenting/qbittorrent/download-rules.mp4)
+
+==-
+
+### Sequential Downloading
+
+Sequential downloading is a feature that allows you to prioritize the order in which the pieces of a torrent file are downloaded.
+
+Typically, qBittorrent fetches the pieces in a random order from different parts of the file. However, this option forces the client to go in sequential order, starting from the beginning to the end of the file. *This feature may be useful if you plan on watching shows immediately while the download is still in progress.*
+
+1. Launch qBittorrent. Send your desired torrent to the client
+2. Under **Torrent settings**, check *Download in sequential order* and *Download first and last pieces first*
+3. Click **OK** to continue downloading the torrent
+
+!!!
+This can also be enabled in the right-click menu for the torrent.
+!!!
+
+==- Video tutorial
+
+[!embed text="Using sequential downloading"](/static/torrenting/qbittorrent/sequential-downloading.mp4)
-3. Run the installer and you're pretty much done. You can look around the settings if you want but the default values are already good.
\ No newline at end of file
+==-
diff --git a/docs/tutorials/rss.md b/docs/tutorials/rss.md
deleted file mode 100644
index b5416b912..000000000
--- a/docs/tutorials/rss.md
+++ /dev/null
@@ -1,63 +0,0 @@
----
-label: RSS
----
-
-## Prerequisites
-
-This guide will use [qBittorrent](https://www.qbittorrent.org/download.php) and the [SubsPlease RSS feed](https://subsplease.org/rss-feeds/) as an example. The process should be similar for other clients and feeds.
-
-## Enabling RSS
-
-1. In qBittorrent, enable `RSS Reader` from the `View` menu on the toolbar. A new `RSS` tab will appear next to `Transfers`.
-2. Navigate to `Tools` -> `Options` -> `RSS` and
-3. Check `Enable fetching RSS feeds` and `Enable auto downloading of RSS torrents.`
-4. Set `Feeds refresh interval` to 15 minutes.
-
-![Qbittorrent RSS](https://user-images.githubusercontent.com/78981416/213906548-b2735470-157d-4cca-8927-cf1d15feb24a.png "Qbittorrent RSS")
-
-## Adding the RSS feed
-
-1. Choose the resolution that you want to download and copy the corresponding link from https://subsplease.org/rss-feeds/. For example - `https://subsplease.org/rss/?t&r=1080`
-2. Go to the `RSS` tab in qBittorrent and click `New subscription`
-3. Paste the link you copied and click OK.
-
-!!!
-Do not paste this link in a browser because it will do nothing.
-!!!
-
-## Setting up download rules
-
-**To set up the seasonal anime that you want to download, follow the steps below:**
-
-1. At the top-right of the RSS tab, click on `RSS Downloader`.
-
-2. In `Download Rules`, press the file icon (next to the trash can icon). Pick a name for your filter (anything works).
-
-3. Change the textbox `Must Contain:` to the title of the anime you need to download. Use the Japanese title of the show, as SubsPlease only offers the anime in their original title. For example, `Kimetsu no Yaiba`.
-
-4. In the textbox `Must Not Contain:`, write `batch` to avoid downloading the batch when the season ends.
-
-5. If your filter works, you'll see the entries under `Matching RSS Articles`.
-
-6. **Optional:** Check `Save to a Different Directory` and choose the download directory for the episodes.
-
-7. Check `SubsPlease RSS` under `Apply Rule to Feeds`.
-
-![Qbittorrent RSS Rules](https://user-images.githubusercontent.com/78981416/213906574-546aae6e-a5f5-411f-b43a-14ed26e66ff5.png "Qbittorrent RSS Rules")
-
-
-!!!
-The client can be left running in the background. The anime episode will be automatically downloaded whenever it is released.
-!!!
-
-!!!
-When you first add an anime to the list, the previous episodes may start downloading automatically. This only happens once, but you can manually stop the download process for any unwanted episodes.
-!!!
-
-## Advanced
-
-- Erai-raws is an alternative for SubsPlease. They are sometimes inconsistent and late but they fix certain issues with subtitles that are left unfixed in subsplease. Exclude "v0" releases with the "Must not contain:" filter to avoid duplicated downloads.
-
-- If you want something smaller try searching Nyaa for mini encoders like [Judas](https://nyaa.si/user/Judas) or [ASW](https://nyaa.si/user/AkihitoSubsWeeklies). Clicking the RSS button on these pages gives you the required link for a particular uploader, doing the same on the homepage gives you an RSS feed of everything on nyaa.
-
-- Alternatively, check out [this guide](https://iamscum.wordpress.com/guides/taiga/) for a better way of automating downloads and tracking synced with your Anilist account.
diff --git a/docs/tutorials/shana.md b/docs/tutorials/shana.md
index 734366909..56080418c 100644
--- a/docs/tutorials/shana.md
+++ b/docs/tutorials/shana.md
@@ -2,7 +2,7 @@
label: Shana
---
-**Note**
+# Shana
Hi everyone, I'd like to share a little project I wrote over the past year + a workflow I've personally been using to reduce the manual work involved every season in downloading anime. This helps a lot especially if you're an avid anime watcher and follow 10+ anime per season. Everything from auto-downloading new releases to selecting the "correct" resolution is automated.
diff --git a/docs/tutorials/sonarr.md b/docs/tutorials/sonarr.md
index 93a2a04d8..432774caf 100644
--- a/docs/tutorials/sonarr.md
+++ b/docs/tutorials/sonarr.md
@@ -1,6 +1,6 @@
---
label: Sonarr
-description: Beginner's Guide to Sonarr
+description: Beginner's guide to Sonarr
image: https://user-images.githubusercontent.com/78981416/215346149-674de56b-b9d6-4a70-87c5-5799b66bd73c.png
---
diff --git a/docs/tutorials/splittunnel.md b/docs/tutorials/splittunnel.md
new file mode 100644
index 000000000..e76ccfd11
--- /dev/null
+++ b/docs/tutorials/splittunnel.md
@@ -0,0 +1,52 @@
+---
+label: Split Tunneling
+description: Split tunneling on any Wireguard VPN
+author:
+ name: "guyman"
+ avatar: https://github.com/Snaacky/thewiki/assets/78981416/2045b3c7-90a5-40ce-9d81-a81baa421227
+---
+
+# Split Tunneling on Any VPN (Wireguard)
+This guide can be used to achieve whitelist split tunneling on any Wireguard VPN. Most VPNs will provide you with a wireguard config or have some sort of method to extract one.
+
+## Required
+1. [WireSockUI](https://github.com/wiresock/WireSockUI/releases)
+2. Torrent Client (qBittorrent preferred)
+3. Your provider's wireguard .conf file
+
+## Steps
+1. Download WireSockUI. Extract the exe and config file to a folder where it wont be deleted by accident.
+2. Run the program
+3. Click the settings icon around the bottom middle of the window
+4. In settings, enable `Virtual Network Adapter mode` and click save
+5. Now click Add Tunnel (bottom left). Browse for your VPN configuration file.
+6. Select your configuration and click Edit at the bottom right of the window
+7. A text file should open. Add `AllowedApps = qbittorrent` to the bottom of this file, then click Save. If you would like to add more programs, add a comma and a space. For example, `AllowedApps = qbittorrent, firefox`![image](https://github.com/guyman624/thewiki/assets/82007920/d2ba5e4f-ecdd-422e-b645-dd8d76635861)
+7a. If instead of whitlisting only qBittorrent, you would prefer blacklisting other applications, for example have everything route through the VPN except the browser, you can instead use something like `DisallowedApps = firefox` or `DisallowedApps = chrome`.
+
+8. Activate the tunnel
+
+At this point, you should be torrenting through the VPN as long as WireSockUI is running and Activated. However, you may be concered about accidentally disabling the VPN while a torrent is running. To fix this, we can change a setting in qBittorrent.
+
+1. Open qBittorrent settings
+2. On the left hand bar, click Advanced
+3. Look for `Network Interface`. The default setting is `Any Interface`
+4. Expand the drop down. If you are lucky, the correct interface will be `Local Area Connection`. If you have more than one `Local Area Connection`, continue on. If you don't, skip to step 8.
+5. Press Windows + R key together. Paste in `ncpa.cpl`
+6. In the window that shows up, you should see all your network adapters, including virtual ones. Find the one that says `WireSock Virtual Adapter` on the third line. Write down it's name, or rename it to WireSock.![image](https://github.com/guyman624/thewiki/assets/82007920/f17e1c3c-1ca8-4d3d-b98b-edce36b5b6da)
+
+7. Back in qBittorrent, look at `Network Interface`. You may have to close and open the settings window if you renamed the adapter to WireSock.
+8. Set `Network Interface` to `WireSock` or `Local Area Network x` or whatever other name you wrote down.![image](https://github.com/guyman624/thewiki/assets/82007920/5125b8de-309c-425a-b1a0-70ca1b775081)
+
+9. Hit Apply then OK.
+
+You should be properly configured now. If you would like to test your configuration, continue on.
+
+## Testing split tunneling
+1. Go to [ipleak.net](https://ipleak.net)
+2. At the top, you should see your home ip address. Remember this.
+3. Scroll down to `Torrent Address detection`. Click Activate.
+4. Click the `this Magnet Link` button and add the torrent to qbittorrent.
+5. Wait a few minutes. ipleak should show some ip addresses under the torrent section.
+6. Compare both the IPv4 and IPv6 that show up to the ones that show at the top for your home IP. If it is different, congratulations! You have successfully set up split tunneling!
+![image](https://github.com/guyman624/thewiki/assets/82007920/c2ceef0d-5858-4dcd-b951-0c73bfc7e4e7)
diff --git a/docs/tutorials/torrent.md b/docs/tutorials/torrent.md
index 006fcbb38..800e03118 100644
--- a/docs/tutorials/torrent.md
+++ b/docs/tutorials/torrent.md
@@ -1,61 +1,70 @@
---
-label: Torrent
+label: Torrents
---
-# Torrent
+# Torrents
-==- What is a .torrent file?
-A `.torrent` file is a file that BitTorrent and other peer-to-peer (P2P) file-sharing programs use to download content, such as videos, music, games, or documents, over the Internet. It contains metadata that describes the to-be-downloaded content and tells BitTorrent where to download the content from. For example, `.torrent` files specify the name, file size, and folder structure of to-be-downloaded content.
-===
+In [torrenting](/getting-started/torrenting), a `.torrent` is a file that BitTorrent and other peer-to-peer (P2P) file-sharing programs use to download content, such as videos, music, games, or documents, over the Internet. It contains metadata that describes the to-be-downloaded content and tells BitTorrent where to download the content from, specifying the name, file size, and folder structure of the content.
-Before you make a torrent, there are a few things to keep in mind:
+## Preface
-- Newer clients and tools allow you to make three types of `.torrent` files which are `v1`, `Hybrid` and `v2`. Always use `v1` when making torrents because none of the public or private trackers currently support `Hybrid` or `v2` as these are [relatively new](https://blog.libtorrent.org/2020/09/bittorrent-v2/).
-- Do not make a torrent of a directory containing a single file, instead make a torrent of the file itself.
-- When making a torrent file, you'll have to select a "piece" size in which your data is sliced up so you can get small amounts of verifiable data from several peers at a time.
-- Too small pieces make for more protocol overhead, bigger torrent files, longer hashing times and possibly higher load on the CPU and HDD.
-- Too large pieces can slow down piece distribution.
-- Older torrent clients do not support 16MiB+ piece sizes. When using 16MiB pieces, torrent size limits are only a concern above ~5TB.
-- Most clients automatically pick too small piece sizes, except dottorrent-gui which aims for a reasonable 1000-1500 pieces.
-- You can target ~1000 pieces with 16MiB being the upper limit. Here's a reference:
+There are a few things to keep in mind before creating a torrent:
-```
- 2 to 4GB - 4MiB
- 4 to 8GB - 8MiB
- 8 to ∞ GB - 16MiB
-```
+- Newer clients and tools allow you to make three types of `.torrent` files: `v1`, `Hybrid`, and `v2`. *You should always use `v1` when creating torrents, as most public/private trackers do not support `Hybrid` or `v2` as these are [relatively new](https://blog.libtorrent.org/2020/09/bittorrent-v2)*
+- Do not create a torrent of a directory containing a single file. *Instead, make a torrent of the file itself*
-## Public Tracker URLs
+### Pieces
-```
-http://nyaa.tracker.wf:7777/announce
+When creating a torrent, the file is cut into several, smaller pieces, which are then put together by a peer's [torrent client](/getting-started/torrenting/#torrent-client) to create the final result. These pieces are low in size and are used to facilitate peer-to-peer sharing, allowing for downloading and uploading to be much faster and seamless. However, there are some things to keep note of when setting the pieces for your torrent:
-http://anidex.moe:6969/announce
+- Creating too *small* pieces can cause more protocol overhead, bigger torrent files, longer hashing times, and possibly higher load on the CPU and drive
+- Creating too *large* pieces can slow down piece distribution
+- Older torrent clients do not support piece sizes greater than 16 MiB. *Greater piece sizes are only a concern for torrents above ~5 TiB*
+- Most clients automatically pick too small piece sizes. *[dottorrent-gui](#dottorrent-gui) is an exception, as it aims for 1000-1500 pieces during creation*
-udp://open.stealth.si:80/announce
+We recommend targeting 1000 pieces, with 16 MiB being the upper limit. A quick reference is below:
-udp://tracker.opentrackr.org:1337/announce
+Torrent Size | Piece Size
+-------------|-------------
+2 to 4 GiB | 4 MiB
+4 to 8 GiB | 8 MiB
+8 to ∞ GiB | 16 MiB
-udp://exodus.desync.com:6969/announce
+### Trackers
-udp://tracker.torrent.eu.org:451/announce
+If you plan on sharing your torrent to the public, you'll need to set tracker URLs in order to communicate with other peers. Below is a few popular [public trackers](/sourcing/public-trackers) to use when creating your torrent:
+
+```text
+http://nyaa.tracker.wf:7777/announce
+http://anidex.moe:6969/announce
+udp://open.stealth.si:80/announce
+udp://tracker.opentrackr.org:1337/announce
+udp://tracker.coppersurfer.tk:6969/announce
+udp://exodus.desync.com:6969/announce
```
-There are several ways to make a torrent:
+## Creating
+
+There are several tools you can use to make a torrent:
-- [torf-cli](https://github.com/rndusr/torf-cli) - Cross Platform, CLI.
-- [torrenttools](https://github.com/fbdtemme/torrenttools) - Cross Platform, CLI.
-- [mktorrent](https://github.com/pobrn/mktorrent) - Linux only, CLI.
-- [dottorrent-gui](https://github.com/kz26/dottorrent-gui) - Windows, GUI.
-- [Qbittorrent](https://www.qbittorrent.org/) - Cross Platform, GUI, Slowest of the bunch.
+- [torf-cli](https://github.com/rndusr/torf-cli) [!badge icon=":heart:" variant="primary" text="Recommended"] [!badge variant="secondary" text="Cross-Platform"] [!badge variant="secondary" text="CLI"]
+- [dottorrent-gui](https://github.com/kz26/dottorrent-gui) [!badge variant="secondary" text="Windows"] [!badge variant="secondary" text="GUI"]
+- [mktorrent](https://github.com/pobrn/mktorrent) [!badge variant="secondary" text="Linux"] [!badge variant="secondary" text="CLI"]
+- [qBittorrent](https://www.qbittorrent.org) [!badge variant="secondary" text="Cross-Platform"] [!badge variant="secondary" text="GUI"]
+- [torrenttools](https://github.com/fbdtemme/torrenttools) [!badge variant="secondary" text="Cross-Platform"] [!badge variant="secondary" text="CLI"]
-## torf-cli
+### torf-cli
-Refer to the torf-cli [docs](https://rndusr.github.io/torf-cli/torf.1.html) for advanced features like [Profiles](https://rndusr.github.io/torf-cli/torf.1.html#:~:text=is%20not%20supported.-,Profiles,-A%20profile%20is).
+[torf-cli](https://github.com/rndusr/torf-cli) is a cross-platform CLI application for creating torrents.
-Command to make a torrent of a single file or directory
+!!!
+*See the [torf-cli docs](https://rndusr.github.io/torf-cli/torf.1.html) for advanced features like [profiles](https://rndusr.github.io/torf-cli/torf.1.html#:~:text=is%20not%20supported.-,Profiles,-A%20profile%20is).*
+!!!
+++ Windows
+
+==- Torrent for a single file/directory
+
```batch
torf --max-piece-size 16 ^
-t http://nyaa.tracker.wf:7777/announce,^
@@ -66,22 +75,9 @@ udp://tracker.coppersurfer.tk:6969/announce,^
udp://exodus.desync.com:6969/announce ^
"D:\path\to\root\directory"
```
-+++ Linux
-```shell
-torf --max-piece-size 16 \
--t http://nyaa.tracker.wf:7777/announce \
-http://anidex.moe:6969/announce,\
-udp://open.stealth.si:80/announce,\
-udp://tracker.opentrackr.org:1337/announce,\
-udp://tracker.coppersurfer.tk:6969/announce,\
-udp://exodus.desync.com:6969/announce \
-"New Folder"
-```
-+++
-Command to make a torrent for each subdirectory
+==- Torrent for each subdirectory
-+++ Windows
```batch
for /d %X in (*) do torf --max-piece-size 16 ^
-t http://nyaa.tracker.wf:7777/announce,^
@@ -92,22 +88,9 @@ udp://tracker.coppersurfer.tk:6969/announce,^
udp://exodus.desync.com:6969/announce ^
"%X"
```
-+++ Linux
-```shell
-for dir in ./*/; do torf --max-piece-size 16 \
--t http://nyaa.tracker.wf:7777/announce,\
-http://anidex.moe:6969/announce,\
-udp://open.stealth.si:80/announce,\
-udp://tracker.opentrackr.org:1337/announce,\
-udp://tracker.coppersurfer.tk:6969/announce,\
-udp://exodus.desync.com:6969/announce \
-"$dir"; done
-```
-+++
-Command to make a torrent for each file in a directory
+==- Torrent for each file in a directory
-+++ Windows
```batch
for %X in (*.mkv) do torf --max-piece-size 16 ^
-t http://nyaa.tracker.wf:7777/announce,^
@@ -118,7 +101,39 @@ udp://tracker.coppersurfer.tk:6969/announce,^
udp://exodus.desync.com:6969/announce ^
"%X"
```
+
+===
+
+++ Linux
+
+==- Torrent for a single file/directory
+
+```shell
+torf --max-piece-size 16 \
+-t http://nyaa.tracker.wf:7777/announce,\
+http://anidex.moe:6969/announce,\
+udp://open.stealth.si:80/announce,\
+udp://tracker.opentrackr.org:1337/announce,\
+udp://tracker.coppersurfer.tk:6969/announce,\
+udp://exodus.desync.com:6969/announce \
+"New Folder"
+```
+
+==- Torrent for each subdirectory
+
+```shell
+for dir in ./*/; do torf --max-piece-size 16 \
+-t http://nyaa.tracker.wf:7777/announce,\
+http://anidex.moe:6969/announce,\
+udp://open.stealth.si:80/announce,\
+udp://tracker.opentrackr.org:1337/announce,\
+udp://tracker.coppersurfer.tk:6969/announce,\
+udp://exodus.desync.com:6969/announce \
+"$dir"; done
+```
+
+==- Torrent for each file in a directory
+
```shell
for file in *.mkv; do torf --max-piece-size 16 \
-t http://nyaa.tracker.wf:7777/announce,\
@@ -129,15 +144,123 @@ udp://tracker.coppersurfer.tk:6969/announce,\
udp://exodus.desync.com:6969/announce \
"$file"; done
```
+
+===
+
+++
-## torrenttools
+By default, torf-cli heavily biases 8 MiB piece size in situations where 16 MiB would be more suitable. *We recommend performing the following edit to more aggressively target 1000 pieces:*
+
+- Go to your torf-cli install location (e.g. `%localappdata%\Programs\Python\Python311\Lib\site-packages\torf`)
+- Open `_torrent.py` using your text editor and replace lines 723-728:
-Refer to the torrenttools [docs](https://fbdtemme.github.io/torrenttools/index.html) for advanced features like [Named trackers](https://fbdtemme.github.io/torrenttools/configuration.html#named-trackers) and [Tracker groups](https://fbdtemme.github.io/torrenttools/configuration.html#tracker-groups).
+```py
+ elif size <= 16 * 2**30: # 16 GiB / 1024 pieces = 16 MiB max
+ pieces = size / 1024
+ elif size <= 32 * 2**30: # 32 GiB / 2048 pieces = 16 MiB max
+ pieces = size / 2048
+ elif size <= 64 * 2**30: # 64 GiB / 2048 pieces = 32 MiB max
+ pieces = size / 2048
+```
+
+### dottorrent-gui
+
+[dottorrent-gui](https://github.com/kz26/dottorrent-gui) is a Windows GUI application for creating torrents.
+
+==- Torrent for a single file/directory
-Command to make a torrent of a single file or directory
+- In dottorrent-gui, select the file type under **Input path** and locate the file/directory of your torrent. *Alternatively, you may drag-and-drop the desired file/directory into the box*
+- Add your tracker URLs under **Seeding**. *There should be one [tracker URL](#trackers) per line*
+- Under **Torrent options**, select the [piece size based on the size of your torrent](#pieces)
+
+[!embed text="Creating a torrent for a directory"](/static/torrenting/dottorrent-gui/creating-torrents-single.mp4)
+
+===
+
+### mktorrent
+
+[mktorrent](https://github.com/pobrn/mktorrent) is a Linux CLI application for creating torrents.
+
+In mktorrent, piece size is passed as `-l n`, where `n` is a power of `2`, making the piece size equal to `2^(n)` bytes.
+
+n | Piece Size
+-----|-------------
+`22` | 4 MiB
+`23` | 8 MiB
+`24` | 16 MiB
+
+==- Torrent for a single file/directory
+
+```shell
+mktorrent -v -l 24 \
+-a http://nyaa.tracker.wf:7777/announce \
+-a http://anidex.moe:6969/announce \
+-a udp://open.stealth.si:80/announce \
+-a udp://tracker.opentrackr.org:1337/announce \
+-a udp://tracker.coppersurfer.tk:6969/announce \
+-a udp://exodus.desync.com:6969/announce \
+"D:\path\to\root\directory"
+```
+
+==- Torrent for each subdirectory
+
+```shell
+for dir in ./*/; do mktorrent -v -l 24 \
+-a http://nyaa.tracker.wf:7777/announce \
+-a http://anidex.moe:6969/announce \
+-a udp://open.stealth.si:80/announce \
+-a udp://tracker.opentrackr.org:1337/announce \
+-a udp://tracker.coppersurfer.tk:6969/announce \
+-a udp://exodus.desync.com:6969/announce \
+"$dir"; done
+```
+
+==- Torrent for each file in a directory
+
+```shell
+for file in *.mkv; do mktorrent -v -l 24 \
+-a http://nyaa.tracker.wf:7777/announce \
+-a http://anidex.moe:6969/announce \
+-a udp://open.stealth.si:80/announce \
+-a udp://tracker.opentrackr.org:1337/announce \
+-a udp://tracker.coppersurfer.tk:6969/announce \
+-a udp://exodus.desync.com:6969/announce \
+"$file"; done
+```
+
+===
+
+### qBittorrent
+
+[qBittorrent](https://www.qbittorrent.org) is a cross-platform GUI [torrent client](/getting-started/torrenting/#torrent-client) which can also create torrents.
+
+==- Torrent for a single file/directory
+
+- In qBittorrent, go to the top bar and click on **Tools** -> **Torrent Creator**
+- Under **Select file/folder to share** -> **Path**, paste in the file/directory location of your torrent. *Alternatively, you can search for it using the **Select file**/**Select folder** buttons or dragging them into the **[Drag and drop area]***
+- Under **Settings**, select the [piece size based on the size of your torrent](#pieces)
+- Under **Fields** -> **Tracker URLS**, paste in the trackers
+
+!!!warning
+Line breaks after each [tracker URL](#trackers) are necessary when creating the torrent.
+!!!
+
+[!embed text="Creating a torrent for a directory"](/static/torrenting/qbittorrent/creating-torrents-single.mp4)
+
+===
+
+### torrenttools
+
+[torrenttools](https://github.com/fbdtemme/torrenttools) is a cross-platform CLI application for creating torrents.
+
+!!!
+*See the [torrenttools docs](https://fbdtemme.github.io/torrenttools/index.html) for advanced features like [named trackers](https://fbdtemme.github.io/torrenttools/configuration.html#named-trackers) and [tracker groups](https://fbdtemme.github.io/torrenttools/configuration.html#tracker-groups).*
+!!!
+++ Windows
+
+==- Torrent of a single file/directory
+
```batch
torrenttools create -l 16MiB ^
-a http://nyaa.tracker.wf:7777/announce ^
@@ -148,22 +271,9 @@ udp://tracker.coppersurfer.tk:6969/announce ^
udp://exodus.desync.com:6969/announce ^
"D:\path\to\root\directory"
```
-+++ Linux
-```shell
-torrenttools create -l 16MiB \
--a http://nyaa.tracker.wf:7777/announce \
-http://anidex.moe:6969/announce \
-udp://open.stealth.si:80/announce \
-udp://tracker.opentrackr.org:1337/announce \
-udp://tracker.coppersurfer.tk:6969/announce \
-udp://exodus.desync.com:6969/announce \
-"New Folder"
-```
-+++
-Command to make a torrent for each subdirectory
+==- Torrent for each subdirectory
-+++ Windows
```batch
for /d %X in (*) do torrenttools create -l 16MiB ^
-a http://nyaa.tracker.wf:7777/announce ^
@@ -174,22 +284,9 @@ udp://tracker.coppersurfer.tk:6969/announce ^
udp://exodus.desync.com:6969/announce ^
"%X"
```
-+++ Linux
-```shell
-for dir in ./*/; do torrenttools create -l 16MiB \
--a http://nyaa.tracker.wf:7777/announce \
-http://anidex.moe:6969/announce \
-udp://open.stealth.si:80/announce \
-udp://tracker.opentrackr.org:1337/announce \
-udp://tracker.coppersurfer.tk:6969/announce \
-udp://exodus.desync.com:6969/announce \
-"$dir"; done
-```
-+++
-Command to make a torrent for each file in a directory
+==- Torrent for each file in a directory
-+++ Windows
```batch
for %X in (*.mkv) do torrenttools create -l 16MiB ^
-a http://nyaa.tracker.wf:7777/announce ^
@@ -200,76 +297,50 @@ udp://tracker.coppersurfer.tk:6969/announce ^
udp://exodus.desync.com:6969/announce ^
"%X"
```
+
+==-
+
+++ Linux
+
+==- Torrent of a single file/directory
+
```shell
-for file in *.mkv; do torrenttools create -l 16MiB \
+torrenttools create -l 16MiB \
-a http://nyaa.tracker.wf:7777/announce \
http://anidex.moe:6969/announce \
udp://open.stealth.si:80/announce \
udp://tracker.opentrackr.org:1337/announce \
udp://tracker.coppersurfer.tk:6969/announce \
udp://exodus.desync.com:6969/announce \
-"$file"; done
-```
-+++
-
-## mktorrent
-
-For mktorrent, piece size is passed as `-l n` where `n` is the power of `2`, making the piece size equal to `2^(n)` bytes.
-
-```
-n = 22 -> 4MiB
-n = 23 -> 8MiB
-n = 24 -> 16MiB
-```
-
-Command to make a torrent of a single file or directory
-
-```shell
-mktorrent -v -l 24 \
--a http://nyaa.tracker.wf:7777/announce \
--a http://anidex.moe:6969/announce \
--a udp://open.stealth.si:80/announce \
--a udp://tracker.opentrackr.org:1337/announce \
--a udp://tracker.coppersurfer.tk:6969/announce \
--a udp://exodus.desync.com:6969/announce \
-"D:\path\to\root\directory"
+"New Folder"
```
-Command to make a torrent for each subdirectory
+==- Torrent for each subdirectory
```shell
-for dir in ./*/; do mktorrent -v -l 24 \
+for dir in ./*/; do torrenttools create -l 16MiB \
-a http://nyaa.tracker.wf:7777/announce \
--a http://anidex.moe:6969/announce \
--a udp://open.stealth.si:80/announce \
--a udp://tracker.opentrackr.org:1337/announce \
--a udp://tracker.coppersurfer.tk:6969/announce \
--a udp://exodus.desync.com:6969/announce \
+http://anidex.moe:6969/announce \
+udp://open.stealth.si:80/announce \
+udp://tracker.opentrackr.org:1337/announce \
+udp://tracker.coppersurfer.tk:6969/announce \
+udp://exodus.desync.com:6969/announce \
"$dir"; done
```
-Command to make a torrent for each file in a directory
+==- Torrent for each file in a directory
```shell
-for file in *.mkv; do mktorrent -v -l 24 \
+for file in *.mkv; do torrenttools create -l 16MiB \
-a http://nyaa.tracker.wf:7777/announce \
--a http://anidex.moe:6969/announce \
--a udp://open.stealth.si:80/announce \
--a udp://tracker.opentrackr.org:1337/announce \
--a udp://tracker.coppersurfer.tk:6969/announce \
--a udp://exodus.desync.com:6969/announce \
+http://anidex.moe:6969/announce \
+udp://open.stealth.si:80/announce \
+udp://tracker.opentrackr.org:1337/announce \
+udp://tracker.coppersurfer.tk:6969/announce \
+udp://exodus.desync.com:6969/announce \
"$file"; done
```
-## dottorrent-gui
-
-[![3](https://user-images.githubusercontent.com/78981416/226189863-40578262-dbd9-4bd2-a73c-3c6d7fe15451.png "3")](https://user-images.githubusercontent.com/78981416/226189863-40578262-dbd9-4bd2-a73c-3c6d7fe15451.png "3")
-
-## qbittorrent
+==-
-Line breaks after each tracker URL are necessary when creating a torrent with Qbittorrent.
-
-[![1](https://user-images.githubusercontent.com/78981416/226189888-1fdf6f20-8232-4c37-aca6-2bd5e1d22e88.png "1")](https://user-images.githubusercontent.com/78981416/226189888-1fdf6f20-8232-4c37-aca6-2bd5e1d22e88.png "1")
-
-[![2](https://user-images.githubusercontent.com/78981416/226189911-eeeb29ab-9a0b-4c40-8601-a5c106fa7f6c.png "2")](https://user-images.githubusercontent.com/78981416/226189911-eeeb29ab-9a0b-4c40-8601-a5c106fa7f6c.png "2")
++++
diff --git a/docs/tutorials/transmission.md b/docs/tutorials/transmission.md
index 219483d36..48e224f2a 100644
--- a/docs/tutorials/transmission.md
+++ b/docs/tutorials/transmission.md
@@ -6,11 +6,29 @@ image: https://user-images.githubusercontent.com/78981416/232306009-f06499dc-634
# Transmission
-[Transmission](https://transmissionbt.com) is a free, open source, and cross platform bittorrent client. It's a stable and efficient client with minimal resource usage. Lacks alot of features that qBittorrent has but in turn can handle large quantities of torrents with ease. Great for mass seeding.
+[Transmission](https://transmissionbt.com) is a free, open-source, and cross-platform BitTorrent client. It's a stable and efficient client with minimal resource usage which can handle large quantities of torrents easily if you plan to mass seed.
-1. Go to Transmission's [download page](https://transmissionbt.com/download).
-2. Download the installer for your operating system. You'll see two options for Windows, i.e, `transmission-4.0.3-x64.msi` and `transmission-4.0.3-x86.msi`. Most likely you are on a `x64` machine and should install that.
+## Installation
- ![](https://user-images.githubusercontent.com/78981416/232301133-868bcb3d-a26b-447a-aeea-5bb96eb8c50a.png)
++++ Windows
-3. Run the installer and you're pretty much done.
\ No newline at end of file
+1. Download the latest `.msi` version of [Transmission](https://transmissionbt.com/download)
+2. Run the installer and follow the on-screen instructions to complete installation
+
+![Transmission download page](https://user-images.githubusercontent.com/78981416/232301133-868bcb3d-a26b-447a-aeea-5bb96eb8c50a.png)
+
++++ macOS
+
+1. Download the latest `.dmg` version of [Transmission](https://transmissionbt.com/download)
+2. Run the installer and follow the on-screen instructions to complete installation
+
+![Transmission download page](https://user-images.githubusercontent.com/78981416/232301133-868bcb3d-a26b-447a-aeea-5bb96eb8c50a.png)
+
++++ Linux
+
+1. Download the latest `.tar.xz` version of [Transmission](https://transmissionbt.com/download)
+2. Run the installer and follow the on-screen instructions to complete installation
+
+![Transmission download page](https://user-images.githubusercontent.com/78981416/232301133-868bcb3d-a26b-447a-aeea-5bb96eb8c50a.png)
+
++++
diff --git a/docs/tutorials/unblock.md b/docs/tutorials/unblock.md
index 602b7c2c2..26b5eef7c 100644
--- a/docs/tutorials/unblock.md
+++ b/docs/tutorials/unblock.md
@@ -1,6 +1,6 @@
---
label: Unblock Guide
-description: Simple Guide to Bypass Website Blocks
+description: Simple guide to bypass website blocks
image: https://user-images.githubusercontent.com/78981416/217623478-91268767-ba25-4498-9755-bc0eeca97033.gif
---
diff --git a/docs/tutorials/vpn-binding.md b/docs/tutorials/vpn-binding.md
deleted file mode 100644
index 9de169e9a..000000000
--- a/docs/tutorials/vpn-binding.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-label: VPN Binding
-description: Bind VPN network interface to torrent client to avoid exposing your IP
----
-
-# VPN Binding
-
-!!!
-This guide was originally written by [u/daiqo](https://www.reddit.com/user/daiqo/) in their reddit post [here](https://www.reddit.com/r/VPNTorrents/comments/ssy8vv/guide_bind_vpn_network_interface_to_torrent/)
-!!!
-
-This guide assumes you already have a VPN. VPN killswitches aren't reliable, the best way to avoid exposing your IP address is by binding the VPN network interface to the torrent client. This means that you'll only be able to download/upload while the VPN tunnel is active, reducing the probability of having a leak to virtually zero.
-
-## Requirements
-
-A torrent client that supports binding, eg. qBittorrent.
-
-## Windows
-
-- Start the VPN and connect to a location.
-- Open qBittorrent. Go to Preferences, and then Advanced tab.
-- Change Network interface to the VPN (usually its name, like "Mullvad").
-- Restart qBittorrent.
-
-## macOS
-
-- Start the VPN and connect to a location.
-- Open the Terminal app (it's in Applications/Utilities).
-- Run the command `ifconfig | grep -A 2 utun`
-- Take note of the utun interface with the internal IP `inet 10.x.x.x` (eg. `utun3`).
-- Open qBittorrent. Go to Preferences, and then Advanced tab.
-- Change Network interface to the utun interface you found above.
-- Restart qBittorrent.
-
-!!!
-The utun interface may change if you reboot or reconnect.
-!!!
-
-## Linux
-
-- Start the VPN and connect to a location.
-- Open qBittorrent. Go to Preferences, and then Advanced tab.
-- Change Network interface to one of the following depending on the app and protocol you are using (Mullvad VPN as example)
-- Mullvad app using OpenVPN: `tun0`
-- Mullvad app using WireGuard kernel: `wg-mullvad`
-- Mullvad app using WireGuard userspace: `tun0`
-- WireGuard standalone: `mlvd-xx`
-- OpenVPN standalone: `tun0`
-- Restart qBittorrent.
-
-## How to test?
-
-- You can download the [official Ubuntu 22.10 torrent](https://releases.ubuntu.com/22.10/ubuntu-22.10-desktop-amd64.iso.torrent) and open it on qBittorrent. If the binding is properly set, the download will only start if the VPN is connected. If you disconnect your VPN, the download will stop.
-
-- Visit [TorGuard's Check My Torrent IP Address](https://torguard.net/checkmytorrentipaddress.php)