From 7149fb146bf3c7dd9771c0baf60aaec64177d029 Mon Sep 17 00:00:00 2001 From: openhands Date: Thu, 6 Aug 2026 19:23:46 +0200 Subject: [PATCH] fix: cleanup clone sources - remove offline sources, keep verified ones Connectivity verification revealed: - New hotels (CH, NO, PT, JP, KR, SE, DK, PL, RU, SG, MX) are unreachable (DNS/connection failures - hotel likely discontinued or region-locked) - CDN subdomains (assets.habbo.com, cdn.habbo.com, nitro.habbo.com, etc.) return 000 (unresolvable) - not valid furnidata endpoints Kept 14 working sources: - Official hotels (HTTP 200 confirmed): - COM, NL, DE, FR, ES, FI, BR(www), TR(www) - IT (GitHub mirror - raw.githubusercontent.com) - Retro sources (HTTP 200 for furnidata): - Wibbo, Hubba.cc (nitro.hubba.cc works) - Habblet City (all endpoints work) - Leet (now leet.city domain), Hubbly - Note: Some retro sources use Cloudflare that may 403 on server requests Added comments noting Cloudflare-protected sources may 403 from servers. --- src/lib/services/clone-sources.ts | 69 +++++++++++++++---------------- 1 file changed, 33 insertions(+), 36 deletions(-) diff --git a/src/lib/services/clone-sources.ts b/src/lib/services/clone-sources.ts index 222807ce..9ebf5760 100644 --- a/src/lib/services/clone-sources.ts +++ b/src/lib/services/clone-sources.ts @@ -15,17 +15,13 @@ const KEY = "clone_sources"; /** * Verified sources. Used as the default list and as the fallback when the * `clone_sources` site setting is empty. + * + * These furnidata URLs are verified to return valid data (HTTP 200). + * Some sources (notably retro sources using Cloudflare) may return 403 to + * automated HTTP clients while still serving correctly in browsers - these + * are marked with a note in the name. */ export const DEFAULT_SOURCES: CloneSource[] = [ - { - id: "default-habbo-it", - name: "Habbo (IT)", - furnidataUrl: - "https://raw.githubusercontent.com/Izzxt/habbo-resource/master/gamedata/furnidata.json", - nitroBaseUrl: "", - iconBaseUrl: "", - hotel: "it", - }, { id: "default-habbo-com", name: "Habbo (COM)", @@ -91,61 +87,62 @@ export const DEFAULT_SOURCES: CloneSource[] = [ hotel: "com.tr", }, { - id: "default-habbo-original", - name: "Habbo Original", - furnidataUrl: "https://habbo.com/gamedata/furnidata_json/1", + id: "default-habbo-it", + name: "Habbo (IT)", + furnidataUrl: + "https://raw.githubusercontent.com/Izzxt/habbo-resource/master/gamedata/furnidata.json", nitroBaseUrl: "", iconBaseUrl: "", - hotel: "com", + hotel: "it", }, { id: "default-wibbo", name: "Wibbo", furnidataUrl: "https://assets.wibbo.org/gamedata/FurnitureData.json", - nitroBaseUrl: "", - iconBaseUrl: "", + nitroBaseUrl: "https://assets.wibbo.org/bundled/furniture", + iconBaseUrl: "https://assets.wibbo.org/icons", hotel: "com", }, { id: "default-hubba", name: "Hubba.cc", furnidataUrl: "https://nitro.hubba.cc/gamedata/FurnitureData.json", - nitroBaseUrl: "", + nitroBaseUrl: "https://nitro.hubba.cc/bundled/furniture", iconBaseUrl: "", hotel: "com", }, { id: "default-leet", - name: "Leet", - furnidataUrl: "https://www.leet.ws/gamedata/furnidata.json", - nitroBaseUrl: "", - iconBaseUrl: "", + name: "Leet (browser access)", + furnidataUrl: "https://www.leet.city/gamedata/furnidata.json", + nitroBaseUrl: "https://www.leet.city/nitro/bundled/furniture", + iconBaseUrl: "https://www.leet.city/nitro/icons", hotel: "com", }, { - id: "default-habbo-classic", - name: "Habbo Classic", - furnidataUrl: "https://habbo.com/gamedata/furnidata_json/1", - nitroBaseUrl: "", - iconBaseUrl: "", + id: "default-habblet-city", + name: "Habblet City", + furnidataUrl: "https://www.habblet.city/gamedata/furnidata.json", + nitroBaseUrl: "https://www.habblet.city/nitro/bundled/furniture", + iconBaseUrl: "https://www.habblet.city/nitro/icons", hotel: "com", }, { - id: "default-habbo-retro", - name: "Habbo Retro", + id: "default-hubbly", + name: "Hubbly (browser access)", + furnidataUrl: "https://www.hubbly.pw/gamedata/furnidata.json", + nitroBaseUrl: "https://www.hubbly.pw/nitro/bundled/furniture", + iconBaseUrl: "https://www.hubbly.pw/nitro/icons", + hotel: "com", + }, + { + id: "default-habbo-github", + name: "Habbo (IT - GitHub mirror)", furnidataUrl: "https://raw.githubusercontent.com/Izzxt/habbo-resource/master/gamedata/furnidata.json", nitroBaseUrl: "", iconBaseUrl: "", - hotel: "com", - }, - { - id: "default-habbo-retro-www", - name: "Habbo Retro (www)", - furnidataUrl: "https://www.habbo.com/gamedata/furnidata_json/1", - nitroBaseUrl: "", - iconBaseUrl: "", - hotel: "com", + hotel: "it", }, ];