From 85f4ead84777d1a37b85d212d59f5e93da54fcb5 Mon Sep 17 00:00:00 2001 From: Maya Date: Fri, 20 Mar 2026 10:35:42 +0300 Subject: [PATCH] fix: forgor to sanitize oops --- src/lib/sections/settings/Privacy.svelte | 4 +- src/lib/util/ip.ts | 80 ------------------------ 2 files changed, 2 insertions(+), 82 deletions(-) delete mode 100644 src/lib/util/ip.ts diff --git a/src/lib/sections/settings/Privacy.svelte b/src/lib/sections/settings/Privacy.svelte index 3c0c959..dd7876c 100644 --- a/src/lib/sections/settings/Privacy.svelte +++ b/src/lib/sections/settings/Privacy.svelte @@ -142,14 +142,14 @@ {m["settings.privacy.plausible_title"]()}

- {@html link( + {@html sanitize(link( ["plausible_link", "analytics_link"], m["settings.privacy.plausible_description"](), [ "https://plausible.io/privacy-focused-web-analytics", "https://ats.vert.sh/vert.sh", ], - )} + ))}

diff --git a/src/lib/util/ip.ts b/src/lib/util/ip.ts deleted file mode 100644 index 602f553..0000000 --- a/src/lib/util/ip.ts +++ /dev/null @@ -1,80 +0,0 @@ -import { browser } from "$app/environment"; - -export interface IpInfo { - ip: string; - network: string; - version: string; - city: string; - region: string; - region_code: string; - country: string; - country_name: string; - country_code: string; - country_code_iso3: string; - country_capital: string; - country_tld: string; - continent_code: string; - in_eu: boolean; - postal: string; - latitude: number; - longitude: number; - timezone: string; - utc_offset: string; - country_calling_code: string; - currency: string; - currency_name: string; - languages: string; - country_area: number; - country_population: number; - asn: string; - org: string; -} - -export const ip = async (): Promise => { - try { - if (browser) { - const item = localStorage.getItem("ipinfo"); - if (item) { - return JSON.parse(item); - } - } - - const res = await fetch("https://ipapi.co/json/").then((r) => r.json()); - if (browser) { - localStorage.setItem("ipinfo", JSON.stringify(res)); - } - - return res; - // eslint-disable-next-line @typescript-eslint/no-unused-vars - } catch (_) { - return { - ip: "127.0.0.1", - asn: "AS0", - city: "Localhost", - continent_code: "NA", - country: "US", - country_calling_code: "+1", - country_capital: "Washington", - country_code: "US", - country_code_iso3: "USA", - country_name: "United States", - country_population: 0, - currency: "USD", - currency_name: "Dollar", - languages: "en-US,es-US,haw,fr", - latitude: 0, - longitude: 0, - network: "Unknown", - postal: "00000", - region: "Local", - region_code: "LOC", - country_area: 0, - timezone: "America/New_York", - utc_offset: "-0500", - version: "IPv4", - in_eu: false, - org: "Localhost", - country_tld: ".us", - }; - } -};