feat: browser headers on audit fetches + verified clone furnidata sources
This commit is contained in:
1 parent
080dc34e23
commit
2fba923a3a
8 files changed
+97
-32
No files matched your search
@@ -11,47 +11,50 @@ export interface CloneSource {
|
||||
|
||||
const KEY = "clone_sources";
|
||||
|
||||
export const DEFAULT_ICON_SOURCES: CloneSource[] = [
|
||||
/**
|
||||
* Verified working sources (checked Aug 2026). Used as the default list and
|
||||
* as the fallback when the `clone_sources` site setting is empty.
|
||||
*/
|
||||
export const DEFAULT_SOURCES: CloneSource[] = [
|
||||
{
|
||||
id: "default-habboassets",
|
||||
name: "HabboAssets",
|
||||
furnidataUrl: "",
|
||||
id: "default-habbo",
|
||||
name: "Habbo",
|
||||
furnidataUrl:
|
||||
"https://raw.githubusercontent.com/Izzxt/habbo-resource/master/gamedata/furnidata.json",
|
||||
nitroBaseUrl: "",
|
||||
iconBaseUrl: "https://www.habboassets.com/assets/furniture",
|
||||
iconBaseUrl: "",
|
||||
},
|
||||
{
|
||||
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 const DEFAULT_NITRO_SOURCES: CloneSource[] = [
|
||||
{
|
||||
id: "default-wibbo",
|
||||
name: "Wibbo",
|
||||
furnidataUrl: "",
|
||||
furnidataUrl: "https://assets.wibbo.org/gamedata/FurnitureData.json",
|
||||
nitroBaseUrl: "https://assets.wibbo.org/bundled/furniture",
|
||||
iconBaseUrl: "https://assets.wibbo.org/icons",
|
||||
},
|
||||
{
|
||||
id: "default-hubba",
|
||||
name: "Hubba.cc",
|
||||
furnidataUrl: "https://nitro.hubba.cc/gamedata/FurnitureData.json",
|
||||
nitroBaseUrl: "https://nitro.hubba.cc/bundled/furniture",
|
||||
iconBaseUrl: "",
|
||||
},
|
||||
];
|
||||
|
||||
export const DEFAULT_ICON_SOURCES: CloneSource[] = DEFAULT_SOURCES.filter(
|
||||
(s) => s.iconBaseUrl,
|
||||
);
|
||||
|
||||
export const DEFAULT_NITRO_SOURCES: CloneSource[] = DEFAULT_SOURCES.filter(
|
||||
(s) => s.nitroBaseUrl,
|
||||
);
|
||||
|
||||
export async function listSources(): Promise<CloneSource[]> {
|
||||
const raw = (await siteSettings.get(KEY, "[]")) ?? "[]";
|
||||
try {
|
||||
const arr = JSON.parse(raw);
|
||||
return Array.isArray(arr) ? arr : [];
|
||||
return Array.isArray(arr) && arr.length > 0 ? arr : DEFAULT_SOURCES;
|
||||
} catch {
|
||||
return [];
|
||||
return DEFAULT_SOURCES;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in new issue
Block a user