diff --git a/docs/.vitepress/theme/components/ColorPicker.vue b/docs/.vitepress/theme/components/ColorPicker.vue index 607043b75..cce2ef535 100644 --- a/docs/.vitepress/theme/components/ColorPicker.vue +++ b/docs/.vitepress/theme/components/ColorPicker.vue @@ -8,7 +8,7 @@ import type { Theme } from '../themes/types' import Switch from './Switch.vue' type ColorNames = keyof typeof colors -const selectedColor = useStorage('preferred-color', 'swarm') +const selectedColor = useStorage('preferred-color', 'christmas') // Use the theme system const { amoledEnabled, setAmoledEnabled, setTheme, state, mode, themeName } = useTheme() diff --git a/docs/.vitepress/theme/themes/themeHandler.ts b/docs/.vitepress/theme/themes/themeHandler.ts index 9016cec48..e68db2a7b 100644 --- a/docs/.vitepress/theme/themes/themeHandler.ts +++ b/docs/.vitepress/theme/themes/themeHandler.ts @@ -29,45 +29,67 @@ export class ThemeHandler { theme: null }) private amoledEnabled = ref(false) + + private initTime = 0 constructor() { + if (typeof window !== 'undefined') { + this.initTime = Date.now() + } this.initializeTheme() } private initializeTheme() { if (typeof window === 'undefined') return - // Load saved preferences const savedTheme = localStorage.getItem(STORAGE_KEY_THEME) || 'color-swarm' const savedMode = localStorage.getItem(STORAGE_KEY_MODE) as DisplayMode | null const savedAmoled = localStorage.getItem(STORAGE_KEY_AMOLED) === 'true' - if (themeRegistry[savedTheme]) { - this.state.value.currentTheme = savedTheme - this.state.value.theme = themeRegistry[savedTheme] + if (!localStorage.getItem(STORAGE_KEY_THEME)) { + localStorage.setItem(STORAGE_KEY_THEME, 'color-swarm') + } + if (!localStorage.getItem('preferred-color')) { + localStorage.setItem('preferred-color', 'swarm') + } + + console.log('[ThemeHandler] Initializing. Raw Storage:', savedTheme) + + if (themeRegistry[savedTheme]) { + console.log('[ThemeHandler] Found Custom Theme:', savedTheme) + this.state.value.currentTheme = savedTheme + this.state.value.theme = themeRegistry[savedTheme] + } + else if (themeRegistry[savedTheme.replace('color-', '')]) { + const cleanName = savedTheme.replace('color-', '') + console.log('[ThemeHandler] Found Custom Theme (cleaned):', cleanName) + this.state.value.currentTheme = cleanName + this.state.value.theme = themeRegistry[cleanName] + } + else { + const cleanName = savedTheme.replace('color-', '') + console.log('[ThemeHandler] Using Preset Theme:', cleanName) + this.state.value.currentTheme = cleanName + this.state.value.theme = null } - // Set amoled preference this.amoledEnabled.value = savedAmoled - // Set mode + if (savedMode) { this.state.value.currentMode = savedMode } else { - // Detect system preference for initial mode const prefersDark = window.matchMedia('(prefers-color-scheme: dark)').matches this.state.value.currentMode = prefersDark ? 'dark' : 'light' } this.applyTheme() - // Listen for system theme changes (only if user hasn't set a preference) window.matchMedia('(prefers-color-scheme: dark)').addEventListener('change', (e) => { if (!localStorage.getItem(STORAGE_KEY_MODE)) { this.state.value.currentMode = e.matches ? 'dark' : 'light' this.applyTheme() - } - else { + } else { this.applyTheme() } }) @@ -77,53 +99,44 @@ export class ThemeHandler { if (typeof document === 'undefined') return const { currentMode, theme } = this.state.value - - // Is this the WORST fix of all time??? - const root = document.documentElement - const bgColor = currentMode === 'dark' && this.amoledEnabled.value ? '#000000' : currentMode === 'dark' ? '#1A1A1A' : '#f8fafc' - root.style.setProperty('--vp-c-bg', bgColor) - const bgAltColor = currentMode === 'dark' && this.amoledEnabled.value ? '#000000' : currentMode === 'dark' ? '#171717' : '#eef2f5' - root.style.setProperty('--vp-c-bg-alt', bgAltColor) - const bgElvColor = currentMode === 'dark' && this.amoledEnabled.value ? 'rgba(0, 0, 0, 0.9)' : currentMode === 'dark' ? '#1a1a1acc' : 'rgba(255, 255, 255, 0.8)' - root.style.setProperty('--vp-c-bg-elv', bgElvColor) - - this.applyDOMClasses(currentMode) - - if (!theme) return - + + if (!theme || !theme.modes || !theme.modes[currentMode]) { + this.applyDOMClasses(currentMode) + this.clearCustomCSSVariables() + return + } + const modeColors = theme.modes[currentMode] - this.applyDOMClasses(currentMode) this.applyCSSVariables(modeColors, theme) } private applyDOMClasses(mode: DisplayMode) { const root = document.documentElement - - // Remove all mode classes root.classList.remove('dark', 'light', 'amoled') - - // Add current mode class root.classList.add(mode) - - // Add amoled class if enabled in dark mode if (mode === 'dark' && this.amoledEnabled.value) { root.classList.add('amoled') } } - private applyCSSVariables(colors: ModeColors, theme: Theme) { + private clearCustomCSSVariables() { if (typeof document === 'undefined') return - const root = document.documentElement - - // Clear ALL inline styles related to theming to ensure clean slate const allStyleProps = Array.from(root.style) allStyleProps.forEach(prop => { if (prop.startsWith('--vp-')) { root.style.removeProperty(prop) } }) + } + + private applyCSSVariables(colors: ModeColors, theme: Theme) { + if (typeof document === 'undefined') return + + const root = document.documentElement + this.clearCustomCSSVariables() + let bgColor = colors.bg let bgAltColor = colors.bgAlt let bgElvColor = colors.bgElv @@ -134,22 +147,13 @@ export class ThemeHandler { bgElvColor = 'rgba(0, 0, 0, 0.9)' } - // Apply brand colors only if theme specifies them - // Otherwise, remove inline styles to let ColorPicker CSS take effect if (colors.brand && (colors.brand[1] || colors.brand[2] || colors.brand[3] || colors.brand.soft)) { if (colors.brand[1]) root.style.setProperty('--vp-c-brand-1', colors.brand[1]) if (colors.brand[2]) root.style.setProperty('--vp-c-brand-2', colors.brand[2]) if (colors.brand[3]) root.style.setProperty('--vp-c-brand-3', colors.brand[3]) if (colors.brand.soft) root.style.setProperty('--vp-c-brand-soft', colors.brand.soft) - } else { - // Remove inline brand color styles so ColorPicker CSS can apply - root.style.removeProperty('--vp-c-brand-1') - root.style.removeProperty('--vp-c-brand-2') - root.style.removeProperty('--vp-c-brand-3') - root.style.removeProperty('--vp-c-brand-soft') } - // Apply background colors root.style.setProperty('--vp-c-bg', bgColor) root.style.setProperty('--vp-c-bg-alt', bgAltColor) root.style.setProperty('--vp-c-bg-elv', bgElvColor) @@ -157,34 +161,12 @@ export class ThemeHandler { root.style.setProperty('--vp-c-bg-mark', colors.bgMark) } - // Apply text colors - always set them to ensure proper theme switching if (colors.text) { if (colors.text[1]) root.style.setProperty('--vp-c-text-1', colors.text[1]) if (colors.text[2]) root.style.setProperty('--vp-c-text-2', colors.text[2]) if (colors.text[3]) root.style.setProperty('--vp-c-text-3', colors.text[3]) - } else { - // Remove inline styles if theme doesn't specify text colors - // This allows CSS variables from style.scss to take effect - root.style.removeProperty('--vp-c-text-1') - root.style.removeProperty('--vp-c-text-2') - root.style.removeProperty('--vp-c-text-3') } - // Debug: log applied text color variables so we can inspect in console - try { - // eslint-disable-next-line no-console - console.log('[ThemeHandler] applied text vars', { - theme: theme.name, - mode: this.state.value.currentMode, - vp_text_1: root.style.getPropertyValue('--vp-c-text-1'), - vp_text_2: root.style.getPropertyValue('--vp-c-text-2'), - vp_text_3: root.style.getPropertyValue('--vp-c-text-3') - }) - } catch (e) { - // ignore - } - - // Apply button colors root.style.setProperty('--vp-button-brand-bg', colors.button.brand.bg) root.style.setProperty('--vp-button-brand-border', colors.button.brand.border) root.style.setProperty('--vp-button-brand-text', colors.button.brand.text) @@ -199,7 +181,6 @@ export class ThemeHandler { root.style.setProperty('--vp-button-alt-hover-bg', colors.button.alt.hoverBg) root.style.setProperty('--vp-button-alt-hover-text', colors.button.alt.hoverText) - // Apply custom block colors const blocks = ['info', 'tip', 'warning', 'danger'] as const blocks.forEach((block) => { const blockColors = colors.customBlock[block] @@ -209,84 +190,69 @@ export class ThemeHandler { root.style.setProperty(`--vp-custom-block-${block}-text-deep`, blockColors.textDeep) }) - // Apply selection color root.style.setProperty('--vp-c-selection-bg', colors.selection.bg) - // Apply home hero colors (if defined) if (colors.home) { root.style.setProperty('--vp-home-hero-name-color', colors.home.heroNameColor) root.style.setProperty('--vp-home-hero-name-background', colors.home.heroNameBackground) root.style.setProperty('--vp-home-hero-image-background-image', colors.home.heroImageBackground) root.style.setProperty('--vp-home-hero-image-filter', colors.home.heroImageFilter) - } else { - // Remove home hero color styles if theme doesn't specify them - root.style.removeProperty('--vp-home-hero-name-color') - root.style.removeProperty('--vp-home-hero-name-background') - root.style.removeProperty('--vp-home-hero-image-background-image') - root.style.removeProperty('--vp-home-hero-image-filter') } - // Apply fonts (if defined) - if (theme.fonts?.body) { - root.style.setProperty('--vp-font-family-base', theme.fonts.body) - } else { - root.style.removeProperty('--vp-font-family-base') - } - if (theme.fonts?.heading) { - root.style.setProperty('--vp-font-family-heading', theme.fonts.heading) - } else { - root.style.removeProperty('--vp-font-family-heading') - } - - // Apply border radius (if defined) - if (theme.borderRadius) { - root.style.setProperty('--vp-border-radius', theme.borderRadius) - } else { - root.style.removeProperty('--vp-border-radius') - } - - // Apply spacing (if defined) + if (theme.fonts?.body) root.style.setProperty('--vp-font-family-base', theme.fonts.body) + if (theme.fonts?.heading) root.style.setProperty('--vp-font-family-heading', theme.fonts.heading) + if (theme.borderRadius) root.style.setProperty('--vp-border-radius', theme.borderRadius) if (theme.spacing) { if (theme.spacing.small) root.style.setProperty('--vp-spacing-small', theme.spacing.small) - else root.style.removeProperty('--vp-spacing-small') if (theme.spacing.medium) root.style.setProperty('--vp-spacing-medium', theme.spacing.medium) - else root.style.removeProperty('--vp-spacing-medium') if (theme.spacing.large) root.style.setProperty('--vp-spacing-large', theme.spacing.large) - else root.style.removeProperty('--vp-spacing-large') - } else { - root.style.removeProperty('--vp-spacing-small') - root.style.removeProperty('--vp-spacing-medium') - root.style.removeProperty('--vp-spacing-large') } - - // Apply custom properties (if defined) if (theme.customProperties) { - Object.entries(theme.customProperties).forEach(([key, value]) => { - root.style.setProperty(key, value) - }) - } - - // Apply custom logo (if defined) - if (theme.logo) { - root.style.setProperty('--vp-theme-logo', `url(${theme.logo})`) - } else { - root.style.removeProperty('--vp-theme-logo') + Object.entries(theme.customProperties).forEach(([key, value]) => root.style.setProperty(key, value)) } + if (theme.logo) root.style.setProperty('--vp-theme-logo', `url(${theme.logo})`) } public setTheme(themeName: string) { - if (!themeRegistry[themeName]) { - console.warn(`Theme "${themeName}" not found. Using christmas theme.`) - themeName = 'christmas' + console.log('[ThemeHandler] setTheme called with:', themeName) + + + const isStartup = typeof window !== 'undefined' && (Date.now() - this.initTime < 1000) + const isDefaultReset = themeName === 'color-swarm' || themeName === 'swarm' + const hasCustomThemeLoaded = !!this.state.value.theme + + if (isStartup && isDefaultReset && hasCustomThemeLoaded) { + console.warn('[ThemeHandler] Blocked auto-reset to default theme during startup.') + return } - this.state.value.currentTheme = themeName - this.state.value.theme = themeRegistry[themeName] - localStorage.setItem(STORAGE_KEY_THEME, themeName) - this.applyTheme() + if (themeRegistry[themeName]) { + this.state.value.currentTheme = themeName + this.state.value.theme = themeRegistry[themeName] + localStorage.setItem(STORAGE_KEY_THEME, themeName) + this.applyTheme() + this.ensureColorPickerColors() + return + } + + const cleanName = themeName.replace('color-', '') + if (themeRegistry[cleanName]) { + this.state.value.currentTheme = cleanName + this.state.value.theme = themeRegistry[cleanName] + localStorage.setItem(STORAGE_KEY_THEME, cleanName) + this.applyTheme() + this.ensureColorPickerColors() + return + } + + console.log('[ThemeHandler] Applying Preset:', cleanName) + this.state.value.currentTheme = cleanName + this.state.value.theme = null - // Force re-apply ColorPicker colors if theme doesn't specify brand colors - this.ensureColorPickerColors() + localStorage.setItem(STORAGE_KEY_THEME, `color-${cleanName}`) + localStorage.setItem('preferred-color', cleanName) + + this.applyTheme() } public setMode(mode: DisplayMode) { @@ -297,10 +263,7 @@ export class ThemeHandler { public toggleMode() { const currentMode = this.state.value.currentMode - - // Toggle between light and dark const newMode: DisplayMode = currentMode === 'light' ? 'dark' : 'light' - this.setMode(newMode) } @@ -310,67 +273,38 @@ export class ThemeHandler { this.applyTheme() } - public getAmoledEnabled() { - return this.amoledEnabled.value - } - - public toggleAmoled() { - this.setAmoledEnabled(!this.amoledEnabled.value) - } - - public getAmoledEnabledRef() { - return this.amoledEnabled - } + public getAmoledEnabled() { return this.amoledEnabled.value } + public toggleAmoled() { this.setAmoledEnabled(!this.amoledEnabled.value) } + public getAmoledEnabledRef() { return this.amoledEnabled } private ensureColorPickerColors() { - const theme = this.state.value.theme - if (!theme) return - // If theme doesn't specify brand colors, force ColorPicker to reapply its selection const currentMode = this.state.value.currentMode + const theme = this.state.value.theme + + if (!theme || !theme.modes || !theme.modes[currentMode]) return const modeColors = theme.modes[currentMode] - + if (!modeColors.brand || !modeColors.brand[1]) { - // Trigger a custom event that ColorPicker can listen to if (typeof window !== 'undefined') { window.dispatchEvent(new CustomEvent('theme-changed-apply-colors')) } } } - public getState() { - return this.state - } - - public getMode() { - return this.state.value.currentMode - } - - public getTheme() { - return this.state.value.currentTheme - } - - public getCurrentTheme() { - return this.state.value.theme - } - + public getState() { return this.state } + public getMode() { return this.state.value.currentMode } + public getTheme() { return this.state.value.currentTheme } + public getCurrentTheme() { return this.state.value.theme || ({} as Theme) } public getAvailableThemes() { return Object.keys(themeRegistry).map(key => ({ name: key, displayName: themeRegistry[key].displayName })) } - - public isDarkMode() { - const mode = this.state.value.currentMode - return mode === 'dark' - } - - public isAmoledMode() { - return this.state.value.currentMode === 'dark' && this.amoledEnabled.value - } + public isDarkMode() { return this.state.value.currentMode === 'dark' } + public isAmoledMode() { return this.state.value.currentMode === 'dark' && this.amoledEnabled.value } } -// Global theme handler instance let themeHandlerInstance: ThemeHandler | null = null export function useThemeHandler() { @@ -380,13 +314,11 @@ export function useThemeHandler() { return themeHandlerInstance } -// Composable for use in Vue components export function useTheme() { const handler = useThemeHandler() const state = handler.getState() onMounted(() => { - // Ensure theme is applied on mount handler.applyTheme() }) diff --git a/docs/.vitepress/theme/themes/types.ts b/docs/.vitepress/theme/themes/types.ts index de54fa80a..cc997412c 100644 --- a/docs/.vitepress/theme/themes/types.ts +++ b/docs/.vitepress/theme/themes/types.ts @@ -130,5 +130,5 @@ export interface ThemeRegistry { export interface ThemeState { currentTheme: string currentMode: DisplayMode - theme: Theme | null + theme: Theme } diff --git a/docs/ai.md b/docs/ai.md index 75234bb06..e85bf08b7 100644 --- a/docs/ai.md +++ b/docs/ai.md @@ -303,7 +303,7 @@ * 🌐 **[VBench](https://huggingface.co/spaces/Vchitect/VBench_Leaderboard)** - Video Generation Model Leaderboard * ⭐ **[Grok Imagine](https://grok.com/imagine)** - 30 Daily / Imagine 0.9 / [Subreddit](https://www.reddit.com/r/grok/) / [Discord](https://discord.com/invite/kqCc86jM55) -* [⁠GeminiGen AI](https://geminigen.ai/) - Unlimited / Sora 2 / Veo 3.1 / [Discord](https://discord.gg/vJnYe86T8F) +* [⁠GeminiGen AI](https://geminigen.ai/) - Unlimited / Sora 2 / Veo 3.1 * [Bing Create](https://www.bing.com/images/create) - Sora 1 / No Image Input * [Sora](https://openai.com/index/sora/) - 6 Daily / [Signup Guide](https://github.com/fmhy/FMHY/wiki/FMHY%E2%80%90Notes.md#sora) / [Remove Watermarks](https://unmarkit.app/sora) * [Qwen](https://chat.qwen.ai/) - 10 Daily / [Discord](https://discord.com/invite/CV4E9rpNSD) / [GitHub](https://github.com/QwenLM) @@ -338,7 +338,7 @@ * [⁠ISH](https://ish.chat/) - Unlimited / GPT Image 1 mini / Dall-E 3 / Flux Kontext (dev) / Editing / No Sign-Up / [Discord](https://discord.gg/cwDTVKyKJz) * [Grok](https://grok.com/) - 96 Daily / Editing / Sign-Up Required / [Subreddit](https://www.reddit.com/r/grok/) / [Discord](https://discord.com/invite/kqCc86jM55) * [Qwen](https://chat.qwen.ai/) - 30 Per 24 Hours / Editing / Sign-Up Required / [Discord](https://discord.com/invite/CV4E9rpNSD) / [GitHub](https://github.com/QwenLM) -* [⁠GeminiGen AI](https://geminigen.ai/app/imagen) - Unlimited / Nano Banana Pro / Sign-Up Required / [Discord](https://discord.gg/vJnYe86T8F) +* [⁠GeminiGen AI](https://geminigen.ai/app/imagen) - Unlimited / Nano Banana Pro / Sign-Up Required * [Recraft](https://www.recraft.ai/) - 30 Daily / Sign-Up Required / [Discord](https://discord.gg/recraft) * [Reve Image](https://app.reve.com) - 20 Daily / Editing / Sign-Up Required / [X](https://x.com/reve) / [Discord](https://discord.gg/Nedxp9fYUZ) * [ImageFX](https://labs.google/fx/tools/image-fx) - Imagen 4 / Unlimited / Region-Based / Sign-Up Required / [Discord](https://discord.com/invite/googlelabs) @@ -346,11 +346,11 @@ * [⁠ZonerAI](https://zonerai.com/) - Unlimited / Editing * [⁠Vheer](https://vheer.com/) - Unlimited / Flux Kontext Dev / Flux Schnell * [Perchance](https://perchance.org/ai-photo-generator) / [2](https://perchance.org/ai-text-to-image-generator) - Chroma / Unlimited / No Sign-Up / [Resources](https://perchance.org/perlist) / [Subreddit](https://www.reddit.com/r/perchance/) / [Discord](https://discord.gg/43qAQEVV9a) -* [AIGazou](https://muryou-aigazou.com/) - Flux / Z-Image Turbo / Unlimited / No Sign-Up / Seedream 3 / GPT Image 1 / 10 Daily / Sign-Up Required / [Discord](https://discord.gg/v6KzUbPeKh) * [Z-Image](https://huggingface.co/spaces/Tongyi-MAI/Z-Image-Turbo) - z-Image / [GitHub](https://github.com/Tongyi-MAI/Z-Image) * [⁠Ernie](https://ernie.baidu.com/) - Unlimited / Editing / Sign-Up Required * [LongCat AI](https://longcat.chat/) - 100 Daily / Editing * [Pollinations Play](https://pollinations.ai/play) - Z-Image Turbo / 5K Daily ⁠Pollinations +* [AIGazou](https://muryou-aigazou.com/) - Flux / Stable Diffustion / Chroma / Unlimited / No Sign-Up / SeeDream 3 / GPT 1 Image / 10 Daily / Sign-Up Required / [Discord](https://discord.gg/v6KzUbPeKh) * [Mage](https://www.mage.space/) / [Discord](https://discord.com/invite/GT9bPgxyFP), [⁠Tater AI](https://taterai.github.io/Text2Image-Generator.html), [Loras](https://www.loras.dev/) / [X](https://x.com/tater_ai) / [GitHub](https://github.com/Nutlope/loras-dev), [ToolBaz](https://toolbaz.com/image/ai-image-generator), [Genspark](https://www.genspark.ai/) / [Discord](https://discord.com/invite/CsAQ6F4MPy), [AI Gallery](https://aigallery.app/) / [Telegram](https://t.me/aigalleryapp), [Seedream](https://seedream.pro/) or [Art Genie](https://artgenie.pages.dev/) - Flux Schnell * [Khoj](https://app.khoj.dev/) - Nano Banana / Imagen 4 / Reset Limits w/ Temp Mail * [⁠Coze](https://space.coze.cn/) - Seadream 4.0 / SoTA Image Gen / 50 Daily / Sign-Up with Phone # Required / US Select CA diff --git a/docs/audio.md b/docs/audio.md index 797600975..237978e83 100644 --- a/docs/audio.md +++ b/docs/audio.md @@ -29,7 +29,7 @@ * ⭐ **[YouTube Music](https://music.youtube.com/)** or [Zozoki](https://zozoki.com/music/) - YouTube Music WebUIs * ⭐ **YouTube Music Tools** - [Enhancements](https://themesong.app/), [2](https://github.com/Sv443/BetterYTM) / [Library Manager / Deleter](https://github.com/apastel/ytmusic-deleter) / [Upload Delete](https://rentry.co/tv4uo) / [Spotify Playlist Import](https://spot-transfer.vercel.app/), [2](https://github.com/mahdi-y/Spotify2YoutubeMusic), [3](https://github.com/linsomniac/spotify_to_ytmusic), [4](https://github.com/sigma67/spotify_to_ytmusic) / [Better Lyrics](https://better-lyrics.boidu.dev/) / [Discord](https://discord.gg/UsHE3d5fWF) / [GitHub](https://github.com/better-lyrics/better-lyrics) -* ⭐ **[Monochrome](https://monochrome.samidy.com/)** / [Legacy](https://monochrome.samidy.com/legacy/), [squid.wtf](https://tidal.squid.wtf) or [BiniLossless](https://music.binimum.org/) - HiFi Tidal Instances / [Full List](https://github.com/SamidyFR/monochrome/blob/main/INSTANCES.md) +* ⭐ **[Monochrome](https://monochrome.samidy.com/)**, [squid.wtf](https://tidal.squid.wtf) or [BiniLossless](https://music.binimum.org/) - HiFi Tidal Instances / [Full List](https://github.com/SamidyFR/monochrome/blob/main/INSTANCES.md) * ⭐ **[DAB Music Player](https://dabmusic.xyz/)** - Browser Music / Lossless / Sign-Up Required / [Telegram](https://t.me/+RnrXmKyOPNY0ZGY9) / [Discord](https://discord.com/invite/rmzH6ttgcC) * ⭐ **[Reddit Music Player](https://reddit.musicplayer.io/)** - Subreddit Music Player * ⭐ **[SoundCloud](https://soundcloud.com/)** - User Made Songs @@ -357,7 +357,7 @@ * ⭐ **[lucida](https://lucida.to/)** - Multi-Site / 320kb / MP3 / FLAC / [Telegram](https://t.me/lucidahasmusic) / [Discord](https://discord.com/invite/dXEGRWqEbS) * ⭐ **[squid.wtf](https://squid.wtf/)** - Amazon Music / KHInsider / Qobuz / Soundcloud / Tidal / FLAC -* ⭐ **[Monochrome](https://monochrome.samidy.com/)** - FLAC / [Legacy](https://monochrome.samidy.com/legacy/) +* ⭐ **[Monochrome](https://monochrome.samidy.com/)** - FLAC * ⭐ **[DoubleDouble](https://doubledouble.top/)** - Multi-Site / 320kb / FLAC / [Telegram](https://t.me/lucidahasmusic) * ⭐ **[DAB Music Player](https://dabmusic.xyz)**, [2](https://dabmusic.xyz/) - FLAC / Sign-Up Required / [Telegram](https://t.me/+RnrXmKyOPNY0ZGY9) / [Discord](https://discord.com/invite/rmzH6ttgcC) * [QQDL](https://tidal.qqdl.site/) or [BiniLossless](https://music.binimum.org/) - Tidal / FLAC / [Full List](https://github.com/SamidyFR/monochrome/blob/main/INSTANCES.md) @@ -980,7 +980,7 @@ * ⭐ **[Kits4Beats](https://kits4beats.com/)** - Download / Torrent / [Telegram](https://t.me/kits4beats) * ⭐ **[PLUGG SUPPLY](https://t.me/pluggsupply)** - Telegram / [VK](https://vk.com/pluggsupply) * ⭐ **[OrangeFreeSounds](https://orangefreesounds.com/)**, [FreeSoundsLibrary](https://www.freesoundslibrary.com/), [BandLab Samples](https://www.bandlab.com/sounds/free-samples) or [SoundGator](https://www.soundgator.com/) - Free-to-Use -* [⁠SmoredBoard](https://www.smoredboard.com/) / [Discord](https://discord.gg/bkYY39VgQ2), [EXP Soundboard](https://sourceforge.net/projects/expsoundboard/), [Sound Show](https://soundshow.app/) / [Discord](https://discord.com/invite/8pGnfJyzNq), [Soundux](https://soundux.rocks/) or [Resanance](https://resanance.com/) - Soundboard Programs +* [EXP Soundboard](https://sourceforge.net/projects/expsoundboard/), [Sound Show](https://soundshow.app/) / [Discord](https://discord.com/invite/8pGnfJyzNq), [Soundux](https://soundux.rocks/) or [Resanance](https://resanance.com/) - Soundboard Programs * [MyInstants](https://www.myinstants.com/index/us/), [101soundboards](https://www.101soundboards.com/) or [Soundboard.com](https://www.soundboard.com/) - Online Soundboards * [SampleBrain](https://gitlab.com/then-try-this/samplebrain), [rFXGen](https://raylibtech.itch.io/rfxgen), [Bfxr](https://www.bfxr.net/) / [GitHub](https://github.com/increpare/bfxr2), [ChipTone](https://sfbgames.itch.io/chiptone) or [SFXR](https://sfxr.me/) - Sound Effect Creators * [r/LoopKits](https://www.reddit.com/r/loopkits/), [Freesound](https://freesound.org/), [Voicy](https://www.voicy.network/), [looperman](https://www.looperman.com/loops) or [SampleSwap](https://sampleswap.org/) - User-Submitted diff --git a/docs/gaming-tools.md b/docs/gaming-tools.md index 07f3772e0..c73096cd0 100644 --- a/docs/gaming-tools.md +++ b/docs/gaming-tools.md @@ -635,7 +635,7 @@ * ⭐ **[Prism Launcher](https://prismlauncher.org/)** - Feature-Rich Launcher / [CurseForge Downloads](https://gist.github.com/sugoidogo/2e607727cd61324b2d292da96961de3f) / [Free Version](https://rentry.co/FMHYB64#prism) * ⭐ **[ATLauncher](https://atlauncher.com/)** / [Discord](https://discord.com/invite/B7TrrzH) or [Technic Launcher](https://www.technicpack.net/) / [Discord](https://discord.com/invite/technic) - Modpack Launchers * ⭐ **[Bedrock Launcher](https://bedrocklauncher.github.io/)** - Launcher for Bedrock Edition / [Does Not Work w/ Latest MC Versions](https://ibb.co/7NXBJXX5) -* [ElyPrismLauncher](https://github.com/ElyPrismLauncher/ElyPrismLauncher) / [Discord](https://discord.com/invite/ArX2nafFz2) / [GitHub](https://github.com/PrismLauncher/PrismLauncher) or [⁠FjordLauncher](https://github.com/unmojang/FjordLauncher) - Prism Launcher Forks w/ Alt Auth Server Support +[ElyPrismLauncher](https://github.com/ElyPrismLauncher/ElyPrismLauncher) / [Discord](https://discord.com/invite/ArX2nafFz2) / [GitHub](https://github.com/PrismLauncher/PrismLauncher) or [⁠FjordLauncher](https://github.com/unmojang/FjordLauncher) - Prism Launcher Forks w/ Alt Auth Server Support * [ZalithLauncher](https://github.com/ZalithLauncher/ZalithLauncher), [⁠Mojolauncher](https://github.com/mojolauncher/mojolauncher) or [FoldCraftLauncher](https://github.com/FCL-Team/FoldCraftLauncher) / [Discord](https://discord.gg/ffhvuXTwyV) - Java Edition for Android & iOS * [SkLauncher](https://skmedix.pl/) - User-friendly Launcher * [⁠AstralRinth](https://git.astralium.su/didirus/AstralRinth) - User-friendly Launcher @@ -756,7 +756,6 @@ * 🌐 **[Awesome Trackmania](https://github.com/EvoEsports/awesome-trackmania)** - Trackmania Resources * 🌐 **[ACNH.Directory](https://acnh.directory/)** - Animal Crossing: New Horizons Resources -* 🌐 **[Useful Osu](https://github.com/CarbonUwU/Useful-osu)** - Osu! Resources * 🌐 **[FM Scout](https://www.fmscout.com/)** - Football Manager Resources / Community * ⭐ **[Tactics.tools](https://tactics.tools/)** / [Discord](https://discord.com/invite/K4Z6shucH8) or [MetaTFT](https://www.metatft.com/) / [Discord](https://discord.com/invite/RqN3qPy) - Team Fight Tactic Guides, Stats, Tools, etc. * [Half Life Project Beta](https://hl2-beta.ru/?language=english) - Unreleased / Cut Half-Life Content @@ -772,6 +771,7 @@ * [FM Moneyball](https://www.fmdatalab.com/tutorials/moneyball) - Football Manager Recruitment Tool / [Tutorial](https://youtu.be/vBoHCH-rZMI) * [WRCsetups](https://wrcsetups.com/) - WRC Setups * [Peacock](https://thepeacockproject.org/) - Hitman World of Assassination Server Replacement / [GitHub](https://github.com/thepeacockproject/Peacock) +* [Useful Osu](https://github.com/CarbonUwU/Useful-osu) - Osu! Resources * [Collection Manager](https://github.com/Piotrekol/CollectionManager) - Osu! Collection Manager * [osu trainer](https://github.com/FunOrange/osu-trainer) - Osu! Trainer * [danser-go](https://github.com/Wieku/danser-go) - Osu! Dancing Visualizer diff --git a/docs/gaming.md b/docs/gaming.md index 5875abe74..da2c785fd 100644 --- a/docs/gaming.md +++ b/docs/gaming.md @@ -317,6 +317,7 @@ * [FinalBurn Neo](https://rentry.co/FMHYB64#finalburn-neo) - ROMs / Zip * [Romsie](https://roms2000.com/) - ROMs * [Retrostic](https://www.retrostic.com/) - ROMs +* [DLPSGame](https://dlpsgame.com/), [2](https://nswgame.com) - ROMs / Avoid PC Games * [ROMsGames](https://www.romsgames.net/roms/) - ROMs * [ConsoleROMs](https://www.consoleROMs.com/) - ROMs * [ROMsHQ](https://romshq.com/) - ROMs @@ -335,7 +336,6 @@ * [NGR](https://www.nextgenroms.com/) - ROMs / [Discord](https://discord.gg/BQPzkwj) * [FantasyAnime](https://fantasyanime.com/) - ROMs * [Rom Magnet Links](https://emulation.gametechwiki.com/index.php/ROM_%26_ISO_Sites#BitTorrent) - ROMs / Torrent -* [DLXbGame](https://dlxbgame.com/) - ROMs / Xbox 360 / Avoid PC Games * [ROM CSE](https://cse.google.com/cse?cx=f47f68e49301a07ac) / [CSE 2](https://cse.google.com/cse?cx=744926a50bd7eb010) - Multi-Site ROM Search * [Wad Archive](https://archive.org/details/wadarchive) - 83k WAD Files * [Cah4e3](https://cah4e3.shedevr.org.ru/) - Unlicensed ROMs / Bootlegs / Use [Translator](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/text-tools/#wiki_.25B7_translators) @@ -359,7 +359,6 @@ * [64DD.org](https://64dd.org/) - ROMs / 64DD * [NXBrew](https://nxbrew.net/) - ROMs / Switch * [SwitchGamesMall](https://switchgamesmall.icu/) - ROMs / Switch / DDL / Torrents / [Discord](https://discord.gg/rgttByzYRY) -* [NSWGame](https://nswgame.com/) - ROMs / DS / 3DS / Switch / Wii / WiiU / Avoid PC Games * [notUltraNX](https://not.ultranx.ru/en) - ROMs / Switch / Sign-Up Required * [ROMSim](https://romsim.com/) - ROMs / Switch / [Discord](https://discord.gg/Zgdhq7xDcd) * [ROMSLAB](https://romslab.com/) - ROMs / Switch @@ -393,11 +392,9 @@ * ⭐ **[NoPayStation](https://nopaystation.com/)** - ROMs / PS3 / PSP / PSVita / [Discord](https://discord.com/invite/rNGrkUY) * ⭐ **[PSVitaVPK](https://psvitavpk.com/)** - ROMs / PSVita * [AlvRo](https://rentry.co/FMHYB64#alvro) - ROMs / PS2 / PW: `ByAlvRo` -* [DLPSGame](https://dlpsgame.com/) - ROMs / PS2 / PS3 / PS4 / PS5 / Avoid PC Games * [PKGPS4](https://www.pkgps4.click/) - ROMs / PS4 * [PS3R](https://ps3r.com/) - ROMs / PS3 * [PSXROMs](https://psxroms.pro/) - ROMs / PS2 / PSP -* [DownloadGamePSP](https://downloadgamepsp.org/) - ROMs / PSP / PSVita / Avoid PC Games * [PS1 Covers](https://github.com/xlenore/psx-covers) or [PS2 Covers](https://github.com/xlenore/ps2-covers) - Cover Downloaders *** diff --git a/docs/image-tools.md b/docs/image-tools.md index 2886ed987..333bee235 100644 --- a/docs/image-tools.md +++ b/docs/image-tools.md @@ -196,7 +196,7 @@ * [JPixel](https://pixelfromhell.itch.io/jpixel) - Pixel Art Editor * [SpookyGhost](https://encelo.itch.io/spookyghost) - Pixel Art Editor * [PixelartVillage](https://pixelartvillage.com/), [Pixel It](https://giventofly.github.io/pixelit/), [PixelartGenerator](https://pixelartgenerator.app/) or [Pixelart Converter](https://app.monopro.org/pixel/?lang=en) - Image to Pixel Art Converter / Web -* [Pixelorama](https://pixelorama.org/) - 2D Sprite Editor / Windows, Mac, Linux, Web / [Discord](https://discord.com/invite/GTMtr8s) / [GitHub](https://github.com/Orama-Interactive/Pixelorama) +* [Pixelorama](https://orama-interactive.itch.io/pixelorama) - 2D Sprite Editor / Windows, Mac, Linux, Web / [Discord](https://discord.com/invite/GTMtr8s) / [GitHub](https://github.com/Orama-Interactive/Pixelorama) * [pixeldudesmaker](https://0x72.itch.io/pixeldudesmaker) or [Creature Mixer](https://kenney.itch.io/creature-mixer) - Sprite Generator / Web * [Nasu](https://hundredrabbits.itch.io/nasu) - Spritesheet Editor / Windows, Mac, Linux, Android * [GIF to Frames](https://giftoframes.com/) - GIF to Spritesheet diff --git a/docs/internet-tools.md b/docs/internet-tools.md index 7d30f254c..509c4cb31 100644 --- a/docs/internet-tools.md +++ b/docs/internet-tools.md @@ -316,7 +316,7 @@ * ⭐ **[lychee](https://lychee.cli.rs/)** - URL Scanner / [GitHub](https://github.com/lycheeverse/lychee/) * [ChangeDetection.io](https://github.com/dgtlmoon/changedetection.io), [urlwatch](https://thp.io/2008/urlwatch/), [Visualping](https://visualping.io/), [Changd](https://github.com/paschmann/changd) or [Follow That Page](https://www.followthatpage.com/) - Page Change Detection / Notification * [Linkify Plus Plus](https://greasyfork.org/scripts/4255) - Turn Plain Text URLs Into Links -* [Open Bulk URL](https://openbulkurl.com/), [Multiple Link Opener](https://urltoolshub.com/multiple-link-opener/) or [OpenAllURLs](https://www.openallurls.com/) - Bulk Open URLs +* [Open Bulk URL](https://openbulkurl.com/), [Open URL](https://openurl.online/) or [OpenAllURLs](https://www.openallurls.com/) - Bulk Open URLs * [Link Lock](https://rekulous.github.io/link-lock/) - Encrypt & Decrypt Links with Passwords * [scrt.link](https://scrt.link/) or [Temporary URL](https://www.temporary-url.com/) - Temporary Single-Use Links * [W.A.R. Links Checker Premium](https://greasyfork.org/en/scripts/2024) - File Host Link Auto-Check @@ -450,7 +450,6 @@ * [Guerrilla Mail](https://www.guerrillamail.com/) - Forever / 1 Hour / 11 Domains / [SharkLasers](https://www.sharklasers.com/) * [Bloody Vikings!](https://addons.mozilla.org/en-US/firefox/addon/bloody-vikings/) - Temp Email Extension * [Tmail.io](https://tmail.io/) - Gmail / Forever / 1 Day / 4 Domains -* [CF Temp Mail](https://em.bjedu.tech/en), [2](https://mail.awsl.uk/en) - Forever / Forever / 5 Domains / [GitHub](https://github.com/dreamhunter2333/cloudflare_temp_email/blob/main/README_EN.md) * [⁠DuckSpam](https://duckspam.com/) - Forever / Forever / 1 Domain * [⁠AltAddress](https://altaddress.org/) - Forever / 3 Days / 14 Domains * [22.Do](https://22.do/) - Gmail / 1 Day / 1 Day / 3 Domains diff --git a/docs/misc.md b/docs/misc.md index 3608b7530..275b6bf9d 100644 --- a/docs/misc.md +++ b/docs/misc.md @@ -1487,7 +1487,6 @@ * [VGA Museum](https://www.vgamuseum.info/) - Graphic Cards History * [Virus Encyclopedia](http://virus.wikidot.com/) - Computer Virus History * [MobilePhoneMuseum](https://www.mobilephonemuseum.com/) - Mobile Phone History / Info -* [WalkmanLand](https://walkman.land/) - Walkman History / Database * [KilledByGoogle](https://killedbygoogle.com/), [Microsoft Graveyard](https://microsoftgraveyard.com/) or [SuedByNintendo](https://www.suedbynintendo.com/) - Dead Projects Archives * [Projectrho](https://www.projectrho.com/public_html/rocket/) - Fantasy Rocket Encyclopedia * [EnigmaLabs](https://enigmalabs.io/) or [UFO Casebook](https://www.ufocasebook.com/) - UFO Sighting Lists / Tracking @@ -1573,7 +1572,7 @@ * 🌐 **[Websites From Hell](https://websitesfromhell.net/)** - Shitty Websites * 🌐 **[404PageFound](https://www.404pagefound.com/)** - Old Websites * ⭐ **[Neal.fun](https://neal.fun/)** - Toys / Games -* ⭐ **[Random FMHY Sites](https://ffmhy.pages.dev/)** - Find Random Sites Listed on FMHY / Works Per Page / [Use Button](https://i.ibb.co/xrqkVGJ/image.png), [2](https://i.imgur.com/88eNtD4.png) +* ⭐ **[Random FMHY Sites](https://ffmhy.pages.dev/archive)** - Find Random Sites Listed on FMHY / Works Per Page / [Use Button](https://i.ibb.co/xrqkVGJ/image.png), [2](https://i.imgur.com/88eNtD4.png) * ⭐ **[Vijay's Virtual Vibes](https://vijaysvibes.uk/)** - Find Random Sites / [iFrame Version](https://vijaysvibes.uk/iframe-version.html) * ⭐ **[Copypasta Text](https://copypastatext.com/)** - Copypasta Databases * ⭐ **[CreepyPasta](https://www.creepypasta.com/)** - Creepypasta Database diff --git a/docs/other/backups.md b/docs/other/backups.md index 026e005bd..0088f851a 100644 --- a/docs/other/backups.md +++ b/docs/other/backups.md @@ -16,14 +16,13 @@ Official website, mirrors, GitHub, markdown, and a selfhosting guide. Verified instances that mirror the official FMHY [repository](https://github.com/fmhy/edit). -* [FMHY Archive](https://ffmhy.pages.dev/) - Alternative Style * [fmhy.bid](https://fmhy.bid/) * [fmhy.samidy.com](https://fmhy.samidy.com/) * [fmhy.jbugel.xyz](https://fmhy.jbugel.xyz/) * [a-fmhy](https://a-fmhy.pages.dev/) / [GitHub](https://github.com/LandWarderer2772/A-FMHY) * [fmhy.artistgrid.cx](https://fmhy.artistgrid.cx/) (Mirrors: [2](https://fmhy.artistgrid.pp.ua/)/[3](https://fmhy.blooketbot.me/)/[4](https://fmhy.joyconlab.net/)/[5](https://fmhy.monochrome.tf/)/[6](https://fmhy.piperagossip.org/)/[7](https://fmhy.pp.ua/)/[8](https://fmhy.prigoana.com/)/[9](https://fmhy.prigoana.pp.ua/)) * [fmhy.xyz](https://fmhy.xyz/) - Safe for Work (no nsfw page) -* [fmhy.vercel.app](https://fmhy.vercel.app/) - Original Style +* [fmhy.vercel.app](https://fmhy.vercel.app/) - Original Version *** @@ -42,4 +41,4 @@ Official mirrors and alternative ways to view FMHY. **Backup Page Backups** -[FMHY.net](https://fmhy.net/other/backups) / [Reddit](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/backups) / [GitHub](https://github.com/nbats/FMHY/wiki/Backups/) / [Rentry](https://rentry.co/FMHYbackups/) +[FMHY.net](https://fmhy.net/other/backups) / [Reddit](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/backups) / [GitHub](https://github.com/nbats/FMHY/wiki/Backups/) / [Rentry](https://rentry.co/FMHYbackups/) \ No newline at end of file diff --git a/docs/posts/jan-2026.md b/docs/posts/jan-2026.md index 4f3fa3ec3..54ba78d78 100644 --- a/docs/posts/jan-2026.md +++ b/docs/posts/jan-2026.md @@ -20,8 +20,6 @@ in seeing all minor changes you can follow our # Wiki Updates -- Added **[Alternative Frontend](https://ffmhy.pages.dev/)** of FMHY with totally different design. This pulls from the official source, so it will stay synced with new edits. It also has a [random site](https://i.ibb.co/fVkHqhRP/image.png) / [2](https://i.imgur.com/p4Mxs8y.png) button that works per page. Note the front page for this has been removed, and it now directs to the wiki itself. Thank you to nw for making this. - - Added **[3 New Instances](https://fmhy.net/other/backups)** to our Backups Page. (Samidy, JBugel, ArtistGrid.) - Added **[Catppuccin](https://i.ibb.co/Ps8vDJL0/image.png)** / [2](https://i.imgur.com/558l4gH.png) as a option in our color picker. Thank you to Samidy for doing this. diff --git a/docs/privacy.md b/docs/privacy.md index effc016ac..9777b18f9 100644 --- a/docs/privacy.md +++ b/docs/privacy.md @@ -402,7 +402,7 @@ * ↪️ **[Free VPN Configs](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/storage#wiki_free_vpn_configs)** * ⭐ **[VPN Binding Guide](https://wispydocs.pages.dev/torrenting/)** - Bind VPN to Torrent Client to Avoid ISP Letters * [⁠WireSock](https://wiresock.net/) or [⁠Tunnl](https://tunnl.to/) - WireGuard Split Tunneling Clients -* [WG Tunnel](https://wgtunnel.com/) - WireGuard Client / AmneziaWG / Android / [Telegram](https://t.me/wgtunnel) / [GitHub](https://github.com/wgtunnel/wgtunnel) +* [WG Tunnel](https://wgtunnel.com/) - WireGuard Client / AmneziaWG / Android [Telegram](https://t.me/wgtunnel) / [GitHub](https://github.com/wgtunnel/wgtunnel) * [VPN Hotspot](https://github.com/Mygod/VPNHotspot) - Share VPN Connection over Hotspot / Rooted Android * [Gluetun](https://github.com/qdm12/gluetun) - VPN using Docker diff --git a/docs/storage.md b/docs/storage.md index 2d25e1b6f..3ef8b0fe7 100644 --- a/docs/storage.md +++ b/docs/storage.md @@ -407,7 +407,7 @@ * ⭐ **[receive-sms](https://receive-sms.cc/)** * ⭐ **[tempsmss](https://tempsmss.com/)** -[TemporaryNumber](https://temporarynumber.com/), [Yunjisms](https://yunjisms.xyz/), [2ndline](https://www.2ndline.co/), [TextNow](https://www.textnow.com/), [GetFreeSMSNUmber](https://getfreesmsnumber.com/), [Smser](https://smser.net/), [SMS Receive](https://sms-receive.net/), [Receive SMS Online](https://www.receivesmsonline.net/), [My Trash Mobile](https://www.mytrashmobile.com/), [temp-sms](https://temp-sms.org/), [temporary-phone-number](https://temporary-phone-number.com/), [storytrain](https://www.storytrain.info/), [Temp Number](https://temp-number.com/), [receive-smss](https://receive-smss.com), [receive-sms-free](https://receive-sms-free.cc/), [quackr](https://quackr.io/), [smsnator](https://smsnator.online/), [InboxSMS](https://inboxsms.me/), [anonymsms](https://anonymsms.com/temporary-phone-number/), [receivesmsonline](https://receivesmsonline.in/), [jiemadi](https://www.jiemadi.com/en), [ReceiveSMSOnline](https://receivesmsonline.me/), [7sim](https://7sim.net/), [yunjiema](https://yunjiema.net/), [supercloudsms](https://supercloudsms.com/en), [us-phone-number](https://us-phone-number.com/), [shownumber](https://lothelper.com/en/shownumber), [yunduanxin](https://yunduanxin.net/), [bestsms](https://bestsms.xyz/), [smsget](https://smsget.net/), [free-sms-receive](https://www.free-sms-receive.com/), [free-sms-receive](https://free-sms-receive.co/), [receivefreesms](https://receivefreesms.co.uk/), [smspinverify](https://smspinverify.com/), [receivefreesms.net](https://receivefreesms.net/), [receivesmsonline](https://www.receivesmsonline.net/), [smspool](https://www.smspool.net/free-sms-verification), [receive-smss](https://receive-smss.live/), [⁠eSIM Plus](https://esimplus.me/temporary-numbers) +[TemporaryNumber](https://temporarynumber.com/), [Yunjisms](https://yunjisms.xyz/), [2ndline](https://www.2ndline.co/), [TextNow](https://www.textnow.com/), [GetFreeSMSNUmber](https://getfreesmsnumber.com/), [Smser](https://smser.net/), [SMS Receive](https://sms-receive.net/), [Receive SMS Online](https://www.receivesmsonline.net/), [My Trash Mobile](https://www.mytrashmobile.com/), [temp-sms](https://temp-sms.org/), [temporary-phone-number](https://temporary-phone-number.com/), [storytrain](https://www.storytrain.info/), [Temp Number](https://temp-number.com/), [receive-smss](https://receive-smss.com), [receive-sms-free](https://receive-sms-free.cc/), [quackr](https://quackr.io/), [smsnator](https://smsnator.online/), [InboxSMS](https://inboxsms.me/), [anonymsms](https://anonymsms.com/temporary-phone-number/), [receivesmsonline](https://receivesmsonline.in/), [jiemadi](https://www.jiemadi.com/en), [ReceiveSMSOnline](https://receivesmsonline.me/), [7sim](https://7sim.net/), [yunjiema](https://yunjiema.net/), [supercloudsms](https://supercloudsms.com/en), [us-phone-number](https://us-phone-number.com/), [shownumber](https://lothelper.com/en/shownumber), [yunduanxin](https://yunduanxin.net/), [bestsms](https://bestsms.xyz/), [smsget](https://smsget.net/), [free-sms-receive](https://www.free-sms-receive.com/), [free-sms-receive](https://free-sms-receive.co/), [receivefreesms](https://receivefreesms.co.uk/), [smspinverify](https://smspinverify.com/), [receivefreesms.net](https://receivefreesms.net/), [receivesmsonline](https://www.receivesmsonline.net/), [smspool](https://www.smspool.net/free-sms-verification), [receive-smss](https://receive-smss.live/) *** diff --git a/docs/video.md b/docs/video.md index b0e7ae953..25058a285 100644 --- a/docs/video.md +++ b/docs/video.md @@ -73,7 +73,7 @@ * ⭐ **[Flixer](https://flixer.sh)**, [Hexa](https://hexa.su/) or [Vidora](https://watch.vidora.su/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.com/invite/yvwWjqvzjE) * ⭐ **[Filmex](https://filmex.to/)** - Movies / TV / Anime / Auto-Next / [Discord](https://discord.com/invite/WWrWnG8qmh) * ⭐ **[Cinezo](https://www.cinezo.net/)** or [Yenime](https://yenime.net/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/Gx27YMK73d) -* ⭐ **[Vidbox](https://vidbox.cc/)**, [2](https://cinehd.cc/), [3](https://hotflix.to/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/VGQKGPM9Ej) +* ⭐ **[Vidbox](https://vidbox.cc/)**, [2](https://cinehd.cc/), [3](https://hotflix.to/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/VGQKGPM9Ej)g * ⭐ **[Willow](https://willow.arlen.icu/)**, [2](https://salix.pages.dev/) - Movies / TV / Anime / [4K Guide](https://rentry.co/willow-guide) / [Telegram](https://t.me/+8OiKICptQwA4YTJk) / [Discord](https://discord.com/invite/gmXvwcmxWR) * ⭐ **[BEECH](https://www.beech.watch/)** or [bCine](https://bcine.app/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/FekgaSAtJa) * ⭐ **[CinemaOS](https://cinemaos.live/)**, [2](https://cinemaos.tech/), [3](https://cinemaos.me/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/38yFnFCJnA) @@ -208,7 +208,7 @@ * [TVARK](https://tvark.org/) or [Daily Commercials](https://dailycommercials.com/) - Commercial / TV Promo Archives * [BMCC](https://www.youtube.com/@BMCC1967/) or [MovieCommentaries](https://www.youtube.com/@moviecommentaries) - Movie / TV Director Commentaries * [SpecialFeatureArchive](https://youtube.com/@specialfeaturesarchive) - DVD Extras / Special Features -* [DPAN](https://dpan.tv/), [Deaffest](https://deaffestonlinecinema.eventive.org/) (signup), [DMDb](https://deafmovie.org/free/) or [Lumo TV](https://lumotv.co.uk/) - Deaf Entertainment / News +* [DPAN](https://dpan.tv/), [Deaffest](https://deaffestonlinecinema.eventive.org/) (signup) or [Lumo TV](https://lumotv.co.uk/) - Deaf Entertainment / News * [Audiovault](https://audiovault.net/) - Descriptive Audio for Blind Users *** @@ -232,7 +232,7 @@ * [123anime](https://123animes.ru/) - Sub / Dub / Auto-Next * [AniBite](https://anibite.cc/) - Sub / Dub / [Telegram](https://t.me/+8Wluy50R049kMmVk) / [Discord](https://discord.com/invite/V5AWy78VTv) * [Kuudere](https://kuudere.to/), [2](https://kuudere.ru/) - Sub / Dub / Auto-Next / [Telegram](https://t.me/kuudere0to) / [Discord](https://discord.gg/h9v9Vfzp7B) -* [Gojo](https://animetsu.net/) - Sub / Dub +* [Gojo](https://animetsu.to/), [2](https://animetsu.cc/) - Sub / Dub * [⁠AnimeZ](https://animeyy.com/) - Sub / Dub * [⁠JustAnime](https://justanime.to/) - Sub / Dub / Auto-Next / [Discord](https://discord.gg/P3yqksmGun) * [⁠AniKuro](https://anikuro.to/), [2](https://anikuro.ru/) - Sub / Dub / [Status](https://anikuro.site/) / [Telegram](https://t.me/+DrD7eAO7R69mZGM0) / [Discord](https://discord.com/invite/Svc9yFjQBq) @@ -381,7 +381,7 @@ ## ▷ Live TV -* ⭐ **[Famelack](https://famelack.com/)** - TV / Sports +* ⭐ **[tv.garden](https://tv.garden/)** - TV / Sports * ⭐ **[PlayTorrio IPTV](https://playtorrioiptv.pages.dev/)** / [Discord](https://discord.gg/bbkVHRHnRk) / [GitHub](https://github.com/ayman708-UX/PlayTorrio) or [Darkness TV](https://tv-channels.pages.dev/) / [GitHub](https://github.com/DarknessShade/TV) - TV / Sports * ⭐ **[NTV](https://ntvstream.cx/)** - TV / Sports / Aggregator / [Telegram](https://t.me/ntvsteam) / [Discord](https://discord.gg/uY3ud5gcpW) * ⭐ **[EasyWebTV](https://zhangboheng.github.io/Easy-Web-TV-M3u8/routes/countries.html)** or [IPTV Web](https://iptv-web.app/) - TV / Sports @@ -856,7 +856,6 @@ * [CageMatch](https://www.cagematch.net/) - Wrestling Promotion Database * [What's on Netflix](https://www.whats-on-netflix.com/), [uNoGS](https://unogs.com/) or [FlixWatch](https://www.flixwatch.co/) - Browse Netflix Library * [Netflix Top 10](https://www.netflix.com/tudum/top10) - Netflix Most-Watched Chart -* [DMDb](https://deafmovie.org/) or [Sign on Screen](https://signonscreen.com/all-films/) - Deaf Movie Databases / Sign Language Films / Deaf Actors * [MediaTracker](https://github.com/bonukai/MediaTracker) or [Yamtrack](https://github.com/FuzzyGrim/Yamtrack) - Self-Hosted Media Trackers ***