mirror of
https://github.com/fmhy/edit.git
synced 2026-01-11 19:06:17 +00:00
Compare commits
1 Commits
4d333ec136
...
revert-452
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
2fd1c3451a |
@@ -13,11 +13,13 @@
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
import { christmasTheme } from './christmas'
|
||||
import { catppuccinTheme } from './catppuccin'
|
||||
import type { ThemeRegistry } from '../types'
|
||||
|
||||
export const themeRegistry: ThemeRegistry = {
|
||||
catppuccin: catppuccinTheme,
|
||||
christmas: christmasTheme,
|
||||
}
|
||||
|
||||
export { catppuccinTheme }
|
||||
export { christmasTheme, catppuccinTheme }
|
||||
|
||||
@@ -21,75 +21,54 @@ import { themeRegistry } from './configs'
|
||||
const STORAGE_KEY_THEME = 'vitepress-theme-name'
|
||||
const STORAGE_KEY_MODE = 'vitepress-display-mode'
|
||||
const STORAGE_KEY_AMOLED = 'vitepress-amoled-enabled'
|
||||
const STORAGE_KEY_THEME_DATA = 'vitepress-theme-data'
|
||||
|
||||
export class ThemeHandler {
|
||||
private state = ref<ThemeState>({
|
||||
currentTheme: 'swarm',
|
||||
currentTheme: 'christmas',
|
||||
currentMode: 'light' as DisplayMode,
|
||||
theme: null
|
||||
theme: themeRegistry.christmas
|
||||
})
|
||||
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
|
||||
|
||||
const savedTheme = localStorage.getItem(STORAGE_KEY_THEME) || 'color-swarm'
|
||||
// Load saved preferences
|
||||
const savedTheme = localStorage.getItem(STORAGE_KEY_THEME) || 'christmas'
|
||||
const savedMode = localStorage.getItem(STORAGE_KEY_MODE) as DisplayMode | null
|
||||
const savedAmoled = localStorage.getItem(STORAGE_KEY_AMOLED) === 'true'
|
||||
|
||||
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()
|
||||
}
|
||||
})
|
||||
@@ -99,44 +78,39 @@ export class ThemeHandler {
|
||||
if (typeof document === 'undefined') return
|
||||
|
||||
const { currentMode, theme } = this.state.value
|
||||
|
||||
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 clearCustomCSSVariables() {
|
||||
if (typeof document === 'undefined') return
|
||||
const root = document.documentElement
|
||||
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()
|
||||
|
||||
// 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)
|
||||
}
|
||||
})
|
||||
let bgColor = colors.bg
|
||||
let bgAltColor = colors.bgAlt
|
||||
let bgElvColor = colors.bgElv
|
||||
@@ -147,13 +121,22 @@ 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)
|
||||
@@ -161,12 +144,34 @@ 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)
|
||||
@@ -181,6 +186,7 @@ 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]
|
||||
@@ -190,69 +196,84 @@ 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')
|
||||
}
|
||||
|
||||
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)
|
||||
// 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.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))
|
||||
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')
|
||||
}
|
||||
if (theme.logo) root.style.setProperty('--vp-theme-logo', `url(${theme.logo})`)
|
||||
}
|
||||
|
||||
public setTheme(themeName: string) {
|
||||
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
|
||||
if (!themeRegistry[themeName]) {
|
||||
console.warn(`Theme "${themeName}" not found. Using christmas theme.`)
|
||||
themeName = 'christmas'
|
||||
}
|
||||
|
||||
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
|
||||
|
||||
localStorage.setItem(STORAGE_KEY_THEME, `color-${cleanName}`)
|
||||
localStorage.setItem('preferred-color', cleanName)
|
||||
|
||||
this.state.value.currentTheme = themeName
|
||||
this.state.value.theme = themeRegistry[themeName]
|
||||
localStorage.setItem(STORAGE_KEY_THEME, themeName)
|
||||
this.applyTheme()
|
||||
|
||||
// Force re-apply ColorPicker colors if theme doesn't specify brand colors
|
||||
this.ensureColorPickerColors()
|
||||
}
|
||||
|
||||
public setMode(mode: DisplayMode) {
|
||||
@@ -263,7 +284,10 @@ 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)
|
||||
}
|
||||
|
||||
@@ -273,38 +297,65 @@ 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() {
|
||||
// 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]
|
||||
const modeColors = this.state.value.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 || ({} as 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
|
||||
}
|
||||
|
||||
public getAvailableThemes() {
|
||||
return Object.keys(themeRegistry).map(key => ({
|
||||
name: key,
|
||||
displayName: themeRegistry[key].displayName
|
||||
}))
|
||||
}
|
||||
public isDarkMode() { return this.state.value.currentMode === 'dark' }
|
||||
public isAmoledMode() { return this.state.value.currentMode === 'dark' && this.amoledEnabled.value }
|
||||
|
||||
public isDarkMode() {
|
||||
const mode = this.state.value.currentMode
|
||||
return mode === 'dark'
|
||||
}
|
||||
|
||||
public isAmoledMode() {
|
||||
return this.state.value.currentMode === 'dark' && this.amoledEnabled.value
|
||||
}
|
||||
}
|
||||
|
||||
// Global theme handler instance
|
||||
let themeHandlerInstance: ThemeHandler | null = null
|
||||
|
||||
export function useThemeHandler() {
|
||||
@@ -314,11 +365,13 @@ 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()
|
||||
})
|
||||
|
||||
@@ -337,4 +390,4 @@ export function useTheme() {
|
||||
toggleAmoled: () => handler.toggleAmoled(),
|
||||
state
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -461,7 +461,7 @@
|
||||
* [iPlusFree](https://www7.iplusfree.org/), [iTopMusic](https://itopmusicx.com/) or [iTDMusic](https://itdmusic.in/) - iTunes M4A
|
||||
* [xprm](https://xprm.net/) - MP3 / DL / Stream / Requests
|
||||
* [SongStems](https://songstems.net/) - STEM Files
|
||||
* [BitMidi](https://bitmidi.com/), [Geocities Midis](https://www.midicities.com/GeoCities), [Tricotism](https://www.tricotism.com/), [FreeMIDI](https://freemidi.org/), [ArtScene](http://artscene.textfiles.com/music/midi/) or [VGMusic](https://www.vgmusic.com/) - MIDI Files
|
||||
* [BitMidi](https://bitmidi.com/), [Geocities Midis](https://archive.org/details/archiveteam-geocities-midi-collection-2009) / [2](https://www.midicities.com/GeoCities), [Tricotism](https://www.tricotism.com/), [FreeMIDI](https://freemidi.org/), [ArtScene](http://artscene.textfiles.com/music/midi/) or [VGMusic](https://www.vgmusic.com/) - MIDI Files
|
||||
* [Music Hoarders](https://discord.gg/kQUQkuwSaT) - Music Hoarding Community / [Wiki](https://musichoarders.xyz/)
|
||||
|
||||
***
|
||||
@@ -557,6 +557,7 @@
|
||||
* [UppBeat](https://uppbeat.io/) - Music for Creators / Freemium
|
||||
* [BenSound](https://www.bensound.com/) - Popular Library / Freemium
|
||||
* [Unminus](https://www.unminus.com/) - Professional Tracks
|
||||
* [FreePD](https://freepd.com/) - Public Domain Music / CC0 License
|
||||
* [Free Music Archive](https://freemusicarchive.org/) - Curated Library
|
||||
* [free-stock-music](https://www.free-stock-music.com/) - Stock Music Library / CC0 License
|
||||
* [Pixabay Music](https://pixabay.com/music/) - Stock Music Library
|
||||
|
||||
@@ -68,7 +68,7 @@ If you see a string of text that looks like this `aHR0cHM6Ly9mbWh5Lm5ldC8` you c
|
||||
|
||||
### Music
|
||||
|
||||
* **Streaming: [SpotX](https://github.com/SpotX-Official/SpotX) / [Monochrome](https://monochrome.samidy.com/)**
|
||||
* **Streaming: [SpotX](https://github.com/SpotX-Official/SpotX) / [DAB Music Player](https://dabmusic.xyz/)**
|
||||
* **Downloading: [lucida](https://lucida.to/) / [DoubleDouble](https://doubledouble.top/) / [Soulseek](https://slsknet.org/)**
|
||||
* **Mobile: [Metrolist](https://github.com/mostafaalagamy/metrolist) (Android) / [ReVanced Manager](https://revanced.app/) (Android) / [SpotC++](https://spotc.yodaluca.dev/) (iOS)**
|
||||
* **Track / Discover: [Last.fm](https://www.last.fm/home) / [RateYourMusic](https://rateyourmusic.com/)**
|
||||
|
||||
@@ -395,7 +395,7 @@
|
||||
|
||||
* 🌐 **[List of Game Engines](https://en.wikipedia.org/wiki/List_of_game_engines)**, [Awesome Game Engine](https://github.com/stevinz/awesome-game-engine-dev) or [Game-Engines](https://rentry.co/Game-Engines) - Game Engine Development Resources
|
||||
* 🌐 **[EnginesDatabase](https://enginesdatabase.com/)** - Game Engines Database
|
||||
* 🌐 **[Awesome Game Dev](https://github.com/Calinou/awesome-gamedev)** - Game Dev Resources
|
||||
* 🌐 **[Awesome Game Dev](https://github.com/Calinou/awesome-gamedev)** or [/AGDG/ Resources](https://hackmd.io/dLaaFCjDSveKVeEzqomBJw) - Game Dev Resources
|
||||
* 🌐 **[Awesome Game Production](https://github.com/vhladiienko/awesome-game-production)** - Game Production Resources
|
||||
* ↪️ **[Learn Game Development](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/edu/#wiki_.25B7_game_development)**
|
||||
* ↪️ **[Sound Effect Sites](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/audio#wiki_.25B7_sfx_.2F_loops)**
|
||||
|
||||
@@ -17,8 +17,6 @@
|
||||
* ⭐ **[Valve Archive](https://valvearchive.com/)** - Rare Valve Data Archive
|
||||
* ⭐ **[Sunshine](https://app.lizardbyte.dev/Sunshine/)** or [Apollo](https://github.com/ClassicOldSong/Apollo) - Remote Server for Moonlight / [Mobile](https://github.com/ClassicOldSong/moonlight-android) / [Discord](https://discord.com/invite/d6MpcrbYQs) / [GitHub](https://github.com/LizardByte/Sunshine)
|
||||
* [Moonlight](https://moonlight-stream.org/) - Gaming Remote Desktop Client / [Discord](https://discord.com/invite/CGg5JxN) / [GitHub](https://github.com/moonlight-stream)
|
||||
* [Greenlight](https://github.com/unknownskl/greenlight) - Improved xCloud Client / Xbox Cloud Gaming
|
||||
* [Better xCloud](https://better-xcloud.github.io/) - Add Features to xCloud / [X](https://x.com/redphx) / [GitHub](https://github.com/redphx/better-xcloud)
|
||||
* [Arcade Database](https://zenius-i-vanisher.com/v5.2/arcades.php) - Arcade Game Map + Database
|
||||
* [Lets Play Index](https://www.letsplayindex.com/) - Index of Lets Plays / Longplays
|
||||
* [TASVideos](https://tasvideos.org/) - TAS Video Community / Resources / [Emulator Resources](https://tasvideos.org/EmulatorResources) / [Game Resources](https://tasvideos.org/GameResources)
|
||||
@@ -54,7 +52,7 @@
|
||||
* [Fit Launcher](https://github.com/CarrotRub/Fit-Launcher/) - Unofficial Game Launcher / Torrent Client / [Discord](https://discord.gg/cXaBWdcUSF)
|
||||
* [Launchbox](https://www.launchbox-app.com/) - Retro / Console Game Library / Launcher
|
||||
* [GameHUB Launcher](https://www.deviantart.com/not-finch/art/GameHUB-launcher-2-for-Rainmeter-785369648) - Rainmeter Game Launcher
|
||||
* [Hydra](https://hydralauncher.gg/) - Game Launcher / Torrent Client / [Plugins](https://library.hydra.wiki/) / [Themes](https://hydrathemes.shop/) / [Telegram](https://t.me/hydralauncher) / [Discord](https://discord.com/invite/hydralaunchercommunity) / [GitHub](https://github.com/hydralauncher/hydra)
|
||||
* [Hydra](https://hydralauncher.gg/) - Game Launcher / Torrent Client / [Plugins](https://library.hydra.wiki/) / [Telegram](https://t.me/hydralauncher) / [Discord](https://discord.com/invite/hydralaunchercommunity) / [GitHub](https://github.com/hydralauncher/hydra)
|
||||
* [OpenGamepadUI](https://github.com/ShadowBlip/OpenGamepadUI) - Gamepad Native Launcher
|
||||
* [TwintailLauncher](https://twintaillauncher.app/) - Game Launcher / Mod Engine for F2P Anime Games / [GitHub](https://github.com/TwintailTeam/TwintailLauncher)
|
||||
* [JackboxUtility](https://jackboxutility.com/) - Jackbox Games Launcher / [Discord](https://discord.gg/ffKMZeb88m) / [GitHub](https://github.com/JackboxUtility/JackboxUtility)
|
||||
@@ -206,10 +204,8 @@
|
||||
* [LiveSplit](https://livesplit.org/) - Customizable Speedrun Timer
|
||||
* [The Manual Project](https://vimm.net/manual), [ReplacementDocs](http://replacementdocs.com/) or [GamesDatabase](https://www.gamesdatabase.org/) - Game Manuals
|
||||
* [Sym.gg](https://sym.gg/) - FPS Game Info & Weapon Stats / [Discord](https://discord.com/invite/RVRZ3RgYNP)
|
||||
* [/codmeta/](https://dan.valeena.dev/guides/codmeta/), [2](https://rentry.co/codmeta) - Call of Duty Loadouts / Meta
|
||||
* [Warzone Loadout](https://warzoneloadout.games/) or [WZHub](https://wzhub.gg/) - Warzone Loadouts and Builds
|
||||
* [LineupsValorant](https://lineupsvalorant.com/) - Valorant Lineups Database
|
||||
* [SNES Manuals](https://sites.google.com/view/snesmanuals) - SNES Game Manuals
|
||||
* [LineupsValorant](https://lineupsvalorant.com/) - Valorant Lineups Database
|
||||
* [Ukikipedia](https://ukikipedia.net/) - SM64 Speedrunning Wiki
|
||||
* [P2SR Wiki](https://wiki.portal2.sr/) - Portal 2 Speedrunning Wiki
|
||||
* [FOUR.lol](https://four.lol/) - Tetris Openers Wiki
|
||||
@@ -397,7 +393,7 @@
|
||||
* [Ezz-BOIII](https://rentry.co/FMHYB64#boiii) - COD Black Ops 3 Multiplayer Client
|
||||
* [CoD4x Mod](https://cod4x.ovh/) - COD4 (2007) Multiplayer Project / Requires MP Key / [Discord](https://discord.cod4x.ovh/)
|
||||
* [Venice Unleashed](https://veniceunleashed.net/) / [Discord](https://discord.com/invite/dpJwaVZ) or [Warsaw Revamped](https://warsaw.gg/) / [Discord](https://discord.com/invite/C9Zrh4G) - Battlefield Mod Projects
|
||||
* [SM64 Coop Deluxe](https://sm64coopdx.com/) - Super Mario 64 Co-Op / [Discord](https://discord.gg/TJVKHS4) / [GitHub](https://github.com/coop-deluxe/sm64coopdx)
|
||||
* [SM64 Coop Deluxe](https://sm64coopdx.com/) - Super Mario 64 Co-Op / [Discord](https://discord.gg/TJVKHS4)
|
||||
* [Smash64](https://smash64.online/) - Super Smash Bros 64 Online / [Discord](https://discord.gg/ssb64)
|
||||
* [Marne](https://marne.io/) - BF1 Multiplayer Project / [Discord](https://marne.io/discord)
|
||||
* [Slippi](https://slippi.gg/) - Super Smash Bros Melee Online / [Discord](https://discord.com/invite/pPfEaW5)
|
||||
@@ -471,6 +467,7 @@
|
||||
* [Team Resurgent](https://rentry.co/FMHYB64#team-resurgent) - Xbox Homebrew Tools
|
||||
* [r/XboxHomebrew](https://www.reddit.com/r/XboxHomebrew/) - Xbox One/Series Homebrew Subreddit
|
||||
* [r/360Hacks Guide](https://redd.it/8y9jql) - Xbox 360 Modding Guide
|
||||
* [Better xCloud](https://better-xcloud.github.io/) - Add Features to xCloud / [X](https://x.com/redphx) / [GitHub](https://github.com/redphx/better-xcloud)
|
||||
* [C-Xbox Tool](https://gbatemp.net/download/c-xbox-tool.7615/) - .XBE to ISO File Converter
|
||||
* [NKit](https://wiki.gbatemp.net/wiki/NKit) - Disc Image Processor
|
||||
* [NASOS](https://download.digiex.net/Consoles/GameCube/Apps/NASOSbeta1.rar) - Gamecube iso.dec to ISO Converter
|
||||
@@ -632,13 +629,13 @@
|
||||
|
||||
## ▷ Launchers
|
||||
|
||||
* ⭐ **[Prism Launcher](https://prismlauncher.org/)** - Feature-Rich Launcher / [CurseForge Downloads](https://gist.github.com/sugoidogo/2e607727cd61324b2d292da96961de3f) / [Free Version](https://rentry.co/FMHYB64#prism)
|
||||
* ⭐ **[Prism Launcher](https://prismlauncher.org/)** - Feature-Rich Launcher / [CurseForge Downloads](https://gist.github.com/sugoidogo/2e607727cd61324b2d292da96961de3f) / [Free Version](https://rentry.co/FMHYB64#prism) / [Ely.by Version](https://github.com/ElyPrismLauncher/ElyPrismLauncher) / [Discord](https://discord.com/invite/ArX2nafFz2) / [GitHub](https://github.com/PrismLauncher/PrismLauncher)
|
||||
* ⭐ **[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
|
||||
* [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
|
||||
* [FjordLauncher](https://github.com/unmojang/FjordLauncher) - Prism Launcher Fork w/ Alt Auth Server Support
|
||||
* [UltimMC](https://github.com/UltimMC/Launcher) - Launcher
|
||||
* [Betacraft Launcher](https://betacraft.uk/) / [2](https://betacraft.ee/) / [3](https://betacraft.ovh/) or [LegacyFix](https://github.com/betacraftuk/legacyfix) - Patch / Fix Legacy Versions
|
||||
* [HMCL](https://hmcl.huangyuhui.net/) - Launcher / [GitHub](https://github.com/HMCL-dev/HMCL)
|
||||
@@ -760,6 +757,8 @@
|
||||
* ⭐ **[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
|
||||
* [Palworld.gg](https://palworld.gg/), [PalworldTrainer.com](https://palworldtrainer.com/) or [Paldb.cc](https://paldb.cc/) - Palworld Databases
|
||||
* [/codmeta/](https://dan.valeena.dev/guides/codmeta/), [2](https://rentry.co/codmeta) - Call of Duty Loadouts / Meta
|
||||
* [Warzone Loadout](https://warzoneloadout.games/) or [WZHub](https://wzhub.gg/) - Warzone Loadouts and Builds
|
||||
* [Braytech](https://bray.tech/) - Destiny 2 Stats
|
||||
* [Rust Clash](https://wiki.rustclash.com/) - Rust Info / Tools
|
||||
* [totk.wism.fr](https://totk.wism.fr/) - Zelda TOTK AutoBuild QR Codes
|
||||
|
||||
@@ -188,7 +188,7 @@
|
||||
* 🌐 **[Awesome Game Remakes](https://github.com/radek-sprta/awesome-game-remakes)** or [Game Clones](https://osgameclones.com/) - Open-Source Remakes
|
||||
* ⭐ **[Clone Hero](https://clonehero.net/)** - Guitar Hero Clone / [Wiki / Guides](https://wiki.clonehero.net/) / [Setlists](https://rentry.co/FMHYB64#setlists), [2](https://customsongscentral.com/) / [Wii Controller Support](https://github.com/Meowmaritus/WiitarThing) / [Custom Client](https://clonehero.scorespy.online) / [Discord](https://discord.gg/Hsn4Cgu)
|
||||
* ⭐ **[OpenMW](https://openmw.org/)** - Morrowind Remake / [GitHub](https://github.com/OpenMW/openmw) / [Multiplayer](https://github.com/TES3MP/TES3MP)
|
||||
* ⭐ **[OpenRCT2](https://openrct2.io/)** - Open-Source RollerCoaster Tycoon 2 / [Plugins](https://openrct2plugins.org/) / [Subreddit](https://www.reddit.com/r/openrct2/) / [Discord](https://discord.gg/ZXZd8D8) / [GitHub](https://github.com/OpenRCT2/OpenRCT2)
|
||||
* ⭐ **[OpenRCT2](https://openrct2.io/)** - Open-Source RollerCoaster Tycoon 2 / [Subreddit](https://www.reddit.com/r/openrct2/) / [Discord](https://discord.gg/ZXZd8D8) / [GitHub](https://github.com/OpenRCT2/OpenRCT2)
|
||||
* ⭐ **[OpenBOR](https://github.com/DCurrent/openbor)** - 2D Side Scrolling / Beat 'Em Up Engine / [Wiki / Forum](https://www.chronocrash.com/) / [Resources](https://www.chronocrash.com/forum/resources/categories/openbor.2/)
|
||||
* [Locomalito](https://locomalito.com/) or [RetroSpec](https://retrospec.sgn.net/) - Classic Game Remakes
|
||||
* [Mugen](https://emulation.gametechwiki.com/index.php/Mugen) - 2D Fighting Game Engine / [Resources](https://mugenguild.com/), [2](https://mugenfreeforall.com/), [3](https://www.andersonkenya1.net/), [4](https://juegosdemugen.com/en/)
|
||||
|
||||
@@ -251,7 +251,6 @@
|
||||
# ► Design Resources / Ideas
|
||||
|
||||
* 🌐 **[Evernote.Design](https://www.evernote.design/)** - Design Resources
|
||||
* 🌐 **[The People's Design Library](https://rentry.co/FMHYB64#design-resources)** - Design Resources
|
||||
* ⭐ **[archives.design](https://archives.design/)** - Graphic Design Archive
|
||||
* ⭐ **[awwwards](https://www.awwwards.com/websites)** - Website Design Ideas
|
||||
* [One Page Love](https://onepagelove.com/) - Single Page Site Design Ideas
|
||||
|
||||
@@ -10,7 +10,7 @@ hero:
|
||||
title: Jan 2026 Updates 🎇
|
||||
link: /posts/jan-2026
|
||||
image:
|
||||
src: test.png
|
||||
src: /xmasfmhy.png
|
||||
alt: FMHY Icon
|
||||
actions:
|
||||
- theme: brand
|
||||
@@ -175,7 +175,7 @@ onMounted(() => {
|
||||
const resetKawaii = () => {
|
||||
const images = document.querySelectorAll('.VPImage.image-src')
|
||||
images.forEach((img) => {
|
||||
img.src = '/test.png'
|
||||
img.src = '/xmasfmhy.png'
|
||||
})
|
||||
}
|
||||
if (kawaii === 'true') {
|
||||
|
||||
@@ -443,7 +443,7 @@
|
||||
* ⭐ **[Gmailnator](https://emailnator.com/)** - Gmail / Forever / 1 Day / 6 Domains
|
||||
* ⭐ **[Tempr.email](https://tempr.email/en/)** - Forever / 1 Month / 50+ Domains
|
||||
* ⭐ **[Inboxes](https://inboxes.com/)** - Forever / 7 Days / 19 Domains
|
||||
* ⭐ **[Mail.tm](https://mail.tm/)** or [Mail.gw](https://mail.gw/) - Forever / 7 Days / 1 Domain
|
||||
* ⭐ **[Mail.tm](https://mail.tm/)** - Forever / 7 Days / 1 Domain
|
||||
* ⭐ **[temp-mail.org](https://temp-mail.org/)** - Forever / 2 Hours / N/A / [Telegram Bot](https://t.me/TempMail_org_bot)
|
||||
* ⭐ **[temp-mail.io](https://temp-mail.io/)** - 1 Day / 1 Day / 12 Domains
|
||||
* [EduMail](https://edumail.icu/), [Zenvex](https://zenvex.dev/) / [2](https://www.temporam.com/) / [3](https://tempsmail.org/) / [4](https://tempmail.pw) / [5](https://www.emailgenerator.org/), [Tempumail](https://tempumail.com/edu-mail-generator) or [etempmail](https://eTempMail.com/) - .Edu Addresses
|
||||
@@ -669,7 +669,7 @@
|
||||
* [Stylebot](https://stylebot.dev/) - Modify Webpages
|
||||
* [SocialFocus](https://socialfocus.app/) - Hide Distracting Elements on Social Media Sites
|
||||
* [Always Visible](https://webextension.org/listing/always-active.html) - Always Active / On-Top Window
|
||||
* [Circadian](https://github.com/Pasithea0/circadian-extension) or [Screen Color Temperature](https://mybrowseraddon.com/screen-color-temperature.html) - Auto-Adjust Display Color / Temperature
|
||||
* [Screen Color Temperature](https://mybrowseraddon.com/screen-color-temperature.html) - Auto-Adjust Display Color / Temperature
|
||||
* [ColorZilla](https://www.colorzilla.com/) or [ColorFish](https://ui.vision/colorfish) - Color Picker
|
||||
* [Clippings](https://aecreations.io/clippings/index.php) or [Quick Copy](https://github.com/ramitmittal/quick-copy) - Clipboard Manager
|
||||
* [Emoji Addon](https://www.emojiaddon.com/) - Quickly Copy / Paste Emojis
|
||||
|
||||
@@ -137,7 +137,6 @@
|
||||
* [Zap](https://zap.srev.in) / [GitHub](https://github.com/srevinsaju/zap) or [AM](https://github.com/ivan-hc/AM) - App Image Managers
|
||||
* [Pkgs](https://pkgs.org/) - Searchable Linux Package Database / [Repology](https://repology.org/)
|
||||
* [cheat.sh](https://github.com/chubin/cheat.sh) - App Repos
|
||||
* [TuxMate](https://tuxmate.com/) - Bulk App Installer / [GitHub](https://github.com/abusoww/tuxmate)
|
||||
* [AppImageHub](https://www.appimagehub.com/) / [GUI](https://github.com/prateekmedia/appimagepool), [AppImages](https://appimage.github.io/) or [Get AppImage](https://g.srev.in/get-appimage/) - Download Appimages
|
||||
* [Apps for GNOME](https://apps.gnome.org/) - GNOME Apps
|
||||
* [emplace](https://github.com/tversteeg/emplace) - System Package Sync
|
||||
@@ -743,7 +742,7 @@
|
||||
## ▷ System Tools
|
||||
|
||||
* 🌐 **[AppleDB](https://appledb.dev/)** - Apple Device / Software Info Database
|
||||
* ⭐ **[Alfred](https://www.alfredapp.com/)** / [Workflows / Themes](https://www.packal.org/), [Raycast](https://www.raycast.com/), [Albert](https://albertlauncher.github.io/) / [GitHub](https://github.com/albertlauncher/albert), [Quicksilver](https://qsapp.com/), [KeyboardCowboy](https://github.com/zenangst/KeyboardCowboy) or [SOL](https://sol.ospfranco.com/) - Keystroke Launchers / Spotlight Replacements
|
||||
* ⭐ **[Alfred](https://www.alfredapp.com/)** / [Workflows / Themes](https://www.packal.org/) , [Raycast](https://www.raycast.com/), [Albert](https://albertlauncher.github.io/) / [GitHub](https://github.com/albertlauncher/albert), [Quicksilver](https://qsapp.com/), [KeyboardCowboy](https://github.com/zenangst/KeyboardCowboy) or [SOL](https://sol.ospfranco.com/) - Keystroke Launchers / Spotlight Replacements
|
||||
* ⭐ **[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/)** - Alt-Tab for Mac
|
||||
* [Advanced macOS Commands](https://saurabhs.org/advanced-macos-commands) - Advanced Command-Line Tools
|
||||
|
||||
@@ -1572,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/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)
|
||||
* ⭐ **[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)
|
||||
* ⭐ **[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
|
||||
@@ -1629,7 +1629,7 @@
|
||||
* [IndieBlogs](https://indieblog.page/) - Random Indie Blogs
|
||||
* [Things to Do](https://randomthingstodo.com/) or [TheZen](https://thezen.zone/) - Activity Suggestions
|
||||
* [rrrather](https://rrrather.com/) - Would You Rather
|
||||
* [Scattergories](https://swellgarfo.com/scattergories) - Scattergories Lis6t Generator
|
||||
* [Scattergories](https://swellgarfo.com/scattergories) - Scattergories List Generator
|
||||
* [Color Arena](https://color-arena.agpallav.com/) - Best Color Voting
|
||||
* [ColorNames](https://colornames.org/) - Help Name Colors
|
||||
* [Colorword](https://colorword.recu3125.com/) - Word Color Voting
|
||||
|
||||
@@ -33,14 +33,17 @@
|
||||
|
||||
* ⭐ **[Cimaleek](https://m.cimaleek.to/)** - Movies / TV
|
||||
* ⭐ **[FaselHD](https://www.faselhds.biz/)** - Movies / TV / Anime / Sub / 1080p / Use [Adblock](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/adblock-vpn-privacy/#wiki_.25BA_adblocking)
|
||||
* [ma3ak](https://ma3ak.top/) - Movies / TV
|
||||
* [ArabLionz](https://arlionztv.ink/) - Movies / TV / Sub / 1080p
|
||||
* [egydead](https://egydead.skin/) - Movies / TV / Anime / Sub / 1080p
|
||||
* [FajerShow](https://fajer.show) - Movies / TV / Cartoons / Sub / 720p
|
||||
* [ArabSeed](https://a.asd.homes/main/) - Movies / TV / Anime
|
||||
* [egybest](https://egybest.la/) - Movies / TV / Anime
|
||||
* [shahid4u](https://shahid4u.mom/) - Movies / TV / Anime
|
||||
* [TopCinema](https://web6.topcinema.cam/) - Movies / TV / Anime
|
||||
* [My Cima](https://my-cima.video/) - Movies / TV
|
||||
* [Laroza TV](https://tv.laroza.now/) - TV
|
||||
* [kirmalk](https://ba.kirmalk.com/) - TV
|
||||
* [witanime](https://witanime.cyou/) - Anime / Sub / 1080p
|
||||
* [okanime](https://okanime.tv/) - Anime / Sub / 1080p / Region Locked
|
||||
* [ristoanime](https://ristoanime.com/) - Anime
|
||||
@@ -1043,7 +1046,7 @@
|
||||
|
||||
## ▷ Streaming / پخش
|
||||
|
||||
* [FarsiLand](https://farsiland.com/home) - Persian Movies / TV / 1080p
|
||||
* [FarsiLand](https://farsiland.com/) - Persian Movies / TV / 1080p
|
||||
* [RadioVatani](https://www.radiovatani.com/) - Persian Movies / TV / Live / 1080p
|
||||
* [Nostalgik](https://nostalgiktv.org/) - Persian Movies / TV / Cartoons / 720p
|
||||
* [imvbox](https://www.imvbox.com/) - Movies / TV / Sub
|
||||
|
||||
@@ -16,13 +16,14 @@ 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.vercel.app](https://fmhy.vercel.app/) - Original Style
|
||||
* [fmhy.xyz](https://fmhy.xyz/) - Safe for Work (no nsfw page)
|
||||
* [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 Version
|
||||
|
||||
***
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: Monthly Updates [January]
|
||||
description: January 2026 updates
|
||||
title: Monthly Updates [Janurary]
|
||||
description: Janurary 2026 updates
|
||||
date: 2026-01-01
|
||||
next: false
|
||||
|
||||
@@ -20,6 +20,8 @@ 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. 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.
|
||||
|
||||
@@ -367,7 +367,6 @@
|
||||
* ⭐ **[AirVPN](https://airvpn.org/)** - Paid / [.onion](https://airvpn3epnw2fnsbx5x2ppzjs6vxtdarldas7wjyqvhscj7x43fxylqd.onion/) / [GitHub](https://github.com/AirVPN) / [GitLab](https://gitlab.com/AirVPN)
|
||||
* [Mullvad VPN](https://mullvad.net/) - Paid / [No-Logging](https://mullvad.net/en/blog/2023/4/20/mullvad-vpn-was-subject-to-a-search-warrant-customer-data-not-compromised/) / [Port Warning](https://mullvad.net/en/blog/2023/5/29/removing-the-support-for-forwarded-ports/) / [.onion](https://ao54hon2e2vj6c7m3aqqu6uyece65by3vgoxxhlqlsvkmacw6a7m7kiad.onion) / [GitHub](https://github.com/mullvad)
|
||||
* [IVPN](https://www.ivpn.net/) - Paid / [No Logging](https://www.ivpn.net/knowledgebase/privacy/how-do-we-react-when-requested-by-an-authority-for-information-relating-to-a-customer/) / [Port Warning](https://www.ivpn.net/blog/gradual-removal-of-port-forwarding/) / [Subreddit](https://www.reddit.com/r/IVPN/) / [GitHub](https://github.com/ivpn)
|
||||
* [Nym](https://nym.com/) - Paid / [5-Hop Mixnet](https://nym.com/mixnet) / [Subreddit](https://www.reddit.com/r/nym/) / [GitHub](https://github.com/nymtech/nym)
|
||||
* [PrivadoVPN](https://privadovpn.com/software) - Free / 10GB Monthly / Unlimited Accounts via [Temp Mail](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/internet-tools#wiki_.25B7_temp_mail)
|
||||
* [Calyx VPN](https://calyxos.org/docs/guide/apps/calyx-vpn/) - Free / Unlimited
|
||||
|
||||
|
||||
@@ -467,7 +467,7 @@
|
||||
* ↪️ **[Manga Downloaders](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/storage#wiki_manga_downloaders)**
|
||||
* ⭐ **[Weeb Central](https://weebcentral.com/)**
|
||||
* ⭐ **[MangaDex](https://mangadex.org/)** / [Downloader](https://mangadex-dl.mansuf.link/) / [Script](https://github.com/frozenpandaman/mangadex-dl) / [Subreddit](https://www.reddit.com/r/mangadex/) / [Discord](https://discord.gg/mangadex)
|
||||
* ⭐ **[MangaPark](https://mangapark.net/)** / [Discord](https://discord.gg/jctSzUBWyQ)
|
||||
* ⭐ **[MangaPark](https://mangapark.net/)** / [Proxies](https://mangaparkmirrors.pages.dev/) / [Discord](https://discord.gg/jctSzUBWyQ)
|
||||
* ⭐ **[Comix](https://comix.to/)** / [Subreddit](https://reddit.com/r/comix) / [Discord](https://discord.com/invite/kZgWWHUj22)
|
||||
* ⭐ **[MangaFire](https://mangafire.to/)** / [Subreddit](https://www.reddit.com/r/Mangafire/) / [Discord](https://discord.com/invite/KRQQKzQ6CS)
|
||||
* ⭐ **[MangaNato](https://www.manganato.gg/)**, [2](https://www.nelomanga.net/), [3](https://www.mangakakalot.gg), [4](https://www.natomanga.com/) / [Discord](https://discord.gg/Qhz84GGvE9)
|
||||
|
||||
@@ -481,7 +481,7 @@
|
||||
* [TwitchEmotes](https://twitchemotes.com/) - Global Twitch Emotes
|
||||
* [ChatGuessr](https://chatguessr.com/) - GeoGuessr for Twitch
|
||||
* [SullyGnome](https://sullygnome.com/), [TwitchInsights](https://twitchinsights.net/), [StreamCharts](https://streamscharts.com/) or [TwitchTracker](https://twitchtracker.com/) - Twitch Stats
|
||||
* [Rumble](https://rumble.com/) or [Kick](https://kick.com/) - Twitch Alternative
|
||||
* [Rumble](https://rumble.com/) - Twitch Alternative
|
||||
|
||||
***
|
||||
|
||||
|
||||
@@ -47,7 +47,7 @@
|
||||
* ⭐ **[Edge-Uninstall](https://gist.github.com/ave9858/c3451d9f452389ac7607c99d45edecc6)** - Microsoft Edge Removal Script
|
||||
* [BatUtil](https://github.com/abbodi1406/BatUtil) / [2](https://gitlab.com/stdout12/batutil) / [3](https://codeberg.org/stdout12/BatUtil) or [TechNet-Gallery](https://github.com/MScholtes/TechNet-Gallery) - System Scripts
|
||||
* [Wintoys](https://apps.microsoft.com/store/detail/wintoys/9P8LTPGCBZXD) - System App Tweaking
|
||||
* [Wox](https://github.com/Wox-launcher/Wox), [Listary](https://www.listary.com/), [Raycast](https://www.raycast.com/), [FlowLauncher](https://www.flowlauncher.com/), [Ueli](https://ueli.app/) / [GitHub](https://github.com/oliverschwendener/ueli) - Keystroke / App Launchers
|
||||
* [Wox](https://github.com/Wox-launcher/Wox), [Listary](https://www.listary.com/), [FlowLauncher](https://www.flowlauncher.com/), [Ueli](https://ueli.app/) / [GitHub](https://github.com/oliverschwendener/ueli) - Keystroke / App Launchers
|
||||
* [Kando](https://kando.menu/) - App Launcher / Pie Menu / [Discord](https://discord.gg/hZwbVSDkhy) / [GitHub](https://github.com/kando-menu/kando)
|
||||
* [Cerebro App](https://cerebroapp.com/) - Tweaked System Navigation
|
||||
* [SmartSystemMenu](https://github.com/AlexanderPro/SmartSystemMenu) - Tweaked System Menu
|
||||
|
||||
@@ -212,7 +212,7 @@
|
||||
* ⭐ **Obsidian Tools** - [Publish Notes](https://dg-docs.ole.dev/) / [Web Clipper](https://github.com/obsidianmd/obsidian-clipper) / [Google Drive Sync](https://github.com/stravo1/obsidian-gdrive-sync) / [Guides](https://help.obsidian.md/Home) / [Forum](https://forum.obsidian.md/)
|
||||
* ⭐ **[Notion](https://www.notion.com/)** - Note-Taking
|
||||
* ⭐ **Notion Tools** - [Templates](https://notionpages.com/) / [Resources](https://www.notioneverything.com/notion-world), [2](https://chief-ease-8ab.notion.site/List-of-200-Notion-Resources-e1b46cd365094265bd47b8a2b25bb41e) / [Guide](https://easlo.notion.site/Notion-Beginner-to-Advanced-8a492960b049433289c4a8d362204d20) / [Markdown Extractor](https://notionconvert.com/) / [Web Clipper](https://www.notion.com/web-clipper)
|
||||
* ⭐ **[AnyType](https://anytype.io/)** - Note-Taking / E2EE / [Telegram](https://t.me/anytype) / [GitHub](https://github.com/anyproto/anytype-ts)
|
||||
* ⭐ **[AnyType](https://anytype.io/)** - Note-Taking / [Telegram](https://t.me/anytype) / [GitHub](https://github.com/anyproto/anytype-ts)
|
||||
* ⭐ **[Simplenote](https://simplenote.com/)** - Note-Taking
|
||||
* ⭐ **[Logseq](https://logseq.com/)** - Outlining / [Discord](https://discord.com/invite/VNfUaTtdFb) / [GitHub](https://github.com/logseq/logseq)
|
||||
* [AppFlowy](https://appflowy.com/) - Note-Taking / [Discord](https://discord.com/invite/appflowy-903549834160635914) / [GitHub](https://github.com/AppFlowy-IO)
|
||||
@@ -222,7 +222,7 @@
|
||||
* [Mochi Cards](https://mochi.cards/) or [Silicon](https://github.com/cu/silicon) - Note-Taking / Study Tools
|
||||
* [Flotes](https://flotes.app/) - Markdown Note-Taking
|
||||
* [QOwnNotes](https://www.qownnotes.org/) - Markdown Note-Taking
|
||||
* [Notesnook](https://notesnook.com/) - Note-Taking / E2EE
|
||||
* [Notesnook](https://notesnook.com/) - Note-Taking
|
||||
* [vNote](https://app.vnote.fun/en_us/) - Markdown Note-Taking / [GitHub](https://github.com/vnotex/vnote)
|
||||
* [Tiddly](https://tiddlywiki.com/) - Info Manager / [Desktop](https://github.com/tiddly-gittly/TidGi-Desktop)
|
||||
* [Org-roam](https://www.orgroam.com/) - Info Manager
|
||||
@@ -234,11 +234,11 @@
|
||||
* [MicroPad](https://getmicropad.com/) - Note-Taking
|
||||
* [WriteDown](https://writedown.app/) - Note-Taking
|
||||
* [DocMost](https://docmost.com/) - Note-Taking
|
||||
* [KeyNote NF](https://github.com/dpradov/keynote-nf) - Note-Taking / E2EE
|
||||
* [SilentNotes](https://www.martinstoeckli.ch/silentnotes/) - Note-Taking / E2EE / [GitHub](https://github.com/martinstoeckli/SilentNotes)
|
||||
* [KeyNote NF](https://github.com/dpradov/keynote-nf) - Note-Taking
|
||||
* [SilentNotes](https://www.martinstoeckli.ch/silentnotes/) - Note-Taking / [GitHub](https://github.com/martinstoeckli/SilentNotes)
|
||||
* [Google Keep](https://keep.google.com/) - Simple Notes
|
||||
* [Crypt.ee](https://crypt.ee/) - Encrypted Notes / E2EE
|
||||
* [Standard Notes](https://standardnotes.com/) - Encrypted Notes / E2EE / [Discord](https://discord.com/invite/9VNW3kK554) / [GitHub](https://github.com/standardnotes/app)
|
||||
* [Crypt.ee](https://crypt.ee/) - Encrypted Notes
|
||||
* [Standard Notes](https://standardnotes.com/) - Encrypted Notes / [Discord](https://discord.com/invite/9VNW3kK554) / [GitHub](https://github.com/standardnotes/app)
|
||||
* [Saber](https://saber.adil.hanney.org/) - Handwritten Notes
|
||||
* [Butterfly](https://butterfly.linwood.dev/) - Handwritten Notes / [Discord](https://discord.com/invite/97zFtYN) / [GitHub](https://github.com/LinwoodDev/Butterfly)
|
||||
* [Xournal++](https://xournalpp.github.io/) - Handwritten Notes / [GitHub](https://github.com/xournalpp/xournalpp)
|
||||
|
||||
@@ -88,10 +88,9 @@
|
||||
* [RuTorrent](https://github.com/Novik/ruTorrent) or [Flood](https://flood.js.org/) - RTorrent Web Frontends
|
||||
* [torrent-control](https://github.com/Mika-/torrent-control) or [Remote Torrent Adder](https://github.com/bogenpirat/remote-torrent-adder) - Easily Send Torrents to Client
|
||||
* [Tixati](https://tixati.com/) - Torrent Client / Windows, Linux, Android
|
||||
* [WizTorrent](https://wiztorrent.com/) - Torrent Player / WebShare / Windows, Mac, Linux
|
||||
* [BiglyBT](https://www.biglybt.com/) - Torrent Client / Windows, Mac, Linux, Android
|
||||
* [LIII](https://codecpack.co/download/LIII-BitTorrent-Client.html) - Torrent Client / Windows
|
||||
* [WizTorrent](https://wiztorrent.com/) - Torrent Client / Streaming / WebShare / Windows, Mac, Linux
|
||||
* [rqbit](https://github.com/ikatson/rqbit/) - Lightweight Torrent Client / Streaming / UPnP Integration / Windows, Mac, Linux
|
||||
* [PikaTorrent](https://www.pikatorrent.com/) - Torrent Client / Windows, Mac, Linux, Android, iOS / [GitHub](https://github.com/G-Ray/pikatorrent)
|
||||
* [Distribyted](https://distribyted.com/) - Torrent Client / Windows, Linux / [GitHub](https://github.com/distribyted/distribyted)
|
||||
* [Fragments](https://apps.gnome.org/Fragments/) - Torrent Client / Linux
|
||||
@@ -107,14 +106,13 @@
|
||||
|
||||
## ▷ qBittorrent Tools
|
||||
|
||||
* 🌐 **[qBit Plugins](https://github.com/qbittorrent/search-plugins)** - Plugins Index
|
||||
* 🌐 **[qBit Themes](https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes)** - Themes Index
|
||||
* 🌐 **[qBit WebUIs](https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-alternate-WebUIs)** - WebUI Index
|
||||
* 🌐 **[QBT Plugins](https://github.com/qbittorrent/search-plugins)** - Plugins Index
|
||||
* 🌐 **[QBT Themes](https://github.com/qbittorrent/qBittorrent/wiki/List-of-known-qBittorrent-themes)** - Themes Index
|
||||
* [qBitMF](https://github.com/qBitMF/qBitMF) - Multi-Connection Tool
|
||||
* [qui](https://github.com/autobrr/qui) or [VueTorrent](https://github.com/VueTorrent/VueTorrent) - Web Clients / WebUIs
|
||||
* [qBit Manage](https://github.com/StuffAnThings/qbit_manage) - Manager / Automation Tool
|
||||
* [qBitController](https://github.com/Bartuzen/qBitController) - Mobile Controllers
|
||||
* [Docker qBit](https://github.com/linuxserver/docker-qbittorrent) or [QBT VPN](https://github.com/binhex/arch-qbittorrentvpn) - Docker Builds
|
||||
* [Docker QBT](https://github.com/linuxserver/docker-qbittorrent) or [QBT VPN](https://github.com/binhex/arch-qbittorrentvpn) - Docker Builds
|
||||
* [Dark Theme](https://draculatheme.com/qbittorrent) or [iOS Style](https://github.com/ntoporcov/iQbit/) - QBT Themes
|
||||
* [Quantum](https://github.com/UHAXM1/Quantum) - Auto Port Updater for Proton
|
||||
|
||||
|
||||
@@ -73,7 +73,6 @@
|
||||
* ⭐ **[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)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)
|
||||
@@ -101,6 +100,7 @@
|
||||
|
||||
* ⭐ **[AuroraScreen](https://www.aurorascreen.org/)** - Movies / TV / Anime / [Discord](https://discord.com/invite/kPUWwAQCzk)
|
||||
* ⭐ **[TMovie](https://tmovie.tv/)**, [2](https://tmovie.cc) - Movies / TV / Anime / [Discord](https://discord.com/invite/R7a6yWMmfK)
|
||||
* [Vidbox](https://vidbox.cc/), [2](https://cinehd.cc/), [3](https://hotflix.to/) - Movies / TV / Anime / Auto-Next / [Discord](https://discord.gg/VGQKGPM9Ej)
|
||||
* [Youflex](https://youflex.live/) - Movies / TV / Anime
|
||||
* [Cinepeace](https://cinepeace.in/) - Movies / TV / Anime / [Discord](https://discord.gg/htmB2TbK)
|
||||
* [Cinema Deck](https://cinemadeck.com/), [2](https://cinemadeck.st/) - Movies / TV / Anime / [Status](https://cinemadeck.com/official-domains) / [Discord](https://discord.com/invite/tkGPsX5NTT)
|
||||
@@ -202,7 +202,7 @@
|
||||
* [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)
|
||||
* [3DS Movies](https://rentry.co/FMHYB64#3dsm) - 3D Movies for 3DS Handhelds
|
||||
* [Clownsec](https://rentry.co/FMHYB64#clownsec) - 3D Movies for 3DS / [Discord](https://discord.gg/fk3yPBY7s9)
|
||||
* [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
|
||||
* [TVARK](https://tvark.org/) or [Daily Commercials](https://dailycommercials.com/) - Commercial / TV Promo Archives
|
||||
@@ -388,7 +388,6 @@
|
||||
* ⭐ **[RgShows](https://www.rgshows.ru/livetv/)** - TV / Sports
|
||||
* ⭐ **[DaddyLive TV](https://dlhd.dad/24-7-channels.php)**, [2](https://dlhd.dad/), [3](https://thedaddy.dad/), - TV / [Mirrors](https://daddyny.com/)
|
||||
* ⭐ **[TVPass](https://tvpass.org/)**, [2](https://thetvapp.to/) - TV / Sports / US Only
|
||||
* ⭐ **[StreamSports99](https://streamsports99.su/live-tv)** - TV / Sports / [Mirrors](https://streamsports99.website/) / [Discord](https://discord.gg/QXKvEbyrVc)
|
||||
* [TitanTV](https://titantv.com/) - Live TV Listings / TV Schedule
|
||||
* [huhu.to](https://huhu.to/), [vavoo.to](https://vavoo.to/), [kool.to](https://kool.to/) or [oha.to](https://oha.to/) - TV / Sports / European
|
||||
* [Xumo Play](https://play.xumo.com/networks) - TV / US Only
|
||||
@@ -582,7 +581,7 @@
|
||||
* [S0undTV](https://github.com/S0und/S0undTV) - Android TV Twitch Player / [Discord](https://discord.gg/zmNjK2S)
|
||||
* [Serenity Android](https://github.com/NineWorlds/serenity-android) - Emby Android TV App
|
||||
* [atvTools](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/android#wiki_.25B7_modded_apks) (search) - Install Apps, Run ADB, Shell Commands, etc.
|
||||
* [Projectivy Launcher](https://play.google.com/store/apps/details?id=com.spocky.projengmenu) / [XDA Thread](https://xdaforums.com/t/app-android-tv-projectivy-launcher.4436549/) / [Icon Pack](https://github.com/SicMundus86/ProjectivyIconPack) / [GitHub](https://github.com/spocky/miproja1/releases) or [Leanback on Fire](https://github.com/tsynik/LeanbackLauncher) - Android TV Launchers
|
||||
* [Projectivy Launcher](https://play.google.com/store/apps/details?id=com.spocky.projengmenu) / [XDA Thread](https://xdaforums.com/t/app-android-tv-projectivy-launcher.4436549/) / [Icon Pack](ttps://github.com/SicMundus86/ProjectivyIconPack) / [GitHub](https://github.com/spocky/miproja1/releases) or [Leanback on Fire](https://github.com/tsynik/LeanbackLauncher) - Android TV Launchers
|
||||
* [Launcher Manager](https://xdaforums.com/t/app-firetv-noroot-launcher-manager-change-launcher-without-root.4176349/) - Change Default Launcher
|
||||
* [AerialViews](https://github.com/theothernt/AerialViews) - Custom Screensaver App
|
||||
|
||||
@@ -751,8 +750,6 @@
|
||||
* [Popcorn Time](https://popcorn-time.site/) - Torrent Streaming App / [GitHub](https://github.com/popcorn-time-ru/popcorn-desktop)
|
||||
* [Ace Stream](https://acestream.org/) - Torrent Streaming App / [Channels](https://acestreamid.com/), [2](https://acestreamsearch.net/en/), [3](https://search-ace.stream/) / [Modded APK](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/android#wiki_.25B7_modded_apks) (search) / [Docker Image](https://github.com/magnetikonline/docker-acestream-server) / [Mpv Script](https://github.com/Digitalone1/mpv-acestream)
|
||||
* [WebTorrent](https://webtorrent.io/) - Torrent Streaming App / [GitHub](https://github.com/webtorrent/webtorrent)
|
||||
* [WizTorrent](https://wiztorrent.com/) - Torrent Streaming App
|
||||
* [rqbit](https://github.com/ikatson/rqbit/) - Torrent Streaming Client / UPnP Integration
|
||||
* [NotFlix](https://github.com/Bugswriter/notflix) - Torrent Streaming Script
|
||||
* [Instant.io](https://instant.io/), [BTorrent](https://btorrent.xyz/) or [Magnet Player](https://ferrolho.github.io/magnet-player/) - Stream Torrents in Browser
|
||||
* [Bobarr](https://github.com/iam4x/bobarr) / [Discord](https://discord.gg/PFwM4zk) or [Nefarious](https://github.com/lardbit/nefarious) - Movies / TV Autodownload
|
||||
@@ -1012,7 +1009,7 @@
|
||||
* [IMFDB](https://www.imfdb.org/) - Movie Firearms Database / [Discord](https://discord.com/invite/FDHEkQ6szt)
|
||||
* [WheresTheJump?](https://wheresthejump.com/) or [WheresTheScares?](https://wheresthescares.com/) - Find Movie Jump Scares
|
||||
* [DMT](https://dmtalkies.com/) - Movies / TV Ending Explanations and Recaps
|
||||
* [WhatsatMovie](https://whatsatmovie.com/), [Talpa](https://www.talpasearch.com/) or [What is My Movie?](https://www.whatismymovie.com/) - Find Movies via Descriptions
|
||||
* [WhatsatMovie](https://whatsatmovie.com/), [LibraryThing](https://www.talpasearch.com/) or [What is My Movie?](https://www.whatismymovie.com/) - Find Movies via Descriptions
|
||||
* [Anime Skip](https://anime-skip.com/) - Auto Skip Anime Intros
|
||||
* [trace.moe](https://trace.moe/) - Anime Scene Reverse Image Search
|
||||
* [Anilinks](https://anilinks.neocities.org/) - Anime Related Site Index
|
||||
|
||||
Reference in New Issue
Block a user