From 98a623bce35177a455fe2256de2d029a7da32343 Mon Sep 17 00:00:00 2001 From: wukko Date: Sat, 16 Mar 2024 23:18:39 +0600 Subject: [PATCH] front: added an option to opt out of traffic stats and a privacy policy section about it --- src/front/cobalt.js | 1 + src/localization/languages/en.json | 6 +++++- src/localization/languages/ru.json | 6 +++++- src/modules/pageRender/page.js | 13 +++++++++++++ 4 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/front/cobalt.js b/src/front/cobalt.js index e24fbe5..d46d1e9 100644 --- a/src/front/cobalt.js +++ b/src/front/cobalt.js @@ -30,6 +30,7 @@ const checkboxes = [ "disableAnimations", "disableMetadata", "twitterGif", + "plausible_ignore" ]; const exceptions = { // used for mobile devices "vQuality": "720" diff --git a/src/localization/languages/en.json b/src/localization/languages/en.json index baf6726..43239ad 100644 --- a/src/localization/languages/en.json +++ b/src/localization/languages/en.json @@ -155,6 +155,10 @@ "SettingsTwitterGifDescription": "converting looping videos to .gif reduces quality and majorly increases file size. if you want best efficiency, keep this setting off.", "ErrorTweetProtected": "this tweet is from a private account, so i can't see it. try another one!", "ErrorTweetNSFW": "this tweet contains sensitive content, so i can't see it. try another one!", - "UpdateEncryption": "encryption and new services" + "UpdateEncryption": "encryption and new services", + "PrivateAnalytics": "private analytics", + "SettingsDisableAnalytics": "opt out of private analytics", + "SettingsAnalyticsExplanation": "enable if you don't want to be included in anonymous traffic stats. read more about this in about > privacy policy (tl;dr: nothing about you is ever stored or tracked, no cookies are used).", + "AnalyticsDescription": "cobalt uses a self-hosted plausible instance to get an approximate number of how many people use it.\n\nplausible is fully compliant with GDPR, CCPA and PECR, doesn't use cookies, and never stores any identifiable info, not even your ip address.\n\nall data is aggregated and never personalized. nothing about what you download is ever saved anywhere. it's used just for anonymous traffic stats, nothing more.\n\nplausible is fully open source, just like cobalt, and if you want to learn more about it, you can do so here. if you wish to opt out of traffic stats, you can do it in settings > other." } } diff --git a/src/localization/languages/ru.json b/src/localization/languages/ru.json index ebb38d6..0008eba 100644 --- a/src/localization/languages/ru.json +++ b/src/localization/languages/ru.json @@ -157,6 +157,10 @@ "SettingsTwitterGifDescription": "конвертирование зацикленного видео в .gif снижает качество и значительно увеличивает размер файла. если важна максимальная эффективность, то не используй эту функцию.", "ErrorTweetProtected": "этот твит из закрытого аккаунта, поэтому я не могу его увидеть. попробуй другой!", "ErrorTweetNSFW": "этот твит содержит деликатный контент, поэтому я не могу его увидеть. попробуй другой!", - "UpdateEncryption": "шифрование и новые сервисы" + "UpdateEncryption": "шифрование и новые сервисы", + "PrivateAnalytics": "приватная аналитика", + "SettingsDisableAnalytics": "отключить приватную аналитику", + "SettingsAnalyticsExplanation": "включи, если не хочешь быть частью анонимной статистики трафика. подробнее об этом можно прочитать в политике конфиденциальности (tl;dr: ничего о тебе или твоих действиях не хранится и не отслеживается, даже куки нет).", + "AnalyticsDescription": "кобальт использует собственный инстанс plausible, чтобы иметь приблизительное представление о том, сколько людей им пользуются.\n\nplausible полностью соответствует GDPR, CCPA и PECR, не использует куки и никогда не хранит никакой идентифицируемой информации, даже ip-адрес.\n\nвсе данные агрегируются и никогда не персонализируются. ничего о том, что ты скачиваешь, никогда не сохраняется. это просто анонимная статистика трафика, ничего больше.\n\nplausible также как и кобальт имеет открытый исходный код, и, если ты хочешь узнать о нём больше, то это можно сделать здесь. а если же ты хочешь исключить себя из статистики, то это можно сделать в настройках > другое." } } diff --git a/src/modules/pageRender/page.js b/src/modules/pageRender/page.js index 954a0c7..a6774ab 100644 --- a/src/modules/pageRender/page.js +++ b/src/modules/pageRender/page.js @@ -169,6 +169,9 @@ export default function(obj) { name: "privacy", title: `${emoji("🔒")} ${t("CollapsePrivacy")}`, body: t("PrivacyPolicy") + + `
` + + `
` + + t("AnalyticsDescription") }, { name: "legal", title: `${emoji("📑")} ${t("CollapseLegal")}`, @@ -496,6 +499,16 @@ export default function(obj) { padding: "no-margin" }]) }) + + settingsCategory({ + name: "privacy", + title: t('PrivateAnalytics'), + body: checkbox([{ + action: "plausible_ignore", + name: t("SettingsDisableAnalytics"), + padding: "no-margin" + }]) + + explanation(t('SettingsAnalyticsExplanation')) + }) + settingsCategory({ name: "miscellaneous", title: t('Miscellaneous'),