@networkpro/web 0.13.1 → 1.0.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.
Files changed (282) hide show
  1. package/CODE_OF_CONDUCT.md +172 -0
  2. package/LICENSE.md +4 -4
  3. package/README.md +11 -10
  4. package/assets/bin/contact.vcf +13 -0
  5. package/assets/bin/contact@s.neteng.pro.aexpk +17 -0
  6. package/assets/bin/contact@s.neteng.pro.asc +17 -0
  7. package/assets/bin/github@sl.neteng.cc.aexpk +29 -0
  8. package/assets/bin/github@sl.neteng.cc.asc +29 -0
  9. package/assets/bin/linksheet.json +8 -0
  10. package/assets/bin/support@neteng.pro.aexpk +47 -0
  11. package/assets/bin/support@neteng.pro.asc +47 -0
  12. package/assets/consulting-terms.pdf +0 -0
  13. package/eslint.config.mjs +112 -0
  14. package/jsconfig.json +28 -0
  15. package/netlify.toml +13 -0
  16. package/package.json +64 -61
  17. package/playwright.config.js +79 -0
  18. package/postcss.config.mjs +14 -0
  19. package/scripts/bundleCss.js +40 -0
  20. package/src/app.d.ts +15 -0
  21. package/src/app.html +81 -0
  22. package/src/demo.spec.js +14 -0
  23. package/src/lib/components/Badges.svelte +74 -0
  24. package/src/lib/components/ContainerSection.svelte +19 -0
  25. package/src/lib/components/FullWidthSection.svelte +13 -0
  26. package/src/lib/components/LegalNav.svelte +75 -0
  27. package/src/lib/components/Logo.svelte +110 -0
  28. package/src/lib/components/SocialMedia.svelte +70 -0
  29. package/src/lib/components/foss/FossFeatures.svelte +24 -0
  30. package/src/lib/components/foss/FossItemContent.svelte +153 -0
  31. package/src/lib/components/layout/Footer.svelte +188 -0
  32. package/src/lib/components/layout/HeaderDefault.svelte +86 -0
  33. package/src/lib/components/layout/HeaderHome.svelte +84 -0
  34. package/src/lib/data/fossData.js +233 -0
  35. package/src/lib/images.js +77 -0
  36. package/src/lib/img/badges/cc-by-badge.png +0 -0
  37. package/src/lib/img/badges/gpl-badge.svg +1 -0
  38. package/src/lib/img/by.svg +1 -0
  39. package/src/lib/img/cc.svg +1 -0
  40. package/src/lib/img/logo-web.png +0 -0
  41. package/src/lib/img/logo-web.webp +0 -0
  42. package/src/lib/img/obtainium.webp +0 -0
  43. package/src/lib/img/posts/acode.png +0 -0
  44. package/src/lib/img/posts/acode.webp +0 -0
  45. package/src/lib/img/posts/linksheet.png +0 -0
  46. package/src/lib/img/posts/linksheet.webp +0 -0
  47. package/src/lib/img/posts/pmx.png +0 -0
  48. package/src/lib/img/posts/pmx.webp +0 -0
  49. package/src/lib/img/posts/tosdr.png +0 -0
  50. package/src/lib/img/posts/tosdr.webp +0 -0
  51. package/src/lib/img/posts/urlcheck.png +0 -0
  52. package/src/lib/img/posts/urlcheck.webp +0 -0
  53. package/src/lib/index.js +43 -0
  54. package/src/lib/pages/AboutContent.svelte +294 -0
  55. package/src/lib/pages/FossContent.svelte +109 -0
  56. package/src/lib/pages/HomeContent.svelte +120 -0
  57. package/src/lib/pages/LicenseContent.svelte +486 -0
  58. package/src/lib/pages/PrivacyContent.svelte +249 -0
  59. package/src/lib/pages/TermsConditionsContent.svelte +240 -0
  60. package/src/lib/pages/TermsUseContent.svelte +236 -0
  61. package/src/lib/registerServiceWorker.js +65 -0
  62. package/src/lib/styles/css/brands.css +76 -0
  63. package/src/lib/styles/css/brands.min.css +6 -0
  64. package/src/lib/styles/css/default.css +454 -0
  65. package/src/lib/styles/css/fontawesome.min.css +9 -0
  66. package/src/lib/styles/css/global.css +10 -0
  67. package/src/lib/styles/css/normalize.css +349 -0
  68. package/src/lib/styles/css/offline.css +120 -0
  69. package/src/lib/styles/css/solid.min.css +6 -0
  70. package/src/lib/styles/css/style.css +310 -0
  71. package/src/lib/styles/fa-global.css +10 -0
  72. package/src/lib/styles/global.min.css +9 -0
  73. package/src/lib/styles/index.js +11 -0
  74. package/src/lib/styles/webfonts/fa-brands-400.ttf +0 -0
  75. package/src/lib/styles/webfonts/fa-brands-400.woff2 +0 -0
  76. package/src/lib/styles/webfonts/fa-solid-900.ttf +0 -0
  77. package/src/lib/styles/webfonts/fa-solid-900.woff2 +0 -0
  78. package/src/routes/+error.svelte +43 -0
  79. package/src/routes/+layout.js +94 -0
  80. package/src/routes/+layout.svelte +110 -0
  81. package/src/routes/+page.svelte +77 -0
  82. package/src/routes/about/+page.svelte +61 -0
  83. package/src/routes/contact/+page.server.js +24 -0
  84. package/src/routes/example.svx +9 -0
  85. package/src/routes/foss-spotlight/+page.svelte +63 -0
  86. package/src/routes/license/+page.svelte +63 -0
  87. package/src/routes/page.svelte.test.js +18 -0
  88. package/src/routes/privacy-policy/+page.svelte +63 -0
  89. package/src/routes/privacy-rights/+page.server.js +24 -0
  90. package/src/routes/terms-conditions/+page.svelte +63 -0
  91. package/src/routes/terms-of-use/+page.svelte +63 -0
  92. package/src/service-worker.d.ts +4 -0
  93. package/src/service-worker.js +90 -0
  94. package/static/icon-512x512-maskable.png +0 -0
  95. package/static/icon-contact.png +0 -0
  96. package/static/icon-services.png +0 -0
  97. package/static/img/svelte.png +0 -0
  98. package/static/manifest.json +64 -0
  99. package/static/offline.html +79 -0
  100. package/static/offline.min.css +7 -0
  101. package/{robots.txt → static/robots.txt} +0 -2
  102. package/static/sitemap.xml +102 -0
  103. package/stylelint.config.js +118 -0
  104. package/svelte.config.js +56 -0
  105. package/tests/app.spec.js +67 -0
  106. package/tests/mobile.spec.js +58 -0
  107. package/tests-examples/demo-todo-app.spec.js +504 -0
  108. package/tsconfig.custom.json +39 -0
  109. package/vite.config.js +19 -0
  110. package/vitest-setup-client.js +33 -0
  111. package/vitest.config.client.js +34 -0
  112. package/vitest.config.server.js +30 -0
  113. package/404.html +0 -84
  114. package/about.html +0 -334
  115. package/about.html.br +0 -0
  116. package/about.html.gz +0 -0
  117. package/bundle-report.html +0 -39
  118. package/css/default.css +0 -1
  119. package/css/normalize.css +0 -1
  120. package/css/style.css +0 -1
  121. package/docs/404.html +0 -1187
  122. package/docs/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  123. package/docs/assets/external/img.shields.io/badge/GitHub_Package_Registry-white.ed8def48.svg +0 -1
  124. package/docs/assets/external/img.shields.io/badge/npmjs-white.681714c1.svg +0 -1
  125. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/by.svg +0 -20
  126. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/cc.svg +0 -27
  127. package/docs/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
  128. package/docs/assets/images/favicon.png +0 -0
  129. package/docs/assets/javascripts/bundle.c8b220af.min.js +0 -16
  130. package/docs/assets/javascripts/bundle.c8b220af.min.js.map +0 -7
  131. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  132. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  133. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  134. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  135. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  136. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  137. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  138. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  139. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  140. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  141. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  142. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  143. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  144. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  145. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  146. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  147. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  148. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  149. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  150. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  151. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  152. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  153. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  154. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  155. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  156. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  157. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  158. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  159. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  160. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  161. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  162. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  163. package/docs/assets/javascripts/lunr/tinyseg.js +0 -206
  164. package/docs/assets/javascripts/lunr/wordcut.js +0 -6708
  165. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js +0 -42
  166. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js.map +0 -7
  167. package/docs/assets/stylesheets/main.2afb09e1.min.css +0 -1
  168. package/docs/assets/stylesheets/main.2afb09e1.min.css.map +0 -1
  169. package/docs/assets/stylesheets/palette.06af60db.min.css +0 -1
  170. package/docs/assets/stylesheets/palette.06af60db.min.css.map +0 -1
  171. package/docs/blog/2015/01/04/secure-secure-shell/index.html +0 -1771
  172. package/docs/blog/2025/04/30/our-blog-is-live/index.html +0 -1436
  173. package/docs/blog/archive/2015/index.html +0 -1303
  174. package/docs/blog/archive/2025/index.html +0 -1291
  175. package/docs/blog/category/security/index.html +0 -1303
  176. package/docs/blog/index.html +0 -1350
  177. package/docs/conduct/index.html +0 -1509
  178. package/docs/feed_json_created.json +0 -1
  179. package/docs/feed_json_updated.json +0 -1
  180. package/docs/feed_rss_created.xml +0 -1
  181. package/docs/feed_rss_updated.xml +0 -1
  182. package/docs/fontawesome/LICENSE.txt +0 -165
  183. package/docs/fontawesome/brands/facebook.svg +0 -1
  184. package/docs/fontawesome/brands/instagram.svg +0 -1
  185. package/docs/fontawesome/brands/linkedin.svg +0 -1
  186. package/docs/fontawesome/brands/mastodon.svg +0 -1
  187. package/docs/fontawesome/solid/at.svg +0 -1
  188. package/docs/index.html +0 -1395
  189. package/docs/legal/index.html +0 -1740
  190. package/docs/privacy/index.html +0 -1615
  191. package/docs/search/search_index.json +0 -1
  192. package/docs/sitemap.xml +0 -55
  193. package/docs/sitemap.xml.gz +0 -0
  194. package/docs/tags/index.html +0 -2084
  195. package/docs/terms-conditions/index.html +0 -1655
  196. package/docs/terms-use/index.html +0 -1584
  197. package/favicon-192.png +0 -0
  198. package/favicon-512.png +0 -0
  199. package/favicon.svg.br +0 -0
  200. package/favicon.svg.gz +0 -0
  201. package/html/spotlight.html +0 -435
  202. package/html/spotlight.html.br +0 -0
  203. package/html/spotlight.html.gz +0 -0
  204. package/img/banner-1280x640.png +0 -0
  205. package/img/banner-1440.png +0 -0
  206. package/img/banner-og-1200x630.png +0 -0
  207. package/img/favicon-template.png +0 -0
  208. package/img/fb-cover.png +0 -0
  209. package/img/fb-cover2.png +0 -0
  210. package/img/fsf-member.png +0 -0
  211. package/img/gh-logo.png +0 -0
  212. package/img/gpl3-small.png +0 -0
  213. package/img/gpl3.png +0 -0
  214. package/img/linkedin-banner-new.png +0 -0
  215. package/img/linkedin-banner.png +0 -0
  216. package/img/linkedin-banner2.png +0 -0
  217. package/img/logo-1024x1024.png +0 -0
  218. package/img/logo-alt.png +0 -0
  219. package/img/logo-elevated.png +0 -0
  220. package/img/logo-light-elevated.png +0 -0
  221. package/img/logo-light-slogan.png +0 -0
  222. package/img/logo-light.png +0 -0
  223. package/img/logo-slogan.png +0 -0
  224. package/img/logo-transparent-black-small.png +0 -0
  225. package/img/logo-transparent-black.png +0 -0
  226. package/img/logo-transparent-elevated.png +0 -0
  227. package/img/logo-transparent-slogan.png +0 -0
  228. package/img/mastodon-banner.png +0 -0
  229. package/img/netpro-logo-transparent.png +0 -0
  230. package/img/posts/acode.png +0 -0
  231. package/img/posts/linksheet.png +0 -0
  232. package/img/posts/tosdr.png +0 -0
  233. package/img/posts/urlcheck.png +0 -0
  234. package/img/qr/pgp-github.png +0 -0
  235. package/img/qr/pgp-support.png +0 -0
  236. package/img/qr/vcard.png +0 -0
  237. package/img/sd311.png +0 -0
  238. package/img/shield.png +0 -0
  239. package/img/shield.svg +0 -1
  240. package/img/shield.svg.br +0 -0
  241. package/img/shield.svg.gz +0 -0
  242. package/img/shield2.png +0 -0
  243. package/img/shield3-2000x2000.png +0 -0
  244. package/img/shield3-black-1024x1024.png +0 -0
  245. package/img/shield3-black.png +0 -0
  246. package/img/shield3-white.png +0 -0
  247. package/img/trademark.jpg +0 -0
  248. package/index.html +0 -268
  249. package/index.html.br +0 -0
  250. package/index.html.gz +0 -0
  251. package/js/app.d544156ea2ba85a7d486.mjs +0 -1
  252. package/js/runtime.52b1ac291305b90de3df.mjs +0 -1
  253. package/js/vendor/.gitkeep +0 -0
  254. package/legal.html +0 -535
  255. package/legal.html.br +0 -0
  256. package/legal.html.gz +0 -0
  257. package/privacy.html +0 -404
  258. package/privacy.html.br +0 -0
  259. package/privacy.html.gz +0 -0
  260. package/site.webmanifest +0 -25
  261. package/sitemap.xml +0 -177
  262. package/terms-and-conditions.html +0 -409
  263. package/terms-and-conditions.html.br +0 -0
  264. package/terms-and-conditions.html.gz +0 -0
  265. package/terms-of-use.html +0 -380
  266. package/terms-of-use.html.br +0 -0
  267. package/terms-of-use.html.gz +0 -0
  268. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets → assets}/nsa-happy-dance.png +0 -0
  269. /package/{favicon.svg → src/lib/img/favicon.svg} +0 -0
  270. /package/{favicon-180.png → src/lib/img/icon-180x180.png} +0 -0
  271. /package/{img/badge_obtainium.png → src/lib/img/obtainium.png} +0 -0
  272. /package/{img → src/lib/img}/qr/pgp-contact.png +0 -0
  273. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-github.png +0 -0
  274. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-support.png +0 -0
  275. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/vcard.png +0 -0
  276. /package/{CNAME → static/CNAME} +0 -0
  277. /package/{favicon.ico → static/favicon.ico} +0 -0
  278. /package/{docs/img/favicon.png → static/icon-192x192.png} +0 -0
  279. /package/{docs/img/logo.png → static/icon-512x512.png} +0 -0
  280. /package/{favicon-splash.png → static/icon-splash.png} +0 -0
  281. /package/{img → static/img}/logo-transparent.png +0 -0
  282. /package/{img → static/img}/logo.png +0 -0
@@ -0,0 +1,84 @@
1
+ <!-- ==========================================================================
2
+ src/lib/components/layout/HeaderHome.svelte
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== -->
7
+
8
+ <script>
9
+ import { base } from "$app/paths";
10
+
11
+ // Log the base path to verify its value
12
+ //console.log("Base path:", base);
13
+
14
+ const aboutLink = `${base}/about`;
15
+ const fossLink = `${base}/foss-spotlight`;
16
+ const blogLink = "https://blog.netwk.pro";
17
+
18
+ /**
19
+ * Navigation link object.
20
+ * @typedef {Object} NavItem
21
+ * @property {string} label - The text displayed for the link.
22
+ * @property {string} href - The URL or anchor the link points to.
23
+ * @property {string} target - Specifies where to open the link (e.g., "_self" or "_blank").
24
+ * @property {boolean} external - Whether the link points to an external resource.
25
+ */
26
+
27
+ /**
28
+ * Array of navigation links.
29
+ * @type {NavItem[]}
30
+ */
31
+ const nav = [
32
+ { label: "about", href: aboutLink, target: "_self", external: false },
33
+ { label: "foss", href: fossLink, target: "_self", external: false },
34
+ {
35
+ label: "blog",
36
+ href: blogLink,
37
+ target: "_self",
38
+ external: false,
39
+ },
40
+ {
41
+ label: "discussions",
42
+ href: "https://github.com/netwk-pro/netwk-pro.github.io/discussions",
43
+ target: "_blank",
44
+ external: true,
45
+ },
46
+ {
47
+ label: "link hub",
48
+ href: "https://linktr.ee/neteng_pro",
49
+ target: "_blank",
50
+ external: true,
51
+ },
52
+ ];
53
+
54
+ /**
55
+ * Relation attribute for external links.
56
+ * @type {string}
57
+ */
58
+ const rel = "noopener noreferrer";
59
+ </script>
60
+
61
+ <!-- BEGIN HOME HEADER -->
62
+ <nav class="center-nav">
63
+ {#each nav as { label, href, target, external }, index}
64
+ <a {href} {target} rel={external ? rel : undefined}>
65
+ {label}
66
+ </a>
67
+ {#if external}
68
+ <sup>
69
+ <span style="color: #ffc627;">
70
+ <i class="fas fa-arrow-up-right-from-square fa-2xs"></i>
71
+ </span>
72
+ </sup>
73
+ {/if}
74
+ <!-- Separator logic -->
75
+ {#if index < nav.length - 1}
76
+ {#if label === "blog"}
77
+ <br />
78
+ {:else}
79
+ <span class="separator">|</span>
80
+ {/if}
81
+ {/if}
82
+ {/each}
83
+ </nav>
84
+ <!-- END HOME HEADER -->
@@ -0,0 +1,233 @@
1
+ /* ==========================================================================
2
+ src/lib/data/fossData.js
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== */
7
+
8
+ // Import FOSS images
9
+ import { acodePng, acodeWbp, lsheetPng, lsheetWbp, pmxPng, pmxWbp, tosPng, tosWbp, urlPng, urlWbp } from "$lib";
10
+
11
+ export const fossData = [
12
+ {
13
+ id: "pmx",
14
+ images: {
15
+ webp: pmxWbp,
16
+ png: pmxPng,
17
+ },
18
+ imgAlt: "PMX",
19
+ title: "Permission Manager X",
20
+ headline: "Take Control of App Permissions Like a Pro with PMX!",
21
+ headlineDescription: `
22
+ <p>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.</p>
23
+ <p>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.</p>
24
+ `,
25
+ features: [
26
+ "Granular, On-Demand Permission Control",
27
+ "Sensitive Data Access Monitoring",
28
+ "Autostart Abuse Prevention",
29
+ "Clean, Ad-Free Interface",
30
+ "Wireless ADB Support (No Root)",
31
+ ],
32
+ detailsDescription: `
33
+ <p>PMX offers a wealth of features for anyone evaluating mobile security tools, be they an IT professional, developer, or privacy-conscious user.</p>
34
+ <p>⚡ <span class="bolditalic">Why Choose PMX?</span><br />
35
+ ✔️ <strong>Granular, On-Demand Permission Control:</strong> Instantly block or allow app permissions with real-time control.<br />
36
+ ✔️ <strong>Sensitive Data Access Monitoring:</strong> See which apps access your camera, mic, location, and more.<br />
37
+ ✔️ <strong>Autostart Abuse Prevention:</strong> Halt apps that auto-launch and exploit background permissions.<br />
38
+ ✔️ <strong>Clean, Ad-Free Interface:</strong> Lightweight UI with zero ads, trackers, or unnecessary bloat.<br />
39
+ ✔️ <strong>Wireless ADB Support (No Root):</strong> Advanced controls via ADB—wireless if supported—no root needed.<br />
40
+ </p>
41
+ <p>No ads. No tracking. Just privacy made easy.<br />
42
+ This isn't just another utility — it's a <em>must-have</em> for anyone serious about mobile privacy and transparency.</p>
43
+ <p>Try it now and liberate your Android from bloatware permission abuse!</p>
44
+ `,
45
+ links: [
46
+ {
47
+ label: "GitHub",
48
+ href: "https://github.com/mirfatif/PermissionManagerX",
49
+ },
50
+ {
51
+ label: "F-Droid",
52
+ href: "https://f-droid.org/en/packages/com.mirfatif.permissionmanagerx/",
53
+ },
54
+ {
55
+ label: "Website",
56
+ href: "https://mirfatif.github.io/PermissionManagerX/",
57
+ },
58
+ {
59
+ label: "Play Store",
60
+ href: "https://play.google.com/store/apps/details?id=com.mirfatif.permissionmanagerx",
61
+ },
62
+ ],
63
+ notes: [
64
+ "Note: PMX maintains Play Store, F-Droid, and GitHub versions. These are not interchangeable, as they all have different signatures. We recommend either the F-Droid or GitHub version, though they should all be identical in terms of functionality.",
65
+ "Further, PMX offers a paid version, PMX Pro, which offers significantly greater functionality. You have the option to send a minimal donation via the developer's website, or you can simply purchase it on the Play Store (it's currently $1.99). The developer also offers trial keys via Telegram so that you can test out PMX Pro.",
66
+ ],
67
+ },
68
+ {
69
+ id: "tosdr",
70
+ images: {
71
+ webp: tosWbp,
72
+ png: tosPng,
73
+ },
74
+ imgAlt: "TOS;DR",
75
+ title: "TOS;DR",
76
+ headline:
77
+ "Discover ToS;DR - The Open-Source Project That Translates Legal Jargon into Clarity",
78
+ headlineDescription: `
79
+ <p>We've all been there&mdash;scrolling past walls of legal text and clicking “I agree” just to get on with it. But what exactly are we agreeing to?</p>
80
+ <p><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.</p>
81
+ `,
82
+ features: [
83
+ "Community-driven ratings from A (best) to E (worst)",
84
+ "Clear summaries of complex terms and privacy policies",
85
+ "Highlights of key clauses—both good and bad",
86
+ "No account needed, completely free to use",
87
+ "Transparent, open-source code and contribution process",
88
+ ],
89
+ detailsDescription: `
90
+ <p>✨ <span class="bolditalic">Why ToS;DR?</span><br />
91
+ ✔️ Community-driven ratings from A (best) to E (worst)<br />
92
+ ✔️ Clear summaries of complex terms and privacy policies<br />
93
+ ✔️ Highlights of key clauses—both good and bad<br />
94
+ ✔️ No account needed, completely free to use<br />
95
+ ✔️ Transparent, open-source code and contribution process</p>
96
+ <p>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.</p>
97
+ <p>💡 From browser extensions to a dedicated <strong>Android app on F-Droid</strong>, ToS;DR is privacy-conscious, ad-free, and built to empower.</p>
98
+ <p>Stay informed, protect your rights, and take back control of your digital life—one ToS at a time.</p>
99
+ `,
100
+ links: [
101
+ {
102
+ label: "F-Droid",
103
+ href: "https://f-droid.org/en/packages/xyz.ptgms.tosdr/",
104
+ },
105
+ {
106
+ label: "GitHub (works with Obtanium)",
107
+ href: "https://github.com/tosdr/tosdr-android",
108
+ },
109
+ { label: "Website", href: "https://tosdr.org/" },
110
+ ],
111
+ 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">Obtanium</a>.`,
113
+ ],
114
+ },
115
+ {
116
+ id: "acode",
117
+ images: {
118
+ webp: acodeWbp,
119
+ png: acodePng,
120
+ },
121
+ imgAlt: "Acode",
122
+ title: "Acode",
123
+ headline:
124
+ "Bring the power of a full-fledged IDE to your Android device with Acode!",
125
+ headlineDescription: `
126
+ <p>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.</p>
127
+ `,
128
+ features: [
129
+ "Lightweight & fast",
130
+ "Supports over 100 programming languages",
131
+ "Offline functionality—no internet needed",
132
+ "Integrated Git support",
133
+ "Customizable themes & syntax highlighting",
134
+ ],
135
+ detailsDescription: `
136
+ <p>✨ <span class="bolditalic">Why Acode?</span><br />
137
+ ✔️ Lightweight & fast<br />
138
+ ✔️ Supports over 100 programming languages<br />
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>
143
+ `,
144
+ links: [
145
+ { label: "GitHub", href: "https://github.com/Acode-Foundation/Acode" },
146
+ {
147
+ label: "F-Droid",
148
+ href: "https://f-droid.org/packages/com.foxdebug.acode/",
149
+ },
150
+ { label: "Website", href: "https://acode.app/" },
151
+ ],
152
+ notes: [
153
+ "We recommend you use only the F-Droid or GitHub versions, as the Play Store version contains ads.",
154
+ ],
155
+ },
156
+ {
157
+ id: "linksheet",
158
+ images: {
159
+ webp: lsheetWbp,
160
+ png: lsheetPng,
161
+ },
162
+ imgAlt: "LinkSheet Nightly",
163
+ title: "LinkSheet Nightly",
164
+ headline:
165
+ "Restore link control on Android 12 and later with LinkSheet Nightly.",
166
+ headlineDescription: `
167
+ <p>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.</p>
168
+ `,
169
+ features: [
170
+ "Regain Choice: Decide which app opens your links, bypassing Android's default restrictions.",
171
+ "Custom Preferences: Set your preferred browser or app for specific hosts.",
172
+ "Enhanced Privacy: Prevent unwanted app launches and ensure links open where you intend.",
173
+ "User-Friendly Interface: Enjoy a sleek, Material Design that integrates seamlessly with your device.",
174
+ ],
175
+ 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
+ `,
182
+ links: [
183
+ {
184
+ imgAlt: "Obtainium",
185
+ hideLabels: true, // Special flag to control rendering
186
+ downloadText: "Obtainium App Config",
187
+ downloadHref:
188
+ "https://raw.githubusercontent.com/netwk-pro/dev-sveltekit/refs/heads/master/assets/bin/linksheet.json",
189
+ },
190
+ {
191
+ label: "GitHub",
192
+ href: "https://github.com/LinkSheet/LinkSheet",
193
+ },
194
+ {
195
+ label: "GitHub Releases",
196
+ href: "https://github.com/LinkSheet/nightly",
197
+ },
198
+ ],
199
+ notes: [],
200
+ },
201
+ {
202
+ id: "urlcheck",
203
+ images: {
204
+ webp: urlWbp,
205
+ png: urlPng,
206
+ },
207
+ imgAlt: "URLCheck",
208
+ title: "URLCheck",
209
+ headline: "Analyze and inspect links before opening them with URLCheck.",
210
+ headlineDescription: `
211
+ <p>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.</p>
212
+ `,
213
+ features: [
214
+ "Automatic URL screening: Set it as your default browser for real-time link analysis.",
215
+ "Full transparency: Know what's behind a link before you click.",
216
+ "Stronger privacy & security: Stay safe online with minimal effort.",
217
+ ],
218
+ 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
+ `,
224
+ links: [
225
+ { label: "GitHub", href: "https://github.com/TrianguloY/URLCheck" },
226
+ {
227
+ label: "F-Droid",
228
+ href: "https://f-droid.org/packages/com.trianguloy.urlchecker/",
229
+ },
230
+ ],
231
+ notes: [],
232
+ },
233
+ ];
@@ -0,0 +1,77 @@
1
+ /* ==========================================================================
2
+ src/lib/images.js
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== */
7
+
8
+ /**
9
+ * Image import utility
10
+ * Provides convenient access to images in the src/lib/img directory
11
+ *
12
+ * @module src/lib
13
+ * @author SunDevil311
14
+ * @updated 2025-05-15
15
+ */
16
+
17
+ // Import favicon images
18
+ import faviconSvg from "$lib/img/favicon.svg";
19
+ import appleTouchIcon from "$lib/img/icon-180x180.png";
20
+
21
+ // Import logo image
22
+ import logoPng from "$lib/img/logo-web.png";
23
+ import logoWbp from "$lib/img/logo-web.webp";
24
+
25
+ // Import badges
26
+ import ccBadge from "$lib/img/badges/cc-by-badge.png";
27
+ import gplBadge from "$lib/img/badges/gpl-badge.svg";
28
+
29
+ // Import general images
30
+ import bySvg from "$lib/img/by.svg";
31
+ import ccSvg from "$lib/img/cc.svg";
32
+ import obtainiumPng from "$lib/img/obtainium.png";
33
+ import obtainiumWbp from "$lib/img/obtainium.webp";
34
+
35
+ // Import images for posts
36
+ import acodePng from "$lib/img/posts/acode.png";
37
+ import acodeWbp from "$lib/img/posts/acode.webp";
38
+ import lsheetPng from "$lib/img/posts/linksheet.png";
39
+ import lsheetWbp from "$lib/img/posts/linksheet.webp";
40
+ import pmxPng from "$lib/img/posts/pmx.png";
41
+ import pmxWbp from "$lib/img/posts/pmx.webp";
42
+ import tosPng from "$lib/img/posts/tosdr.png";
43
+ import tosWbp from "$lib/img/posts/tosdr.webp";
44
+ import urlPng from "$lib/img/posts/urlcheck.png";
45
+ import urlWbp from "$lib/img/posts/urlcheck.webp";
46
+
47
+ // Import QR code images
48
+ import pgpContact from "$lib/img/qr/pgp-contact.png";
49
+ import pgpSupport from "$lib/img/qr/pgp-support.png";
50
+ import vcfSrc from "$lib/img/qr/vcard.png";
51
+
52
+ // Re-export all imports
53
+ export {
54
+ acodePng,
55
+ acodeWbp,
56
+ appleTouchIcon,
57
+ bySvg,
58
+ ccBadge,
59
+ ccSvg,
60
+ faviconSvg,
61
+ gplBadge,
62
+ logoPng,
63
+ logoWbp,
64
+ lsheetPng,
65
+ lsheetWbp,
66
+ obtainiumPng,
67
+ obtainiumWbp,
68
+ pgpContact,
69
+ pgpSupport,
70
+ pmxPng,
71
+ pmxWbp,
72
+ tosPng,
73
+ tosWbp,
74
+ urlPng,
75
+ urlWbp,
76
+ vcfSrc
77
+ };
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" width="142" height="28" aria-label="LICENSE: GPLV3"><g shape-rendering="crispEdges"><path fill="#9b9b9b" d="M0 0h75.75v28H0z"/><path fill="#d0021b" d="M75.75 0H142v28H75.75z"/></g><g fill="#fff" font-family="Verdana,Geneva,DejaVu Sans,sans-serif" font-size="100" text-anchor="middle" text-rendering="geometricPrecision"><text x="378.75" y="175" textLength="517.5" transform="scale(.1)">LICENSE</text><text x="1088.75" y="175" font-weight="bold" textLength="422.5" transform="scale(.1)">GPLV3</text></g></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="64" height="64" version="1.0" viewBox="5.5 -3.5 64 64"><circle cx="37.637" cy="28.806" r="28.276" fill="#FFF"/><path d="M37.443-3.5c8.988 0 16.57 3.085 22.742 9.257C66.393 11.967 69.5 19.548 69.5 28.5c0 8.991-3.049 16.476-9.145 22.456-6.476 6.363-14.113 9.544-22.912 9.544-8.649 0-16.153-3.144-22.514-9.43C8.644 44.784 5.5 37.262 5.5 28.5c0-8.761 3.144-16.342 9.429-22.742C21.101-.415 28.604-3.5 37.443-3.5zm.114 5.772c-7.276 0-13.428 2.553-18.457 7.657-5.22 5.334-7.829 11.525-7.829 18.572 0 7.086 2.59 13.22 7.77 18.398 5.181 5.182 11.352 7.771 18.514 7.771 7.123 0 13.334-2.607 18.629-7.828 5.029-4.838 7.543-10.952 7.543-18.343 0-7.276-2.553-13.465-7.656-18.571-5.104-5.104-11.276-7.656-18.514-7.656zm8.572 18.285v13.085h-3.656v15.542h-9.944V33.643h-3.656V20.557c0-.572.2-1.057.599-1.457.401-.399.887-.6 1.457-.6h13.144c.533 0 1.01.2 1.428.6.417.4.628.886.628 1.457zm-13.087-8.228c0-3.008 1.485-4.514 4.458-4.514s4.457 1.504 4.457 4.514c0 2.971-1.486 4.457-4.457 4.457s-4.458-1.486-4.458-4.457z"/></svg>
@@ -0,0 +1 @@
1
+ <svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" width="64" height="64" version="1.0" viewBox="5.5 -3.5 64 64"><circle cx="37.785" cy="28.501" r="28.836" fill="#FFF"/><path d="M37.441-3.5c8.951 0 16.572 3.125 22.857 9.372 3.008 3.009 5.295 6.448 6.857 10.314 1.561 3.867 2.344 7.971 2.344 12.314 0 4.381-.773 8.486-2.314 12.313-1.543 3.828-3.82 7.21-6.828 10.143-3.123 3.085-6.666 5.448-10.629 7.086-3.961 1.638-8.057 2.457-12.285 2.457s-8.276-.808-12.143-2.429c-3.866-1.618-7.333-3.961-10.4-7.027-3.067-3.066-5.4-6.524-7-10.372S5.5 32.767 5.5 28.5c0-4.229.809-8.295 2.428-12.2 1.619-3.905 3.972-7.4 7.057-10.486C21.08-.394 28.565-3.5 37.441-3.5zm.116 5.772c-7.314 0-13.467 2.553-18.458 7.657-2.515 2.553-4.448 5.419-5.8 8.6a25.204 25.204 0 0 0-2.029 9.972c0 3.429.675 6.734 2.029 9.913 1.353 3.183 3.285 6.021 5.8 8.516 2.514 2.496 5.351 4.399 8.515 5.715a25.652 25.652 0 0 0 9.943 1.971c3.428 0 6.75-.665 9.973-1.999 3.219-1.335 6.121-3.257 8.713-5.771 4.99-4.876 7.484-10.99 7.484-18.344 0-3.543-.648-6.895-1.943-10.057-1.293-3.162-3.18-5.98-5.654-8.458-5.146-5.143-11.335-7.715-18.573-7.715zm-.401 20.915-4.287 2.229c-.458-.951-1.019-1.619-1.685-2-.667-.38-1.286-.571-1.858-.571-2.856 0-4.286 1.885-4.286 5.657 0 1.714.362 3.084 1.085 4.113.724 1.029 1.791 1.544 3.201 1.544 1.867 0 3.181-.915 3.944-2.743l3.942 2c-.838 1.563-2 2.791-3.486 3.686-1.484.896-3.123 1.343-4.914 1.343-2.857 0-5.163-.875-6.915-2.629-1.752-1.752-2.628-4.19-2.628-7.313 0-3.048.886-5.466 2.657-7.257 1.771-1.79 4.009-2.686 6.715-2.686 3.963-.002 6.8 1.541 8.515 4.627zm18.457 0-4.229 2.229c-.457-.951-1.02-1.619-1.686-2-.668-.38-1.307-.571-1.914-.571-2.857 0-4.287 1.885-4.287 5.657 0 1.714.363 3.084 1.086 4.113.723 1.029 1.789 1.544 3.201 1.544 1.865 0 3.18-.915 3.941-2.743l4 2c-.875 1.563-2.057 2.791-3.541 3.686a9.233 9.233 0 0 1-4.857 1.343c-2.896 0-5.209-.875-6.941-2.629-1.736-1.752-2.602-4.19-2.602-7.313 0-3.048.885-5.466 2.658-7.257 1.77-1.79 4.008-2.686 6.713-2.686 3.962-.002 6.783 1.541 8.458 4.627z"/></svg>
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
@@ -0,0 +1,43 @@
1
+ /* ==========================================================================
2
+ src/lib/index.js
3
+
4
+ SPDX-License-Identifier: CC-BY-4.0 OR GPL-3.0-or-later
5
+ This file is part of Network Pro.
6
+ ========================================================================== */
7
+
8
+ /**
9
+ * Library index file
10
+ * Main export point for library components, utilities, and assets
11
+ *
12
+ * @module src/lib
13
+ * @author SunDevil311
14
+ * @updated 2025-05-14
15
+ */
16
+
17
+ // Re-export images from dedicated images.js file
18
+ // This maintains backward compatibility with existing imports
19
+ export * from "./images.js";
20
+
21
+ // Export utility functions
22
+ // Uncomment and adjust these as needed for your project
23
+ // export * from './utils/formatting.js';
24
+ // export * from './utils/validation.js';
25
+ // export * from './utils/helpers.js';
26
+
27
+ // Export components
28
+ // Uncomment and adjust these as needed for your project
29
+ // export * from './components/index.js';
30
+ // export { default as Button } from './components/Button.svelte';
31
+ // export { default as Card } from './components/Card.svelte';
32
+
33
+ /**
34
+ * Application constants
35
+ * Common values used throughout the application
36
+ *
37
+ * @type {object}
38
+ */
39
+ export const CONSTANTS = {
40
+ APP_NAME: "Network Pro",
41
+ COPYRIGHT_YEAR: "2025",
42
+ CONTACT_EMAIL: "contact@s.neteng.pro",
43
+ };