fix typos and grammar issues (#4683)

* typo fix

* more typo fixes

* more fixes
This commit is contained in:
bread 2026-02-01 20:46:39 -08:00 committed by GitHub
parent 0f44061a48
commit a53def045e
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
16 changed files with 118616 additions and 37 deletions

View file

@ -1,3 +1,3 @@
You can create an OpenSubtitles account and link it in MPC-HC to bypass quota limits.
You can create an OpenSubtitles account and link it in MPC-HC to bypass quota limits.
You can do this via a panel in MPC-HC located at: Options > Subtitles > Misc > Right-click on OpenSubtitles.com > Setup > Fill in username/password

View file

@ -25,7 +25,7 @@ ## ▷ Official Model Sites
* [Ernie](https://ernie.baidu.com/) - ERNIE 5.0 Preview 1220 / x1 Demo / [4.5 Demo](https://huggingface.co/spaces/baidu/ernie_4.5_turbo_demo) / [x1 Demo](https://huggingface.co/spaces/baidu/ernie_x1_turbo_demo)
* [Mistral](https://chat.mistral.ai) - Mistral Large 3 / [Subreddit](https://www.reddit.com/r/MistralAI/) / [Discord](https://discord.gg/mistralai)
* [MiniMax AI](https://agent.minimax.io/) - MiniMax-M2.1 / [Discord](https://discord.com/invite/hailuoai) / [GitHub](https://github.com/MiniMax-AI/MiniMax-M1)
* [Ai2 Playground](https://playground.allenai.org/) - Olmo3.1 32B / No Sign-Up / / [Discord](https://discord.gg/NE5xPufNwu)
* [Ai2 Playground](https://playground.allenai.org/) - Olmo3.1 32B / No Sign-Up / [Discord](https://discord.gg/NE5xPufNwu)
* [LongCat](https://longcat.chat/) - LongCat-Flash-Chat / Requires Sign-Up / Unlimited / [X](https://x.com/Meituan_LongCat)
* [Cohere](https://dashboard.cohere.com/playground/chat) - Command-A-Reasoning / 1000 Monthly / Requires Sign-Up / [Discord](https://discord.com/invite/co-mmunity)
* [Solar](https://console.upstage.ai/playground/chat) - Solar Pro 2 Model / No Sign-Up / [Discord](https://discord.com/invite/Cge9FYjV4h)
@ -140,7 +140,7 @@ ## ▷ Roleplaying Chatbots
## ▷ Coding AIs
* **Note** - Keep in mind many coding AIs run in root, so its best to avoid giving them full drive / root access to avoid any sort of issues or accidental deletions. Remember to backup code first before running the AI or prompts, as they can sometimes break things.
* **Note** - Keep in mind many coding AIs run in root, so it's best to avoid giving them full drive / root access to avoid any sort of issues or accidental deletions. Remember to backup code first before running the AI or prompts, as they can sometimes break things.
***
@ -174,7 +174,7 @@ ## ▷ Coding AIs
* [DeepSite](https://huggingface.co/spaces/enzostvs/deepsite) - Text to Site Code / [Limits](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/hugging-face-warning.md)
* [Bolt.new](https://bolt.new/) - AI Web App Builder / [Discord](https://discord.com/invite/stackblitz) / [GitHub](https://github.com/stackblitz/bolt.new)
* [Fragments](https://fragments.e2b.dev/) - AI App Builder / [Discord](https://discord.com/invite/U7KEcGErtQ) / [GitHub](https://github.com/e2b-dev)
* [Rork](https://rork.com/) - AI App Builder [Code Export Bypass](https://greasyfork.org/en/scripts/538090)
* [Rork](https://rork.com/) - AI App Builder / [Code Export Bypass](https://greasyfork.org/en/scripts/538090)
* [Code2prompt](https://github.com/mufeedvh/code2prompt) - Convert Codebase into Single LLM Prompt
* [PR-Agent](https://github.com/qodo-ai/pr-agent) - Automated Pull Requests
* [Gitingest](https://gitingest.com/) or [Repomix](https://repomix.com/) / [GitHub](https://github.com/yamadashy/repomix) - Convert Repos to Prompt-Friendly Text
@ -305,15 +305,15 @@ # ► Video Generation
* ⭐ **[GeminiGenAI](https://geminigen.ai/app/video-gen)** - Sora 2 / Grok / Requires Google Login / [Discord](https://discord.gg/vJnYe86T8F)
* [Bing Create](https://www.bing.com/images/create) - Sora 1 / No Image Input
* [Sora](https://openai.com/index/sora/) - 6 Daily / [Remove Watermarks](https://unmarkit.app/sora) / [Signup Guide](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/sora.md)
* [Wan AI](https://wan.video/) / Wan Ai / Wan 2.6 / Image to Video / [GitHub](https://github.com/Wan-Video/Wan2.1)
* [Wan AI](https://wan.video/) / Wan AI / Wan 2.6 / Image to Video / [GitHub](https://github.com/Wan-Video/Wan2.1)
* [Qwen](https://chat.qwen.ai/) - 5/12 Per Hour / [Discord](https://discord.com/invite/CV4E9rpNSD) / [GitHub](https://github.com/QwenLM)
* [Vheer](https://vheer.com/) - Unlimited / No Sign-Up
* [AIFreeVideo](https://aifreevideo.com/) - Unlimited / MiniMax Video-01 / Requires Sign-Up
* [Meta AI](https://www.meta.ai/) - Unlimited / Requires Sign-Up
* [Arena](https://arena.ai/?chat-modality=video) - 3 Daily / Requires Sign-Up / Random Models / Reset Limits w/ Cookie Delete or Temp Mail / End-Watermark / [X](https://x.com/arena) / [Discord](https://discord.com/invite/lmarena)
* [Arena](https://arena.ai/?chat-modality=video) - 3 Daily / Requires Sign-Up / Random Models / Reset Limits w/ Cookie Delete or Temp Mail / End-Watermark / [X](https://x.com/arena) / [Discord](https://discord.com/invite/lmarena)
* [Arena (Discord)](https://discord.com/invite/lmarena) - 5 Daily / Random Models / Discord Only / Check #how-to-video-bot / End-Watermark
* [Klipy](https://klipy.com/) - Klipy / Veo 3 / GIFs / Unlimited / Requires Sign-Up
* [ModelScope Video](https://modelscope.ai/civision/videoGeneration) - Wan 2.2 14B / 3 Daily / [Note](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/modelscope.md)
* [ModelScope Video](https://modelscope.ai/civision/videoGeneration) - Wan 2.2 14B / 3 Daily / [Note](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/modelscope.md)
* [Google Whisk](https://labs.google/fx/en/tools/whisk) - Veo 3 / 10 Monthly
* [Google Flow](https://labs.google/fx/tools/flow) - Veo 3.1 (5 Monthly)
* [Dreamina](https://dreamina.capcut.com/ai-tool/home) - 120 Credits Daily
@ -336,7 +336,7 @@ # ► Image Generation
* ⭐ **[Bing Create](https://www.bing.com/images/create)** - Unlimited / GPT-4o / MAI-Image-1 / Editing / Sign-Up Required
* ⭐ **[GeminiGenAI](https://geminigen.ai/app/imagen)** - Nano Banana Pro / Unlimited / Google Login Required / [Note](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/gemai.md)
* ⭐ **[PigenAI](https://pigenai.art/)** - 50 Credits Daily / Editing / Generating / Z-Image Turbo / Unlimited / Multiple Generators / Model Cost Varies
* ⭐ **[Dreamina](https://dreamina.capcut.com/ai-tool/home)** - 120 Credits Daily / Seedream 4.5/ Nano Banana / Sign-Up Required
* ⭐ **[Dreamina](https://dreamina.capcut.com/ai-tool/home)** - 120 Credits Daily / Seedream 4.5 / Nano Banana / Sign-Up Required
* ⭐ **[Perchance](https://perchance.org/ai-photo-generator)** / [2](https://perchance.org/ai-text-to-image-generator) - Chroma-Based / Unlimited / No Sign-Up / [Resources](https://perchance.org/perlist) / [Lemmy](https://lemmy.world/u/perchance) / [Subreddit](https://www.reddit.com/r/perchance/) / [Discord](https://discord.gg/43qAQEVV9a)
* [Yupp.ai](https://yupp.ai/) - GPT Image 1.5 / Nano Banana Pro / Multiple Generators / Google Login Required / [Discord](https://discord.com/invite/yuppai)
* [Pollinations](https://chat.pollinations.ai/) - Nano Banana Pro / GPT Image 1.5 / Multiple Generators / No Sign-Up / [Limit / Guide](https://github.com/fmhy/edit/blob/main/docs/.vitepress/notes/pollinations-limits.md)
@ -515,7 +515,7 @@ # ► Machine Learning
* [minitorch](https://github.com/minitorch/minitorch) - Machine Learning Engineering Course Code
* [ML YouTube Courses](https://github.com/dair-ai/ML-YouTube-Courses) or [Deep Learning Drizzle](https://deep-learning-drizzle.github.io/) - Machine Learning Courses on YouTube
* [Unsloth](https://github.com/unslothai/unsloth) - LLM Finetuning / Text Completion / [Notebooks](https://github.com/unslothai/notebooks) / [Guide](https://docs.unsloth.ai/get-started/fine-tuning-guide)
* [ModelScope Finetuninge](https://modelscope.ai/civision/modelTraining) - Image Gen Model Finetuning / Up to 100 Images Per LoRA
* [ModelScope Finetuning](https://modelscope.ai/civision/modelTraining) - Image Gen Model Finetuning / Up to 100 Images Per LoRA
* [Markdown Web Browser](https://github.com/Dicklesworthstone/markdown_web_browser) - Webpage > Markdown Converter
* [DeepSpeed](https://www.deepspeed.ai/) - Deep Learning Optimization Library
* [Netron](https://github.com/lutzroeder/netron) - Visualizer for Neural Network, Deep Learning, and Machine Learning Models

View file

@ -67,7 +67,7 @@ ## ▷ Genre Specific Streaming
* [MixtapeMonkey](https://mixtapemonkey.com/) - Hip-Hop / Mixtapes / [Discord](https://discord.gg/4Vsb73fQgd)
* [DMO](https://dance-music.org/) - Electronic
* [Vapor Archive](https://vaporarchive.neocities.org/) - Vaporwave
* [Jamendo](https://www.jamendo.com/) or [Free Music Archive](https://freemusicarchive.org/) - Independant Music
* [Jamendo](https://www.jamendo.com/) or [Free Music Archive](https://freemusicarchive.org/) - Independent Music
* [Keygen Music](https://keygenmusic.tk/) - Keygen Music
* [OperaOnVideo](https://www.operaonvideo.com/) - Opera Recordings
* [Classical Music Only](https://classicalmusiconly.com/) or [musopen](https://musopen.org/music/) - Classical Music
@ -381,7 +381,7 @@ ## ▷ Audio Ripping Tools
* ⭐ **[Soggfy](https://github.com/Rafiuth/Soggfy)** - Spotify / 160kb Free / 320kb Premium
* ⭐ **[Exact Audio Copy](https://www.exactaudiocopy.de/)** / [Guide](https://docs.google.com/document/d/1b1JJsuZj2TdiXs--XDvuKdhFUdKCdB_1qrmOMGkyveg) or [Whipper](https://github.com/whipper-team/whipper) - CD / DVD Audio Ripper
* ⭐ **[Firehawk52](https://rentry.co/FMHYB64#firehawk)** - Deezer / Qobuz / Tidal / Requires Sign-Up / [Telegram](https://t.me/firehawk52official) / [Discord](https://discord.gg/uqfQbzHj6K)
* [OnTheSpot](https://github.com/justin025/onthespot) - Apple Music / Bandcamp / Deezer / Qobuz / Spotify / Tidal/ [Discord](https://discord.com/invite/hz4mAwSujH)
* [OnTheSpot](https://github.com/justin025/onthespot) - Apple Music / Bandcamp / Deezer / Qobuz / Spotify / Tidal / [Discord](https://discord.com/invite/hz4mAwSujH)
* [Votify](https://github.com/glomatico/votify) - Spotify / 160kb Free / 320kb Premium / Requires WVD Keys / [Discord](https://discord.gg/aBjMEZ9tnq)
* [streamrip](https://github.com/nathom/streamrip) - Deezer / Tidal / Qobuz / SoundCloud / 128kb Free / FLAC / Use Firehawk52 / [Colab](https://github.com/privateersclub/rip)
* [OrpheusDL](https://github.com/OrfiTeam/OrpheusDL) - Deezer / Qobuz / 128kb Free / FLAC / Use Firehawk52 / [Deezer Module](https://github.com/uhwot/orpheusdl-deezer) / [Qobuz Module](https://github.com/OrfiDev/orpheusdl-qobuz)
@ -539,7 +539,7 @@ # ► Audio Torrenting
* ⭐ **[Redacted](https://redacted.sh/)** - MP3 / FLAC / [Interviews](https://interviewfor.red/), [2](https://igwiki.lyci.de/wiki/Redacted.sh_Guide)
* ⭐ **[New-Team](https://new-team.org/)** - MP3 / FLAC
* ⭐ **[Orpheus](https://orpheus.network/)** - MP3 / FLAC / [Interviews](https://interview.orpheus.network/)
* ⭐ **[Lidarr](https://lidarr.audio/)**/ [GitHub](https://github.com/Lidarr/Lidarr) or [Headphones](https://github.com/rembo10/headphones) - Audio Torrent Autodownload
* ⭐ **[Lidarr](https://lidarr.audio/)** / [GitHub](https://github.com/Lidarr/Lidarr) or [Headphones](https://github.com/rembo10/headphones) - Audio Torrent Autodownload
* ⭐ **[Audio Torrent CSE](https://cse.google.com/cse?cx=006516753008110874046:v75cyb4ci55)** - Multi-Site Search
* [TPB Music](https://thepiratebay.org/search.php?q=top100:100) - MP3 / FLAC / **Avoid Software / Games**
* [TheMixingBowl](https://themixingbowl.org/) - Forum / Mixes / MP3 / Requires Sign-Up
@ -749,7 +749,7 @@ ## ▷ Audio Players
* [Harmonoid](https://harmonoid.com/) / [Discord](https://discord.gg/2Rc3edFWd8) / [GitHub](https://github.com/harmonoid/harmonoid)
* [Namida](https://github.com/namidaco/namida) - Feature-Rich
* [Audion](https://audionplayer.com/) - Feature-Rich / [GitHub](https://github.com/dupitydumb/Audion)
* [TimeStetch](https://29a.ch/timestretch/) - Web-Based
* [TimeStretch](https://29a.ch/timestretch/) - Web-Based
* [MusikCube](https://musikcube.com/) - Terminal-Based
* [XMPlay](https://www.un4seen.com/) - Module-Friendly
* [Butterchurn Visualizer](https://butterchurnviz.com/), [MusicVid](https://musicvid.org/), [Vizzy](https://vizzy.io/) or [CatNip](https://github.com/noriah/catnip) - Audio Visualizers
@ -918,11 +918,11 @@ ## ▷ Audio Editors
* [Moises](https://moises.ai/) - Live Music Mixer
* [plugdata](https://plugdata.org/) - Visual Audio Editor / [Discord](https://discord.com/invite/eT2RxdF9Nq)
* [Element](https://kushview.net/element/), [Bespoke](https://www.bespokesynth.com/) or [SunVox](https://warmplace.ru/soft/sunvox/) - Modular Audio Environments / [Discord](https://discord.com/invite/RVk3RVJ)
* [Music Experiment](https://petersalomonsen.com/webassemblymusic/livecodev2/), [Sonic-Pi](https://sonic-pi.net/), [SuperCollider](https://supercollider.github.io/), [Studel](https://strudel.cc/) or [WebChuck IDE](https://ccrma.stanford.edu/~tzfeng/webchuck-ide/) - Code-Based Audio Creators
* [Music Experiment](https://petersalomonsen.com/webassemblymusic/livecodev2/), [Sonic-Pi](https://sonic-pi.net/), [SuperCollider](https://supercollider.github.io/), [Strudel](https://strudel.cc/) or [WebChuck IDE](https://ccrma.stanford.edu/~tzfeng/webchuck-ide/) - Code-Based Audio Creators
* [WaveTracker](https://wavetracker.org/) - Wavetable Audio Editor / [GitHub](https://github.com/squiggythings/WaveTracker)
* [FamiStudio](https://famistudio.org/) - NES Audio Editor / [Discord](https://discord.gg/QRCMe595Pv) / [GitHub](https://github.com/BleuBleu/FamiStudio)
* [LittleSoundDJ](https://www.littlesounddj.com/lsd/index.php) - Game Boy Audio Editor
* [Rosegarden](https://rosegardenmusic.com/) or [Ariamaestosa](https://ariamaestosa.github.io/ariamaestosa/docs/index.html) - Midi Sequencer / Notation Editors
* [Rosegarden](https://rosegardenmusic.com/) or [Ariamaestosa](https://ariamaestosa.github.io/ariamaestosa/docs/index.html) - MIDI Sequencer / Notation Editors
* [Basic Pitch](https://basicpitch.spotify.com/) - Audio-to-MIDI Converter
* [BitMidi](https://bitmidi.com/) or [VGMusic](https://www.vgmusic.com/) - MIDI Files
* [Mod Archive](https://modarchive.org/) - Audio Modules

View file

@ -2,11 +2,11 @@ ### Adblocking
> How important is using an adblocker?
Sites generally contain ads, some of which can be harmful, often leading to unwanted pages or fake download buttons. Real download buttons are usually small, often text-based or subtly integrated into the site's design. Fake ones are frequently large, brightly coloured, use generic terms like 'Download Now', and may appear multiple times on a page. It can be hard to tell them apart, so it's important to always have an adblocker.
Sites generally contain ads, some of which can be harmful, often leading to unwanted pages or fake download buttons. Real download buttons are usually small, often text-based or subtly integrated into the site's design. Fake ones are frequently large, brightly colored, use generic terms like 'Download Now', and may appear multiple times on a page. It can be hard to tell them apart, so it's important to always have an adblocker.
For browsers we recommend **[uBO](https://github.com/gorhill/uBlock)**, and you can also use a **[Redirect Skipper](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools/#wiki_.25B7_redirect_bypass)** to skip annoying countdowns. Note that uBO alone should be enough for browser adblocking, using DNS alongside it can cause conflicts.
For browsers we recommend **[uBO](https://github.com/gorhill/uBlock)**, and you can also use a **[Redirect Skipper](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools/#wiki_.25B7_redirect_bypass)** to skip annoying countdowns. Note that uBO alone should be enough for browser adblocking; using DNS alongside it can cause conflicts.
For mobile **[AdGuard Premium](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/android/#wiki_.25B7_android_adblocking)** / [iOS](https://adguard.com/en/adguard-ios/overview.html) or **[Rethink DNS](https://rethinkdns.com/app)**, and you can block YouTube, Reddit, and X.com ads with **[ReVanced Manager](https://revanced.app/)** or **[Morphe](https://morphe.software/)**, which you can optionally [setup easily](https://wispydocs.pages.dev/revanced-morphe-obtainium/). Note that uBO works on mobile browsers like Firefox too.
For mobile **[AdGuard Premium](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/android/#wiki_.25B7_android_adblocking)** / [iOS](https://adguard.com/en/adguard-ios/overview.html) or **[Rethink DNS](https://rethinkdns.com/app)**, and you can block YouTube, Reddit, and X.com ads with **[ReVanced Manager](https://revanced.app/)** or **[Morphe](https://morphe.software/)**, which you can optionally [set up easily](https://wispydocs.pages.dev/revanced-morphe-obtainium/). Note that uBO works on mobile browsers like Firefox too.
!!!note Using several ad blockers, like uBO and AdGuard at the same time can [mess things up](https://x.com/gorhill/status/1033706103782170625). This only happens with regular ad blockers, so it's perfectly okay to use uBO alongside something like SponsorBlock.
@ -18,7 +18,7 @@ ### Antivirus
Before installing any file, it's recommended to scan the setup / install with **[VirusTotal](https://www.virustotal.com/)**. If you're having trouble determining if something is a false positive, refer to the **[Scan Guide](https://claraiscute.neocities.org/Guides/vtguide)** / [2](https://claraiscute.pages.dev/Guides/vtguide), or send it to us in [Discord](https://github.com/fmhy/FMHY/wiki/FMHY-Discord) and we'll take a look for you. For Android Apps, it's best to analyze them in a sandbox like [Triage](https://tria.ge/).
!!!note Most antivirus programs are unnecessary and can cause slow down. If you use trusted websites, Windows Defender should be all you need to stay safe, and you can run a [Malwarebytes](https://www.malwarebytes.com/) scan from time to time for extra protection.
!!!note Most antivirus programs are unnecessary and can cause slowdowns. If you use trusted websites, Windows Defender should be all you need to stay safe, and you can run a [Malwarebytes](https://www.malwarebytes.com/) scan from time to time for extra protection.
***
@ -105,7 +105,7 @@ ### Privacy
For email privacy, we recommend **[Proton](https://proton.me/mail)** and for search **[SearXNG](https://searx.fmhy.net/)**. It's also good to check sites like **[HaveIBeenPwned](https://haveibeenpwned.com/Passwords)** to make sure your info hasn't been part of any recent data breaches.
!!!note Remember never to use your real email, or password on any site you're not sure is trustworthy. It's good to use a different password on every site you register for, that way if a breach happens, only the password for that one site is compromised. You can also use email [aliasing](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools/#wiki_.25B7_email_aliasing).
!!!note Remember never to use your real email or password on any site you're not sure is trustworthy. It's good to use a different password on every site you register for, that way if a breach happens, only the password for that one site is compromised. You can also use email [aliasing](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools/#wiki_.25B7_email_aliasing).
!!!note Keep in mind that it's **never** a good idea to upload personal or confidential files to any file host / cloud AI, even if they claim to be encrypted.
@ -118,7 +118,7 @@ ### Windows Guide
Download an ISO from Massgrave's **[Genuine Installation Media](https://massgrave.dev/genuine-installation-media)** page, and follow the **[Clean Install Windows Guide](https://massgrave.dev/clean_install_windows)** to install it. After install, activate it with **[Microsoft Activation Scripts](https://rentry.co/FMHYB64#mas)**. If you'd like to use Windows 10 past its End-Of-Life date, follow **[Windows 10 After EOL](https://massgrave.dev/windows10_eol)**.
* **[Windows Install / Debloat Guide](https://wispydocs.pages.dev/windows/)**
* **Software Sites: [Virgil Software Search](https://virgil.samidy.com/Software/) / [CracksURL](https://cracksurl.com/) [Download Guide](https://cracksurl.com/how-to-download/) / [LRepacks](https://lrepacks.net/)**
* **Software Sites: [Virgil Software Search](https://virgil.samidy.com/Software/) / [CracksURL](https://cracksurl.com/) / [Download Guide](https://cracksurl.com/how-to-download/) / [LRepacks](https://lrepacks.net/)**
***

View file

@ -764,7 +764,7 @@ ## ▷ Multi-Language
* 🌐 **[LexiLogos](https://www.lexilogos.com/english/index.htm)** - Multi-Language Dictionary Index
* ↪️ **[Translation Tools](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/text-tools#wiki_.25B7_translators)**
* ⭐ **[Language Transfer](https://www.languagetransfer.org/)** - Language Learning Lectures
* ⭐ **[Language Reactor](https://www.languagereactor.com/)**, [Dreaming](https://dreaming.com/) / [Subreddit](https://www.reddit.com/r/dreamingspanish/), [2](https://www.reddit.com/r/DreamingFrench/), [LLPlayer](https://github.com/umlx5h/LLPlayer), [Trancy](https://www.trancy.org/) or [Easysubs](https://easysubs.cc/) - Learn Languages via Videos
* ⭐ **[Language Reactor](https://www.languagereactor.com/)**, [Dreaming](https://dreaming.com/) / [Subreddit](https://www.reddit.com/r/dreamingspanish/), [2](https://www.reddit.com/r/DreamingFrench/), [LLPlayer](https://github.com/umlx5h/LLPlayer), [Trancy](https://www.trancy.org/) or [Easysubs](https://easysubs.cc/) - Learn Languages via Videos
* ⭐ **[Readlang](https://readlang.com/)** - Learn a Language via Web Browsing
* [Language Learners](https://forum.language-learners.org/) - Language Learning Forum / Community
* [WordReference](https://www.wordreference.com/), [Glosbe](https://glosbe.com/) or [Reverso](https://reverso.net/) - Translation Dictionary

View file

@ -786,7 +786,7 @@ ## ▷ 3D Tools
# ► Undertale / Deltarune
* ⭐ **[Undertale Wiki](https://undertale.wiki/)** / [Deltarune Wiki](https://deltarune.wiki/) - Main Gameplay & Lore Databases
* ⭐ **[Undertale Wiki](https://undertale.wiki/)** / [Deltarune Wiki](https://deltarune.wiki/) - Main Gameplay & Lore Databases
* ⭐ **[r/Undertale](https://www.reddit.com/r/Undertale/)** or **[r/Deltarune](https://www.reddit.com/r/Deltarune/)** - Community Subreddits
* ⭐ **[Toby Fox (X/Twitter)](https://x.com/tobyfox)**, - Primary Creator Updates / [Tumblr](https://fwugradiation.tumblr.com/) / [Bluesky](https://bsky.app/profile/tobyfox.undertale.com)
* ⭐ **[nochocolate](https://nochocolate.tumblr.com/)** - Foundational Character and Lore Deep-Dives
@ -820,7 +820,7 @@ ## ▷ Modding & Fan Content
## ▷ Fan Games
* 🌐 **[GameJolt Undertale](https://gamejolt.com/games/best/tag-undertale)** or **[itch.io Undertale](https://itch.io/games/tag-undertale)** - Fan Game Indexes / Indie Tributes
* ⭐ **[Don't Forget](https://gamejolt.com/games/dontforget/150752)** - Online Multiplayer Fangame / Deltarune Elements
* ⭐ **[Don't Forget](https://gamejolt.com/games/dontforget/150752)** - Online Multiplayer Fangame / Deltarune Elements
* ⭐ **[Undertale Yellow](https://gamejolt.com/games/UndertaleYellow/136925)** - Major UNDERTALE Prequel Fan Game / Massive Mod Community / [Wiki](https://undertaleyellow.wiki.gg/) / [Mods](https://gamebanana.com/games/19606)
* ⭐ **[Disbelief Papyrus](https://gamejolt.com/games/DisbeliefUnofficial/464116)** - Genocide Route AU / Iconic Papyrus Fight
* ⭐ **[DustTale](https://gamejolt.com/games/dusttale/308853)** - Popular Dark AU / Murderous Sans Story

View file

@ -214,7 +214,7 @@ ## ▷ GIF Tools
* [ScreenToGif](https://www.screentogif.com/) - GIF Recorder / Windows / [GitHub](https://github.com/NickeManarin/ScreenToGif)
* [licecap](https://www.cockos.com/licecap/) - Create GIFs via Screencasts / Windows, Mac, Linux / [GitHub](https://github.com/justinfrankel/licecap)
* [ugiffer](https://iobureau.com/ugiffer/) - Create GIFs via Screencasts / Windows
* [blinkies.cafe](https://blinkies.cafe/) - Custom Retro Blinkie GIFs / Badges [GitHub](https://github.com/piconaut/blinkies.cafe)
* [blinkies.cafe](https://blinkies.cafe/) - Custom Retro Blinkie GIFs / Badges / [GitHub](https://github.com/piconaut/blinkies.cafe)
***

View file

@ -765,7 +765,7 @@ ## ▷ System Tools
* ⭐ **[Alfred](https://www.alfredapp.com/)**, [Raycast](https://www.raycast.com/), [Albert](https://albertlauncher.github.io/), [Quicksilver](https://qsapp.com/), [KeyboardCowboy](https://github.com/zenangst/KeyboardCowboy) or [SOL](https://sol.ospfranco.com/) - Keystroke Launchers / Spotlight Replacements / [Alfred Workflows / Themes](https://www.packal.org/) / [Albert GitHub](https://github.com/albertlauncher/albert)
* ⭐ **[CustomShortcuts](https://www.houdah.com/customShortcuts/)**, [Karabiner-Elements](https://karabiner-elements.pqrs.org/) or [ShortcutKeeper](https://shortcutkeeper.com/) - Custom Keyboard Shortcuts
* ⭐ **[alt-tab-macos](https://alt-tab-macos.netlify.app/)** - Windows-Style Alt-Tab for Mac
* [MuMuPlayer](https://www.mumuplayer.com/, [NoxPlayer](https://www.bignox.com/) or [Genymotion](https://www.genymotion.com/download/) - Android on macOS
* [MuMuPlayer](https://www.mumuplayer.com/), [NoxPlayer](https://www.bignox.com/) or [Genymotion](https://www.genymotion.com/download/) - Android on macOS
* [Advanced macOS Commands](https://saurabhs.org/advanced-macos-commands) - Advanced Command-Line Tools
* [Conky](https://conky.cc), [eul](https://github.com/gao-sun/eul), [Stats](https://github.com/exelban/stats), [Mission Center](https://gitlab.com/mission-center-devs/mission-center) or [MacFetch](https://github.com/gantoreno/macfetch) - Hardware / System Monitors / [Conky Colors](https://github.com/helmuthdu/conky_colors)
* [Hot](https://github.com/macmade/hot) - CPU Monitor

View file

@ -365,7 +365,7 @@ ## ▷ Downloading / Stahování
* [War-Forum](https://war-forum.net/) - Video / Audio / Books / Magazines / Comics / NSFW
* [Datoid](https://datoid.to/) - Video / Audio / Books / Sign-Up Required for 1GB+ Files
* [FastShare.cloud](https://fastshare.cloud/) - Video / Audio / Books
* [FastShare.cloud](https://fastshare.cloud/) - Video / Audio / Books
* [WarezCenter](https://warcenter.cz/) - Video / Audio / Books / NSFW
* [WebShare](https://webshare.cz/) - Video / Audio / Books
* [hellspy](https://hellspy.to/) - Video / Geoblocked
@ -453,7 +453,7 @@ # ► French / Français
* [Perspective Monde](https://perspective.usherbrooke.ca/) - Datasets / Statistics
* [carto.tchoo](https://carto.tchoo.net/) - Live Train Map
* [Prix Carburants](https://www.prix-carburants.gouv.fr/) - Gas Prices
* [Donnons](https://donnons.org/) or [Geev](https://www.geev.com/) - Free Stuff Exchange / Gifting
* [Donnons](https://donnons.org/) or [Geev](https://www.geev.com/) - Free Stuff Exchange / Gifting
* [Signsuisse](https://www.sgb-fss.ch/signsuisse/fr/), [LSF Dico](https://lsfdico.injs-metz.fr/) or [LSQ](https://lsq-fr.ca/) - French Sign Language Dictionaries
* [I Say LSF](https://dico.swax-lsf.fr/) - French Sign Translator
@ -1067,7 +1067,7 @@ ## ▷ Streaming / پخش
* [RadioVatani](https://www.radiovatani.com/) - Persian Movies / TV / Live / 1080p
* [Nostalgik](https://nostalgiktv.org/) - Persian Movies / TV / Cartoons / 720p
* [myket](https://myket.ir/ ) - Movies / TV / Region Locked
* [myket](https://myket.ir/) - Movies / TV / Region Locked
* [imvbox](https://www.imvbox.com/) - Movies / TV / Sub
* [hikoca](https://hikoca.co.uk/) - Movies / TV
* [Anten.ir](https://www.anten.ir/) - Live TV / Sports
@ -1111,7 +1111,7 @@ ## ▷ Streaming
* ⭐ **[Grupa Mirai](https://www.grupa-mirai.pl/)** - Anime / Sub / 1080p / [Discord](https://discord.gg/WyXrp6ZK5J)
* [Virpe](https://virpe.cc/) - Movies / TV
* [Vestroiakr](https://vestroiakr.blogspot.com/) - Movies / TV / Anime
* [kinoteka](https://kinoteka.cc/) - Movies / TV / Anime
* [kinoteka](https://kinoteka.cc/) - Movies / TV / Anime
* [premiumsmart](https://premiumsmart.eu/) - Movies / TV / Anime
* [Zerion](https://zerion.cc/) - Movies / TV / Cartoons / Dub / 720p
* [Zaluknij](https://zaluknij.cc/) - Movies / TV / Anime

View file

@ -397,7 +397,7 @@ ## ▷ VPN Server
* [OpenConnect](https://gitlab.com/openconnect/openconnect) - SSL VPN / [GUI](https://openconnect.github.io/openconnect-gui/)
* [Pritunl](https://pritunl.com/) - VPN Server / [GitHub](https://github.com/pritunl/pritunl)
* [Algo VPN](https://blog.trailofbits.com/2016/12/12/meet-algo-the-vpn-that-works/) - Cloud VPN / [GitHub](https://github.com/trailofbits/algo)
* [SShuttle](https://sshuttle.readthedocs.io/en) - SSH VPN Server [GitHub](https://github.com/sshuttle/sshuttle)
* [SShuttle](https://sshuttle.readthedocs.io/en) - SSH VPN Server / [GitHub](https://github.com/sshuttle/sshuttle)
* [DSVPN](https://github.com/jedisct1/dsvpn) - Simple VPN Server
* [Openconnect](https://ocserv.gitlab.io/www/index.html) - SSL VPN Server

View file

@ -874,7 +874,7 @@ # ► Tracking / Database
* ⭐ **[GoodReads](https://www.goodreads.com/)** - Tracking / Database / Reviews / Recommendations / [Frontend](https://github.com/nesaku/BiblioReads)
* ⭐ **[StoryGraph](https://www.thestorygraph.com/)** - Tracking / Recommendations
* ⭐ **[MyAnimeList](https://myanimelist.net/)** - Manga / Light Novels / Tracking / Database / Reviews / [Tools](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/storage#wiki_myanimelist_tools)
* ⭐ **[Anilist](https://anilist.co/)** - Manga / Light Novels / Manhwa / Manhua / Tracking / Databsase / Reviews [Wrapper](https://github.com/AurelicButter/AniList-Node) / [Extras](https://greasyfork.org/en/scripts/370473-automail)
* ⭐ **[Anilist](https://anilist.co/)** - Manga / Light Novels / Manhwa / Manhua / Tracking / Databsase / Reviews / [Wrapper](https://github.com/AurelicButter/AniList-Node) / [Extras](https://greasyfork.org/en/scripts/370473-automail)
* ⭐ **[MangaBaka](https://mangabaka.org/)** - Multi-Site Manga + Novel Rating Aggregator / Tracking / [Discord](https://mangabaka.org/discord)
* ⭐ **[Novel Updates](https://www.novelupdates.com/)** or [RanobeDB](https://ranobedb.org/) - Light Novel Tracking / Databases
* ⭐ **[LeagueOfComicGeeks](https://leagueofcomicgeeks.com/)** - Comic Tracking / Database / Releases

View file

@ -308,7 +308,7 @@ ### Mod / Resource Pack Indexes
### Premium Only Launchers
* **Note** - The following options require a official Minecraft account to use.
* **Note** - The following options require an official Minecraft account to use.
***

View file

@ -419,7 +419,7 @@ ## ▷ ASCII Art
* ⭐ **[TAAG](https://patorjk.com/software/taag/)**, [DeepAA](https://github.com/OsciiArt/DeepAA), [Kammerl](https://www.kammerl.de/ascii/AsciiSignature.php), [ASCII Art Studio](https://www.majorgeeks.com/files/details/ascii_art_studio.html) or [ASCII Today](https://ascii.today/) - ASCII Art / Text Generators
* [REXPaint](https://www.gridsagegames.com/rexpaint/), [Playscii](https://jp.itch.io/playscii) or [PabloDraw](https://picoe.ca/products/pablodraw/) - ASCII Editors
* [ASCII Paint](https://ascii.alienmelon.com/, [TextPaint](https://textpaint.com/) or [ASCII Blaster](https://asdf.us/asciiblaster/), [2](https://ircart.github.io/asciiblaster/) / [GitHub](https://github.com/ircart/asciiblaster)- ASCII Paint Tools
* [ASCII Paint](https://ascii.alienmelon.com/), [TextPaint](https://textpaint.com/) or [ASCII Blaster](https://asdf.us/asciiblaster/), [2](https://ircart.github.io/asciiblaster/) / [GitHub](https://github.com/ircart/asciiblaster)- ASCII Paint Tools
* [shabzefilters](https://shabzefilters.netlify.app/), [ascii-art-generator](https://www.ascii-art-generator.org/), [asciiart](https://asciiart.club/), [ascii-image-converter](https://github.com/TheZoraiz/ascii-image-converter), [Monospace](https://codepen.io/Mikhail-Bespalov/pen/JoPqYrz), [ITOA](https://itoa.hex.dance/), [ascii-exploration](https://ascii-exploration.vercel.app/), [text-image](https://www.text-image.com/) or [ASCII-art-creator](https://github.com/CherryPill/ASCII-art-creator) - Image to ASCII Art
* [Love ASCII](http://loveascii.com/), [asciiart.eu](https://www.asciiart.eu/), [EmojiCombos](https://emojicombos.com/), [16colors](https://16colo.rs/), [ascii.co](https://ascii.co.uk/art) or [RoySAC](https://www.roysac.com/sitemap.html) - Browse / Copy ASCII Art
* [Image to Braille](https://505e06b2.github.io/Image-to-Braille/) - Convert Images to Braille

View file

@ -212,7 +212,7 @@ # ► Specialty Streaming
* [Viddsee](https://www.viddsee.com/), [Shortverse](https://www.shortverse.com/explore), [Short of the Week](https://www.shortoftheweek.com/) or [Argo](https://web.watchargo.com/) - Short Films
* [0xDB](https://0xdb.org/) - Rare Movies
* [HomeMovies101](https://www.homemovies100.it/en/) - Home Movies
* [Prelinger Archives](https://www.panix.com/~footage/) - Ephemeral Films [Archive](https://archive.org/details/prelinger)
* [Prelinger Archives](https://www.panix.com/~footage/) - Ephemeral Films / [Archive](https://archive.org/details/prelinger)
* [3DS Movies](https://rentry.co/FMHYB64#3dsm) - 3D Movies for 3DS Handhelds
* [r/MusicalBootlegs](https://www.reddit.com/r/MusicalBootlegs) or ["Slime Tutorials"](https://youtube.com/playlist?list=PLsIt5G4GJ27lxWP9Qi5N70zRSkJAT0ntc) - Broadway Show Recordings
* [GlobalShakespeares](https://globalshakespeares.mit.edu/) - Shakespeare Performance Recordings
@ -579,7 +579,7 @@ ## ▷ IPTV Tools
# ► Smart TV
* 🌐 **[TroyPoint](https://troypoint.com/)** - App Indexe
* 🌐 **[TroyPoint](https://troypoint.com/)** - App Index
* ⭐ **[TizenTube](https://tizentube.6513006.xyz/)** - Ad-Free Samsung Smart TV YouTube / [GitHub](https://github.com/reisxd/TizenTube), [2](https://github.com/reisxd/TizenBrew)
* ⭐ **[webOS Homebrew](https://www.webosbrew.org/)** - LG TV Homebrew / [Guide](https://wispydocs.pages.dev/lg-tv-homebrew/) / [Discord](https://discord.gg/xWqRVEm) / [GitHub](https://github.com/webosbrew/)
* [Stremio](https://www.stremio.com/) - Torrent Streaming App

View file

@ -23,6 +23,31 @@ function getDocsFiles(dir) {
const files = getDocsFiles(DOCS_DIR);
let hasErrors = false;
// Load typos from CSV
const typosMap = new Map();
try {
const typosPath = path.resolve(__dirname, 'typos.csv');
if (fs.existsSync(typosPath)) {
const typosContent = fs.readFileSync(typosPath, 'utf-8');
const typoLines = typosContent.split('\n');
typoLines.forEach(line => {
const parts = line.split(',');
if (parts.length >= 2) {
const typo = parts[0].trim().toLowerCase();
const correction = parts[1].trim();
if (typo && correction) {
typosMap.set(typo, correction);
}
}
});
console.log(`✅ Loaded ${typosMap.size} typos from dictionary.`);
} else {
console.warn('⚠️ scripts/typos.csv not found, using fallback list.');
}
} catch (e) {
console.warn(`⚠️ Failed to load typos: ${e.message}`);
}
console.log('🔍 Scanning markdown files for formatting issues...\n');
files.forEach(file => {
@ -30,6 +55,21 @@ files.forEach(file => {
const lines = content.split('\n');
const relativePath = path.relative(process.cwd(), file);
// Files to complete ignore from all checks
const FILES_TO_IGNORE = [
'docs/feedback.md',
'docs/index.md'
];
if (FILES_TO_IGNORE.some(fileToIgnore => relativePath === fileToIgnore)) return;
// Files to ignore for english-specific checks (Typos, A/An, Repeated Words)
const FILES_TO_IGNORE_ENGLISH_CHECKS = [
'docs/non-english.md'
];
const isSeparatedEnglishCheck = FILES_TO_IGNORE_ENGLISH_CHECKS.some(f => relativePath === f);
lines.forEach((line, index) => {
const lineNum = index + 1;
let errors = [];
@ -139,6 +179,140 @@ files.forEach(file => {
errors.push(`Missing space before slash (e.g. "Word/ Word"): "${match[0]}"`);
break;
}
// C. Double slash separated by spaces: "/ /"
if (/\/\s+\//.test(lineWithoutLinks)) {
errors.push('Double slash with spaces detected (e.g. "/ /")');
}
}
// Check 9: Adjacent links without separator (e.g. "Text [Link]" instead of "Text / [Link]")
const FILES_TO_IGNORE_LINK_SEPARATOR_CHECK = [
'docs/beginners-guide.md',
'docs/unsafe.md'
];
if (!FILES_TO_IGNORE_LINK_SEPARATOR_CHECK.some(ignoredFile => file.endsWith(ignoredFile))) {
const linkRegex = /\[([^\]]+)\]\(([^)]+)\)/g;
let match;
while ((match = linkRegex.exec(line)) !== null) {
const index = match.index;
if (index === 0) continue;
const preceding = line.slice(0, index);
// Ignore if line starts with valid list marker followed immediately by this link
// e.g. "* [Link]" or "- [Link]" or "1. [Link]"
if (/^\s*([*+-]|\d+\.)\s*$/.test(preceding)) continue;
// Ignore if Starred item "* ⭐ [Link]"
if (/^\s*[*+-]\s+⭐\s*$/.test(preceding)) continue;
// Ignore if link is preceded by bold/italic markers only (start of line)
if (/^\s*[*+-]\s+[*_]+\s*$/.test(preceding)) continue;
const trimmedPreceding = preceding.trimEnd();
if (trimmedPreceding.length === 0) continue;
// Check last character
const lastChar = trimmedPreceding.slice(-1);
// Allowed: separators, openers, end of sentences
// ! for images (![Alt]), * for bold, ( for parens, etc.
const allowedChars = ['/', '-', ',', '(', '&', '>', ':', '|', '*', '!', '.', '?', ';', '_', '⭐', '+', '#', '►', '▷'];
if (allowedChars.includes(lastChar)) continue;
// Check for allowed functional words (prepositions, conjunctions, determiners, etc.)
// to avoid flagging sentences like "Try a [VPN]" or "Use [Adblock]"
const allowedWords = [
'or', 'and',
'a', 'an', 'the',
'use', 'using', 'via', 'with',
'in', 'on', 'at', 'by',
'to', 'for', 'from',
'check', 'see', 'try',
'requires', 'including', 'includes',
'that', 'your', 'our',
'of', 'about', 'their', 'join', 'getting', 'most',
'like', 'every', 'being', 'mostly', 'highly', 'up', 'we', 'optionally'
];
const wordRegex = new RegExp(`(^|[^a-zA-Z0-9])(${allowedWords.join('|')})$`, 'i');
if (wordRegex.test(trimmedPreceding)) continue;
errors.push(`Missing separator before link (expected "/", "or", ",", etc): "...${preceding.slice(-10)}[${match[1]}]..."`);
}
}
// Check 10, 11, 12: English-specific checks (Repeated words, Typos, Grammar)
if (!isSeparatedEnglishCheck) {
// Prepare clean line for text-based checks (remove URLs and Markdown links)
// Remove entire link block: [Text](Url) -> " "
const lineCleaned = line.replace(/https?:\/\/[^\s)]+/g, '')
.replace(/\[[^\]]+\]\([^)]*\)/g, ' ');
// Check 10: Repeated words (e.g. "the the")
const repeatedWordMatch = lineCleaned.match(/\b([a-zA-Z]+)\s+\1\b/i);
if (repeatedWordMatch) {
errors.push(`Repeated word detected: "${repeatedWordMatch[0]}"`);
}
// Check 11: Common Typos
// Check 11: Common Typos from CSV
// We load this once usually, but here for simplicity we assume 'commonTyposMap' is prepared.
// Actually, let's just stick to the hardcoded list for now as a fallback,
// but if the CSV loading logic was added, we would use it.
// Since we are inside the line loop, we shouldn't load the file here.
// The loading should happen outside. We will assume 'typosMap' exists.
if (typeof typosMap !== 'undefined' && typosMap.size > 0) {
// Unicode-aware split to avoid breaking words like "Română" or "Slovenčina"
const words = lineCleaned.split(/[^\p{L}0-9']+/u);
const ALLOWED_TYPOS = [
'hong', 'hls', 'troy', 'fami', 'rentry', 'typesafe', 'spritesheet', 'ba',
'puyo', 'moo', 'ne', 'nes', 'rg', 'rgshop', 'rgshows',
're', 'revanced', 'skipper', 'ste', 'sneedacity', 'rom', 'ide', 'luks', 'cse', 'gameboy',
'lan', 'pokemon', 'sa', 'cah', 'rin', 'tx', 'mame'
];
for (const word of words) {
const lowerWord = word.toLowerCase();
if (typosMap.has(lowerWord) && !ALLOWED_TYPOS.includes(lowerWord)) {
errors.push(`Possible typo: "${word}" (should be "${typosMap.get(lowerWord)}")`);
}
}
} else {
// Fallback to small list if CSV not loaded
const commonTypos = {
'teh': 'the', 'adn': 'and', 'thier': 'their', 'dont': "don't", 'cant': "can't",
'wont': "won't", 'occured': 'occurred', 'seperate': 'separate',
'independant': 'independent', 'reccomend': 'recommend', 'recieve': 'receive',
'adress': 'address', 'neccessary': 'necessary', 'tring': 'trying', 'availalbe': 'available'
};
for (const [typo, correction] of Object.entries(commonTypos)) {
const typoRegex = new RegExp(`\\b${typo}\\b`, 'i');
if (typoRegex.test(line)) {
if (!/http/.test(line)) {
errors.push(`Possible typo: "${typo}" (should be "${correction}")`);
}
}
}
}
// Check 12: Basic A/An Grammar
const aAnMatch = line.match(/\b(a)\s+([aeio]\w+)/i);
if (aAnMatch) {
const word = aAnMatch[2].toLowerCase();
if (word !== 'one') {
errors.push(`Incorrect article "a" usage: "${aAnMatch[0]}" (should be "an")`);
}
}
const anAMatch = line.match(/\b(an)\s+([bcdfVkLmMnNpPqQrRsStTvVwWxXyYzZ]\w+)/i);
if (anAMatch) {
const word = anAMatch[2];
const isAcronym = /^[A-Z0-9]+$/.test(word);
if (!isAcronym) {
errors.push(`Incorrect article "an" usage: "${anAMatch[0]}" (should be "a")`);
}
}
}
if (errors.length > 0) {

118405
scripts/typos.csv Normal file

File diff suppressed because it is too large Load diff