@networkpro/web 1.5.2 → 1.6.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CODE_OF_CONDUCT.md +1 -0
- package/LICENSE.md +5 -39
- package/README.md +319 -39
- package/cspell.json +65 -0
- package/eslint.config.mjs +2 -1
- package/jsconfig.json +2 -1
- package/netlify-functions/cspReport.js +68 -0
- package/netlify.toml +17 -8
- package/package.json +52 -56
- package/playwright.config.js +21 -19
- package/postcss.config.mjs +1 -0
- package/scripts/auditScripts.js +1 -0
- package/scripts/bundleCss.js +1 -0
- package/scripts/checkEnv.js +1 -0
- package/scripts/checkNode.js +46 -19
- package/scripts/checkVersions.js +1 -0
- package/scripts/flattenHeaders.js +1 -0
- package/scripts/validateHeaders.js +1 -0
- package/src/app.d.ts +14 -3
- package/src/app.html +7 -49
- package/src/global.d.ts +1 -0
- package/src/hooks.client.ts +16 -7
- package/src/hooks.server.js +91 -0
- package/src/lib/components/Badges.svelte +1 -0
- package/src/lib/components/ContainerSection.svelte +1 -0
- package/src/lib/components/FullWidthSection.svelte +15 -1
- package/src/lib/components/LegalNav.svelte +1 -0
- package/src/lib/components/Logo.svelte +1 -0
- package/src/lib/components/MetaTags.svelte +1 -0
- package/src/lib/components/PWAInstallButton.svelte +1 -0
- package/src/lib/components/RedirectPage.svelte +20 -12
- package/src/lib/components/SocialMedia.svelte +1 -0
- package/src/lib/components/foss/FossFeatures.svelte +58 -4
- package/src/lib/components/foss/FossItemContent.svelte +2 -1
- package/src/lib/components/layout/Footer.svelte +4 -1
- package/src/lib/components/layout/HeaderDefault.svelte +2 -1
- package/src/lib/components/layout/HeaderHome.svelte +2 -1
- package/src/lib/data/fossData.js +271 -68
- package/src/lib/images.js +10 -1
- package/src/lib/img/logo-web.png +0 -0
- package/src/lib/img/logo-web.webp +0 -0
- package/src/lib/img/posts/eauth.png +0 -0
- package/src/lib/img/posts/eauth.webp +0 -0
- package/src/lib/index.js +1 -0
- package/src/lib/meta.js +1 -1
- package/src/lib/pages/AboutContent.svelte +1 -0
- package/src/lib/pages/FossContent.svelte +2 -1
- package/src/lib/pages/HomeContent.svelte +1 -0
- package/src/lib/pages/LicenseContent.svelte +33 -3
- package/src/lib/pages/PrivacyContent.svelte +33 -12
- package/src/lib/pages/TermsConditionsContent.svelte +3 -0
- package/src/lib/pages/TermsUseContent.svelte +3 -0
- package/src/lib/registerServiceWorker.js +35 -31
- package/src/lib/styles/css/default.css +1 -0
- package/src/lib/styles/css/global.css +1 -0
- package/src/lib/styles/css/normalize.css +1 -0
- package/src/lib/styles/css/offline.css +1 -0
- package/src/lib/styles/css/style.css +1 -0
- package/src/lib/styles/fa-global.css +1 -0
- package/src/lib/styles/global.min.css +1 -0
- package/src/lib/styles/index.js +2 -1
- package/src/lib/types/metadata.js +1 -0
- package/src/lib/unregisterServiceWorker.js +1 -0
- package/src/lib/utils/utm.js +1 -0
- package/src/routes/+error.svelte +1 -0
- package/src/routes/+layout.js +7 -1
- package/src/routes/+layout.svelte +8 -6
- package/src/routes/+page.server.js +1 -0
- package/src/routes/+page.svelte +1 -0
- package/src/routes/about/+page.server.js +1 -0
- package/src/routes/about/+page.svelte +1 -0
- package/src/routes/api/mock-csp/+server.js +22 -0
- package/src/routes/consultation/+page.svelte +1 -0
- package/src/routes/contact/+page.svelte +1 -0
- package/src/routes/foss-spotlight/+page.server.js +1 -0
- package/src/routes/foss-spotlight/+page.svelte +1 -0
- package/src/routes/license/+page.server.js +1 -0
- package/src/routes/license/+page.svelte +1 -0
- package/src/routes/privacy-policy/+page.server.js +1 -0
- package/src/routes/privacy-policy/+page.svelte +1 -0
- package/src/routes/privacy-rights/+page.svelte +1 -0
- package/src/routes/terms-conditions/+page.server.js +1 -0
- package/src/routes/terms-conditions/+page.svelte +1 -0
- package/src/routes/terms-of-use/+page.server.js +1 -0
- package/src/routes/terms-of-use/+page.svelte +1 -0
- package/src/service-worker.d.ts +8 -0
- package/src/service-worker.js +56 -28
- package/static/disableSw.js +12 -0
- package/static/docs/Home.md +63 -0
- package/static/docs/extensions.md +58 -0
- package/static/sitemap.xml +7 -7
- package/stylelint.config.js +4 -7
- package/svelte.config.js +1 -0
- package/tests/e2e/app.spec.js +59 -21
- package/tests/e2e/mobile.spec.js +50 -29
- package/tests/unit/auditScripts.test.js +1 -0
- package/tests/unit/checkEnv.test.js +1 -0
- package/tests/unit/checkVersions.test.js +1 -0
- package/tests/unit/cspReport.test.js +81 -0
- package/tests/unit/demo.test.js +1 -0
- package/tests/unit/routes/page.svelte.test.js +1 -0
- package/tests/unit/unregisterServiceWorker.test.js +1 -0
- package/tests/unit/utm.test.js +1 -0
- package/{tsconfig.custom.json → tsconfig.custom.jsonc} +2 -1
- package/vite.config.js +1 -0
- package/vitest.config.client.js +1 -0
- package/vitest.config.server.js +1 -0
- package/_headers +0 -9
package/src/lib/data/fossData.js
CHANGED
|
@@ -1,14 +1,99 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
2
|
src/lib/data/fossData.js
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== */
|
|
7
8
|
|
|
9
|
+
// cspell:ignore lsheet eauth bolditalic tosdr
|
|
10
|
+
|
|
8
11
|
// Import FOSS images
|
|
9
|
-
import { acodePng, acodeWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
|
|
12
|
+
import { acodePng, acodeWbp, eauthPng, eauthWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
|
|
10
13
|
|
|
11
14
|
export const fossData = [
|
|
15
|
+
{
|
|
16
|
+
id: "eauth",
|
|
17
|
+
images: {
|
|
18
|
+
webp: eauthWbp,
|
|
19
|
+
png: eauthPng,
|
|
20
|
+
},
|
|
21
|
+
imgAlt: "Ente Auth",
|
|
22
|
+
title: "Ente Auth",
|
|
23
|
+
headline: "🔐 Elevate Your 2FA Game with Ente Auth — The Cross-Platform Open-Source Powerhouse!",
|
|
24
|
+
headlineDescription: `
|
|
25
|
+
<p>
|
|
26
|
+
This week's <strong>FOSS Spotlight</strong> is on <strong>Ente Auth</strong> — the sleek, open-source 2FA authenticator that's putting privacy and usability front and center.
|
|
27
|
+
</p>
|
|
28
|
+
<p>
|
|
29
|
+
Whether you're a dev, a cybersecurity enthusiast, or simply serious about protecting your accounts, <strong>Ente Auth</strong> offers a next-level authentication experience — <strong>backed by encryption, not ads.</strong>
|
|
30
|
+
</p>
|
|
31
|
+
`,
|
|
32
|
+
features: [
|
|
33
|
+
{
|
|
34
|
+
emoji: "✨",
|
|
35
|
+
label: "Why Make the Switch to Ente Auth?",
|
|
36
|
+
isIntro: true
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
emoji: "✔️",
|
|
40
|
+
label: "End-to-End Encrypted Backups",
|
|
41
|
+
description: "Never lose access to your 2FA codes again."
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
emoji: "✔️",
|
|
45
|
+
label: "Cross-Platform Sync",
|
|
46
|
+
description: "Android, iOS, Windows, macOS, Linux, Web — all covered."
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
emoji: "✔️",
|
|
50
|
+
label: "Offline Functionality",
|
|
51
|
+
description: "No account or connection? No problem."
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
emoji: "✔️",
|
|
55
|
+
label: "Intuitive UX",
|
|
56
|
+
description: "Easily search, preview the next code, and share tokens securely."
|
|
57
|
+
},
|
|
58
|
+
{
|
|
59
|
+
emoji: "✔️",
|
|
60
|
+
label: "Audited Open Source",
|
|
61
|
+
description: "Reviewed by top-tier security firms."
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
emoji: "✔️",
|
|
65
|
+
label: "Free Forever",
|
|
66
|
+
description: "No ads. No tracking. Just transparent, user-first security."
|
|
67
|
+
}
|
|
68
|
+
],
|
|
69
|
+
detailsDescription: `
|
|
70
|
+
<p>
|
|
71
|
+
We've long backed <strong>Aegis</strong> — and still do. But <strong>Aegis lacks true cross-platform support</strong>. That's where <strong>Ente Auth</strong> shines.
|
|
72
|
+
</p>
|
|
73
|
+
<p>
|
|
74
|
+
Take control of your authentication experience. <strong>Embrace the freedom of private, seamless, and secure 2FA.</strong>
|
|
75
|
+
</p>
|
|
76
|
+
`,
|
|
77
|
+
links: [
|
|
78
|
+
{
|
|
79
|
+
label: "GitHub",
|
|
80
|
+
href: "https://github.com/ente-io/ente/",
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
label: "F-Droid",
|
|
84
|
+
href: "https://f-droid.org/packages/io.ente.auth/",
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
label: "Website",
|
|
88
|
+
href: "https://ente.io/auth/",
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
label: "Play Store",
|
|
92
|
+
href: "https://play.google.com/store/apps/details?id=io.ente.auth",
|
|
93
|
+
},
|
|
94
|
+
],
|
|
95
|
+
notes: [],
|
|
96
|
+
},
|
|
12
97
|
{
|
|
13
98
|
id: "pmx",
|
|
14
99
|
images: {
|
|
@@ -19,28 +104,56 @@ export const fossData = [
|
|
|
19
104
|
title: "Permission Manager X",
|
|
20
105
|
headline: "Take Control of App Permissions Like a Pro with PMX!",
|
|
21
106
|
headlineDescription: `
|
|
22
|
-
<p>
|
|
23
|
-
|
|
107
|
+
<p>
|
|
108
|
+
Introducing Permission Manager X (PMX), the open-source, lightweight Android tool that provides you with full control over your app's permissions without the need for root access.
|
|
109
|
+
</p>
|
|
110
|
+
<p>
|
|
111
|
+
PMX was designed with user autonomy and simplicity in mind, enabling users to fully manage app permissions (both manifest permissions and AppOps) on Android devices.
|
|
112
|
+
</p>
|
|
24
113
|
`,
|
|
25
114
|
features: [
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
115
|
+
{
|
|
116
|
+
emoji: "⚡",
|
|
117
|
+
label: "Why Choose PMX?",
|
|
118
|
+
isIntro: true
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
emoji: "✔️",
|
|
122
|
+
label: "Granular, On-Demand Permission Control",
|
|
123
|
+
description: "Instantly block or allow app permissions with real-time control."
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
emoji: "✔️",
|
|
127
|
+
label: "Sensitive Data Access Monitoring",
|
|
128
|
+
description: "See which apps access your camera, mic, location, and more."
|
|
129
|
+
},
|
|
130
|
+
{
|
|
131
|
+
emoji: "✔️",
|
|
132
|
+
label: "Autostart Abuse Prevention",
|
|
133
|
+
description: "Halt apps that auto-launch and exploit background permissions."
|
|
134
|
+
},
|
|
135
|
+
{
|
|
136
|
+
emoji: "✔️",
|
|
137
|
+
label: "Clean, Ad-Free Interface",
|
|
138
|
+
description: "Lightweight UI with zero ads, trackers, or unnecessary bloat."
|
|
139
|
+
},
|
|
140
|
+
{
|
|
141
|
+
emoji: "✔️",
|
|
142
|
+
label: "Wireless ADB Support (No Root)",
|
|
143
|
+
description: "Advanced controls via ADB—wireless if supported—no root needed."
|
|
144
|
+
}
|
|
31
145
|
],
|
|
32
146
|
detailsDescription: `
|
|
33
|
-
<p>
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
<p>Try it now and liberate your Android from bloatware permission abuse!</p>
|
|
147
|
+
<p>
|
|
148
|
+
PMX offers a wealth of features for anyone evaluating mobile security tools, be they an IT professional, developer, or privacy-conscious user.
|
|
149
|
+
</p>
|
|
150
|
+
<p>
|
|
151
|
+
No ads. No tracking. Just privacy made easy.<br />
|
|
152
|
+
This isn't just another utility — it's a <em>must-have</em> for anyone serious about mobile privacy and transparency.
|
|
153
|
+
</p>
|
|
154
|
+
<p>
|
|
155
|
+
Try it now and liberate your Android from bloatware permission abuse!
|
|
156
|
+
</p>
|
|
44
157
|
`,
|
|
45
158
|
links: [
|
|
46
159
|
{
|
|
@@ -76,26 +189,55 @@ export const fossData = [
|
|
|
76
189
|
headline:
|
|
77
190
|
"Discover ToS;DR - The Open-Source Project That Translates Legal Jargon into Clarity",
|
|
78
191
|
headlineDescription: `
|
|
79
|
-
<p>
|
|
80
|
-
|
|
192
|
+
<p>
|
|
193
|
+
We've all been there—scrolling past walls of legal text and clicking “I agree” just to get on with it. But what exactly are we agreeing to?
|
|
194
|
+
</p>
|
|
195
|
+
<p>
|
|
196
|
+
<strong>ToS;DR (Terms of Service; Didn't Read)</strong> is the open-source project that helps you find out—without needing a law degree.
|
|
197
|
+
</p>
|
|
81
198
|
`,
|
|
82
199
|
features: [
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
200
|
+
{
|
|
201
|
+
emoji: "✨",
|
|
202
|
+
label: "Why ToS;DR?",
|
|
203
|
+
isIntro: true
|
|
204
|
+
},
|
|
205
|
+
{
|
|
206
|
+
emoji: "✔️",
|
|
207
|
+
label: "Community-driven ratings",
|
|
208
|
+
description: "from A (best) to E (worst)."
|
|
209
|
+
},
|
|
210
|
+
{
|
|
211
|
+
emoji: "✔️",
|
|
212
|
+
label: "Clear summaries of complex terms and privacy policies",
|
|
213
|
+
description: ""
|
|
214
|
+
},
|
|
215
|
+
{
|
|
216
|
+
emoji: "✔️",
|
|
217
|
+
label: "Highlights of key clauses",
|
|
218
|
+
description: "both good and bad."
|
|
219
|
+
},
|
|
220
|
+
{
|
|
221
|
+
emoji: "✔️",
|
|
222
|
+
label: "No account needed, completely free to use",
|
|
223
|
+
description: ""
|
|
224
|
+
},
|
|
225
|
+
{
|
|
226
|
+
emoji: "✔️",
|
|
227
|
+
label: "Transparent, open-source code and contribution process",
|
|
228
|
+
description: ""
|
|
229
|
+
}
|
|
88
230
|
],
|
|
89
231
|
detailsDescription: `
|
|
90
|
-
<p
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
<p>
|
|
97
|
-
|
|
98
|
-
|
|
232
|
+
<p>
|
|
233
|
+
Whether you're a privacy advocate, a curious user, or someone tired of blindly agreeing to questionable terms, ToS;DR helps you make informed decisions about the services you use every day.
|
|
234
|
+
</p>
|
|
235
|
+
<p>
|
|
236
|
+
💡 From browser extensions to a dedicated <strong>Android app on F-Droid</strong>, ToS;DR is privacy-conscious, ad-free, and built to empower.
|
|
237
|
+
</p>
|
|
238
|
+
<p>
|
|
239
|
+
Stay informed, protect your rights, and take back control of your digital life—one ToS at a time.
|
|
240
|
+
</p>
|
|
99
241
|
`,
|
|
100
242
|
links: [
|
|
101
243
|
{
|
|
@@ -103,13 +245,13 @@ export const fossData = [
|
|
|
103
245
|
href: "https://f-droid.org/en/packages/xyz.ptgms.tosdr/",
|
|
104
246
|
},
|
|
105
247
|
{
|
|
106
|
-
label: "GitHub (works with
|
|
248
|
+
label: "GitHub (works with Obtainium)",
|
|
107
249
|
href: "https://github.com/tosdr/tosdr-android",
|
|
108
250
|
},
|
|
109
251
|
{ label: "Website", href: "https://tosdr.org/" },
|
|
110
252
|
],
|
|
111
253
|
notes: [
|
|
112
|
-
`While the latest <a rel="noopener noreferrer" href="https://reports.exodus-privacy.eu.org/en/reports/592855/">Exodus</a> privacy audit shows the <a rel="noopener noreferrer" href="https://play.google.com/store/apps/details?id=xyz.ptgms.tosdr">Play Store</a> version is free of trackers, we'd still recommend opting for the F-Droid version or installing via <a rel="noopener noreferrer" href="https://github.com/ImranR98/Obtainium">
|
|
254
|
+
`While the latest <a rel="noopener noreferrer" href="https://reports.exodus-privacy.eu.org/en/reports/592855/">Exodus</a> privacy audit shows the <a rel="noopener noreferrer" href="https://play.google.com/store/apps/details?id=xyz.ptgms.tosdr">Play Store</a> version is free of trackers, we'd still recommend opting for the F-Droid version or installing via <a rel="noopener noreferrer" href="https://github.com/ImranR98/Obtainium">Obtainium</a>.`,
|
|
113
255
|
],
|
|
114
256
|
},
|
|
115
257
|
{
|
|
@@ -123,23 +265,46 @@ export const fossData = [
|
|
|
123
265
|
headline:
|
|
124
266
|
"Bring the power of a full-fledged IDE to your Android device with Acode!",
|
|
125
267
|
headlineDescription: `
|
|
126
|
-
<p>
|
|
268
|
+
<p>
|
|
269
|
+
Discover Acode, the open-source code editor that brings the power of a full-fledged IDE to your Android device. Whether you're tweaking HTML, crafting CSS, or debugging JavaScript, Acode has you covered.
|
|
270
|
+
</p>
|
|
127
271
|
`,
|
|
128
272
|
features: [
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
273
|
+
{
|
|
274
|
+
emoji: "✨",
|
|
275
|
+
label: "Why Acode?",
|
|
276
|
+
isIntro: true
|
|
277
|
+
},
|
|
278
|
+
{
|
|
279
|
+
emoji: "✔️",
|
|
280
|
+
label: "Lightweight & fast",
|
|
281
|
+
description: ""
|
|
282
|
+
},
|
|
283
|
+
{
|
|
284
|
+
emoji: "✔️",
|
|
285
|
+
label: "Supports over 100 programming languages",
|
|
286
|
+
description: ""
|
|
287
|
+
},
|
|
288
|
+
{
|
|
289
|
+
emoji: "✔️",
|
|
290
|
+
label: "Offline functionality",
|
|
291
|
+
description: "no internet needed."
|
|
292
|
+
},
|
|
293
|
+
{
|
|
294
|
+
emoji: "✔️",
|
|
295
|
+
label: "Integrated Git support",
|
|
296
|
+
description: ""
|
|
297
|
+
},
|
|
298
|
+
{
|
|
299
|
+
emoji: "✔️",
|
|
300
|
+
label: "Customizable themes & syntax highlighting",
|
|
301
|
+
description: ""
|
|
302
|
+
}
|
|
134
303
|
],
|
|
135
304
|
detailsDescription: `
|
|
136
|
-
<p
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
✔️ Offline functionality—no internet needed<br />
|
|
140
|
-
✔️ Integrated Git support<br />
|
|
141
|
-
✔️ Customizable themes & syntax highlighting</p>
|
|
142
|
-
<p>Perfect for developers on the go, students, or anyone passionate about coding and open-source software.</p>
|
|
305
|
+
<p>
|
|
306
|
+
Perfect for developers on the go, students, or anyone passionate about coding and open-source software.
|
|
307
|
+
</p>
|
|
143
308
|
`,
|
|
144
309
|
links: [
|
|
145
310
|
{ label: "GitHub", href: "https://github.com/Acode-Foundation/Acode" },
|
|
@@ -164,20 +329,43 @@ export const fossData = [
|
|
|
164
329
|
headline:
|
|
165
330
|
"Restore link control on Android 12 and later with LinkSheet Nightly.",
|
|
166
331
|
headlineDescription: `
|
|
167
|
-
<p>
|
|
332
|
+
<p>
|
|
333
|
+
LinkSheet is a powerful tool that restores the ability to choose which app opens your links on Android 12 and later. With its Material Design interface, LinkSheet allows you to set custom preferences for specific hosts, enhancing your privacy and control.
|
|
334
|
+
</p>
|
|
168
335
|
`,
|
|
169
336
|
features: [
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
337
|
+
{
|
|
338
|
+
emoji: "✨",
|
|
339
|
+
label: "Why LinkSheet?",
|
|
340
|
+
isIntro: true
|
|
341
|
+
},
|
|
342
|
+
{
|
|
343
|
+
emoji: "✔️",
|
|
344
|
+
label: "Regain Choice",
|
|
345
|
+
description: "Decide which app opens your links, bypassing Android's default restrictions."
|
|
346
|
+
},
|
|
347
|
+
{
|
|
348
|
+
emoji: "✔️",
|
|
349
|
+
label: "Custom Preferences",
|
|
350
|
+
description: "Set your preferred browser or app for specific hosts."
|
|
351
|
+
},
|
|
352
|
+
{
|
|
353
|
+
emoji: "✔️",
|
|
354
|
+
label: "Enhanced Privacy",
|
|
355
|
+
description: "Prevent unwanted app launches and ensure links open where you intend."
|
|
356
|
+
},
|
|
357
|
+
{
|
|
358
|
+
emoji: "✔️",
|
|
359
|
+
label: "User-Friendly Interface",
|
|
360
|
+
description: "Enjoy a sleek, Material Design that integrates seamlessly with your device."
|
|
361
|
+
},
|
|
362
|
+
{
|
|
363
|
+
emoji: "✔️",
|
|
364
|
+
label: "Customizable themes & syntax highlighting",
|
|
365
|
+
description: ""
|
|
366
|
+
}
|
|
174
367
|
],
|
|
175
368
|
detailsDescription: `
|
|
176
|
-
<p>✨ <span class="bolditalic">Why LinkSheet?</span><br />
|
|
177
|
-
✔️ <strong>Regain Choice:</strong> Decide which app opens your links, bypassing Android's default restrictions.<br />
|
|
178
|
-
✔️ <strong>Custom Preferences:</strong> Set your preferred browser or app for specific hosts.<br />
|
|
179
|
-
✔️ <strong>Enhanced Privacy:</strong> Prevent unwanted app launches and ensure links open where you intend.<br />
|
|
180
|
-
✔️ <strong>User-Friendly Interface:</strong> Enjoy a sleek, Material Design that integrates seamlessly with your device.</p>
|
|
181
369
|
`,
|
|
182
370
|
links: [
|
|
183
371
|
{
|
|
@@ -208,18 +396,33 @@ export const fossData = [
|
|
|
208
396
|
title: "URLCheck",
|
|
209
397
|
headline: "Analyze and inspect links before opening them with URLCheck.",
|
|
210
398
|
headlineDescription: `
|
|
211
|
-
<p>
|
|
399
|
+
<p>
|
|
400
|
+
URLCheck is a must-have for privacy-conscious users! This app helps you analyze and inspect links before opening them, protecting you from trackers, malicious sites, and other online threats.
|
|
401
|
+
</p>
|
|
212
402
|
`,
|
|
213
403
|
features: [
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
404
|
+
{
|
|
405
|
+
emoji: "🔍",
|
|
406
|
+
label: "Why you need it:",
|
|
407
|
+
isIntro: true
|
|
408
|
+
},
|
|
409
|
+
{
|
|
410
|
+
emoji: "✔️",
|
|
411
|
+
label: "Automatic URL Screening",
|
|
412
|
+
description: "Set it as your default browser for real-time link analysis."
|
|
413
|
+
},
|
|
414
|
+
{
|
|
415
|
+
emoji: "✔️",
|
|
416
|
+
label: "Full Transparency",
|
|
417
|
+
description: "Know what's behind a link before you click."
|
|
418
|
+
},
|
|
419
|
+
{
|
|
420
|
+
emoji: "✔️",
|
|
421
|
+
label: "Stronger Privacy & Security",
|
|
422
|
+
description: "Stay safe online with minimal effort!"
|
|
423
|
+
}
|
|
217
424
|
],
|
|
218
425
|
detailsDescription: `
|
|
219
|
-
<p>🔍 <span class="bolditalic">Why you need it:</span><br />
|
|
220
|
-
✔️ <b>Automatic URL screening:</b> Set it as your default browser for real-time link analysis.<br />
|
|
221
|
-
✔️ <b>Full transparency:</b> Know what's behind a link before you click.<br />
|
|
222
|
-
✔️ <b>Stronger privacy & security:</b> Stay safe online with minimal effort!</p>
|
|
223
426
|
`,
|
|
224
427
|
links: [
|
|
225
428
|
{ label: "GitHub", href: "https://github.com/TrianguloY/URLCheck" },
|
package/src/lib/images.js
CHANGED
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
2
|
src/lib/images.js
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== */
|
|
7
8
|
|
|
9
|
+
// cspell:ignore lsheet tosdr
|
|
10
|
+
|
|
8
11
|
/**
|
|
9
12
|
* Image import utility
|
|
10
13
|
* Provides convenient access to images in the src/lib/img directory
|
|
11
14
|
*
|
|
12
15
|
* @module src/lib
|
|
13
16
|
* @author SunDevil311
|
|
14
|
-
* @updated 2025-05-
|
|
17
|
+
* @updated 2025-05-24
|
|
15
18
|
*/
|
|
16
19
|
|
|
17
20
|
// Import favicon images
|
|
@@ -35,6 +38,8 @@ import obtainiumWbp from "$lib/img/obtainium.webp";
|
|
|
35
38
|
// Import images for posts
|
|
36
39
|
import acodePng from "$lib/img/posts/acode.png";
|
|
37
40
|
import acodeWbp from "$lib/img/posts/acode.webp";
|
|
41
|
+
import eauthPng from "$lib/img/posts/eauth.png";
|
|
42
|
+
import eauthWbp from "$lib/img/posts/eauth.webp";
|
|
38
43
|
import lsheetPng from "$lib/img/posts/linksheet.png";
|
|
39
44
|
import lsheetWbp from "$lib/img/posts/linksheet.webp";
|
|
40
45
|
import pmxPng from "$lib/img/posts/pmx.png";
|
|
@@ -57,6 +62,8 @@ export {
|
|
|
57
62
|
bySvg,
|
|
58
63
|
ccBadge,
|
|
59
64
|
ccSvg,
|
|
65
|
+
eauthPng,
|
|
66
|
+
eauthWbp,
|
|
60
67
|
faviconSvg,
|
|
61
68
|
gplBadge,
|
|
62
69
|
logoPng,
|
|
@@ -75,3 +82,5 @@ export {
|
|
|
75
82
|
urlWbp,
|
|
76
83
|
vcfSrc
|
|
77
84
|
};
|
|
85
|
+
|
|
86
|
+
// cspell:ignore eauth
|
package/src/lib/img/logo-web.png
CHANGED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/src/lib/index.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
2
|
src/lib/index.js
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== */
|
package/src/lib/meta.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* ==========================================================================
|
|
2
2
|
src/lib/meta.js
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== */
|
|
@@ -62,4 +63,3 @@ const defaultMeta = {
|
|
|
62
63
|
|
|
63
64
|
// Export values
|
|
64
65
|
export { defaultMeta, meta };
|
|
65
|
-
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
2
|
src/lib/pages/AboutContent.svelte
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== -->
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
2
|
src/lib/pages/FossContent.svelte
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== -->
|
|
@@ -45,7 +46,7 @@ This file is part of Network Pro.
|
|
|
45
46
|
*/
|
|
46
47
|
const pageInfo = {
|
|
47
48
|
title: "FOSS Spotlight",
|
|
48
|
-
lastUpdated: "May
|
|
49
|
+
lastUpdated: "May 26, 2025",
|
|
49
50
|
};
|
|
50
51
|
|
|
51
52
|
/** @type {any} */
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
2
|
src/lib/pages/HomeContent.svelte
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== -->
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
<!-- ==========================================================================
|
|
2
2
|
src/lib/pages/LicenseContent.svelte
|
|
3
3
|
|
|
4
|
+
Copyright © 2025 Network Pro Strategies (Network Pro™)
|
|
4
5
|
SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
|
|
5
6
|
This file is part of Network Pro.
|
|
6
7
|
========================================================================== -->
|
|
7
8
|
|
|
9
|
+
<!-- cspell:ignore lmaterial lterms dlnotes -->
|
|
10
|
+
|
|
8
11
|
<script>
|
|
9
12
|
import { base } from "$app/paths";
|
|
13
|
+
import { ccSvg, bySvg } from "$lib";
|
|
10
14
|
|
|
11
15
|
// Log the base path to verify its value
|
|
12
16
|
//console.log("Base path:", base);
|
|
@@ -18,6 +22,13 @@ This file is part of Network Pro.
|
|
|
18
22
|
const homeLink = base || "/";
|
|
19
23
|
const contactLink = `${base}/contact`;
|
|
20
24
|
|
|
25
|
+
/**
|
|
26
|
+
* Icons for Creative Commons
|
|
27
|
+
* @type {string}
|
|
28
|
+
*/
|
|
29
|
+
const ccSrc = ccSvg;
|
|
30
|
+
const bySrc = bySvg;
|
|
31
|
+
|
|
21
32
|
/**
|
|
22
33
|
* URL to the internal MkDocs documentation
|
|
23
34
|
* @type {string}
|
|
@@ -42,6 +53,7 @@ This file is part of Network Pro.
|
|
|
42
53
|
{ id: "disclaimer", text: "Modifications and Liability Disclaimer" },
|
|
43
54
|
{ id: "contact", text: "Contact" },
|
|
44
55
|
{ id: "revisions", text: "Revisions" },
|
|
56
|
+
{ id: "authoritative", text: "Authoritative Version Clause" },
|
|
45
57
|
];
|
|
46
58
|
|
|
47
59
|
/**
|
|
@@ -50,7 +62,7 @@ This file is part of Network Pro.
|
|
|
50
62
|
*/
|
|
51
63
|
const constants = {
|
|
52
64
|
company: "Network Pro Strategies",
|
|
53
|
-
effectiveDate: "May
|
|
65
|
+
effectiveDate: "May 24, 2025",
|
|
54
66
|
classSmall: "small-text",
|
|
55
67
|
rel: "noopener noreferrer",
|
|
56
68
|
hrefTop: "#top",
|
|
@@ -254,7 +266,7 @@ This file is part of Network Pro.
|
|
|
254
266
|
text-decoration: none;
|
|
255
267
|
vertical-align: text-bottom;
|
|
256
268
|
"
|
|
257
|
-
src=
|
|
269
|
+
src={ccSrc}
|
|
258
270
|
alt="Creative Commons BY" />
|
|
259
271
|
</a>
|
|
260
272
|
<a
|
|
@@ -271,7 +283,7 @@ This file is part of Network Pro.
|
|
|
271
283
|
text-decoration: none;
|
|
272
284
|
vertical-align: text-bottom;
|
|
273
285
|
"
|
|
274
|
-
src=
|
|
286
|
+
src={bySrc}
|
|
275
287
|
alt="Creative Commons BY" />
|
|
276
288
|
</a>.
|
|
277
289
|
</p>
|
|
@@ -475,6 +487,24 @@ This file is part of Network Pro.
|
|
|
475
487
|
changes. The current effective date is listed at the top of this
|
|
476
488
|
document.
|
|
477
489
|
</p>
|
|
490
|
+
{:else if link.id === "authoritative"}
|
|
491
|
+
<p>
|
|
492
|
+
In the event of any discrepancy between different versions, formats, or
|
|
493
|
+
distributions of any legal document issued by the Company—including but
|
|
494
|
+
not limited to license terms, policies, notices, or agreements—the
|
|
495
|
+
version published on the Company's primary website at <a
|
|
496
|
+
rel={constants.rel}
|
|
497
|
+
href={homeLink}
|
|
498
|
+
target={constants.targetSelf}>https://netwk.pro</a>
|
|
499
|
+
shall be deemed the official and controlling version.
|
|
500
|
+
</p>
|
|
501
|
+
|
|
502
|
+
<p>
|
|
503
|
+
It is your responsibility to review the most current version of any
|
|
504
|
+
applicable legal document before relying on its contents. Continued use
|
|
505
|
+
of the Company's materials, services, or Licensed Material constitutes
|
|
506
|
+
acceptance of the most current version then in effect.
|
|
507
|
+
</p>
|
|
478
508
|
{/if}
|
|
479
509
|
|
|
480
510
|
<span class={constants.classSmall}>
|