Fixed settings theme and translation flashing #286

This commit is contained in:
ManeraKai 2022-05-30 01:02:59 +03:00
parent 595ca4bfce
commit c5a6623e0f
No known key found for this signature in database
GPG Key ID: 5ABC31FFD562E337
107 changed files with 3005 additions and 4931 deletions

View File

@ -26,4 +26,4 @@
"dependencies": {
"buffer": "^6.0.3"
}
}
}

View File

@ -1 +1 @@
pug ./src/pages/options/ ./src/pages/popup/ -P -w
pug ./src/pages/options/*.pug ./src/pages/popup/ -P -w

View File

@ -1,556 +1,222 @@
{
"extensionName": {
"message": "LibRedirect",
"description": "name of the extension"
},
"extensionDescription": {
"message": "إضافة متصفح تعيد توجيه مواقع مشهورة إلى واجهات أمامية ذات تحترم الخصوصية",
"description": "description of the extension"
},
"switchInstance": {
"message": "تبديل المَثيل",
"description": "used in manifest.json as shortcut description"
},
"instance": {
"message": "المَثيل",
"description": "used in popup.html"
},
"settings": {
"message": "الإعدادات",
"description": "used in popup.html"
},
"libOptions": {
"message": "LibRedirect إعدادات",
"description": "used in general.html"
},
"general": {
"message": "العامة",
"description": "used in general.html"
},
"search": {
"message": "البحث",
"description": "used in general.html"
},
"translate": {
"message": "الترجمة",
"description": "used in general.html"
},
"maps": {
"message": "الخرائط",
"description": "used in general.html"
},
"sendFiles": {
"message": "إرسال الملفات",
"description": "used in general.html"
},
"youtube": {
"message": "يوتيوب",
"description": "used in general.html"
},
"instagram": {
"message": "إنستغرام",
"description": "used in general.html"
},
"twitter": {
"message": "تويتر",
"description": "used in general.html"
},
"reddit": {
"message": "ريديت",
"description": "used in general.html"
},
"tiktok": {
"message": "تيك توك",
"description": "used in general.html"
},
"ytmusic": {
"message": "يوتيوب ميوزيك",
"description": "used in general.html"
},
"imgur": {
"message": "إمجور",
"description": "used in general.html"
},
"wikipedia": {
"message": "ويكيبيديا",
"description": "used in general.html"
},
"peertube": {
"message": "PeerTube",
"description": "used in general.html"
},
"medium": {
"message": "ميديام",
"description": "used in general.html"
},
"tor": {
"message": "تور",
"description": "used in imgur.html"
},
"theme": {
"message": "السمة",
"description": "used in general.html"
},
"system": {
"message": "النظام",
"description": "used in general.html"
},
"light": {
"message": "فاتح",
"description": "used in general.html"
},
"dark": {
"message": "داكن",
"description": "used in general.html"
},
"applyTheme": {
"message": "تطبيق السمة على الواجهات",
"description": "used in general.html"
},
"alwaysPref": {
"message": "استخدم المُثلاء المفضلين دائماً",
"description": "used in general.html"
},
"autoRedirect": {
"message": "إعادة التوجيه تلقائياً من المُثلاء الذين لا يعملون",
"description": "used in general.html"
},
"exceptions": {
"message": "الاستثناءات",
"description": "used in general.html"
},
"updateInstances": {
"message": "تحديث قائمة المُثلاء",
"description": "used in general.html"
},
"importSettings": {
"message": "استيراد الإعدادات",
"description": "used in general.html"
},
"exportSettings": {
"message": "تصدير الإعدادات",
"description": "used in general.html"
},
"resetSettings": {
"message": "إعادة تعيين الإعدادات",
"description": "used in general.html"
},
"customPopup": {
"message": "تخصيص النافذة المنبثقة",
"description": "used in general.html"
},
"enable": {
"message": "تفعيل",
"description": "used in imgur.html"
},
"protocol": {
"message": "البروتوكول",
"description": "used in imgur.html"
},
"normal": {
"message": "العادي",
"description": "used in imgur.html"
},
"defaultInstances": {
"message": "المُثلاء الافتراضيين",
"description": "used in imgur.html"
},
"customInstances": {
"message": "المُثلاء المخصصين",
"description": "used in imgur.html"
},
"toggleAll": {
"message": "تبديل الكل",
"description": "used in utils.js"
},
"frontend": {
"message": "الواجهة الأمامية",
"description": "used in maps.html"
},
"notFullyPrivate": {
"message": "هذه الواجهة لا تحترم الخصوصية تماماً",
"description": ""
},
"oldReddit": {
"message": "ريديت القديم",
"description": "used in reddit.html"
},
"searchNote": {
"message": "ملاحظة: لاستعمال \"البحث\" بكامل إمكانيته، اجعل LibRedirect محرك البحث الافتراضي",
"description": "used in search.html"
},
"libSendFiles": {
"message": "LibRedirect: إرسال الملفات",
"description": "used in sendTargets.html"
},
"from": {
"message": "من",
"description": "used in translate.html"
},
"to": {
"message": "إلى",
"description": "used in translate.html"
},
"default": {
"message": "الافتراضي",
"description": "used in translate.html"
},
"auto": {
"message": "تلقائي",
"description": "used in translate.html"
},
"engine": {
"message": "محرك البحث",
"description": "used in translate.html"
},
"libTranslate": {
"message": "LibRedirect: الترجمة",
"description": "used in translate.html"
},
"embeddedVids": {
"message": "واجهة الفيديوهات المضمنة",
"description": "used in youtube.html"
},
"redirectType": {
"message": "نوع إعادة التوجيه",
"description": "used in youtube.html"
},
"both": {
"message": "الإثنين",
"description": "used in youtube.html"
},
"onlyEmbedded": {
"message": "فقط للتضمينات",
"description": "used in youtube.html"
},
"onlyNotEmbedded": {
"message": "فقط لغير التضمينات",
"description": "used in youtube.html"
},
"enableCustom": {
"message": "تمكين الإعدادات الخاصة (ستُستخدم ملفات تعريف الارتباط والـlocalStorage)",
"description": "used in youtube.html"
},
"autoplayVid": {
"message": "تشغيل الفيديوهات التلقائي",
"description": "used in youtube.html"
},
"volume": {
"message": "الصوت: ",
"description": "used in youtube.html"
},
"playerStyle": {
"message": "شكل مشغل الفيديو",
"description": "used in youtube.html"
},
"alwaysLoop": {
"message": "إعادة تشغيل الفيديو تلقائياً",
"description": "used in youtube.html"
},
"playNext": {
"message": "تشغيل التالي افتراضياً",
"description": "used in youtube.html"
},
"autoplayNext": {
"message": "تشغيل الفيديو التالي تلقائياً",
"description": "used in youtube.html"
},
"alwaysProxy": {
"message": "بروكسي المقاطع المرئيّة",
"description": "used in youtube.html"
},
"listenByDefault": {
"message": "تشغيل النسخة السمعية تلقائيًا",
"description": "used in youtube.html"
},
"defaultSpeed": {
"message": "السرعة الافتراضية",
"description": "used in youtube.html"
},
"prefQuality": {
"message": "الجودة المفضلة للمقاطع",
"description": "used in youtube.html"
},
"dash": {
"message": "DASH (جودة تكيُّفية)",
"description": "used in youtube.html"
},
"prefDashQuality": {
"message": "جودة فيديو DASH المفضلة",
"description": "used in youtube.html"
},
"best": {
"message": "الأفضل",
"description": "used in youtube.html"
},
"worst": {
"message": "الأسوء",
"description": "used in youtube.html"
},
"defaultComments": {
"message": "التعليقات الافتراضية",
"description": "used in youtube.html"
},
"none": {
"message": "لا شيء",
"description": "used in youtube.html"
},
"defaultCaptions": {
"message": "التسميات التوضيحية الاتفراضية",
"description": "used in youtube.html"
},
"showRelated": {
"message": "اعرض الفيديوهات ذات الصلة",
"description": "used in youtube.html"
},
"showAnnotations": {
"message": "إظهار الـAnnotation بشكل افتراضي",
"description": "used in youtube.html"
},
"autoExtendDesc": {
"message": "توسيع وصف الفيديو تلقائيا",
"description": "used in youtube.html"
},
"interactive360": {
"message": "مقاطع فيديو تفاعلية بزاوية 360 درجة (تتطلب WebGL)",
"description": "used in youtube.html"
},
"savePlaybackPos": {
"message": "حفظ موضع التشغيل",
"description": "used in youtube.html"
},
"enableSponsorBlock": {
"message": "Enable SponsorBlock",
"description": "used in youtube.html"
},
"skipSponsors": {
"message": "Skip sponsors",
"description": "used in youtube.html"
},
"skipIntermission": {
"message": "Skip Intermission/Intro Animation",
"description": "used in youtube.html"
},
"skipEndcards": {
"message": "Skip Endcards/Credits",
"description": "used in youtube.html"
},
"skipPreview": {
"message": "Skip Preview/Recap",
"description": "used in youtube.html"
},
"skipReminder": {
"message": "Skip interaction reminder (subscribe)",
"description": "used in youtube.html"
},
"skipUnpaidPromo": {
"message": "Skip Unpaid/Self Promotion",
"description": "used in youtube.html"
},
"skipMusic": {
"message": "Skip Music: Non-Music Section",
"description": "used in youtube.html"
},
"skipHighlights": {
"message": "Skip highlights",
"description": "used in youtube.html"
},
"skipFiller": {
"message": "Skip Filler Tangent",
"description": "used in youtube.html"
},
"audioOnly": {
"message": "Audio only",
"description": "used in youtube.html"
},
"defaultQuality": {
"message": "Default quality",
"description": "used in youtube.html"
},
"bufferingGoal": {
"message": "Buffering Goal (in seconds)",
"description": "used in youtube.html"
},
"countrySelection": {
"message": "Country selection",
"description": "used in youtube.html"
},
"defaultHomepage": {
"message": "Default homepage",
"description": "used in youtube.html"
},
"trending": {
"message": "Trending",
"description": "used in youtube.html"
},
"feed": {
"message": "Feed",
"description": "used in youtube.html"
},
"showComments": {
"message": "Show comments",
"description": "used in youtube.html"
},
"minimizeDesc": {
"message": "Minimize description by default",
"description": "used in youtube.html"
},
"storeHistory": {
"message": "Store watch history",
"description": "used in youtube.html"
},
"enabledCodecs": {
"message": "Enabled codecs (multiple)",
"description": "used in youtube.html"
},
"disableLBRY": {
"message": "Disable LBRY for streaming",
"description": "used in youtube.html"
},
"enableProxyLBRY": {
"message": "Enable proxy for LBRY",
"description": "used in youtube.html"
},
"proxyLBRY": {
"message": "Proxy LBRY videos",
"description": "used in youtube.html"
},
"skipNote": {
"message": "Skip to the last watched point when encountering a video already seen",
"description": "used in youtube.html"
},
"embedExceptions": {
"message": "Embed exceptions",
"description": "used in youtube.html"
},
"instanceOffline": {
"message": "This instance is offline, you'll be redirected after ",
"description": "used in instance_offline.html"
},
"sec": {
"message": "الثواني",
"description": "used in instance_offline.html"
},
"cancel": {
"message": "إلغاء",
"description": "used in instance_offline.html"
},
"instanceIsOff": {
"message": "المَثيل غير متصل على النت",
"description": "used in instance_offline.html"
},
"redirectionCanceled": {
"message": "تم إلغاء إعادة التوجيه",
"description": "used in instance_offline.js"
}
"extensionName": {
"message": "LibRedirect",
"description": "extension name"
},
"extensionDescription": {
"message": "إضافة متصفح تعيد توجيه مواقع مشهورة إلى واجهات أمامية تحترم الخصوصية",
"description": "extension description"
},
"switchInstance": {
"message": "تبديل النظير",
"description": "used in the popup"
},
"settings": {
"message": "الإعدادات",
"description": "used in the popup"
},
"copyRaw": {
"message": "الرابط الأصلي",
"description": "used in the popup"
},
"copied": {
"message": "تم النسخ",
"description": "used in the popup"
},
"unifySettings": {
"message": "توحيد الإعدادات",
"description": "used in the popup"
},
"unified": {
"message": "تم التوحيد",
"description": "used in the popup"
},
"general": {
"message": "العامة",
"description": "used in the settings page"
},
"youtube": {
"message": "يوتيوب",
"description": ""
},
"ytmusic": {
"message": "يوتيوب ميوزيك",
"description": ""
},
"instagram": {
"message": "إنستغرام",
"description": ""
},
"twitter": {
"message": "تويتر",
"description": ""
},
"reddit": {
"message": "ريديت",
"description": ""
},
"tiktok": {
"message": "تيك توك",
"description": ""
},
"lbry": {
"message": "LBRY",
"description": ""
},
"imgur": {
"message": "إمجور",
"description": ""
},
"wikipedia": {
"message": "ويكيبيديا",
"description": ""
},
"peertube": {
"message": "PeerTube",
"description": ""
},
"medium": {
"message": "ميديام",
"description": ""
},
"search": {
"message": "البحث",
"description": ""
},
"translate": {
"message": "الترجمة",
"description": ""
},
"maps": {
"message": "الخرائط",
"description": ""
},
"sendFiles": {
"message": "إرسال الملفات",
"description": ""
},
"theme": {
"message": "السمة",
"description": "used in the settings page"
},
"system": {
"message": "النظام",
"description": "used in the settings page"
},
"light": {
"message": "فاتح",
"description": "used in the settings page"
},
"dark": {
"message": "داكن",
"description": "used in the settings page"
},
"autoRedirect": {
"message": "إعادة التوجيه تلقائياً من النظراء الذين لا يعملون",
"description": "used in the settings page"
},
"exceptions": {
"message": "الاستثناءات",
"description": "used in the settings page"
},
"updateInstances": {
"message": "تحديث قائمة النظراء",
"description": "used in the settings page"
},
"importSettings": {
"message": "استيراد الإعدادات",
"description": "used in the settings page"
},
"exportSettings": {
"message": "تصدير الإعدادات",
"description": "used in the settings page"
},
"resetSettings": {
"message": "إعادة تعيين الإعدادات",
"description": "used in the settings page"
},
"customPopup": {
"message": "تخصيص النافذة المنبثقة",
"description": "used in the settings page"
},
"enable": {
"message": "تفعيل",
"description": "used in the settings page"
},
"protocol": {
"message": "البروتوكول",
"description": "used in the settings page"
},
"normal": {
"message": "العادي",
"description": "used in the settings page"
},
"tor": {
"message": "تور",
"description": "used in the settings page"
},
"i2p": {
"message": "i2p",
"description": "used in the settings page"
},
"defaultInstances": {
"message": "النظراء الافتراضيين",
"description": "used in the settings page"
},
"customInstances": {
"message": "النظراء المخصصين",
"description": "used in the settings page"
},
"toggleAll": {
"message": "تبديل الكل",
"description": "used in the settings page"
},
"frontend": {
"message": "الواجهة الأمامية",
"description": "used in the settings page"
},
"notFullyPrivate": {
"message": "هذه الواجهة لا تحترم الخصوصية تماماً",
"description": "used in the settings page"
},
"instanceOffline": {
"message": "هذا النظير غير متصل بالإنترنت، سيتم إعادة توجيهك بعد ",
"description": "used in instance_offline.html"
},
"cancel": {
"message": "إلغاء",
"description": "used in instance_offline.html"
},
"instanceIsOff": {
"message": "النظير غير متصل على النت",
"description": "used in instance_offline.html"
},
"redirectionCanceled": {
"message": "تم إلغاء إعادة التوجيه",
"description": "used in instance_offline.html"
},
"testInstancesLatency": {
"message": "تجربة سرعة استجابة النظراء",
"description": "used in the settings page"
},
"redirectType": {
"message": "نوع التوجيه",
"description": "used in the settings page"
},
"both": {
"message": "الإثنين",
"description": "used in the settings page"
},
"onlyEmbedded": {
"message": "فقط المضمنة",
"description": "used in the settings page"
},
"onlyNotEmbedded": {
"message": "فقط الغير مضمنة",
"description": "used in the settings page"
},
"searchNote": {
"message": "ملاحظة: لاستعمال خاصية البحث بإماكنيتها الكاملة، اجعل LibRedirect محرك البحث الافتراضي في إعدادات متصفحك.",
"description": "used in the settings page"
}
}

View File

@ -3,554 +3,220 @@
"message": "LibRedirect",
"description": "name of the extension"
},
"extensionDescription": {
"message": "Eine Erweiterung, die beliebte Websites zu alternativen datenschutzfreundlichen Frontends und Backends weiterleitet.",
"description": "description of the extension"
},
"switchInstance": {
"message": "Instanz wechseln",
"description": "used in manifest.json as shortcut description"
},
"instance": {
"message": "Instanz",
"description": "used in popup.html"
},
"settings": {
"message": "Optionen",
"description": "used in popup.html"
},
"libOptions": {
"message": "LibRedirect-Optionen",
"description": "used in general.html"
},
"general": {
"message": "Allgemein",
"description": "used in general.html"
},
"search": {
"message": "Suche",
"description": "used in general.html"
},
"translate": {
"message": "Übersetzen",
"description": "used in general.html"
},
"maps": {
"message": "Karten",
"description": "used in general.html"
},
"sendFiles": {
"message": "Dateien senden",
"description": "used in general.html"
},
"youtube": {
"message": "YouTube",
"description": "used in general.html"
},
"instagram": {
"message": "Instagram",
"description": "used in general.html"
},
"twitter": {
"message": "Twitter",
"description": "used in general.html"
},
"reddit": {
"message": "Reddit",
"description": "used in general.html"
},
"tiktok": {
"message": "TikTok",
"description": "used in general.html"
},
"ytmusic": {
"message": "YT Music",
"description": "used in general.html"
},
"imgur": {
"message": "Imgur",
"description": "used in general.html"
},
"wikipedia": {
"message": "Wikipedia",
"description": "used in general.html"
},
"peertube": {
"message": "PeerTube",
"description": "used in general.html"
},
"medium": {
"message": "Medium",
"description": "used in general.html"
},
"tor": {
"message": "Tor",
"description": "used in imgur.html"
},
"theme": {
"message": "Thema",
"description": "used in general.html"
},
"system": {
"message": "System",
"description": "used in general.html"
},
"light": {
"message": "Hell",
"description": "used in general.html"
},
"dark": {
"message": "Dunkel",
"description": "used in general.html"
},
"applyTheme": {
"message": "Thema auf Seiten anwenden",
"description": "used in general.html"
},
"alwaysPref": {
"message": "Immer bevorzugte Instanzen verwenden",
"description": "used in general.html"
},
"autoRedirect": {
"message": "Instanzen automatisch weiterleiten, die offline sind",
"description": "used in general.html"
},
"exceptions": {
"message": "Ausnahmen",
"description": "used in general.html"
},
"updateInstances": {
"message": "Instanzen aktualisieren",
"description": "used in general.html"
},
"importSettings": {
"message": "Einstellungen importieren",
"description": "used in general.html"
},
"exportSettings": {
"message": "Einstellungen exportieren",
"description": "used in general.html"
},
"resetSettings": {
"message": "Einstellungen zurücksetzen",
"description": "used in general.html"
},
"customPopup": {
"message": "Popup personalisieren",
"description": "used in general.html"
},
"enable": {
"message": "Aktivieren",
"description": "used in imgur.html"
},
"protocol": {
"message": "Protokoll",
"description": "used in imgur.html"
},
"normal": {
"message": "Normal",
"description": "used in imgur.html"
},
"defaultInstances": {
"message": "Standard-Instanzen",
"description": "used in imgur.html"
},
"customInstances": {
"message": "Eigene Instanzen",
"description": "used in imgur.html"
},
"toggleAll": {
"message": "Alle umschalten",
"description": "used in utils.js"
},
"frontend": {
"message": "Frontend",
"description": "used in maps.html"
},
"notFullyPrivate": {
"message": "Das ist kein völlig privates Frontend.",
"description": ""
},
"oldReddit": {
"message": "Altes Reddit",
"description": "used in reddit.html"
},
"searchNote": {
"message": "Hinweis: Um das volle Potenzial der Suchweiterleitung auszunutzen, lege LibRedirect als Standardsuchmaschine fest.",
"description": "used in search.html"
},
"libSendFiles": {
"message": "LibRedirect: Dateien senden",
"description": "used in sendTargets.html"
},
"from": {
"message": "Von",
"description": "used in translate.html"
},
"to": {
"message": "Nach",
"description": "used in translate.html"
},
"default": {
"message": "Standard",
"description": "used in translate.html"
},
"auto": {
"message": "Auto",
"description": "used in translate.html"
},
"engine": {
"message": "Übersetzer",
"description": "used in translate.html"
},
"libTranslate": {
"message": "LibRedirect: Übersetzen",
"description": "used in translate.html"
},
"invidious": {
"message": "Invidious",
"description": "used in youtube.html"
},
"embeddedVids": {
"message": "Frontend für eingebettete Videos",
"description": "used in youtube.html"
},
"redirectType": {
"message": "Art der Weiterleitung",
"description": "used in youtube.html"
},
"both": {
"message": "beides",
"description": "used in youtube.html"
},
"onlyEmbedded": {
"message": "nur eingebettet",
"description": "used in youtube.html"
},
"onlyNotEmbedded": {
"message": "nur nicht-eingebunden",
"description": "used in youtube.html"
},
"enableCustom": {
"message": "Aktiviere benutzerdefinierte Einstellungen (verwendet Cookies und localStorage)",
"description": "used in youtube.html"
},
"autoplayVid": {
"message": "Video automatisch abspielen",
"description": "used in youtube.html"
},
"volume": {
"message": "Lautstärke: ",
"description": "used in youtube.html"
},
"playerStyle": {
"message": "Player-Stil",
"description": "used in youtube.html"
},
"alwaysLoop": {
"message": "Immer wiederholen",
"description": "used in youtube.html"
},
"playNext": {
"message": "Immer automatisch nächstes Video abspielen",
"description": "used in youtube.html"
},
"autoplayNext": {
"message": "Nächstes Video automatisch abspielen",
"description": "used in youtube.html"
},
"alwaysProxy": {
"message": "Videos immer durch Proxy leiten",
"description": "used in youtube.html"
},
"listenByDefault": {
"message": "Nur Ton als Standard",
"description": "used in youtube.html"
},
"defaultSpeed": {
"message": "Standardgeschwindigkeit",
"description": "used in youtube.html"
},
"prefQuality": {
"message": "Bevorzugte Videoqualität",
"description": "used in youtube.html"
},
"dash": {
"message": "DASH (automatische Qualität)",
"description": "used in youtube.html"
},
"prefDashQuality": {
"message": "Bevorzugte DASH-Videoqualität",
"description": "used in youtube.html"
},
"best": {
"message": "Höchste",
"description": "used in youtube.html"
},
"worst": {
"message": "Niedrigste",
"description": "used in youtube.html"
},
"defaultComments": {
"message": "Standardkommentare",
"description": "used in youtube.html"
},
"none": {
"message": "keine",
"description": "used in youtube.html"
},
"defaultCaptions": {
"message": "Standarduntertitel",
"description": "used in youtube.html"
},
"showRelated": {
"message": "Ähnliche Videos anzeigen",
"description": "used in youtube.html"
},
"showAnnotations": {
"message": "Anmerkungen standardmäßig anzeigen",
"description": "used in youtube.html"
},
"autoExtendDesc": {
"message": "Videobeschreibung automatisch erweitern",
"description": "used in youtube.html"
},
"interactive360": {
"message": "Interaktive 360-Grad-Videos (erfordert WebGL)",
"description": "used in youtube.html"
},
"savePlaybackPos": {
"message": "Wiedergabeposition speichern",
"description": "used in youtube.html"
},
"enableSponsorBlock": {
"message": "SponsorBlock einschalten",
"description": "used in youtube.html"
},
"skipSponsors": {
"message": "Sponsoren überspringen",
"description": "used in youtube.html"
},
"skipIntermission": {
"message": "Pausen-/Intro-Animation überspringen",
"description": "used in youtube.html"
},
"skipEndcards": {
"message": "Abspann überspringen",
"description": "used in youtube.html"
},
"skipPreview": {
"message": "Vorschau/Rückschau überspringen",
"description": "used in youtube.html"
},
"skipReminder": {
"message": "Interaktionserinnerung überspringen (Abonnieren)",
"description": "used in youtube.html"
},
"skipUnpaidPromo": {
"message": "Unbezahlte Werbung/Eigenwerbung überspringen",
"description": "used in youtube.html"
},
"skipMusic": {
"message": "Musik überspringen: Nicht-Musik-Bereich",
"description": "used in youtube.html"
},
"skipHighlight": {
"message": "Höhepunkt überspringen",
"description": "used in youtube.html"
},
"skipFiller": {
"message": "Lückenfüller überspringen",
"description": "used in youtube.html"
},
"audioOnly": {
"message": "Nur Audio",
"description": "used in youtube.html"
},
"defaultQuality": {
"message": "Standardqualität",
"description": "used in youtube.html"
},
"bufferingGoal": {
"message": "Pufferungsziel (in Sekunden)",
"description": "used in youtube.html"
},
"countrySelection": {
"message": "Länderauswahl",
"description": "used in youtube.html"
},
"defaultHomepage": {
"message": "Standard-Startseite",
"description": "used in youtube.html"
},
"trending": {
"message": "Trends",
"description": "used in youtube.html"
},
"feed": {
"message": "Abonnements",
"description": "used in youtube.html"
},
"showComments": {
"message": "Kommentare anzeigen",
"description": "used in youtube.html"
},
"minimizeDesc": {
"message": "Beschreibung standardmäßig minimieren",
"description": "used in youtube.html"
},
"storeHistory": {
"message": "Wiedergabeverlauf speichern",
"description": "used in youtube.html"
},
"enabledCodecs": {
"message": "Aktivierte Codecs (mehrere)",
"description": "used in youtube.html"
},
"disableLBRY": {
"message": "LBRY für Streaming deaktivieren",
"description": "used in youtube.html"
},
"enableProxyLBRY": {
"message": "Proxy für LBRY einschalten",
"description": "used in youtube.html"
},
"proxyLBRY": {
"message": "LBRY-Videos durch Proxy leiten",
"description": "used in youtube.html"
},
"skipNote": {
"message": "Springe zum letzten Wiedergabezeitpunkt bei bereits angesehenen Videos",
"description": "used in youtube.html"
},
"embedExceptions": {
"message": "Ausnahmen einbetten",
"description": "used in youtube.html"
},
"sec": {
"message": "Sekunden",
"description": "used in instance_offline.html"
},
"cancel": {
"message": "Abbrechen",
"description": "used in instance_offline.html"
},
"instanceIsOff": {
"message": "Instanz ist offline",
"description": "used in instance_offline.html"
},
"redirectionCanceled": {
"message": "Weiterleitung abgebrochen",
"description": "used in instance_offline.js"
},
"copyRaw": {
"message": "",
"description": ""
},
"copied": {
"message": "",
"description": ""
},
"unifySettings": {
"message": "",
"description": ""
},
"unified": {
"message": "",
"description": ""
},
"lbry": {
"message": "",
"description": ""
},
"i2p": {
"message": "",
"description": ""
},
"instanceOffline": {
"message": "",
"description": ""
},
"testInstancesLatency": {
"message": "",
"description": ""
}
}
}

View File

@ -3,554 +3,220 @@
"message": "LibRedirect",
"description": "name of the extension"
},
"extensionDescription": {
"message": "A web extension that redirects popular sites to alternative privacy-friendly frontends and backends",
"description": "description of the extension"
},
"switchInstance": {
"message": "Switch Instance",
"description": "used in manifest.json as shortcut description"
},
"instance": {
"message": "Instance",
"description": "used in popup.html"
},
"settings": {
"message": "Settings",
"description": "used in popup.html"
},
"libOptions": {
"message": "LibRedirect Options",
"description": "used in general.html"
},
"general": {
"message": "General",
"description": "used in general.html"
},
"search": {
"message": "Search",
"description": "used in general.html"
},
"translate": {
"message": "Translate",
"description": "used in general.html"
},
"maps": {
"message": "Maps",
"description": "used in general.html"
},
"sendFiles": {
"message": "Send Files",
"description": "used in general.html"
},
"youtube": {
"message": "YouTube",
"description": "used in general.html"
},
"instagram": {
"message": "Instagram",
"description": "used in general.html"
},
"twitter": {
"message": "Twitter",
"description": "used in general.html"
},
"reddit": {
"message": "Reddit",
"description": "used in general.html"
},
"tiktok": {
"message": "TikTok",
"description": "used in general.html"
},
"ytmusic": {
"message": "YT Music",
"description": "used in general.html"
},
"imgur": {
"message": "Imgur",
"description": "used in general.html"
},
"wikipedia": {
"message": "Wikipedia",
"description": "used in general.html"
},
"peertube": {
"message": "PeerTube",
"description": "used in general.html"
},
"medium": {
"message": "Medium",
"description": "used in general.html"
},
"tor": {
"message": "Tor",
"description": "used in imgur.html"
},
"theme": {
"message": "Theme",
"description": "used in general.html"
},
"system": {
"message": "System",
"description": "used in general.html"
},
"light": {
"message": "Light",
"description": "used in general.html"
},
"dark": {
"message": "Dark",
"description": "used in general.html"
},
"alwaysPref": {
"message": "Always use Preferred Instances",
"description": "used in general.html"
},
"autoRedirect": {
"message": "Auto Redirect of offline instances",
"description": "used in general.html"
},
"exceptions": {
"message": "Exceptions",
"description": "used in general.html"
},
"updateInstances": {
"message": "Update Instances",
"description": "used in general.html"
},
"importSettings": {
"message": "Import Settings",
"description": "used in general.html"
},
"exportSettings": {
"message": "Export Settings",
"description": "used in general.html"
},
"resetSettings": {
"message": "Reset Settings",
"description": "used in general.html"
},
"customPopup": {
"message": "Customize Popup",
"description": "used in general.html"
},
"enable": {
"message": "Enable",
"description": "used in imgur.html"
},
"protocol": {
"message": "Protocol",
"description": "used in imgur.html"
},
"normal": {
"message": "Normal",
"description": "used in imgur.html"
},
"defaultInstances": {
"message": "Default Instances",
"description": "used in imgur.html"
},
"customInstances": {
"message": "Custom Instances",
"description": "used in imgur.html"
},
"toggleAll": {
"message": "Toggle all",
"description": "used in utils.js"
},
"frontend": {
"message": "Frontend",
"description": "used in maps.html"
},
"notFullyPrivate": {
"message": "This isn't a fully private frontend.",
"description": ""
},
"oldReddit": {
"message": "Old Reddit",
"description": "used in reddit.html"
},
"searchNote": {
"message": "Note: To use Search to its full potential, make LibRedirect as the Default Search Engine",
"description": "used in search.html"
},
"libSendFiles": {
"message": "LibRedirect: Send Files",
"description": "used in sendTargets.html"
},
"from": {
"message": "From",
"description": "used in translate.html"
},
"to": {
"message": "To",
"description": "used in translate.html"
},
"default": {
"message": "Default",
"description": "used in translate.html"
},
"auto": {
"message": "Auto",
"description": "used in translate.html"
},
"engine": {
"message": "Engine",
"description": "used in translate.html"
},
"libTranslate": {
"message": "LibRedirect: Translate",
"description": "used in translate.html"
},
"invidious": {
"message": "Invidious",
"description": "used in youtube.html"
},
"embeddedVids": {
"message": "Embedded Videos Frontend",
"description": "used in youtube.html"
},
"redirectType": {
"message": "Redirect Type",
"description": "used in youtube.html"
},
"both": {
"message": "both",
"description": "used in youtube.html"
},
"onlyEmbedded": {
"message": "only embedded",
"description": "used in youtube.html"
},
"onlyNotEmbedded": {
"message": "only not embedded",
"description": "used in youtube.html"
},
"enableCustom": {
"message": "Enable Custom Settings (will use cookies and localStorage)",
"description": "used in youtube.html"
},
"autoplayVid": {
"message": "Autoplay Video",
"description": "used in youtube.html"
},
"volume": {
"message": "Volume: ",
"description": "used in youtube.html"
},
"playerStyle": {
"message": "Player Style",
"description": "used in youtube.html"
},
"alwaysLoop": {
"message": "Always loop",
"description": "used in youtube.html"
},
"playNext": {
"message": "Play next by default",
"description": "used in youtube.html"
},
"autoplayNext": {
"message": "Autoplay next video",
"description": "used in youtube.html"
},
"alwaysProxy": {
"message": "Always proxy videos",
"description": "used in youtube.html"
},
"listenByDefault": {
"message": "Listen by default",
"description": "used in youtube.html"
},
"defaultSpeed": {
"message": "Default speed",
"description": "used in youtube.html"
},
"prefQuality": {
"message": "Preferred video quality",
"description": "used in youtube.html"
},
"dash": {
"message": "DASH (adaptive quality)",
"description": "used in youtube.html"
},
"prefDashQuality": {
"message": "Preferred DASH video quality",
"description": "used in youtube.html"
},
"best": {
"message": "Best",
"description": "used in youtube.html"
},
"worst": {
"message": "Worst",
"description": "used in youtube.html"
},
"defaultComments": {
"message": "Default comments",
"description": "used in youtube.html"
},
"none": {
"message": "None",
"description": "used in youtube.html"
},
"defaultCaptions": {
"message": "Default captions",
"description": "used in youtube.html"
},
"showRelated": {
"message": "Show related videos",
"description": "used in youtube.html"
},
"showAnnotations": {
"message": "Show annotations by default",
"description": "used in youtube.html"
},
"autoExtendDesc": {
"message": "Automatically extend video description",
"description": "used in youtube.html"
},
"interactive360": {
"message": "Interactive 360 degree videos (requires WebGL)",
"description": "used in youtube.html"
},
"savePlaybackPos": {
"message": "Save playback position",
"description": "used in youtube.html"
},
"enableSponsorBlock": {
"message": "Enable SponsorBlock",
"description": "used in youtube.html"
},
"skipSponsors": {
"message": "Skip sponsors",
"description": "used in youtube.html"
},
"skipIntermission": {
"message": "Skip Intermission/Intro Animation",
"description": "used in youtube.html"
},
"skipEndcards": {
"message": "Skip Endcards/Credits",
"description": "used in youtube.html"
},
"skipPreview": {
"message": "Skip Preview/Recap",
"description": "used in youtube.html"
},
"skipReminder": {
"message": "Skip interaction reminder (subscribe)",
"description": "used in youtube.html"
},
"skipUnpaidPromo": {
"message": "Skip Unpaid/Self Promotion",
"description": "used in youtube.html"
},
"skipMusic": {
"message": "Skip Music: Non-Music Section",
"description": "used in youtube.html"
},
"skipHighlight": {
"message": "Skip Highlight",
"description": "used in youtube.html"
},
"skipFiller": {
"message": "Skip Filler Tangent",
"description": "used in youtube.html"
},
"audioOnly": {
"message": "Audio only",
"description": "used in youtube.html"
},
"defaultQuality": {
"message": "Default quality",
"description": "used in youtube.html"
},
"bufferingGoal": {
"message": "Buffering Goal (in seconds)",
"description": "used in youtube.html"
},
"countrySelection": {
"message": "Country selection",
"description": "used in youtube.html"
},
"defaultHomepage": {
"message": "Default homepage",
"description": "used in youtube.html"
},
"trending": {
"message": "Trending",
"description": "used in youtube.html"
},
"feed": {
"message": "Feed",
"description": "used in youtube.html"
},
"showComments": {
"message": "Show comments",
"description": "used in youtube.html"
},
"minimizeDesc": {
"message": "Minimize description by default",
"description": "used in youtube.html"
},
"storeHistory": {
"message": "Store watch history",
"description": "used in youtube.html"
},
"enabledCodecs": {
"message": "Enabled codecs (multiple)",
"description": "used in youtube.html"
},
"disableLBRY": {
"message": "Disable LBRY for streaming",
"description": "used in youtube.html"
},
"enableProxyLBRY": {
"message": "Enable proxy for LBRY",
"description": "used in youtube.html"
},
"proxyLBRY": {
"message": "Proxy LBRY videos",
"description": "used in youtube.html"
},
"skipNote": {
"message": "Skip to the last watched point when encountering a video already seen",
"description": "used in youtube.html"
},
"embedExceptions": {
"message": "Embed exceptions",
"description": "used in youtube.html"
},
"instanceOffline": {
"message": "This instance is offline, you'll be redirected after ",
"description": "used in instance_offline.html"
},
"sec": {
"message": "seconds",
"description": "used in instance_offline.html"
},
"cancel": {
"message": "Cancel",
"description": "used in instance_offline.html"
},
"instanceIsOff": {
"message": "Instance is offline",
"description": "used in instance_offline.html"
},
"redirectionCanceled": {
"message": "Redirection canceled",
"description": "used in instance_offline.js"
},
"copyRaw": {
"message": "Copy Raw",
"description": ""
},
"copied": {
"message": "Copied",
"description": ""
},
"unifySettings": {
"message": "Unify Settings",
"description": ""
},
"unified": {
"message": "Unified",
"description": ""
},
"lbry": {
"message": "LBRY",
"description": ""
},
"i2p": {
"message": "I2P",
"description": ""
},
"testInstancesLatency": {
"message": "Test Instances Latency",
"description": ""
}
}
}

43
src/_locales/filter.py Normal file
View File

@ -0,0 +1,43 @@
import requests
import json
from urllib.parse import urlparse
from bs4 import BeautifulSoup
import re
from colorama import Fore, Back, Style
from urllib.parse import urlparse
import socket
import subprocess
ar_json = {}
with open('ar/messages.json') as data:
ar_json = json.load(data)
en_json = {}
with open('en/messages.json') as data:
en_json = json.load(data)
remove_keys = []
for item in en_json.keys():
if item not in ar_json.keys():
remove_keys.append(item)
for item in remove_keys:
en_json.pop(item)
add_keys = []
for item in ar_json.keys():
if item not in en_json.keys():
print(item)
add_keys.append(item)
for item in add_keys:
en_json[item] = {
"message": "",
"description": ""
}
with open('en/messages.json', 'w') as outfile:
outfile.write(json.dumps(en_json, ensure_ascii=False, indent=2))

View File

@ -1,39 +1,31 @@
window.browser = window.browser || window.chrome;
function getMessage(tag) {
return tag.replace(/__MSG_(\w+)__/g, function (_match, v1) {
return v1 ? browser.i18n.getMessage(v1) : null;
});
}
function localisePage() {
let elements = document.querySelectorAll("[data-localise]");
function getMessage(tag) {
return tag.replace(/__MSG_(\w+)__/g, (_match, v1) => {
return v1 ? browser.i18n.getMessage(v1) : null;
});
}
const elements = document.querySelectorAll("[data-localise]");
for (let i in elements)
if (elements.hasOwnProperty(i)) {
let obj = elements[i];
let tag = obj.getAttribute("data-localise").toString();
let msg = getMessage(tag);
const obj = elements[i];
const tag = obj.getAttribute("data-localise").toString();
const msg = getMessage(tag);
if (msg && msg !== tag) obj.textContent = msg;
}
let placeholders = document.querySelectorAll("[data-localise-placeholder]");
const placeholders = document.querySelectorAll("[data-localise-placeholder]");
for (let i in placeholders)
if (placeholders.hasOwnProperty(i)) {
let obj = placeholders[i];
let tag = obj.getAttribute("data-localise-placeholder").toString();
let msg = getMessage(tag);
const obj = placeholders[i];
const tag = obj.getAttribute("data-localise-placeholder").toString();
const msg = getMessage(tag);
if (msg && msg !== tag) obj.placeholder = msg;
}
}
localisePage();
export default {
localisePage
}

View File

@ -109,7 +109,7 @@ function initLingvaLocalStorage(test, url, tabId) {
if (!test) {
browser.tabs.executeScript(
tabId,
{ file: "/assets/javascripts/helpers/translate/get_lingva_preferences.js", runAt: "document_start" }
{ file: "/assets/javascripts/translate/get_lingva_preferences.js", runAt: "document_start" }
);
let checkedInstances;
@ -121,7 +121,7 @@ function initLingvaLocalStorage(test, url, tabId) {
for (const to of checkedInstances)
browser.tabs.create(
{ url: to },
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/translate/set_lingva_preferences.js", runAt: "document_start" })
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/translate/set_lingva_preferences.js", runAt: "document_start" })
);
}
resolve(true);

View File

@ -106,7 +106,7 @@ function reverse(url) {
return new Promise(async resolve => {
await init();
const protocolHost = utils.protocolHost(url);
if (!all().includes(protocolHost)) { resolve; return; }
if (!all().includes(protocolHost)) { resolve(); return; }
resolve(`https://twitter.com${url.pathname}${url.search}`);
})
}

View File

@ -12,7 +12,7 @@ import lbryHelper from "./lbry.js";
import sendTargetsHelper from "./sendTargets.js";
import tiktokHelper from "./tiktok.js";
import imgurHelper from "./imgur.js";
import localise from '../localise.js'
import localise from './localise.js'
function getRandomInstance(instances) {
return instances[~~(instances.length * Math.random())];
@ -209,10 +209,6 @@ async function processDefaultCustomInstances(target, name, protocol, document) {
})
}
function isRtl() {
return ["ar", "iw", "ku", "fa", "ur"].includes(browser.i18n.getUILanguage())
}
function getIp(href) {
return new Promise(resolve => {
let host = new URL(href).hostname;
@ -315,6 +311,7 @@ function copyRaw(test, copyRawElement) {
let url;
try { url = new URL(currTab.url); }
catch { resolve(); return; }
let newUrl = await youtubeHelper.reverse(url);
if (!newUrl) newUrl = await twitterHelper.reverse(url);
if (!newUrl) newUrl = await instagramHelper.reverse(url);
@ -328,7 +325,7 @@ function copyRaw(test, copyRawElement) {
if (copyRawElement) {
const textElement = copyRawElement.getElementsByTagName('h4')[0]
const oldHtml = textElement.innerHTML;
textElement.innerHTML = 'Copied';
textElement.innerHTML = browser.i18n.getMessage('copied');
setTimeout(() => textElement.innerHTML = oldHtml, 1000);
}
} else resolve()
@ -446,7 +443,6 @@ export default {
updateInstances,
protocolHost,
processDefaultCustomInstances,
isRtl,
latency,
copyCookie,
getCookiesFromStorage,

View File

@ -231,9 +231,7 @@ function reverse(url) {
return new Promise(async resolve => {
await init();
const protocolHost = utils.protocolHost(url);
const instances = all();
if (!instances.includes(protocolHost)) { resolve(); return; }
if (!all().includes(protocolHost)) { resolve(); return; }
resolve(`https://youtube.com${url.pathname}${url.search}`);
})
}
@ -378,7 +376,7 @@ function initPipedLocalStorage(test, url, tabId) {
if (!test) {
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_piped_preferences.js", runAt: "document_start" });
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_piped_preferences.js", runAt: "document_start" });
let checkedInstances;
if (youtubeProtocol == 'normal') checkedInstances = [...pipedNormalCustomRedirects, ...pipedNormalRedirectsChecks]
@ -387,7 +385,7 @@ function initPipedLocalStorage(test, url, tabId) {
if (i !== -1) checkedInstances.splice(i, 1);
for (const to of checkedInstances) {
browser.tabs.create({ url: to },
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_piped_preferences.js", runAt: "document_start" }))
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/youtube/set_piped_preferences.js", runAt: "document_start" }))
}
}
resolve(true);
@ -407,7 +405,7 @@ function initPipedMaterialLocalStorage(test, url, tabId,) {
].includes(protocolHost)) { resolve(); return; }
if (!test) {
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/helpers/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" });
browser.tabs.executeScript(tabId, { file: "/assets/javascripts/youtube/get_pipedMaterial_preferences.js", runAt: "document_start" });
let checkedInstances;
if (youtubeProtocol == 'normal') checkedInstances = [...pipedMaterialNormalRedirectsChecks, ...pipedMaterialNormalCustomRedirects]
@ -417,7 +415,7 @@ function initPipedMaterialLocalStorage(test, url, tabId,) {
for (const to of checkedInstances)
browser.tabs.create(
{ url: to },
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/helpers/youtube/set_pipedMaterial_preferences.js", runAt: "document_start" })
tab => browser.tabs.executeScript(tab.id, { file: "/assets/javascripts/youtube/set_pipedMaterial_preferences.js", runAt: "document_start" })
);
}
resolve(true);

View File

@ -40,7 +40,7 @@
}
},
"options_ui": {
"page": "pages/options/general/general.html",
"page": "pages/options/index.html",
"browser_style": false,
"open_in_tab": true
},

View File

@ -1,23 +1,23 @@
"use strict";
import generalHelper from "../../assets/javascripts/helpers/general.js";
import utils from "../../assets/javascripts/helpers/utils.js";
import generalHelper from "../../assets/javascripts/general.js";
import utils from "../../assets/javascripts/utils.js";
import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js";
import youtubeMusicHelper from "../../assets/javascripts/helpers/youtubeMusic.js";
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import instagramHelper from "../../assets/javascripts/helpers/instagram.js";
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
import searchHelper from "../../assets/javascripts/helpers/search.js";
import translateHelper from "../../assets/javascripts/helpers/translate/translate.js";
import mapsHelper from "../../assets/javascripts/helpers/maps.js";
import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
import mediumHelper from "../../assets/javascripts/helpers/medium.js";
import imgurHelper from "../../assets/javascripts/helpers/imgur.js";
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
import sendTargetsHelper from "../../assets/javascripts/helpers/sendTargets.js";
import peertubeHelper from "../../assets/javascripts/helpers/peertube.js";
import lbryHelper from "../../assets/javascripts/helpers/lbry.js";
import youtubeHelper from "../../assets/javascripts/youtube/youtube.js";
import youtubeMusicHelper from "../../assets/javascripts/youtubeMusic.js";
import twitterHelper from "../../assets/javascripts/twitter.js";
import instagramHelper from "../../assets/javascripts/instagram.js";
import redditHelper from "../../assets/javascripts/reddit.js";
import searchHelper from "../../assets/javascripts/search.js";
import translateHelper from "../../assets/javascripts/translate/translate.js";
import mapsHelper from "../../assets/javascripts/maps.js";
import wikipediaHelper from "../../assets/javascripts/wikipedia.js";
import mediumHelper from "../../assets/javascripts/medium.js";
import imgurHelper from "../../assets/javascripts/imgur.js";
import tiktokHelper from "../../assets/javascripts/tiktok.js";
import sendTargetsHelper from "../../assets/javascripts/sendTargets.js";
import peertubeHelper from "../../assets/javascripts/peertube.js";
import lbryHelper from "../../assets/javascripts/lbry.js";
window.browser = window.browser || window.chrome;

View File

@ -1,10 +1,10 @@
import youtubeHelper from "../../assets/javascripts/helpers/youtube/youtube.js";
import twitterHelper from "../../assets/javascripts/helpers/twitter.js";
import redditHelper from "../../assets/javascripts/helpers/reddit.js";
import searchHelper from "../../assets/javascripts/helpers/search.js";
import translateHelper from "../../assets/javascripts/helpers/translate/translate.js";
import wikipediaHelper from "../../assets/javascripts/helpers/wikipedia.js";
import tiktokHelper from "../../assets/javascripts/helpers/tiktok.js";
import youtubeHelper from "../../assets/javascripts/youtube/youtube.js";
import twitterHelper from "../../assets/javascripts/twitter.js";
import redditHelper from "../../assets/javascripts/reddit.js";
import searchHelper from "../../assets/javascripts/search.js";
import translateHelper from "../../assets/javascripts/translate/translate.js";
import wikipediaHelper from "../../assets/javascripts/wikipedia.js";
import tiktokHelper from "../../assets/javascripts/tiktok.js";
window.browser = window.browser || window.chrome;

View File

@ -1,207 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>General</title>
</head>
</html>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a class="selected" href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>General</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_theme__">Theme</h4>
<select id="theme">
<option value="DEFAULT" data-localise="__MSG_system__">System</option>
<option value="light" data-localise="__MSG_light__">Light</option>
<option value="dark" data-localise="__MSG_dark__">Dark</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_autoRedirect__">Auto Redirect of offline instances</h4>
<input id="auto-redirect" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_exceptions__">Exceptions</h4>
</div>
<form id="custom-exceptions-instance-form">
<div class="some-block option-block">
<div class="some-block" style="padding:0;">
<input id="exceptions-custom-instance" placeholder="https://www.google.com" type="url">&nbsp;
<select id="exceptions-custom-instance-type">
<option value="url">URL</option>
<option value="regex">Regex</option>
</select>&nbsp;
</div>
<button class="add" id="exceptions-add-instance" type="submit">
<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist" id="exceptions-custom-checklist"></div>
<div class="buttons buttons-inline"><a class="button button-inline" id="update-instances">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z"></path>
</svg>
<x data-localise="__MSG_updateInstances__">Update Instances</x></a>&nbsp; &nbsp;
<label class="button button-inline" id="import_settings_text" for="import-settings">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_importSettings__">Import Settings</x>
</label>
<input class="button button-inline" id="import-settings" type="file" style="display:none;">&nbsp; &nbsp;<a class="button button-inline" id="export-settings">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z"></path>
</svg>&nbsp;
<x data-localise="__MSG_exportSettings__">Export Settings</x></a>&nbsp; &nbsp;<a class="button button-inline" id="reset-settings">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z"></path>
<path d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z"></path>
</svg>
<x data-localise="__MSG_resetSettings__">Reset Settings</x></a>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customPopup__">Customize Popup</h4>
</div>
<div class="checklist-popup" id="popup-frontends-checklist">
<div>
<div><img src="../../../assets/images/youtube-icon.png">YouTube</div>
<input id="youtube" type="checkbox">
</div>
<div>
<div><img src="../../../assets/images/youtube-music-icon.png">YoutubeMusic</div>
<input id="youtubeMusic" type="checkbox">
</div>
<div>
<div><img src="../../../assets/images/twitter-icon.png">Twitter</div>
<input id="twitter" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/instagram-icon.png">Instagram</div>
<input id="instagram" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/tiktok-icon.png">TikTok</div>
<input id="tikTok" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/imgur-icon.png">Imgur</div>
<input id="imgur" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/reddit-icon.png">Reddit</div>
<input id="reddit" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg>Search
</div>
<input id="search" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg>Translate
</div>
<input id="translate" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg>Maps
</div>
<input id="maps" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/wikipedia-icon.svg">Wikipedia</div>
<input id="wikipedia" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg>Medium
</div>
<input id="medium" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/peertube-icon.svg">PeerTube</div>
<input id="peertube" type="checkbox">
</div>
<div>
<div> <img src="../../../assets/images/lbry-icon.png">LBRY/Odysee</div>
<input id="lbry" type="checkbox">
</div>
<div>
<div>
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg>Send Files
</div>
<input id="sendTargets" type="checkbox">
</div>
</div>
<script type="module" src="../init.js"></script>
<script type="module" src="./general.js"></script>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
</section>
</body>

View File

@ -1,176 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title General
body.option(dir="auto")
include ../../widgets/links.pug
+links('general')
section.option-block
.some-block.option-block
h1 General
hr
.some-block.option-block
h4(data-localise="__MSG_theme__") Theme
select#theme
option(value="DEFAULT" data-localise="__MSG_system__") System
option(value="light" data-localise="__MSG_light__") Light
option(value="dark" data-localise="__MSG_dark__") Dark
.some-block.option-block
h4(data-localise="__MSG_autoRedirect__") Auto Redirect of offline instances
input#auto-redirect(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_exceptions__") Exceptions
form#custom-exceptions-instance-form
.some-block.option-block
.some-block(style="padding:0;")
input#exceptions-custom-instance(placeholder="https://www.google.com" type="url")
|&nbsp;
select#exceptions-custom-instance-type
option(value="url") URL
option(value="regex") Regex
|&nbsp;
button#exceptions-add-instance.add(type="submit")
svg(xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor")
path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z")
#exceptions-custom-checklist.checklist
.buttons.buttons-inline
a#update-instances.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z")
x(data-localise="__MSG_updateInstances__") Update Instances
|&nbsp; &nbsp;
label#import_settings_text.button.button-inline(for="import-settings")
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z")
|&nbsp;
x(data-localise="__MSG_importSettings__") Import Settings
input#import-settings.button.button-inline(type="file" style="display:none;")
|&nbsp; &nbsp;
a#export-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z")
|&nbsp;
x(data-localise="__MSG_exportSettings__") Export Settings
|&nbsp; &nbsp;
a#reset-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z")
path(d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z")
x(data-localise="__MSG_resetSettings__") Reset Settings
hr
.some-block.option-block
h4(data-localise="__MSG_customPopup__") Customize Popup
#popup-frontends-checklist.checklist-popup
div
div
img(src="../../../assets/images/youtube-icon.png")
|YouTube
input#youtube(type="checkbox")
div
div
img(src="../../../assets/images/youtube-music-icon.png")
|YoutubeMusic
input#youtubeMusic(type="checkbox")
div
div
img(src="../../../assets/images/twitter-icon.png")
|Twitter
input#twitter(type="checkbox")
div
div
img(src="../../../assets/images/instagram-icon.png")
|Instagram
input#instagram(type="checkbox")
div
div
img(src="../../../assets/images/tiktok-icon.png")
|TikTok
input#tikTok(type="checkbox")
div
div
img(src="../../../assets/images/imgur-icon.png")
|Imgur
input#imgur(type="checkbox")
div
div
img(src="../../../assets/images/reddit-icon.png")
|Reddit
input#reddit(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z")
|Search
input#search(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z")
|Translate
input#translate(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z")
|Maps
input#maps(type="checkbox")
div
div
img(src="../../../assets/images/wikipedia-icon.svg")
|Wikipedia
input#wikipedia(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor")
circle(cx="500" cy="500" r="500")
ellipse(ry="475" rx="250" cy="501" cx="1296")
ellipse(cx="1682" cy="502" rx="88" ry="424")
|Medium
input#medium(type="checkbox")
div
div
img(src="../../../assets/images/peertube-icon.svg")
|PeerTube
input#peertube(type="checkbox")
div
div
img(src="../../../assets/images/lbry-icon.png")
|LBRY/Odysee
input#lbry(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z")
|Send Files
input#sendTargets(type="checkbox")
script(type="module" src="../init.js")
script(type="module" src="./general.js")
script(type="module" src="../../../assets/javascripts/localise.js")

View File

@ -1,150 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Imgur</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a class="selected" href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Imgur</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-imgur" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
<option value="i2p" data-localise="__MSG_i2p__">I2P</option>
</select>
</div>
<div id="rimgo">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://rimgo.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://rimgo.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
<div class="i2p">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://rimgo.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./imgur.js"></script>
</body>

View File

@ -1,44 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Imgur
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('imgur')
section.option-block
.some-block.option-block
h1 Imgur
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-imgur(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
#rimgo
hr
.normal
include ../../widgets/instances.pug
+instances('https://rimgo.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
script(type="module" src="../init.js")
script(type="module" src="./imgur.js")

1712
src/pages/options/index.html Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,24 @@
for (const a of document.getElementById('links').getElementsByTagName('a')) {
a.addEventListener('click', e => {
const path = a.getAttribute('href').replace('#', '');
loadPage(path);
e.preventDefault();
})
}
function loadPage(path) {
for (const section of document.getElementById('pages').getElementsByTagName('section'))
section.style.display = 'none';
document.getElementById(`${path}_page`).style.display = 'block';
for (const a of document.getElementById('links').getElementsByTagName('a'))
if (a.getAttribute('href') == `#${path}`) a.classList.add('selected')
else a.classList.remove('selected')
let stateObj = { id: "100" };
window.history.pushState(stateObj, "Page 2", `/pages/options/index.html#${path}`);
}
const r = window.location.href.match(/#(.*)/)
if (r) loadPage(r[1]);
else loadPage('general');

View File

@ -0,0 +1,32 @@
doctype html
html#elementToShowWithJavaScript(lang="en")
head
meta(charset='utf-8')
meta(name="viewport" content="width=device-width, initial-scale=1")
link(rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg")
link(href="../stylesheets/styles.css" rel="stylesheet")
title General
script(type="module" src="./init.js")
body.option(dir="auto")
include ../widgets/links.pug
+links('general')
div#pages
include ./widgets/general.pug
include ./widgets/youtube.pug
include ./widgets/youtubeMusic.pug
include ./widgets/twitter.pug
include ./widgets/instagram.pug
include ./widgets/tiktok.pug
include ./widgets/reddit.pug
include ./widgets/imgur.pug
include ./widgets/wikipedia.pug
include ./widgets/medium.pug
include ./widgets/peertube.pug
include ./widgets/lbry.pug
include ./widgets/search.pug
include ./widgets/translate.pug
include ./widgets/maps.pug
include ./widgets/sendTargets.pug
script(type="module" src="./index.js")

View File

@ -1,36 +1,38 @@
window.browser = window.browser || window.chrome;
import utils from "../../assets/javascripts/helpers/utils.js";
import localise from "../../assets/javascripts/localise.js";
function changeTheme() {
browser.storage.local.get(
"theme",
result => {
switch (result.theme) {
case "dark":
document.body.classList.add("dark-theme");
document.body.classList.remove("light-theme");
break;
case "light":
document.body.classList.add("light-theme");
document.body.classList.remove("dark-theme");
break;
default:
if (matchMedia("(prefers-color-scheme: light)").matches) {
document.body.classList.add("light-theme");
document.body.classList.remove("dark-theme");
} else {
return new Promise(resolve => {
browser.storage.local.get(
"theme",
r => {
switch (r.theme) {
case "dark":
document.body.classList.add("dark-theme");
document.body.classList.remove("light-theme");
}
break;
case "light":
document.body.classList.add("light-theme");
document.body.classList.remove("dark-theme");
break;
default:
if (matchMedia("(prefers-color-scheme: light)").matches) {
document.body.classList.add("light-theme");
document.body.classList.remove("dark-theme");
} else {
document.body.classList.add("dark-theme");
document.body.classList.remove("light-theme");
}
}
resolve();
}
}
)
)
})
}
changeTheme()
changeTheme();
if (["ar", "iw", "ku", "fa", "ur"].includes(browser.i18n.getUILanguage())) document.getElementsByTagName("body")[0].classList.add("rtl");
localise.localisePage();
browser.storage.onChanged.addListener(changeTheme)
window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", changeTheme)
if (utils.isRtl()) document.getElementsByTagName("body")[0].classList.add("rtl");
window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change", changeTheme)

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Instagram</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a class="selected" href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Instagram</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-bibliogram" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="bibliogram">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://bibliogram.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://bibliogram.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./instagram.js"></script>
</body>

View File

@ -1,37 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Instagram
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('instagram')
section.option-block
.some-block.option-block
h1 Instagram
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-bibliogram(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#bibliogram
hr
.normal
include ../../widgets/instances.pug
+instances('https://bibliogram.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://bibliogram.onion')
script(type="module" src="../init.js")
script(type="module" src="./instagram.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>LBRY/Odysee</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a class="selected" href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>LBRY/Odysee</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-lbry" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="librarian">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://librarian.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://librarian.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./lbry.js"></script>
</body>

View File

@ -1,36 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title LBRY/Odysee
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('lbry')
section.option-block
.some-block.option-block
h1 LBRY/Odysee
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-lbry(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#librarian
hr
.normal
include ../../widgets/instances.pug
+instances('https://librarian.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://librarian.onion')
script(type="module" src="../init.js")
script(type="module" src="./lbry.js")

View File

@ -1,107 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Maps</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a class="selected" href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Maps</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-osm" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_frontend__">Frontend</h4>
<select id="maps-frontend">
<option value="osm">OpenStreetMap</option>
<option value="facil">Facil Map</option>
</select>
</div>
<div id="facil">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://facilmap.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./maps.js"></script>
</body>

View File

@ -1,33 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Maps
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('maps')
section.option-block
.some-block.option-block
h1 Maps
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-osm(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#maps-frontend
option(value="osm") OpenStreetMap
option(value="facil") Facil Map
#facil
hr
.normal
include ../../widgets/instances.pug
+instances('https://facilmap.com')
include ../../widgets/latency.pug
+latency()
script(type="module" src="../init.js")
script(type="module" src="./maps.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Medium</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a class="selected" href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Medium</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-medium" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="scribe">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://scribe.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://scribe.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./medium.js"></script>
</body>

View File

@ -1,36 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Medium
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('medium')
section.option-block
.some-block.option-block
h1 Medium
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-medium(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#scribe
hr
.normal
include ../../widgets/instances.pug
+instances('https://scribe.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://scribe.onion')
script(type="module" src="../init.js")
script(type="module" src="./medium.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>PeerTube</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a class="selected" href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>PeerTube</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-peertube" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="simpleertube">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://simpleertube.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://simpleertube.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./peertube.js"></script>
</body>

View File

@ -1,36 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title PeerTube
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('peertube')
section.option-block
.some-block.option-block
h1 PeerTube
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-peertube(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#simpleertube
hr
.normal
include ../../widgets/instances.pug
+instances('https://simpleertube.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://simpleertube.onion')
script(type="module" src="../init.js")
script(type="module" src="./peertube.js")

View File

@ -1,187 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Reddit</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a class="selected" href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Reddit</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-reddit" type="checkbox">
</div>
<div class="some-block option-block">
<h4 id="frontend" data-localise="__MSG_frontend__">Frontend</h4>
<select id="reddit-frontend">
<option value="libreddit">Libreddit</option>
<option value="teddit">Teddit</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="libreddit">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://libreddit.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-libreddit-label" for="latency-libreddit">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-libreddit" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://libreddit.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="teddit">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://teddit.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-teddit-label" for="latency-teddit">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-teddit" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://teddit.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./reddit.js"></script>
</body>

View File

@ -1,52 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Reddit
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('reddit')
section.option-block
.some-block.option-block
h1 Reddit
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-reddit(type="checkbox")
.some-block.option-block
h4#frontend(data-localise="__MSG_frontend__") Frontend
select#reddit-frontend
option(value="libreddit") Libreddit
option(value="teddit") Teddit
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#libreddit
hr
.normal
include ../../widgets/instances.pug
+instances('https://libreddit.com')
include ../../widgets/latency.pug
+latency('libreddit')
.tor
include ../../widgets/instances.pug
+instances('https://libreddit.onion')
#teddit
hr
.normal
include ../../widgets/instances.pug
+instances('https://teddit.com')
+latency('teddit')
.tor
include ../../widgets/instances.pug
+instances('https://teddit.onion')
script(type="module" src="../init.js")
script(type="module" src="./reddit.js")

View File

@ -1,309 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Search</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a class="selected" href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Search</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-search" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_frontend__">Frontend</h4>
<select id="search-frontend">
<option value="searxng">SearXNG</option>
<option value="searx">SearX</option>
<option value="whoogle">Whoogle</option>
</select>
</div>
<div id="searx-whoogle">
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
<option value="i2p" data-localise="__MSG_i2p__">I2P</option>
</select>
</div>
</div>
<div class="some-block">
<h4 data-localise="__MSG_searchNote__">Note: To use Search to its full potential, make LibRedirect as the Default Search Engine</h4>
</div>
<div id="searx">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searx.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-searx-label" for="latency-searx">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-searx" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searx.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
<div class="i2p">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searx.i2p" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="searxng">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searxng.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-searxng-label" for="latency-searxng">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-searxng" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searxng.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
<div class="i2p">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://searxng.i2p" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="whoogle">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://whoogle.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-whoogle-label" for="latency-whoogle">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-whoogle" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://whoogle.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
<div class="i2p">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://whoogle.i2p" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./search.js"></script>
</body>

View File

@ -1,78 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Search
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('search')
section.option-block
.some-block.option-block
h1 Search
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-search(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#search-frontend
option(value="searxng") SearXNG
option(value="searx") SearX
option(value="whoogle") Whoogle
#searx-whoogle
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
.some-block
h4(data-localise="__MSG_searchNote__") Note: To use Search to its full potential, make LibRedirect as the Default Search Engine
#searx
hr
.normal
include ../../widgets/instances.pug
+instances('https://searx.com')
include ../../widgets/latency.pug
+latency('searx')
.tor
include ../../widgets/instances.pug
+instances('https://searx.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://searx.i2p')
#searxng
hr
.normal
include ../../widgets/instances.pug
+instances('https://searxng.com')
+latency('searxng')
.tor
include ../../widgets/instances.pug
+instances('https://searxng.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://searxng.i2p')
#whoogle
hr
.normal
include ../../widgets/instances.pug
+instances('https://whoogle.com')
+latency('whoogle')
.tor
include ../../widgets/instances.pug
+instances('https://whoogle.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://whoogle.i2p')
script(type="module" src="../init.js")
script(type="module" src="./search.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Send Files</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a class="selected" href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Send Files</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-sendTargets" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="send">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://send.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://send.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./sendTargets.js"></script>
</body>

View File

@ -1,36 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Send Files
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('sendTargets')
section.option-block
.some-block.option-block
h1 Send Files
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-sendTargets(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#send
hr
.normal
include ../../widgets/instances.pug
+instances('https://send.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://send.onion')
script(type="module" src="../init.js")
script(type="module" src="./sendTargets.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>TikTok</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a class="selected" href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>TikTok</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-tiktok" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="proxiTok">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://proxitok.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://proxitok.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./tiktok.js"></script>
</body>

View File

@ -1,36 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title TikTok
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('tiktok')
section.option-block
.some-block.option-block
h1 TikTok
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-tiktok(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#proxiTok
hr
.normal
include ../../widgets/instances.pug
+instances('https://proxitok.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://proxitok.onion')
script(type="module" src="../init.js")
script(type="module" src="./tiktok.js")

View File

@ -1,186 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Translate</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a class="selected" href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Translate</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-simplyTranslate" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_frontend__">Frontend</h4>
<select id="translate-frontend">
<option value="simplyTranslate">SimplyTranslate</option>
<option value="lingva">Lingva</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<hr>
<div id="simplyTranslate">
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://simplytranslate.org" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-simplyTranslate-label" for="latency-simplyTranslate">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-simplyTranslate" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="http://hxecvvetgrznmprg.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="lingva">
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://lingvatranslate.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-lingva-label" for="latency-lingva">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-lingva" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="http://tyzxppdeoojdnaux.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./translate.js"></script>
</body>

View File

@ -1,50 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Translate
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('translate')
section.option-block
.some-block.option-block
h1 Translate
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-simplyTranslate(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#translate-frontend
option(value="simplyTranslate") SimplyTranslate
option(value="lingva") Lingva
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
hr
#simplyTranslate
.normal
include ../../widgets/instances.pug
+instances('https://simplytranslate.org')
include ../../widgets/latency.pug
+latency('simplyTranslate')
.tor
include ../../widgets/instances.pug
+instances('http://hxecvvetgrznmprg.onion')
#lingva
.normal
include ../../widgets/instances.pug
+instances('https://lingvatranslate.com')
+latency('lingva')
.tor
include ../../widgets/instances.pug
+instances('http://tyzxppdeoojdnaux.onion')
script(type="module" src="../init.js")
script(type="module" src="./translate.js")

View File

@ -1,128 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Twitter</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a class="selected" href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Twitter</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-nitter" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div id="nitter">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://nitter.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://nitter.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./twitter.js"></script>
</body>

View File

@ -1,37 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Twitter
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('twitter')
section.option-block
.some-block.option-block
h1 Twitter
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-nitter(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#nitter
hr
.normal
include ../../widgets/instances.pug
+instances('https://nitter.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://nitter.onion')
script(type="module" src="../init.js")
script(type="module" src="./twitter.js")

View File

@ -1,24 +1,24 @@
"use strict";
window.browser = window.browser || window.chrome;
import utils from "../../../assets/javascripts/helpers/utils.js";
import generalHelper from "../../../assets/javascripts/helpers/general.js";
import utils from "../../../assets/javascripts/utils.js";
import generalHelper from "../../../assets/javascripts/general.js";
import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js";
import youtubeMusicHelper from "../../../assets/javascripts/helpers/youtubeMusic.js";
import twitterHelper from "../../../assets/javascripts/helpers/twitter.js";
import instagramHelper from "../../../assets/javascripts/helpers/instagram.js";
import redditHelper from "../../../assets/javascripts/helpers/reddit.js";
import searchHelper from "../../../assets/javascripts/helpers/search.js";
import translateHelper from "../../../assets/javascripts/helpers/translate/translate.js";
import mapsHelper from "../../../assets/javascripts/helpers/maps.js";
import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js";
import mediumHelper from "../../../assets/javascripts/helpers/medium.js";
import imgurHelper from "../../../assets/javascripts/helpers/imgur.js";
import tiktokHelper from "../../../assets/javascripts/helpers/tiktok.js";
import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.js";
import peertubeHelper from "../../../assets/javascripts/helpers/peertube.js";
import lbryHelper from "../../../assets/javascripts/helpers/lbry.js";
import youtubeHelper from "../../../assets/javascripts/youtube/youtube.js";
import youtubeMusicHelper from "../../../assets/javascripts/youtubeMusic.js";
import twitterHelper from "../../../assets/javascripts/twitter.js";
import instagramHelper from "../../../assets/javascripts/instagram.js";
import redditHelper from "../../../assets/javascripts/reddit.js";
import searchHelper from "../../../assets/javascripts/search.js";
import translateHelper from "../../../assets/javascripts/translate/translate.js";
import mapsHelper from "../../../assets/javascripts/maps.js";
import wikipediaHelper from "../../../assets/javascripts/wikipedia.js";
import mediumHelper from "../../../assets/javascripts/medium.js";
import imgurHelper from "../../../assets/javascripts/imgur.js";
import tiktokHelper from "../../../assets/javascripts/tiktok.js";
import sendTargetsHelper from "../../../assets/javascripts/sendTargets.js";
import peertubeHelper from "../../../assets/javascripts/peertube.js";
import lbryHelper from "../../../assets/javascripts/lbry.js";
let updateInstancesElement = document.getElementById("update-instances");
updateInstancesElement.addEventListener("click", () => {
@ -115,6 +115,7 @@ let themeElement = document.getElementById("theme");
themeElement.addEventListener("change", event => {
const value = event.target.options[theme.selectedIndex].value;
browser.storage.local.set({ theme: value });
location.reload();
})
let nameCustomInstanceInput = document.getElementById("exceptions-custom-instance");

View File

@ -0,0 +1,167 @@
section#general_page.option-block
.some-block.option-block
h1(data-localise="__MSG_general__") General
hr
.some-block.option-block
h4(data-localise="__MSG_theme__") Theme
select#theme
option(value="DEFAULT" data-localise="__MSG_system__") System
option(value="light" data-localise="__MSG_light__") Light
option(value="dark" data-localise="__MSG_dark__") Dark
.some-block.option-block
h4(data-localise="__MSG_autoRedirect__")
input#auto-redirect(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_exceptions__")
form#custom-exceptions-instance-form
.some-block.option-block
.some-block(style="padding:0;")
input#exceptions-custom-instance(placeholder="https://www.google.com" type="url")
|&nbsp;
select#exceptions-custom-instance-type
option(value="url") URL
option(value="regex") Regex
|&nbsp;
button#exceptions-add-instance.add(type="submit")
svg(xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor")
path(d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z")
#exceptions-custom-checklist.checklist
.buttons.buttons-inline
a#update-instances.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19 9h-4V3H9v6H5l7 7 7-7zM5 18v2h14v-2H5z")
x(data-localise="__MSG_updateInstances__") Update Instances
|&nbsp; &nbsp;
label#import_settings_text.button.button-inline(for="import-settings")
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z")
|&nbsp;
x(data-localise="__MSG_importSettings__") Import Settings
input#import-settings.button.button-inline(type="file" style="display:none;")
|&nbsp; &nbsp;
a#export-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M10.09 15.59L11.5 17l5-5-5-5-1.41 1.41L12.67 11H3v2h9.67l-2.58 2.59zM19 3H5c-1.11 0-2 .9-2 2v4h2V5h14v14H5v-4H3v4c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z")
|&nbsp;
x(data-localise="__MSG_exportSettings__") Export Settings
|&nbsp; &nbsp;
a#reset-settings.button.button-inline
svg(xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M12,5V2L8,6l4,4V7c3.31,0,6,2.69,6,6c0,2.97-2.17,5.43-5,5.91v2.02c3.95-0.49,7-3.85,7-7.93C20,8.58,16.42,5,12,5z")
path(d="M6,13c0-1.65,0.67-3.15,1.76-4.24L6.34,7.34C4.9,8.79,4,10.79,4,13c0,4.08,3.05,7.44,7,7.93v-2.02 C8.17,18.43,6,15.97,6,13z")
x(data-localise="__MSG_resetSettings__") Reset Settings
hr
.some-block.option-block
h4(data-localise="__MSG_customPopup__") Customize Popup
#popup-frontends-checklist.checklist-popup
div
div
img(src="../../../assets/images/youtube-icon.png")
x(data-localise="__MSG_youtube__") YouTube
input#youtube(type="checkbox")
div
div
img(src="../../../assets/images/youtube-music-icon.png")
x(data-localise="__MSG_ytmusic__") YoutubeMusic
input#youtubeMusic(type="checkbox")
div
div
img(src="../../../assets/images/twitter-icon.png")
x(data-localise="__MSG_twitter__") Twitter
input#twitter(type="checkbox")
div
div
img(src="../../../assets/images/instagram-icon.png")
x(data-localise="__MSG_instagram__") Instagram
input#instagram(type="checkbox")
div
div
img(src="../../../assets/images/tiktok-icon.png")
x(data-localise="__MSG_tiktok__") TikTok
input#tikTok(type="checkbox")
div
div
img(src="../../../assets/images/imgur-icon.png")
x(data-localise="__MSG_imgur__") Imgur
input#imgur(type="checkbox")
div
div
img(src="../../../assets/images/reddit-icon.png")
x(data-localise="__MSG_reddit__") Reddit
input#reddit(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z")
x(data-localise="__MSG_search__") Search
input#search(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z")
x(data-localise="__MSG_translate__") Translate
input#translate(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor")
path(d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z")
x(data-localise="__MSG_maps__") Maps
input#maps(type="checkbox")
div
div
img(src="../../../assets/images/wikipedia-icon.svg")
x(data-localise="__MSG_wikipedia__") Wikipedia
input#wikipedia(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor")
circle(cx="500" cy="500" r="500")
ellipse(ry="475" rx="250" cy="501" cx="1296")
ellipse(cx="1682" cy="502" rx="88" ry="424")
x(data-localise="__MSG_medium__") Medium
input#medium(type="checkbox")
div
div
img(src="../../../assets/images/peertube-icon.svg")
x(data-localise="__MSG_peertube__") PeerTube
input#peertube(type="checkbox")
div
div
img(src="../../../assets/images/lbry-icon.png")
x(data-localise="__MSG_lbry__") LBRY/Odysee
input#lbry(type="checkbox")
div
div
svg(xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor")
path(d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z")
x(data-localise="__MSG_sendFiles__") Send Files
input#sendTargets(type="checkbox")
script(type="module" src="./widgets/general.js")

View File

@ -1,5 +1,5 @@
import imgurHelper from "../../../assets/javascripts/helpers/imgur.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import imgurHelper from "../../../assets/javascripts/imgur.js";
import utils from "../../../assets/javascripts/utils.js";
let disableImgurElement = document.getElementById("disable-imgur");
let protocolElement = document.getElementById("protocol")

View File

@ -0,0 +1,32 @@
section#imgur_page.option-block
.some-block.option-block
h1(data-localise="__MSG_imgur__") Imgur
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-imgur(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
#rimgo
hr
.normal
include ../../widgets/instances.pug
+instances('https://rimgo.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://rimgo.onion')
script(type="module" src="./widgets/imgur.js")

View File

@ -1,5 +1,5 @@
import instagramHelper from "../../../assets/javascripts/helpers/instagram.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import instagramHelper from "../../../assets/javascripts/instagram.js";
import utils from "../../../assets/javascripts/utils.js";
const disable = document.getElementById("disable-bibliogram");
const protocol = document.getElementById("protocol");

View File

@ -0,0 +1,27 @@
section#instagram_page.option-block
.some-block.option-block
h1(data-localise="__MSG_instagram__") Instagram
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-bibliogram(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#bibliogram
hr
.normal
include ../../widgets/instances.pug
+instances('https://bibliogram.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://bibliogram.onion')
script(type="module" src="./widgets/instagram.js")

View File

@ -1,5 +1,5 @@
import lbryHelper from "../../../assets/javascripts/helpers/lbry.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import lbryHelper from "../../../assets/javascripts/lbry.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-lbry");
let protocol = document.getElementById("protocol")

View File

@ -0,0 +1,26 @@
section#lbry_page.option-block
.some-block.option-block
h1(data-localise="__MSG_lbry__") LBRY/Odysee
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-lbry(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#librarian
hr
.normal
include ../../widgets/instances.pug
+instances('https://librarian.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://librarian.onion')
script(type="module" src="./widgets/lbry.js")

View File

@ -1,5 +1,5 @@
import mapsHelper from "../../../assets/javascripts/helpers/maps.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import mapsHelper from "../../../assets/javascripts/maps.js";
import utils from "../../../assets/javascripts/utils.js";
const disable = document.getElementById("disable-osm");
const frontend = document.getElementById("maps-frontend");

View File

@ -0,0 +1,23 @@
section#maps_page.option-block
.some-block.option-block
h1(data-localise="__MSG_maps__") Maps
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-osm(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#maps-frontend
option(value="osm") OpenStreetMap
option(value="facil") Facil Map
#facil
hr
.normal
include ../../widgets/instances.pug
+instances('https://facilmap.com')
include ../../widgets/latency.pug
+latency()
script(type="module" src="./widgets/maps.js")

View File

@ -1,5 +1,5 @@
import mediumHelper from "../../../assets/javascripts/helpers/medium.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import mediumHelper from "../../../assets/javascripts/medium.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-medium");
let protocol = document.getElementById("protocol")

View File

@ -0,0 +1,26 @@
section#medium_page.option-block
.some-block.option-block
h1(data-localise="__MSG_medium__") Medium
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-medium(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#scribe
hr
.normal
include ../../widgets/instances.pug
+instances('https://scribe.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://scribe.onion')
script(type="module" src="./widgets/medium.js")

View File

@ -1,5 +1,5 @@
import peertubeHelper from "../../../assets/javascripts/helpers/peertube.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import peertubeHelper from "../../../assets/javascripts/peertube.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-peertube");
let protocol = document.getElementById("protocol")

View File

@ -0,0 +1,26 @@
section#peertube_page.option-block
.some-block.option-block
h1(data-localise="__MSG_peertube__") PeerTube
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-peertube(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#simpleertube
hr
.normal
include ../../widgets/instances.pug
+instances('https://simpleertube.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://simpleertube.onion')
script(type="module" src="./widgets/peertube.js")

View File

@ -1,5 +1,5 @@
import redditHelper from "../../../assets/javascripts/helpers/reddit.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import redditHelper from "../../../assets/javascripts/reddit.js";
import utils from "../../../assets/javascripts/utils.js";
let libredditDivElement = document.getElementById("libreddit")
let tedditDivElement = document.getElementById("teddit")

View File

@ -0,0 +1,42 @@
section#reddit_page.option-block
.some-block.option-block
h1(data-localise="__MSG_reddit__") Reddit
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-reddit(type="checkbox")
.some-block.option-block
h4#frontend(data-localise="__MSG_frontend__") Frontend
select#reddit-frontend
option(value="libreddit") Libreddit
option(value="teddit") Teddit
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#libreddit
hr
.normal
include ../../widgets/instances.pug
+instances('https://libreddit.com')
include ../../widgets/latency.pug
+latency('libreddit')
.tor
include ../../widgets/instances.pug
+instances('https://libreddit.onion')
#teddit
hr
.normal
include ../../widgets/instances.pug
+instances('https://teddit.com')
+latency('teddit')
.tor
include ../../widgets/instances.pug
+instances('https://teddit.onion')
script(type="module" src="./widgets/reddit.js")

View File

@ -1,5 +1,5 @@
import searchHelper from "../../../assets/javascripts/helpers/search.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import searchHelper from "../../../assets/javascripts/search.js";
import utils from "../../../assets/javascripts/utils.js";
let searxDiv = document.getElementById("searx");
let searxngDiv = document.getElementById("searxng");

View File

@ -0,0 +1,69 @@
section#search_page.option-block
.some-block.option-block
h1(data-localise="__MSG_search__") Search
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-search(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#search-frontend
option(value="searxng") SearXNG
option(value="searx") SearX
option(value="whoogle") Whoogle
#searx-whoogle
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
.some-block
h4(data-localise="__MSG_searchNote__") Note: To use Search to its full potential, make LibRedirect as the Default Search Engine
#searx
hr
.normal
include ../../widgets/instances.pug
+instances('https://searx.com')
include ../../widgets/latency.pug
+latency('searx')
.tor
include ../../widgets/instances.pug
+instances('https://searx.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://searx.i2p')
#searxng
hr
.normal
include ../../widgets/instances.pug
+instances('https://searxng.com')
+latency('searxng')
.tor
include ../../widgets/instances.pug
+instances('https://searxng.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://searxng.i2p')
#whoogle
hr
.normal
include ../../widgets/instances.pug
+instances('https://whoogle.com')
+latency('whoogle')
.tor
include ../../widgets/instances.pug
+instances('https://whoogle.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://whoogle.i2p')
script(type="module" src="./widgets/search.js")

View File

@ -1,5 +1,5 @@
import sendTargetsHelper from "../../../assets/javascripts/helpers/sendTargets.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import sendTargetsHelper from "../../../assets/javascripts/sendTargets.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-sendTargets");
let protocol = document.getElementById("protocol")

View File

@ -0,0 +1,26 @@
section#sendTargets_page.option-block
.some-block.option-block
h1(data-localise="__MSG_sendFiles__") Send Files
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-sendTargets(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#send
hr
.normal
include ../../widgets/instances.pug
+instances('https://send.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://send.onion')
script(type="module" src="./widgets/sendTargets.js")

View File

@ -1,5 +1,5 @@
import tiktokHelper from "../../../assets/javascripts/helpers/tiktok.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import tiktokHelper from "../../../assets/javascripts/tiktok.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-tiktok");
let protocol = document.getElementById("protocol")
@ -12,8 +12,6 @@ document.addEventListener("change", () => {
changeProtocolSettings();
})
window.onblur = tiktokHelper.initProxiTokCookies;
browser.storage.local.get(
[
"disableTiktok",

View File

@ -0,0 +1,26 @@
section#tiktok_page.option-block
.some-block.option-block
h1(data-localise="__MSG_tiktok__") TikTok
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-tiktok(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#proxiTok
hr
.normal
include ../../widgets/instances.pug
+instances('https://proxitok.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://proxitok.onion')
script(type="module" src="./widgets/tiktok.js")

View File

@ -1,5 +1,5 @@
import translateHelper from "../../../assets/javascripts/helpers/translate/translate.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import translateHelper from "../../../assets/javascripts/translate/translate.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-simplyTranslate");
let simplyTranslateDiv = document.getElementById("simplyTranslate");

View File

@ -0,0 +1,40 @@
section#translate_page.option-block
.some-block.option-block
h1(data-localise="__MSG_translate__") Translate
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-simplyTranslate(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#translate-frontend
option(value="simplyTranslate") SimplyTranslate
option(value="lingva") Lingva
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
hr
#simplyTranslate
.normal
include ../../widgets/instances.pug
+instances('https://simplytranslate.org')
include ../../widgets/latency.pug
+latency('simplyTranslate')
.tor
include ../../widgets/instances.pug
+instances('http://hxecvvetgrznmprg.onion')
#lingva
.normal
include ../../widgets/instances.pug
+instances('https://lingvatranslate.com')
+latency('lingva')
.tor
include ../../widgets/instances.pug
+instances('http://tyzxppdeoojdnaux.onion')
script(type="module" src="./widgets/translate.js")

View File

@ -1,5 +1,5 @@
import twitterHelper from "../../../assets/javascripts/helpers/twitter.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import twitterHelper from "../../../assets/javascripts/twitter.js";
import utils from "../../../assets/javascripts/utils.js";
let disable = document.getElementById("disable-nitter");
let protocol = document.getElementById("protocol");

View File

@ -0,0 +1,26 @@
section#twitter_page.option-block
.some-block.option-block
h1(data-localise="__MSG_twitter__") Twitter
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-nitter(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
#nitter
hr
.normal
include ../../widgets/instances.pug
+instances('https://nitter.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://nitter.onion')
script(type="module" src="./widgets/twitter.js")

View File

@ -1,5 +1,5 @@
import wikipediaHelper from "../../../assets/javascripts/helpers/wikipedia.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import wikipediaHelper from "../../../assets/javascripts/wikipedia.js";
import utils from "../../../assets/javascripts/utils.js";
let disableWikipediaElement = document.getElementById("disable-wikipedia");
let protocolElement = document.getElementById("protocol");
@ -48,6 +48,4 @@ utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'normal', document)
utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'tor', document);
utils.processDefaultCustomInstances('wikipedia', 'wikiless', 'i2p', document);
window.onblur = wikipediaHelper.initWikilessCookies;
utils.latency('wikipedia', 'wikiless', document, location)

View File

@ -0,0 +1,32 @@
section#wikipedia_page.option-block
.some-block.option-block
h1(data-localise="__MSG_wikipedia__") Wikipedia
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-wikipedia(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
#wikiless
hr
.normal
include ../../widgets/instances.pug
+instances('https://wikiless.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://wikiless.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://wikiless.i2p')
script(type="module" src="./widgets/wikipedia.js")

View File

@ -1,5 +1,5 @@
import youtubeHelper from "../../../assets/javascripts/helpers/youtube/youtube.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import youtubeHelper from "../../../assets/javascripts/youtube/youtube.js";
import utils from "../../../assets/javascripts/utils.js";
let disableYoutube = document.getElementById("disable-invidious");
let youtubeFrontend = document.getElementById("youtube-frontend");

View File

@ -0,0 +1,73 @@
section#youtube_page.option-block
.some-block.option-block
h1(data-localise="__MSG_youtube__") YouTube
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-invidious(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#youtube-frontend
option(value="invidious") Invidious
option(value="piped") Piped
option(value="pipedMaterial") Piped-Material
option(value="freetube") FreeTube
option(value="yatte") Yattee
#freetube-yatte
.some-block.option-block
h4(data-localise="__MSG_embeddedVids__") Embedded Videos Frontend
select#youtube-embed-frontend
option(value="invidious") Invidious
option(value="piped") Piped
option(value="pipedMaterial") Piped-Material
option(value="youtube") Youtube
#invidious-piped-pipedMaterial
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
.some-block.option-block
h4(data-localise="__MSG_redirectType__") Redirect Type
select#only-embed
option(value="both" data-localise="__MSG_both__") both
option(value="onlyEmbedded" data-localise="__MSG_onlyEmbedded__") Only Embedded
option(value="onlyNotEmbedded" data-localise="__MSG_onlyNotEmbedded__") Only Not Embedded
#invidious
hr
.normal
include ../../widgets/instances.pug
+instances('https://invidious.com')
include ../../widgets/latency.pug
+latency('invidious')
.tor
include ../../widgets/instances.pug
+instances('https://invidious.onion')
#piped
hr
.normal
include ../../widgets/instances.pug
+instances('https://piped.com')
+latency('piped')
.tor
include ../../widgets/instances.pug
+instances('https://piped.onion')
#pipedMaterial
hr
.normal
include ../../widgets/instances.pug
+instances('https://piped-material.com')
+latency('pipedMaterial')
.tor
include ../../widgets/instances.pug
+instances('https://piped-material.onion')
script(type="module" src="./widgets/youtube.js")

View File

@ -1,5 +1,5 @@
import youtubeMusicHelper from "../../../assets/javascripts/helpers/youtubeMusic.js";
import utils from "../../../assets/javascripts/helpers/utils.js";
import youtubeMusicHelper from "../../../assets/javascripts/youtubeMusic.js";
import utils from "../../../assets/javascripts/utils.js";
let disableYoutubeMusicElement = document.getElementById("disable-beatbump");

View File

@ -0,0 +1,17 @@
section#youtubeMusic_page.option-block
.some-block.option-block
h1(data-localise="__MSG_ytmusic__") YouTube Music
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-beatbump(type="checkbox")
#beatbump
hr
.normal
include ../../widgets/instances.pug
+instances('https://beatbump.wewe')
include ../../widgets/latency.pug
+latency()
script(type="module" src="./widgets/youtubeMusic.js")

View File

@ -1,150 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>Wikipedia</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a class="selected" href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>Wikipedia</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-wikipedia" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
<option value="i2p" data-localise="__MSG_i2p__">I2P</option>
</select>
</div>
<div id="wikiless">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://wikiless.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://wikiless.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
<div class="i2p">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://wikiless.i2p" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./wikipedia.js"></script>
</body>

View File

@ -1,41 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title Wikipedia
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('wikipedia')
section.option-block
.some-block.option-block
h1 Wikipedia
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-wikipedia(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
option(value="i2p" data-localise="__MSG_i2p__") I2P
#wikiless
hr
.normal
include ../../widgets/instances.pug
+instances('https://wikiless.com')
include ../../widgets/latency.pug
+latency()
.tor
include ../../widgets/instances.pug
+instances('https://wikiless.onion')
.i2p
include ../../widgets/instances.pug
+instances('https://wikiless.i2p')
script(type="module" src="../init.js")
script(type="module" src="./wikipedia.js")

View File

@ -1,263 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>YouTube</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a class="selected" href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>YouTube</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-invidious" type="checkbox">
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_frontend__">Frontend</h4>
<select id="youtube-frontend">
<option value="invidious">Invidious</option>
<option value="piped">Piped</option>
<option value="pipedMaterial">Piped-Material</option>
<option value="freetube">FreeTube</option>
<option value="yatte">Yattee</option>
</select>
</div>
<div id="freetube-yatte">
<div class="some-block option-block">
<h4 data-localise="__MSG_embeddedVids__">Embedded Videos Frontend</h4>
<select id="youtube-embed-frontend">
<option value="invidious">Invidious</option>
<option value="piped">Piped</option>
<option value="pipedMaterial">Piped-Material</option>
<option value="youtube">Youtube</option>
</select>
</div>
</div>
<div id="invidious-piped-pipedMaterial">
<div class="some-block option-block">
<h4 data-localise="__MSG_protocol__">Protocol</h4>
<select id="protocol">
<option value="normal" data-localise="__MSG_normal__">Normal</option>
<option value="tor" data-localise="__MSG_tor__">Tor</option>
</select>
</div>
<div class="some-block option-block">
<h4 data-localise="__MSG_redirectType">Redirect Type</h4>
<select id="only-embed">
<option value="both" data-localise="__MSG_both__">both</option>
<option value="onlyEmbedded" data-localise="__MSG_onlyEmbedded__">Only Embedded</option>
<option value="onlyNotEmbedded" data-localise="__MSG_onlyNotEmbedded__">Only Not Embedded</option>
</select>
</div>
</div>
<div id="invidious">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://invidious.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-invidious-label" for="latency-invidious">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-invidious" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://invidious.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="piped">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://piped.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-piped-label" for="latency-piped">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-piped" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://piped.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
<div id="pipedMaterial">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://piped-material.com" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-pipedMaterial-label" for="latency-pipedMaterial">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency-pipedMaterial" style="display:none;">
</div>
<div class="tor">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://piped-material.onion" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./youtube.js"></script>
</body>

View File

@ -1,83 +0,0 @@
doctype html
html(lang="en")
include ../../widgets/head.pug
title YouTube
script(type="module" src="../../../assets/javascripts/localise.js")
body.option(dir="auto")
include ../../widgets/links.pug
+links('youtube')
section.option-block
.some-block.option-block
h1 YouTube
hr
.some-block.option-block
h4(data-localise="__MSG_enable__") Enable
input#disable-invidious(type="checkbox")
.some-block.option-block
h4(data-localise="__MSG_frontend__") Frontend
select#youtube-frontend
option(value="invidious") Invidious
option(value="piped") Piped
option(value="pipedMaterial") Piped-Material
option(value="freetube") FreeTube
option(value="yatte") Yattee
#freetube-yatte
.some-block.option-block
h4(data-localise="__MSG_embeddedVids__") Embedded Videos Frontend
select#youtube-embed-frontend
option(value="invidious") Invidious
option(value="piped") Piped
option(value="pipedMaterial") Piped-Material
option(value="youtube") Youtube
#invidious-piped-pipedMaterial
.some-block.option-block
h4(data-localise="__MSG_protocol__") Protocol
select#protocol
option(value="normal" data-localise="__MSG_normal__") Normal
option(value="tor" data-localise="__MSG_tor__") Tor
.some-block.option-block
h4(data-localise="__MSG_redirectType") Redirect Type
select#only-embed
option(value="both" data-localise="__MSG_both__") both
option(value="onlyEmbedded" data-localise="__MSG_onlyEmbedded__") Only Embedded
option(value="onlyNotEmbedded" data-localise="__MSG_onlyNotEmbedded__") Only Not Embedded
#invidious
hr
.normal
include ../../widgets/instances.pug
+instances('https://invidious.com')
include ../../widgets/latency.pug
+latency('invidious')
.tor
include ../../widgets/instances.pug
+instances('https://invidious.onion')
#piped
hr
.normal
include ../../widgets/instances.pug
+instances('https://piped.com')
+latency('piped')
.tor
include ../../widgets/instances.pug
+instances('https://piped.onion')
#pipedMaterial
hr
.normal
include ../../widgets/instances.pug
+instances('https://piped-material.com')
+latency('pipedMaterial')
.tor
include ../../widgets/instances.pug
+instances('https://piped-material.onion')
script(type="module" src="../init.js")
script(type="module" src="./youtube.js")

View File

@ -1,100 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/x-icon" href="../../../assets/images/libredirect.svg">
<link href="../../stylesheets/styles.css" rel="stylesheet">
<title>YouTube Music</title>
</head>
</html>
<script type="module" src="../../../assets/javascripts/localise.js"></script>
<body class="option" dir="auto">
<section class="links">
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="26px" viewBox="0 0 24 24" width="26px" fill="currentColor">
<path d="M19.14,12.94c0.04-0.3,0.06-0.61,0.06-0.94c0-0.32-0.02-0.64-0.07-0.94l2.03-1.58c0.18-0.14,0.23-0.41,0.12-0.61 l-1.92-3.32c-0.12-0.22-0.37-0.29-0.59-0.22l-2.39,0.96c-0.5-0.38-1.03-0.7-1.62-0.94L14.4,2.81c-0.04-0.24-0.24-0.41-0.48-0.41 h-3.84c-0.24,0-0.43,0.17-0.47,0.41L9.25,5.35C8.66,5.59,8.12,5.92,7.63,6.29L5.24,5.33c-0.22-0.08-0.47,0-0.59,0.22L2.74,8.87 C2.62,9.08,2.66,9.34,2.86,9.48l2.03,1.58C4.84,11.36,4.8,11.69,4.8,12s0.02,0.64,0.07,0.94l-2.03,1.58 c-0.18,0.14-0.23,0.41-0.12,0.61l1.92,3.32c0.12,0.22,0.37,0.29,0.59,0.22l2.39-0.96c0.5,0.38,1.03,0.7,1.62,0.94l0.36,2.54 c0.05,0.24,0.24,0.41,0.48,0.41h3.84c0.24,0,0.44-0.17,0.47-0.41l0.36-2.54c0.59-0.24,1.13-0.56,1.62-0.94l2.39,0.96 c0.22,0.08,0.47,0,0.59-0.22l1.92-3.32c0.12-0.22,0.07-0.47-0.12-0.61L19.14,12.94z M12,15.6c-1.98,0-3.6-1.62-3.6-3.6 s1.62-3.6,3.6-3.6s3.6,1.62,3.6,3.6S13.98,15.6,12,15.6z"></path>
</svg><a href="../general/general.html" data-localise="__MSG_general__">General</a>
</div>
<div class="title"> <img src="../../../assets/images/youtube-icon.png"><a href="../youtube/youtube.html" data-localise="__MSG_youtube__">YouTube </a></div>
<div class="title"> <img src="../../../assets/images/youtube-music-icon.png"><a class="selected" href="../youtubeMusic/youtubeMusic.html" data-localise="__MSG_ytmusic__">YT Music</a></div>
<div class="title"> <img src="../../../assets/images/twitter-icon.png"><a href="../twitter/twitter.html" data-localise="__MSG_twitter__">Twitter</a></div>
<div class="title"> <img src="../../../assets/images/instagram-icon.png"><a href="../instagram/instagram.html" data-localise="__MSG_instagram__">Instagram</a></div>
<div class="title"> <img src="../../../assets/images/tiktok-icon.png"><a href="../tiktok/tiktok.html" data-localise="__MSG_tiktok__">TikTok</a></div>
<div class="title"> <img src="../../../assets/images/reddit-icon.png"><a href="../reddit/reddit.html" data-localise="__MSG_reddit__">Reddit</a></div>
<div class="title"> <img src="../../../assets/images/imgur-icon.png"><a href="../imgur/imgur.html" data-localise="__MSG_imgur__">Imgur</a></div>
<div class="title"> <img src="../../../assets/images/wikipedia-icon.svg"><a href="../wikipedia/wikipedia.html" data-localise="__MSG_wikipedia__">Wikipedia</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1770 1000" fill="currentColor">
<circle cx="500" cy="500" r="500"></circle>
<ellipse ry="475" rx="250" cy="501" cx="1296"></ellipse>
<ellipse cx="1682" cy="502" rx="88" ry="424"></ellipse>
</svg><a href="../medium/medium.html" data-localise="__MSG_medium__">Medium</a>
</div>
<div class="title"> <img src="../../../assets/images/peertube-icon.svg"><a href="../peertube/peertube.html" data-localise="__MSG_peertube__">PeerTube</a></div>
<div class="title"> <img src="../../../assets/images/lbry-icon.png"><a href="../lbry/lbry.html" data-localise="__MSG_lbry__">LBRY/Odysee</a></div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">
<path d="M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"></path>
</svg><a href="../search/search.html" data-localise="__MSG_search__">Search</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"></path>
</svg><a href="../translate/translate.html" data-localise="__MSG_translate__">Translate</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM10 5.47l4 1.4v11.66l-4-1.4V5.47zm-5 .99l3-1.01v11.7l-3 1.16V6.46zm14 11.08l-3 1.01V6.86l3-1.16v11.84z"></path>
</svg><a href="../maps/maps.html" data-localise="__MSG_maps__">Maps</a>
</div>
<div class="title">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19.35 10.04C18.67 6.59 15.64 4 12 4 9.11 4 6.6 5.64 5.35 8.04 2.34 8.36 0 10.91 0 14c0 3.31 2.69 6 6 6h13c2.76 0 5-2.24 5-5 0-2.64-2.05-4.78-4.65-4.96zM14 13v4h-4v-4H7l5-5 5 5h-3z"></path>
</svg><a href="../sendTargets/sendTargets.html" data-localise="__MSG_sendFiles__">Send Files</a>
</div>
</section>
<section class="option-block">
<div class="some-block option-block">
<h1>YouTube Music</h1>
</div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_enable__">Enable</h4>
<input id="disable-beatbump" type="checkbox">
</div>
<div id="beatbump">
<hr>
<div class="normal">
<div class="some-block option-block">
<h4 data-localise="__MSG_defaultInstances__">Default Instances</h4>
</div>
<div class="checklist"></div>
<hr>
<div class="some-block option-block">
<h4 data-localise="__MSG_customInstances__">Custom Instances</h4>
</div>
<form class="custom-instance-form">
<div class="some-block option-block">
<input class="custom-instance" placeholder="https://beatbump.wewe" type="url">
<button class="add add-instance" type="submit">
<svg xmlns="https://www.w3.org/2000/svg" height="20px" viewBox="0 0 24 24" width="20px" fill="currentColor">
<path d="M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6v2z"></path>
</svg>
</button>
</div>
</form>
<div class="checklist custom-checklist"></div>
<label class="button button-inline" id="latency-label" for="latency">
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">
<path d="M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2v7zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3h-7z"></path>
</svg>&nbsp;
<x data-localise="__MSG_testInstancesLatency__">Test Instances Latency</x>
</label>
<input class="button button-inline" id="latency" style="display:none;">
</div>
</div>
</section>
<script type="module" src="../init.js"></script>
<script type="module" src="./youtubeMusic.js"></script>
</body>

Some files were not shown because too many files have changed in this diff Show More