@networkpro/web 0.13.2 → 1.1.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 (293) hide show
  1. package/CODE_OF_CONDUCT.md +172 -0
  2. package/LICENSE.md +4 -4
  3. package/README.md +13 -12
  4. package/_headers +2 -0
  5. package/assets/bin/contact.vcf +13 -0
  6. package/assets/bin/contact@s.neteng.pro.aexpk +17 -0
  7. package/assets/bin/contact@s.neteng.pro.asc +17 -0
  8. package/assets/bin/github@sl.neteng.cc.aexpk +29 -0
  9. package/assets/bin/github@sl.neteng.cc.asc +29 -0
  10. package/assets/bin/linksheet.json +8 -0
  11. package/assets/bin/support@neteng.pro.aexpk +47 -0
  12. package/assets/bin/support@neteng.pro.asc +47 -0
  13. package/assets/consulting-terms.pdf +0 -0
  14. package/eslint.config.mjs +112 -0
  15. package/jsconfig.json +28 -0
  16. package/netlify.toml +3 -0
  17. package/package.json +63 -60
  18. package/playwright.config.js +79 -0
  19. package/postcss.config.mjs +14 -0
  20. package/scripts/bundleCss.js +40 -0
  21. package/src/app.d.ts +15 -0
  22. package/src/app.html +83 -0
  23. package/src/demo.spec.js +14 -0
  24. package/src/lib/components/Badges.svelte +74 -0
  25. package/src/lib/components/ContainerSection.svelte +19 -0
  26. package/src/lib/components/FullWidthSection.svelte +13 -0
  27. package/src/lib/components/LegalNav.svelte +75 -0
  28. package/src/lib/components/Logo.svelte +110 -0
  29. package/src/lib/components/MetaTags.svelte +41 -0
  30. package/src/lib/components/SocialMedia.svelte +70 -0
  31. package/src/lib/components/foss/FossFeatures.svelte +24 -0
  32. package/src/lib/components/foss/FossItemContent.svelte +153 -0
  33. package/src/lib/components/layout/Footer.svelte +188 -0
  34. package/src/lib/components/layout/HeaderDefault.svelte +86 -0
  35. package/src/lib/components/layout/HeaderHome.svelte +84 -0
  36. package/src/lib/data/fossData.js +233 -0
  37. package/src/lib/images.js +77 -0
  38. package/src/lib/img/badges/cc-by-badge.png +0 -0
  39. package/src/lib/img/badges/gpl-badge.svg +1 -0
  40. package/src/lib/img/by.svg +1 -0
  41. package/src/lib/img/cc.svg +1 -0
  42. package/src/lib/img/logo-web.png +0 -0
  43. package/src/lib/img/logo-web.webp +0 -0
  44. package/src/lib/img/obtainium.webp +0 -0
  45. package/src/lib/img/posts/acode.png +0 -0
  46. package/src/lib/img/posts/acode.webp +0 -0
  47. package/src/lib/img/posts/linksheet.png +0 -0
  48. package/src/lib/img/posts/linksheet.webp +0 -0
  49. package/src/lib/img/posts/pmx.png +0 -0
  50. package/src/lib/img/posts/pmx.webp +0 -0
  51. package/src/lib/img/posts/tosdr.png +0 -0
  52. package/src/lib/img/posts/tosdr.webp +0 -0
  53. package/src/lib/img/posts/urlcheck.png +0 -0
  54. package/src/lib/img/posts/urlcheck.webp +0 -0
  55. package/src/lib/index.js +43 -0
  56. package/src/lib/meta.js +73 -0
  57. package/src/lib/pages/AboutContent.svelte +294 -0
  58. package/src/lib/pages/FossContent.svelte +109 -0
  59. package/src/lib/pages/HomeContent.svelte +120 -0
  60. package/src/lib/pages/LicenseContent.svelte +486 -0
  61. package/src/lib/pages/PrivacyContent.svelte +249 -0
  62. package/src/lib/pages/TermsConditionsContent.svelte +240 -0
  63. package/src/lib/pages/TermsUseContent.svelte +236 -0
  64. package/src/lib/registerServiceWorker.js +65 -0
  65. package/src/lib/styles/css/brands.css +76 -0
  66. package/src/lib/styles/css/brands.min.css +6 -0
  67. package/src/lib/styles/css/default.css +454 -0
  68. package/src/lib/styles/css/fontawesome.min.css +9 -0
  69. package/src/lib/styles/css/global.css +10 -0
  70. package/src/lib/styles/css/normalize.css +349 -0
  71. package/src/lib/styles/css/offline.css +120 -0
  72. package/src/lib/styles/css/solid.min.css +6 -0
  73. package/src/lib/styles/css/style.css +310 -0
  74. package/src/lib/styles/fa-global.css +10 -0
  75. package/src/lib/styles/global.min.css +9 -0
  76. package/src/lib/styles/index.js +11 -0
  77. package/src/lib/styles/webfonts/fa-brands-400.ttf +0 -0
  78. package/src/lib/styles/webfonts/fa-brands-400.woff2 +0 -0
  79. package/src/lib/styles/webfonts/fa-solid-900.ttf +0 -0
  80. package/src/lib/styles/webfonts/fa-solid-900.woff2 +0 -0
  81. package/src/routes/+error.svelte +43 -0
  82. package/src/routes/+layout.js +38 -0
  83. package/src/routes/+layout.svelte +113 -0
  84. package/src/routes/+page.server.js +27 -0
  85. package/src/routes/+page.svelte +82 -0
  86. package/src/routes/about/+page.server.js +17 -0
  87. package/src/routes/about/+page.svelte +66 -0
  88. package/src/routes/contact/+page.server.js +24 -0
  89. package/src/routes/example.svx +9 -0
  90. package/src/routes/foss-spotlight/+page.server.js +17 -0
  91. package/src/routes/foss-spotlight/+page.svelte +68 -0
  92. package/src/routes/license/+page.server.js +17 -0
  93. package/src/routes/license/+page.svelte +68 -0
  94. package/src/routes/page.svelte.test.js +29 -0
  95. package/src/routes/privacy-policy/+page.server.js +17 -0
  96. package/src/routes/privacy-policy/+page.svelte +68 -0
  97. package/src/routes/privacy-rights/+page.server.js +24 -0
  98. package/src/routes/terms-conditions/+page.server.js +17 -0
  99. package/src/routes/terms-conditions/+page.svelte +68 -0
  100. package/src/routes/terms-of-use/+page.server.js +17 -0
  101. package/src/routes/terms-of-use/+page.svelte +68 -0
  102. package/src/service-worker.d.ts +4 -0
  103. package/src/service-worker.js +90 -0
  104. package/static/icon-512x512-maskable.png +0 -0
  105. package/static/icon-contact.png +0 -0
  106. package/static/icon-services.png +0 -0
  107. package/static/img/qr/pgp-github.png +0 -0
  108. package/static/img/svelte.png +0 -0
  109. package/static/manifest.json +64 -0
  110. package/static/offline.html +79 -0
  111. package/static/offline.min.css +7 -0
  112. package/{robots.txt → static/robots.txt} +0 -2
  113. package/static/sitemap.xml +102 -0
  114. package/stylelint.config.js +118 -0
  115. package/svelte.config.js +56 -0
  116. package/tests/app.spec.js +67 -0
  117. package/tests/mobile.spec.js +58 -0
  118. package/tests-examples/demo-todo-app.spec.js +504 -0
  119. package/tsconfig.custom.json +39 -0
  120. package/vite.config.js +19 -0
  121. package/vitest-setup-client.js +33 -0
  122. package/vitest.config.client.js +34 -0
  123. package/vitest.config.server.js +30 -0
  124. package/404.html +0 -84
  125. package/about.html +0 -334
  126. package/about.html.br +0 -0
  127. package/about.html.gz +0 -0
  128. package/css/default.css +0 -1
  129. package/css/normalize.css +0 -1
  130. package/css/style.css +0 -1
  131. package/docs/404.html +0 -1187
  132. package/docs/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  133. package/docs/assets/external/img.shields.io/badge/GitHub_Package_Registry-white.ed8def48.svg +0 -1
  134. package/docs/assets/external/img.shields.io/badge/npmjs-white.681714c1.svg +0 -1
  135. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/by.svg +0 -20
  136. package/docs/assets/external/mirrors.creativecommons.org/presskit/icons/cc.svg +0 -27
  137. package/docs/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +0 -2607
  138. package/docs/assets/images/favicon.png +0 -0
  139. package/docs/assets/javascripts/bundle.c8b220af.min.js +0 -16
  140. package/docs/assets/javascripts/bundle.c8b220af.min.js.map +0 -7
  141. package/docs/assets/javascripts/lunr/min/lunr.ar.min.js +0 -1
  142. package/docs/assets/javascripts/lunr/min/lunr.da.min.js +0 -18
  143. package/docs/assets/javascripts/lunr/min/lunr.de.min.js +0 -18
  144. package/docs/assets/javascripts/lunr/min/lunr.du.min.js +0 -18
  145. package/docs/assets/javascripts/lunr/min/lunr.el.min.js +0 -1
  146. package/docs/assets/javascripts/lunr/min/lunr.es.min.js +0 -18
  147. package/docs/assets/javascripts/lunr/min/lunr.fi.min.js +0 -18
  148. package/docs/assets/javascripts/lunr/min/lunr.fr.min.js +0 -18
  149. package/docs/assets/javascripts/lunr/min/lunr.he.min.js +0 -1
  150. package/docs/assets/javascripts/lunr/min/lunr.hi.min.js +0 -1
  151. package/docs/assets/javascripts/lunr/min/lunr.hu.min.js +0 -18
  152. package/docs/assets/javascripts/lunr/min/lunr.hy.min.js +0 -1
  153. package/docs/assets/javascripts/lunr/min/lunr.it.min.js +0 -18
  154. package/docs/assets/javascripts/lunr/min/lunr.ja.min.js +0 -1
  155. package/docs/assets/javascripts/lunr/min/lunr.jp.min.js +0 -1
  156. package/docs/assets/javascripts/lunr/min/lunr.kn.min.js +0 -1
  157. package/docs/assets/javascripts/lunr/min/lunr.ko.min.js +0 -1
  158. package/docs/assets/javascripts/lunr/min/lunr.multi.min.js +0 -1
  159. package/docs/assets/javascripts/lunr/min/lunr.nl.min.js +0 -18
  160. package/docs/assets/javascripts/lunr/min/lunr.no.min.js +0 -18
  161. package/docs/assets/javascripts/lunr/min/lunr.pt.min.js +0 -18
  162. package/docs/assets/javascripts/lunr/min/lunr.ro.min.js +0 -18
  163. package/docs/assets/javascripts/lunr/min/lunr.ru.min.js +0 -18
  164. package/docs/assets/javascripts/lunr/min/lunr.sa.min.js +0 -1
  165. package/docs/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +0 -1
  166. package/docs/assets/javascripts/lunr/min/lunr.sv.min.js +0 -18
  167. package/docs/assets/javascripts/lunr/min/lunr.ta.min.js +0 -1
  168. package/docs/assets/javascripts/lunr/min/lunr.te.min.js +0 -1
  169. package/docs/assets/javascripts/lunr/min/lunr.th.min.js +0 -1
  170. package/docs/assets/javascripts/lunr/min/lunr.tr.min.js +0 -18
  171. package/docs/assets/javascripts/lunr/min/lunr.vi.min.js +0 -1
  172. package/docs/assets/javascripts/lunr/min/lunr.zh.min.js +0 -1
  173. package/docs/assets/javascripts/lunr/tinyseg.js +0 -206
  174. package/docs/assets/javascripts/lunr/wordcut.js +0 -6708
  175. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js +0 -42
  176. package/docs/assets/javascripts/workers/search.f8cc74c7.min.js.map +0 -7
  177. package/docs/assets/stylesheets/main.2afb09e1.min.css +0 -1
  178. package/docs/assets/stylesheets/main.2afb09e1.min.css.map +0 -1
  179. package/docs/assets/stylesheets/palette.06af60db.min.css +0 -1
  180. package/docs/assets/stylesheets/palette.06af60db.min.css.map +0 -1
  181. package/docs/blog/2015/01/04/secure-secure-shell/index.html +0 -1771
  182. package/docs/blog/2025/04/30/our-blog-is-live/index.html +0 -1436
  183. package/docs/blog/archive/2015/index.html +0 -1303
  184. package/docs/blog/archive/2025/index.html +0 -1291
  185. package/docs/blog/category/security/index.html +0 -1303
  186. package/docs/blog/index.html +0 -1350
  187. package/docs/conduct/index.html +0 -1509
  188. package/docs/feed_json_created.json +0 -1
  189. package/docs/feed_json_updated.json +0 -1
  190. package/docs/feed_rss_created.xml +0 -1
  191. package/docs/feed_rss_updated.xml +0 -1
  192. package/docs/fontawesome/LICENSE.txt +0 -165
  193. package/docs/fontawesome/brands/facebook.svg +0 -1
  194. package/docs/fontawesome/brands/instagram.svg +0 -1
  195. package/docs/fontawesome/brands/linkedin.svg +0 -1
  196. package/docs/fontawesome/brands/mastodon.svg +0 -1
  197. package/docs/fontawesome/solid/at.svg +0 -1
  198. package/docs/index.html +0 -1395
  199. package/docs/legal/index.html +0 -1740
  200. package/docs/privacy/index.html +0 -1615
  201. package/docs/search/search_index.json +0 -1
  202. package/docs/sitemap.xml +0 -55
  203. package/docs/sitemap.xml.gz +0 -0
  204. package/docs/tags/index.html +0 -2084
  205. package/docs/terms-conditions/index.html +0 -1655
  206. package/docs/terms-use/index.html +0 -1584
  207. package/favicon-192.png +0 -0
  208. package/favicon-512.png +0 -0
  209. package/favicon.svg.br +0 -0
  210. package/favicon.svg.gz +0 -0
  211. package/html/spotlight.html +0 -516
  212. package/html/spotlight.html.br +0 -0
  213. package/html/spotlight.html.gz +0 -0
  214. package/img/banner-1440.png +0 -0
  215. package/img/favicon-template.png +0 -0
  216. package/img/fb-cover.png +0 -0
  217. package/img/fb-cover2.png +0 -0
  218. package/img/fsf-member.png +0 -0
  219. package/img/gh-logo.png +0 -0
  220. package/img/gpl3-small.png +0 -0
  221. package/img/gpl3.png +0 -0
  222. package/img/linkedin-banner-new.png +0 -0
  223. package/img/linkedin-banner.png +0 -0
  224. package/img/linkedin-banner2.png +0 -0
  225. package/img/logo-1024x1024.png +0 -0
  226. package/img/logo-alt.png +0 -0
  227. package/img/logo-elevated.png +0 -0
  228. package/img/logo-light-elevated.png +0 -0
  229. package/img/logo-light-slogan.png +0 -0
  230. package/img/logo-light.png +0 -0
  231. package/img/logo-slogan.png +0 -0
  232. package/img/logo-transparent-black-small.png +0 -0
  233. package/img/logo-transparent-black.png +0 -0
  234. package/img/logo-transparent-elevated.png +0 -0
  235. package/img/logo-transparent-slogan.png +0 -0
  236. package/img/mastodon-banner.png +0 -0
  237. package/img/netpro-logo-transparent.png +0 -0
  238. package/img/posts/acode.png +0 -0
  239. package/img/posts/linksheet.png +0 -0
  240. package/img/posts/pmx.png +0 -0
  241. package/img/posts/tosdr.png +0 -0
  242. package/img/posts/urlcheck.png +0 -0
  243. package/img/sd311.png +0 -0
  244. package/img/shield.png +0 -0
  245. package/img/shield.svg +0 -1
  246. package/img/shield.svg.br +0 -0
  247. package/img/shield.svg.gz +0 -0
  248. package/img/shield2.png +0 -0
  249. package/img/shield3-2000x2000.png +0 -0
  250. package/img/shield3-black-1024x1024.png +0 -0
  251. package/img/shield3-black.png +0 -0
  252. package/img/shield3-white.png +0 -0
  253. package/img/trademark.jpg +0 -0
  254. package/index.html +0 -268
  255. package/index.html.br +0 -0
  256. package/index.html.gz +0 -0
  257. package/js/app.d544156ea2ba85a7d486.mjs +0 -1
  258. package/js/runtime.52b1ac291305b90de3df.mjs +0 -1
  259. package/js/vendor/.gitkeep +0 -0
  260. package/legal.html +0 -535
  261. package/legal.html.br +0 -0
  262. package/legal.html.gz +0 -0
  263. package/privacy.html +0 -404
  264. package/privacy.html.br +0 -0
  265. package/privacy.html.gz +0 -0
  266. package/site.webmanifest +0 -25
  267. package/sitemap.xml +0 -177
  268. package/terms-and-conditions.html +0 -409
  269. package/terms-and-conditions.html.br +0 -0
  270. package/terms-and-conditions.html.gz +0 -0
  271. package/terms-of-use.html +0 -380
  272. package/terms-of-use.html.br +0 -0
  273. package/terms-of-use.html.gz +0 -0
  274. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets → assets}/nsa-happy-dance.png +0 -0
  275. /package/{favicon.svg → src/lib/img/favicon.svg} +0 -0
  276. /package/{favicon-180.png → src/lib/img/icon-180x180.png} +0 -0
  277. /package/{img/badge_obtainium.png → src/lib/img/obtainium.png} +0 -0
  278. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/pgp-contact.png +0 -0
  279. /package/{img → src/lib/img}/qr/pgp-github.png +0 -0
  280. /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
  281. /package/{docs/assets/external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master → src/lib}/img/qr/vcard.png +0 -0
  282. /package/{CNAME → static/CNAME} +0 -0
  283. /package/{favicon.ico → static/favicon.ico} +0 -0
  284. /package/{docs/img/favicon.png → static/icon-192x192.png} +0 -0
  285. /package/{docs/img/logo.png → static/icon-512x512.png} +0 -0
  286. /package/{favicon-splash.png → static/icon-splash.png} +0 -0
  287. /package/{img → static/img}/banner-1280x640.png +0 -0
  288. /package/{img → static/img}/banner-og-1200x630.png +0 -0
  289. /package/{img → static/img}/logo-transparent.png +0 -0
  290. /package/{img → static/img}/logo.png +0 -0
  291. /package/{img → static/img}/qr/pgp-contact.png +0 -0
  292. /package/{img → static/img}/qr/pgp-support.png +0 -0
  293. /package/{img → static/img}/qr/vcard.png +0 -0
package/img/shield.svg.br DELETED
Binary file
package/img/shield.svg.gz DELETED
Binary file
package/img/shield2.png DELETED
Binary file
Binary file
Binary file
Binary file
Binary file
package/img/trademark.jpg DELETED
Binary file
package/index.html DELETED
@@ -1,268 +0,0 @@
1
- <!doctype html>
2
-
3
- <html class="no-js" lang="en">
4
- <head>
5
- <meta charset="utf-8">
6
-
7
-
8
-
9
- <meta name="viewport" content="width=device-width,initial-scale=1">
10
- <title>
11
- Locking Down Networks, Unlocking Confidence &mdash; Network Pro Strategies
12
- </title>
13
-
14
-
15
- <link rel="stylesheet" href="css/normalize.css" type="text/css">
16
- <link rel="stylesheet" href="css/style.css" type="text/css">
17
- <link rel="stylesheet" href="css/default.css" type="text/css">
18
-
19
- <script src="https://kit.fontawesome.com/f70f03cb45.js" crossorigin="anonymous"></script>
20
-
21
- <meta name="description" content="Locking Down Networks, Unlocking Confidence | Security, Networking, Privacy — Network Pro">
22
- <meta name="author" content="Scott Lopez">
23
- <meta name="robots" content="index, follow, max-image-preview:large, max-snippet:-1, max-video-preview:-1">
24
-
25
- <link rel="canonical" href="https://netwk.pro/">
26
- <base href="./" target="_self">
27
-
28
-
29
- <meta property="og:title" content="Locking Down Networks, Unlocking Confidence — Network Pro Strategies">
30
- <meta property="og:type" content="website">
31
- <meta property="og:url" content="https://netwk.pro">
32
- <meta property="og:image" content="img/banner-og-1200x630.png">
33
- <meta property="og:image:alt" content="Network Pro Strategies">
34
- <meta property="og:description" content="Locking Down Networks, Unlocking Confidence | Security, Networking, Privacy — Network Pro">
35
-
36
-
37
- <meta name="twitter:card" content="summary_large_image">
38
- <meta name="twitter:site" content="@NetEng_Pro">
39
- <meta name="twitter:creator" content="@NetEng_pro">
40
- <meta property="twitter:domain" content="https://netwk.pro/">
41
- <meta property="twitter:url" content="https://netwk.pro/">
42
- <meta name="twitter:title" content="Locking Down Networks, Unlocking Confidence — Network Pro Strategies">
43
- <meta name="twitter:description" content="Locking Down Networks, Unlocking Confidence | Security, Networking, Privacy — Network Pro">
44
- <meta name="twitter:image" content="img/banner-og-1200x630.png">
45
- <meta name="twitter:image:alt" content="Network Pro Strategies">
46
-
47
-
48
- <link rel="icon" href="favicon.ico" sizes="any" type="image/x-icon">
49
- <link rel="icon" href="favicon.svg" type="image/svg+xml">
50
- <link rel="apple-touch-icon" href="favicon-180.png" type="image/png">
51
-
52
- <link rel="manifest" href="site.webmanifest">
53
- <meta name="theme-color" content="#ffc627">
54
-
55
- <meta name="facebook-domain-verification" content="bx4ham0zkpvzztzu213bhpt76m9siq">
56
- <script defer="defer" src="js/runtime.52b1ac291305b90de3df.mjs"></script><script defer="defer" src="js/app.d544156ea2ba85a7d486.mjs"></script></head>
57
-
58
- <body>
59
-
60
- <header id="header-nav">
61
- <div class="container">
62
- <nav class="center-nav">
63
- <a rel="noopener noreferrer" href="about.html" target="_self">about</a>
64
- &nbsp; | &nbsp;
65
- <a rel="noopener noreferrer" href="docs/blog/" target="_self">blog</a>
66
- &nbsp; | &nbsp;
67
- <a rel="noopener noreferrer" href="https://github.com/netwk-pro/netwk-pro.github.io/discussions" target="_blank">discussions
68
- <sup><span class="fas fa-arrow-up-right-from-square fa-2xs"></span></sup></a>
69
- &nbsp; | &nbsp;
70
- <a rel="noopener noreferrer" href="https://linktr.ee/neteng_pro" target="_blank">link hub
71
- <sup><span class="fas fa-arrow-up-right-from-square fa-2xs"></span></sup></a>
72
- </nav>
73
- </div>
74
- </header>
75
-
76
-
77
-
78
- <div class="full-width-section">
79
- <div class="container">
80
- <section id="site-title">
81
- <img decoding="async" loading="lazy" class="logo" src="img/logo-transparent.png" style="height: 250px; width: 250px" alt="Network Pro Strategies">
82
- <div class="index-title1">Locking Down Networks,<br>
83
- Unlocking Confidence&trade;</div>
84
- <p>&nbsp;</p>
85
- <h2 class="index-title2">Security | Networking | Privacy</h2>
86
- </section>
87
-
88
- &nbsp;
89
-
90
-
91
-
92
- <hr class="hr-styled">
93
-
94
- &nbsp;
95
-
96
-
97
- &nbsp;
98
-
99
- <section id="main-content">
100
- <h3 class="index3">🔒 Practical Cybersecurity. Trusted Expertise.</h3>
101
-
102
- <p class="center-text">At <strong>Network Pro&trade;</strong>, we specialize in network
103
- security, cybersecurity, and digital privacy consulting that meets
104
- today's real-world demands. Our remote-first approach combines
105
- technical depth with practical solutions—leveraging a strategic mix
106
- of open source and proprietary technologies based on performance,
107
- scalability, and trustworthiness.</p>
108
-
109
- <p class="center-text">From secure network design to cloud infrastructure and perimeter
110
- defense, we help organizations build stronger, smarter security
111
- postures—without compromising flexibility or transparency.</p>
112
-
113
- <p class="center-text">📡
114
- <em><strong>Stay informed:</strong> Follow our
115
- <a rel="noopener noreferrer" href="./docs/blog/" target="_self">blog</a>
116
- and social channels for actionable insights, implementation
117
- guides, and the latest cybersecurity developments.</em></p>
118
-
119
- &nbsp;
120
-
121
- <h3 class="index3">Featured</h3>
122
-
123
- <p class="large-text-center"><strong><a rel="noopener noreferrer" href="./docs/blog/" target="_self">Network Pro Blog</a></strong></p>
124
-
125
- <p class="large-text-center"><strong><a rel="noopener noreferrer" href="./html/spotlight.html" target="_self">FOSS Spotlight</a></strong>
126
- </p>
127
-
128
- &nbsp;
129
-
130
- <p class="center-text">
131
- <em>Join us on
132
- <a rel="noopener noreferrer" href="https://discord.neteng.pro" target="_blank">Discord</a>
133
- or in
134
- <a rel="noopener noreferrer" href="https://github.com/netwk-pro/netwk-pro.github.io/discussions" target="_blank">GitHub Discussions</a>!</em></p>
135
- </section>
136
-
137
-
138
- &nbsp;
139
-
140
-
141
- <section id="social-media">
142
- <div class="soc-wrap">
143
- <table class="soc">
144
- <tbody>
145
- <tr>
146
- <td class="soc-fa">
147
- <p>
148
- <a rel="noopener noreferrer" href="https://instagram.com/netwk_pro" target="_blank">
149
- <span class="fab fa-square-instagram fa-2x"></span>
150
- </a>
151
- </p>
152
- </td>
153
- <td class="soc-fa">
154
- <p>
155
- <a rel="noopener noreferrer" href="https://facebook.com/neteng.pro" target="_blank">
156
- <span class="fab fa-square-facebook fa-2x"></span>
157
- </a>
158
- </p>
159
- </td>
160
- <td class="soc-fa">
161
- <p>
162
- <a rel="noopener noreferrer" href="https://linkedin.com/company/netwk-pro" target="_blank">
163
- <span class="fab fa-linkedin fa-2x"></span>
164
- </a>
165
- </p>
166
- </td>
167
- <td class="soc-fa">
168
- <p>
169
- <a rel="me noopener noreferrer" href="https://noc.social/@NetEng_Pro" target="_blank">
170
- <span class="fab fa-mastodon fa-2x"></span>
171
- </a>
172
- </p>
173
- </td>
174
- <td class="soc-fa">
175
- <p>
176
- <a rel="noopener noreferrer" href="https://github.com/netwk-pro/" target="_blank">
177
- <span class="fab fa-square-github fa-2x"></span>
178
- </a>
179
- </p>
180
- </td>
181
- </tr>
182
- </tbody>
183
- </table>
184
- </div>
185
- </section>
186
-
187
-
188
- <hr class="hr-styled">
189
-
190
- &nbsp;
191
-
192
-
193
- <div class="bnav-wrap">
194
- <table class="bnav"><tbody>
195
- <tr>
196
- <td class="bnav-nav"><a rel="noopener noreferrer" href="./terms-of-use.html" target="_self">Terms of Use</a></td>
197
- <td class="bnav-nav"><a rel="noopener noreferrer" href="./privacy.html" target="_self">Privacy Policy
198
- </a>
199
- </td>
200
- </tr>
201
- <tr>
202
- <td class="bnav-cell" colspan="2">
203
- <a rel="noopener noreferrer" href="./legal.html" target="_self">Legal</a></td>
204
- </tr>
205
- </tbody>
206
- </table>
207
- </div>
208
-
209
-
210
- &nbsp;
211
-
212
-
213
- <section id="badges">
214
- <div class="bnav2-wrap">
215
- <table class="bnav2"><tbody>
216
- <tr>
217
- <td class="bnav2-nav"><a rel="noopener noreferrer" href="./legal.html#cc-by" target="_self"><img decoding="async" loading="lazy" src="https://forthebadge.com/images/badges/cc-by.png" style="height: auto; width: 160px" alt="Creative Commons BY"></a></td>
218
- <td class="bnav2-nav"><a rel="noopener noreferrer" href="./legal.html#gnu-gpl" target="_self"><img decoding="async" loading="lazy" src="https://img.shields.io/badge/LICENSE-GPLv3-red?style=for-the-badge&labelColor=9b9b9b&color=d0021b" style="height: auto; width: 120px" alt="GPL 3.0 or Later"></a></td>
219
- </tr>
220
- </tbody>
221
- </table>
222
- </div>
223
- </section>
224
-
225
- </div>
226
- </div>
227
-
228
-
229
- <footer id="licensing">
230
- <div class="container">
231
- <div class="copyright" xmlns:cc="http://creativecommons.org/ns#" xmlns:dct="http://purl.org/dc/terms/">
232
- <p>
233
- Copyright &copy; 2025<br>
234
- <a rel="cc:attributionURL dct:creator noopener noreferrer" property="cc:attributionName" href="https://netwk.pro/" target="_blank"><strong>Network Pro Strategies</strong></a>
235
- (Network Pro&trade;)</p>
236
-
237
- <p>
238
- Network Pro&trade;, the shield logo, and the "Locking Down
239
- Networks&trade;" slogan are
240
- <a rel="noopener noreferrer" href="./legal.html#trademark" target="_self">trademarks</a>
241
- of Network Pro Strategies.
242
- </p>
243
-
244
- <p>
245
- Licensed under
246
- <a href="./legal.html#cc-by" target="_self" rel="license noopener noreferrer" style="display: inline-block"><strong>CC BY 4.0</strong></a>
247
- <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="license noopener noreferrer" style="display: inline-block"><img decoding="async" loading="lazy" style="height: 18px !important;
248
- margin-left: 3px;
249
- text-decoration: none;
250
- vertical-align: text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/cc.svg" alt="Creative Commons BY">
251
- </a>
252
- <a href="https://creativecommons.org/licenses/by/4.0/" target="_blank" rel="license noopener noreferrer" style="display: inline-block"><img decoding="async" loading="lazy" style="height: 18px !important;
253
- margin-left: 3px;
254
- text-decoration: none;
255
- vertical-align: text-bottom;" src="https://mirrors.creativecommons.org/presskit/icons/by.svg" alt="Creative Commons BY"></a>
256
- and the
257
- <a href="./legal.html#gnu-gpl" target="_self" rel="license noopener noreferrer"><strong>GNU GPL</strong></a>, as published by the
258
- <a rel="noopener noreferrer" href="https://fsf.org" target="_blank">Free Software Foundation</a>, either version 3 of the License, or (at your option) any later
259
- version.
260
- </p>
261
- </div>
262
- </div>
263
- </footer>
264
-
265
-
266
- <script src="js/app.mjs"></script>
267
- </body>
268
- </html>
package/index.html.br DELETED
Binary file
package/index.html.gz DELETED
Binary file
@@ -1 +0,0 @@
1
- "use strict";(self.webpackChunk_networkpro_web=self.webpackChunk_networkpro_web||[]).push([[524],{68:(t,n)=>{const{hasOwnProperty:e}=Object.prototype,r=g();r.configure=g,r.stringify=r,r.default=r,n.stringify=r,n.configure=g,t.exports=r;const i=/[\u0000-\u001f\u0022\u005c\ud800-\udfff]/;function o(t){return t.length<5e3&&!i.test(t)?`"${t}"`:JSON.stringify(t)}function u(t,n){if(t.length>200||n)return t.sort(n);for(let n=1;n<t.length;n++){const e=t[n];let r=n;for(;0!==r&&t[r-1]>e;)t[r]=t[r-1],r--;t[r]=e}return t}const l=Object.getOwnPropertyDescriptor(Object.getPrototypeOf(Object.getPrototypeOf(new Int8Array)),Symbol.toStringTag).get;function f(t){return void 0!==l.call(t)&&0!==t.length}function c(t,n,e){t.length<e&&(e=t.length);const r=","===n?"":" ";let i=`"0":${r}${t[0]}`;for(let o=1;o<e;o++)i+=`${n}"${o}":${r}${t[o]}`;return i}function s(t,n){let r;if(e.call(t,n)){if(r=t[n],"number"!=typeof r)throw new TypeError(`The "${n}" argument must be of type number`);if(!Number.isInteger(r))throw new TypeError(`The "${n}" argument must be an integer`);if(r<1)throw new RangeError(`The "${n}" argument must be >= 1`)}return void 0===r?1/0:r}function a(t){return 1===t?"1 item":`${t} items`}function g(t){const n=function(t){if(e.call(t,"strict")){const n=t.strict;if("boolean"!=typeof n)throw new TypeError('The "strict" argument must be of type boolean');if(n)return t=>{let n="Object can not safely be stringified. Received type "+typeof t;throw"function"!=typeof t&&(n+=` (${t.toString()})`),new Error(n)}}}(t={...t});n&&(void 0===t.bigint&&(t.bigint=!1),"circularValue"in t||(t.circularValue=Error));const r=function(t){if(e.call(t,"circularValue")){const n=t.circularValue;if("string"==typeof n)return`"${n}"`;if(null==n)return n;if(n===Error||n===TypeError)return{toString(){throw new TypeError("Converting circular structure to JSON")}};throw new TypeError('The "circularValue" argument must be of type string or the value null or undefined')}return'"[Circular]"'}(t),i=function(t,n){let r;if(e.call(t,n)&&(r=t[n],"boolean"!=typeof r))throw new TypeError(`The "${n}" argument must be of type boolean`);return void 0===r||r}(t,"bigint"),l=function(t){let n;if(e.call(t,"deterministic")&&(n=t.deterministic,"boolean"!=typeof n&&"function"!=typeof n))throw new TypeError('The "deterministic" argument must be of type boolean or comparator function');return void 0===n||n}(t),g="function"==typeof l?l:void 0,h=s(t,"maximumDepth"),p=s(t,"maximumBreadth");function $(t,e,c,s,y,b){let d=e[t];switch("object"==typeof d&&null!==d&&"function"==typeof d.toJSON&&(d=d.toJSON(t)),d=s.call(e,t,d),typeof d){case"string":return o(d);case"object":{if(null===d)return"null";if(-1!==c.indexOf(d))return r;let t="",n=",";const e=b;if(Array.isArray(d)){if(0===d.length)return"[]";if(h<c.length+1)return'"[Array]"';c.push(d),""!==y&&(t+=`\n${b+=y}`,n=`,\n${b}`);const r=Math.min(d.length,p);let i=0;for(;i<r-1;i++){const e=$(String(i),d,c,s,y,b);t+=void 0!==e?e:"null",t+=n}const o=$(String(i),d,c,s,y,b);if(t+=void 0!==o?o:"null",d.length-1>p){t+=`${n}"... ${a(d.length-p-1)} not stringified"`}return""!==y&&(t+=`\n${e}`),c.pop(),`[${t}]`}let i=Object.keys(d);const m=i.length;if(0===m)return"{}";if(h<c.length+1)return'"[Object]"';let w="",S="";""!==y&&(n=`,\n${b+=y}`,w=" ");const O=Math.min(m,p);l&&!f(d)&&(i=u(i,g)),c.push(d);for(let e=0;e<O;e++){const r=i[e],u=$(r,d,c,s,y,b);void 0!==u&&(t+=`${S}${o(r)}:${w}${u}`,S=n)}if(m>p){t+=`${S}"...":${w}"${a(m-p)} not stringified"`,S=n}return""!==y&&S.length>1&&(t=`\n${b}${t}\n${e}`),c.pop(),`{${t}}`}case"number":return isFinite(d)?String(d):n?n(d):"null";case"boolean":return!0===d?"true":"false";case"undefined":return;case"bigint":if(i)return String(d);default:return n?n(d):void 0}}function y(t,e,u,l,f,c){switch("object"==typeof e&&null!==e&&"function"==typeof e.toJSON&&(e=e.toJSON(t)),typeof e){case"string":return o(e);case"object":{if(null===e)return"null";if(-1!==u.indexOf(e))return r;const t=c;let n="",i=",";if(Array.isArray(e)){if(0===e.length)return"[]";if(h<u.length+1)return'"[Array]"';u.push(e),""!==f&&(n+=`\n${c+=f}`,i=`,\n${c}`);const r=Math.min(e.length,p);let o=0;for(;o<r-1;o++){const t=y(String(o),e[o],u,l,f,c);n+=void 0!==t?t:"null",n+=i}const s=y(String(o),e[o],u,l,f,c);if(n+=void 0!==s?s:"null",e.length-1>p){n+=`${i}"... ${a(e.length-p-1)} not stringified"`}return""!==f&&(n+=`\n${t}`),u.pop(),`[${n}]`}u.push(e);let s="";""!==f&&(i=`,\n${c+=f}`,s=" ");let g="";for(const t of l){const r=y(t,e[t],u,l,f,c);void 0!==r&&(n+=`${g}${o(t)}:${s}${r}`,g=i)}return""!==f&&g.length>1&&(n=`\n${c}${n}\n${t}`),u.pop(),`{${n}}`}case"number":return isFinite(e)?String(e):n?n(e):"null";case"boolean":return!0===e?"true":"false";case"undefined":return;case"bigint":if(i)return String(e);default:return n?n(e):void 0}}function b(t,e,s,$,y){switch(typeof e){case"string":return o(e);case"object":{if(null===e)return"null";if("function"==typeof e.toJSON){if("object"!=typeof(e=e.toJSON(t)))return b(t,e,s,$,y);if(null===e)return"null"}if(-1!==s.indexOf(e))return r;const n=y;if(Array.isArray(e)){if(0===e.length)return"[]";if(h<s.length+1)return'"[Array]"';s.push(e);let t=`\n${y+=$}`;const r=`,\n${y}`,i=Math.min(e.length,p);let o=0;for(;o<i-1;o++){const n=b(String(o),e[o],s,$,y);t+=void 0!==n?n:"null",t+=r}const u=b(String(o),e[o],s,$,y);if(t+=void 0!==u?u:"null",e.length-1>p){t+=`${r}"... ${a(e.length-p-1)} not stringified"`}return t+=`\n${n}`,s.pop(),`[${t}]`}let i=Object.keys(e);const d=i.length;if(0===d)return"{}";if(h<s.length+1)return'"[Object]"';const m=`,\n${y+=$}`;let w="",S="",O=Math.min(d,p);f(e)&&(w+=c(e,m,p),i=i.slice(e.length),O-=e.length,S=m),l&&(i=u(i,g)),s.push(e);for(let t=0;t<O;t++){const n=i[t],r=b(n,e[n],s,$,y);void 0!==r&&(w+=`${S}${o(n)}: ${r}`,S=m)}if(d>p){w+=`${S}"...": "${a(d-p)} not stringified"`,S=m}return""!==S&&(w=`\n${y}${w}\n${n}`),s.pop(),`{${w}}`}case"number":return isFinite(e)?String(e):n?n(e):"null";case"boolean":return!0===e?"true":"false";case"undefined":return;case"bigint":if(i)return String(e);default:return n?n(e):void 0}}function d(t,e,s){switch(typeof e){case"string":return o(e);case"object":{if(null===e)return"null";if("function"==typeof e.toJSON){if("object"!=typeof(e=e.toJSON(t)))return d(t,e,s);if(null===e)return"null"}if(-1!==s.indexOf(e))return r;let n="";const i=void 0!==e.length;if(i&&Array.isArray(e)){if(0===e.length)return"[]";if(h<s.length+1)return'"[Array]"';s.push(e);const t=Math.min(e.length,p);let r=0;for(;r<t-1;r++){const t=d(String(r),e[r],s);n+=void 0!==t?t:"null",n+=","}const i=d(String(r),e[r],s);if(n+=void 0!==i?i:"null",e.length-1>p){n+=`,"... ${a(e.length-p-1)} not stringified"`}return s.pop(),`[${n}]`}let $=Object.keys(e);const y=$.length;if(0===y)return"{}";if(h<s.length+1)return'"[Object]"';let b="",m=Math.min(y,p);i&&f(e)&&(n+=c(e,",",p),$=$.slice(e.length),m-=e.length,b=","),l&&($=u($,g)),s.push(e);for(let t=0;t<m;t++){const r=$[t],i=d(r,e[r],s);void 0!==i&&(n+=`${b}${o(r)}:${i}`,b=",")}if(y>p){n+=`${b}"...":"${a(y-p)} not stringified"`}return s.pop(),`{${n}}`}case"number":return isFinite(e)?String(e):n?n(e):"null";case"boolean":return!0===e?"true":"false";case"undefined":return;case"bigint":if(i)return String(e);default:return n?n(e):void 0}}return function(t,n,e){if(arguments.length>1){let r="";if("number"==typeof e?r=" ".repeat(Math.min(e,10)):"string"==typeof e&&(r=e.slice(0,10)),null!=n){if("function"==typeof n)return $("",{"":t},[],n,r,"");if(Array.isArray(n))return y("",t,[],function(t){const n=new Set;for(const e of t)"string"!=typeof e&&"number"!=typeof e||n.add(String(e));return n}(n),r,"")}if(0!==r.length)return b("",t,[],r,"")}return d("",t,[])}}},118:(t,n,e)=>{var r=e(68);r.configure;globalThis.self}},t=>{var n;n=118,t(t.s=n)}]);
@@ -1 +0,0 @@
1
- (()=>{"use strict";var r,e={},o={};function t(r){var n=o[r];if(void 0!==n)return n.exports;var a=o[r]={exports:{}};return e[r](a,a.exports,t),a.exports}t.m=e,r=[],t.O=(e,o,n,a)=>{if(!o){var i=1/0;for(l=0;l<r.length;l++){for(var[o,n,a]=r[l],p=!0,s=0;s<o.length;s++)(!1&a||i>=a)&&Object.keys(t.O).every((r=>t.O[r](o[s])))?o.splice(s--,1):(p=!1,a<i&&(i=a));if(p){r.splice(l--,1);var f=n();void 0!==f&&(e=f)}}return e}a=a||0;for(var l=r.length;l>0&&r[l-1][2]>a;l--)r[l]=r[l-1];r[l]=[o,n,a]},t.o=(r,e)=>Object.prototype.hasOwnProperty.call(r,e),(()=>{var r={121:0};t.O.j=e=>0===r[e];var e=(e,o)=>{var n,a,[i,p,s]=o,f=0;if(i.some((e=>0!==r[e]))){for(n in p)t.o(p,n)&&(t.m[n]=p[n]);if(s)var l=s(t)}for(e&&e(o);f<i.length;f++)a=i[f],t.o(r,a)&&r[a]&&r[a][0](),r[a]=0;return t.O(l)},o=self.webpackChunk_networkpro_web=self.webpackChunk_networkpro_web||[];o.forEach(e.bind(null,0)),o.push=e.bind(null,o.push.bind(o))})()})();
File without changes