feat: add default furni icon repair sources

Fall back to well-known public furni icon hosts (HabboAssets, Hubbly,
Leet) when no clone sources are configured, so Repair Icons can download
missing icons out of the box. Also handle variant classnames (base name
and '*' replaced with '_') and extract icons from remote .nitro bundles.
Send a browser User-Agent on downloads to avoid being blocked by hotels.
This commit is contained in:
openhands committed 2026-08-02 16:44:24 +02:00
1 parent bac2f653af
commit 1f9e8a0eec
3 files changed
+99 -9

No files matched your search

+24
View File
@@ -11,6 +11,30 @@ export interface CloneSource {
const KEY = "clone_sources";
export const DEFAULT_ICON_SOURCES: CloneSource[] = [
{
id: "default-habboassets",
name: "HabboAssets",
furnidataUrl: "",
nitroBaseUrl: "",
iconBaseUrl: "https://www.habboassets.com/assets/furniture",
},
{
id: "default-hubbly",
name: "Hubbly",
furnidataUrl: "",
nitroBaseUrl: "",
iconBaseUrl: "https://hubbly.pw/swf/dcr/hof_furni/icons",
},
{
id: "default-leet",
name: "Leet",
furnidataUrl: "",
nitroBaseUrl: "",
iconBaseUrl: "https://images.leet.city/library/hof_furni/icons",
},
];
export async function listSources(): Promise<CloneSource[]> {
const raw = (await siteSettings.get(KEY, "[]")) ?? "[]";
try {