diff --git a/frontend/App.vue b/frontend/App.vue index dc0ed0af..a55ed37b 100644 --- a/frontend/App.vue +++ b/frontend/App.vue @@ -390,6 +390,15 @@ const ShortcutKeys = (isOriginalSite) => { }, description: t('shortcutKeys.MTRTest'), }, + { + keys: "S", + action: () => { + scrollToElement("AdvancedTools", 80); + advancedToolsRef.value.navigateAndToggleOffcanvas('/securitychecklist'); + trackEvent('Nav', 'NavClick', 'SecurityChecklist'); + }, + description: t('shortcutKeys.SecurityChecklist'), + }, { keys: "r", action: () => { diff --git a/frontend/components/Advanced.vue b/frontend/components/Advanced.vue index 10fbc26c..73df4edf 100644 --- a/frontend/components/Advanced.vue +++ b/frontend/components/Advanced.vue @@ -76,6 +76,7 @@ const cards = reactive([ { path: '/whois', icon: '📓', titleKey: 'whois.Title', noteKey: 'advancedtools.Whois', enabled: true }, { path: '/macchecker', icon: '🗄️', titleKey: 'macchecker.Title', noteKey: 'advancedtools.MacChecker', enabled: true }, { path: '/browserinfo', icon: '🖥️', titleKey: 'browserinfo.Title', noteKey: 'advancedtools.BrowserInfo', enabled: true }, + { path: '/securitychecklist', icon: '📋', titleKey: 'securitychecklist.Title', noteKey: 'advancedtools.SecurityChecklist', enabled: true }, { path: '/invisibilitytest', icon: '🫣', titleKey: 'invisibilitytest.Title', noteKey: 'advancedtools.InvisibilityTest', enabled: false } ]); diff --git a/frontend/components/Footer.vue b/frontend/components/Footer.vue index 6991dadf..e302694b 100644 --- a/frontend/components/Footer.vue +++ b/frontend/components/Footer.vue @@ -177,6 +177,14 @@ const thanksList = [ name: 'Globalping by jsDelivr', link: 'https://globalping.io/' }, + { + name: 'ProxyCheck.io', + link: 'https://proxycheck.io/' + }, + { + name: 'Digital Defense', + link: 'https://digital-defense.io/' + }, { name: 'ChatGPT', link: 'https://chatgpt.com/' diff --git a/frontend/components/IpInfos.vue b/frontend/components/IpInfos.vue index 91c240c7..e4e00d1f 100644 --- a/frontend/components/IpInfos.vue +++ b/frontend/components/IpInfos.vue @@ -127,6 +127,30 @@ +
  • + + + {{ t('ipInfos.qualityScore') }} :  + + + + + + + + + + + {{ t('ipInfos.qualityScoreUnknown') }} + + {{ card.qualityScore }}% + + +
  • +
  • diff --git a/frontend/components/advanced-tools/SecurityChecklist.vue b/frontend/components/advanced-tools/SecurityChecklist.vue new file mode 100644 index 00000000..3d5dce31 --- /dev/null +++ b/frontend/components/advanced-tools/SecurityChecklist.vue @@ -0,0 +1,565 @@ + + + + + \ No newline at end of file diff --git a/frontend/components/widgets/Preferences.vue b/frontend/components/widgets/Preferences.vue index 021450aa..563a4fd1 100644 --- a/frontend/components/widgets/Preferences.vue +++ b/frontend/components/widgets/Preferences.vue @@ -372,24 +372,4 @@ defineExpose({ #offcanvasPreferences { z-index: 1053; } - -.jn-check-dark:checked { - background-color: #ffffff; - border-color: #ffffff; - background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23212529'/%3e%3c/svg%3e"); - -} - -.jn-check-dark:focus { - border-color: #ffffff; -} - -.jn-check-light:checked { - background-color: #212529; - border-color: #212529; -} - -.jn-check-light:focus { - border-color: #212529; -} \ No newline at end of file diff --git a/frontend/components/widgets/QueryIP.vue b/frontend/components/widgets/QueryIP.vue index c733cf27..9c438bc4 100644 --- a/frontend/components/widgets/QueryIP.vue +++ b/frontend/components/widgets/QueryIP.vue @@ -1,8 +1,7 @@