@networkpro/blog 1.0.5 → 1.0.7

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 (153) hide show
  1. package/2015/01/04/secure-secure-shell/index.html +1552 -0
  2. package/2025/04/30/were-live/index.html +1220 -0
  3. package/2025/05/11/the-network-pro-blog-has-moved/index.html +1202 -0
  4. package/2025/05/15/building-a-better-web-experience/index.html +1200 -0
  5. package/2025/05/16/progressive-web-app-is-live/index.html +1232 -0
  6. package/404.html +970 -0
  7. package/archive/2015/index.html +1141 -0
  8. package/archive/2025/index.html +1316 -0
  9. package/assets/external/avatars.githubusercontent.com/u/170266279.png +0 -0
  10. package/assets/external/unpkg.com/mermaid@11/dist/mermaid.min.js +2607 -0
  11. package/assets/images/favicon.png +0 -0
  12. package/assets/javascripts/bundle.13a4f30d.min.js +16 -0
  13. package/assets/javascripts/bundle.13a4f30d.min.js.map +7 -0
  14. package/assets/javascripts/lunr/min/lunr.ar.min.js +1 -0
  15. package/assets/javascripts/lunr/min/lunr.da.min.js +18 -0
  16. package/assets/javascripts/lunr/min/lunr.de.min.js +18 -0
  17. package/assets/javascripts/lunr/min/lunr.du.min.js +18 -0
  18. package/assets/javascripts/lunr/min/lunr.el.min.js +1 -0
  19. package/assets/javascripts/lunr/min/lunr.es.min.js +18 -0
  20. package/assets/javascripts/lunr/min/lunr.fi.min.js +18 -0
  21. package/assets/javascripts/lunr/min/lunr.fr.min.js +18 -0
  22. package/assets/javascripts/lunr/min/lunr.he.min.js +1 -0
  23. package/assets/javascripts/lunr/min/lunr.hi.min.js +1 -0
  24. package/assets/javascripts/lunr/min/lunr.hu.min.js +18 -0
  25. package/assets/javascripts/lunr/min/lunr.hy.min.js +1 -0
  26. package/assets/javascripts/lunr/min/lunr.it.min.js +18 -0
  27. package/assets/javascripts/lunr/min/lunr.ja.min.js +1 -0
  28. package/assets/javascripts/lunr/min/lunr.jp.min.js +1 -0
  29. package/assets/javascripts/lunr/min/lunr.kn.min.js +1 -0
  30. package/assets/javascripts/lunr/min/lunr.ko.min.js +1 -0
  31. package/assets/javascripts/lunr/min/lunr.multi.min.js +1 -0
  32. package/assets/javascripts/lunr/min/lunr.nl.min.js +18 -0
  33. package/assets/javascripts/lunr/min/lunr.no.min.js +18 -0
  34. package/assets/javascripts/lunr/min/lunr.pt.min.js +18 -0
  35. package/assets/javascripts/lunr/min/lunr.ro.min.js +18 -0
  36. package/assets/javascripts/lunr/min/lunr.ru.min.js +18 -0
  37. package/assets/javascripts/lunr/min/lunr.sa.min.js +1 -0
  38. package/assets/javascripts/lunr/min/lunr.stemmer.support.min.js +1 -0
  39. package/assets/javascripts/lunr/min/lunr.sv.min.js +18 -0
  40. package/assets/javascripts/lunr/min/lunr.ta.min.js +1 -0
  41. package/assets/javascripts/lunr/min/lunr.te.min.js +1 -0
  42. package/assets/javascripts/lunr/min/lunr.th.min.js +1 -0
  43. package/assets/javascripts/lunr/min/lunr.tr.min.js +18 -0
  44. package/assets/javascripts/lunr/min/lunr.vi.min.js +1 -0
  45. package/assets/javascripts/lunr/min/lunr.zh.min.js +1 -0
  46. package/assets/javascripts/lunr/tinyseg.js +206 -0
  47. package/assets/javascripts/lunr/wordcut.js +6708 -0
  48. package/assets/javascripts/workers/search.d50fe291.min.js +42 -0
  49. package/assets/javascripts/workers/search.d50fe291.min.js.map +7 -0
  50. package/assets/stylesheets/main.342714a4.min.css +1 -0
  51. package/assets/stylesheets/main.342714a4.min.css.map +1 -0
  52. package/assets/stylesheets/palette.06af60db.min.css +1 -0
  53. package/assets/stylesheets/palette.06af60db.min.css.map +1 -0
  54. package/category/security/index.html +1141 -0
  55. package/contributing/index.html +1306 -0
  56. package/feed_json_created.json +1 -0
  57. package/feed_json_updated.json +1 -0
  58. package/feed_rss_created.xml +1 -0
  59. package/feed_rss_updated.xml +1 -0
  60. package/index.html +1406 -0
  61. package/package.json +1 -1
  62. package/search/search_index.json +1 -0
  63. package/sitemap.xml +47 -0
  64. package/sitemap.xml.gz +0 -0
  65. package/tags/index.html +1432 -0
  66. package/.browserslistrc +0 -12
  67. package/.editorconfig +0 -60
  68. package/.gitattributes +0 -199
  69. package/.github/workflows/auto-assign.yml +0 -32
  70. package/.github/workflows/build-and-deploy.yml +0 -117
  71. package/.github/workflows/dependency-review.yml +0 -20
  72. package/.github/workflows/publish.yml +0 -143
  73. package/.markdownlint.jsonc +0 -19
  74. package/.prettierignore +0 -38
  75. package/.prettierrc +0 -20
  76. package/.stylelintignore +0 -34
  77. package/.vscode/settings.json +0 -81
  78. package/CNAME +0 -1
  79. package/LICENSE.md +0 -265
  80. package/MKDOCS.md +0 -20
  81. package/assets/.gitkeep +0 -0
  82. package/assets/consulting-terms.pdf +0 -0
  83. package/assets/license/CC-BY-4.0-rdfa.xml +0 -741
  84. package/assets/license/CC-BY-4.0.xml +0 -25
  85. package/assets/license/COPYING-rdfa.xml +0 -1187
  86. package/assets/license/COPYING.odt +0 -0
  87. package/assets/linksheet.json +0 -8
  88. package/assets/pgp/contact.vcf +0 -13
  89. package/assets/pgp/contact@s.neteng.pro.aexpk +0 -17
  90. package/assets/pgp/contact@s.neteng.pro.asc +0 -17
  91. package/assets/pgp/github@sl.neteng.cc.aexpk +0 -29
  92. package/assets/pgp/github@sl.neteng.cc.asc +0 -29
  93. package/assets/pgp/support@neteng.pro.aexpk +0 -47
  94. package/assets/pgp/support@neteng.pro.asc +0 -47
  95. package/docs/LICENSE.md +0 -296
  96. package/docs/PRIVACY.md +0 -212
  97. package/docs/README.md +0 -115
  98. package/docs/TERMS-COND.md +0 -277
  99. package/docs/TERMS-USE.md +0 -212
  100. package/docs/license/CC-BY-4.0.html +0 -1235
  101. package/docs/license/CC-BY-4.0.md +0 -367
  102. package/docs/license/CC-BY-4.0.txt +0 -156
  103. package/docs/license/COPYING.html +0 -1413
  104. package/docs/license/COPYING.md +0 -611
  105. package/docs/license/COPYING.txt +0 -232
  106. package/docs_raw/.authors.yml +0 -11
  107. package/docs_raw/contributing.md +0 -166
  108. package/docs_raw/index.md +0 -28
  109. package/docs_raw/posts/betterweb.md +0 -59
  110. package/docs_raw/posts/drafts/.meta.yml +0 -1
  111. package/docs_raw/posts/live.md +0 -83
  112. package/docs_raw/posts/moved.md +0 -74
  113. package/docs_raw/posts/pwa.md +0 -65
  114. package/docs_raw/posts/secure-secure-shell.md +0 -561
  115. package/docs_raw/sitemap.xml +0 -83
  116. package/docs_raw/tags.md +0 -12
  117. package/eslint.config.mjs +0 -80
  118. package/mkdocs.yml +0 -115
  119. package/postcss.config.mjs +0 -5
  120. package/ref/README.md +0 -56
  121. package/ref/help.md +0 -17
  122. package/stylelint.config.js +0 -109
  123. /package/assets/{nsa-happy-dance.png → external/raw.githubusercontent.com/netwk-pro/netwk-pro.github.io/refs/heads/master/assets/nsa-happy-dance.png} +0 -0
  124. /package/{docs_raw/ext → ext}/__init__.py +0 -0
  125. /package/{docs_raw/ext → ext}/slugs.py +0 -0
  126. /package/{docs_raw/favicon.ico → favicon.ico} +0 -0
  127. /package/{docs_raw/favicon.svg → favicon.svg} +0 -0
  128. /package/{docs_raw/fontawesome → fontawesome}/LICENSE.txt +0 -0
  129. /package/{docs_raw/fontawesome → fontawesome}/brands/facebook.svg +0 -0
  130. /package/{docs_raw/fontawesome → fontawesome}/brands/instagram.svg +0 -0
  131. /package/{docs_raw/fontawesome → fontawesome}/brands/linkedin.svg +0 -0
  132. /package/{docs_raw/fontawesome → fontawesome}/brands/mastodon.svg +0 -0
  133. /package/{docs_raw/fontawesome → fontawesome}/solid/at.svg +0 -0
  134. /package/{docs_raw/hooks → hooks}/socialmedia.py +0 -0
  135. /package/{docs_raw/icon-180x180.png → icon-180x180.png} +0 -0
  136. /package/{docs_raw/icon-192x192.png → icon-192x192.png} +0 -0
  137. /package/{docs_raw/icon-512x512-maskable.png → icon-512x512-maskable.png} +0 -0
  138. /package/{docs_raw/icon-512x512.png → icon-512x512.png} +0 -0
  139. /package/{docs_raw/icon-splash.png → icon-splash.png} +0 -0
  140. /package/{docs_raw/img → img}/acode.png +0 -0
  141. /package/{docs_raw/img → img}/blog-move.png +0 -0
  142. /package/{docs_raw/img → img}/favicon.png +0 -0
  143. /package/{docs_raw/img → img}/linksheet.png +0 -0
  144. /package/{docs_raw/img → img}/logo.png +0 -0
  145. /package/{docs_raw/img → img}/pmx.png +0 -0
  146. /package/{docs_raw/img → img}/tosdr.png +0 -0
  147. /package/{docs_raw/img → img}/urlcheck.png +0 -0
  148. /package/{docs_raw/manifest.json → manifest.json} +0 -0
  149. /package/{docs_raw/robots.txt → robots.txt} +0 -0
  150. /package/{docs_raw/styles → styles}/default.css +0 -0
  151. /package/{docs_raw/styles → styles}/global.css +0 -0
  152. /package/{docs_raw/styles → styles}/normalize.css +0 -0
  153. /package/{docs_raw/styles → styles}/style.css +0 -0
@@ -0,0 +1,1220 @@
1
+
2
+ <!doctype html>
3
+ <html lang="en" class="no-js">
4
+ <head>
5
+
6
+ <meta charset="utf-8">
7
+ <meta name="viewport" content="width=device-width,initial-scale=1">
8
+
9
+
10
+
11
+ <link rel="canonical" href="https://blog.netwk.pro/2025/04/30/were-live/">
12
+
13
+
14
+ <link rel="prev" href="../../../../2015/01/04/secure-secure-shell/">
15
+
16
+
17
+ <link rel="next" href="../../../05/11/the-network-pro-blog-has-moved/">
18
+
19
+
20
+ <link rel="alternate" type="application/rss+xml" title="RSS feed" href="../../../../feed_rss_created.xml">
21
+ <link rel="alternate" type="application/rss+xml" title="RSS feed of updated content" href="../../../../feed_rss_updated.xml">
22
+
23
+ <link rel="icon" href="/favicon.svg">
24
+ <meta name="generator" content="mkdocs-1.6.1, mkdocs-material-9.6.14">
25
+
26
+
27
+
28
+ <title>We're Live! - Network Pro™ Blog</title>
29
+
30
+
31
+
32
+ <link rel="stylesheet" href="../../../../assets/stylesheets/main.342714a4.min.css">
33
+
34
+
35
+ <link rel="stylesheet" href="../../../../assets/stylesheets/palette.06af60db.min.css">
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+ <script>__md_scope=new URL("../../../..",location),__md_hash=e=>[...e].reduce(((e,_)=>(e<<5)-e+_.charCodeAt(0)),0),__md_get=(e,_=localStorage,t=__md_scope)=>JSON.parse(_.getItem(t.pathname+"."+e)),__md_set=(e,_,t=localStorage,a=__md_scope)=>{try{t.setItem(a.pathname+"."+e,JSON.stringify(_))}catch(e){}}</script>
49
+
50
+
51
+
52
+
53
+
54
+
55
+ </head>
56
+
57
+
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+ <body dir="ltr" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow">
66
+
67
+
68
+ <input class="md-toggle" data-md-toggle="drawer" type="checkbox" id="__drawer" autocomplete="off">
69
+ <input class="md-toggle" data-md-toggle="search" type="checkbox" id="__search" autocomplete="off">
70
+ <label class="md-overlay" for="__drawer"></label>
71
+ <div data-md-component="skip">
72
+
73
+
74
+ <a href="#were-live" class="md-skip">
75
+ Skip to content
76
+ </a>
77
+
78
+ </div>
79
+ <div data-md-component="announce">
80
+
81
+ </div>
82
+
83
+
84
+
85
+
86
+ <header class="md-header" data-md-component="header">
87
+ <nav class="md-header__inner md-grid" aria-label="Header">
88
+ <a href="../../../.." title="Network Pro™ Blog" class="md-header__button md-logo" aria-label="Network Pro™ Blog" data-md-component="logo">
89
+
90
+ <img src="/icon-512x512.png" alt="logo">
91
+
92
+ </a>
93
+ <label class="md-header__button md-icon" for="__drawer">
94
+
95
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M3 6h18v2H3zm0 5h18v2H3zm0 5h18v2H3z"/></svg>
96
+ </label>
97
+ <div class="md-header__title" data-md-component="header-title">
98
+ <div class="md-header__ellipsis">
99
+ <div class="md-header__topic">
100
+ <span class="md-ellipsis">
101
+ Network Pro™ Blog
102
+ </span>
103
+ </div>
104
+ <div class="md-header__topic" data-md-component="header-topic">
105
+ <span class="md-ellipsis">
106
+
107
+ We're Live!
108
+
109
+ </span>
110
+ </div>
111
+ </div>
112
+ </div>
113
+
114
+
115
+ <form class="md-header__option" data-md-component="palette">
116
+
117
+
118
+
119
+
120
+ <input class="md-option" data-md-color-media="(prefers-color-scheme)" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to light mode" type="radio" name="__palette" id="__palette_0">
121
+
122
+ <label class="md-header__button md-icon" title="Switch to light mode" for="__palette_1" hidden>
123
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m14.3 16-.7-2h-3.2l-.7 2H7.8L11 7h2l3.2 9zM20 8.69V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12zm-9.15 3.96h2.3L12 9z"/></svg>
124
+ </label>
125
+
126
+
127
+
128
+
129
+
130
+ <input class="md-option" data-md-color-media="(prefers-color-scheme: dark)" data-md-color-scheme="slate" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to system preference" type="radio" name="__palette" id="__palette_1">
131
+
132
+ <label class="md-header__button md-icon" title="Switch to system preference" for="__palette_2" hidden>
133
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 18c-.89 0-1.74-.2-2.5-.55C11.56 16.5 13 14.42 13 12s-1.44-4.5-3.5-5.45C10.26 6.2 11.11 6 12 6a6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
134
+ </label>
135
+
136
+
137
+
138
+
139
+
140
+ <input class="md-option" data-md-color-media="(prefers-color-scheme: light)" data-md-color-scheme="default" data-md-color-primary="amber" data-md-color-accent="yellow" aria-label="Switch to dark mode" type="radio" name="__palette" id="__palette_2">
141
+
142
+ <label class="md-header__button md-icon" title="Switch to dark mode" for="__palette_0" hidden>
143
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 8a4 4 0 0 0-4 4 4 4 0 0 0 4 4 4 4 0 0 0 4-4 4 4 0 0 0-4-4m0 10a6 6 0 0 1-6-6 6 6 0 0 1 6-6 6 6 0 0 1 6 6 6 6 0 0 1-6 6m8-9.31V4h-4.69L12 .69 8.69 4H4v4.69L.69 12 4 15.31V20h4.69L12 23.31 15.31 20H20v-4.69L23.31 12z"/></svg>
144
+ </label>
145
+
146
+
147
+ </form>
148
+
149
+
150
+
151
+ <script>var palette=__md_get("__palette");if(palette&&palette.color){if("(prefers-color-scheme)"===palette.color.media){var media=matchMedia("(prefers-color-scheme: light)"),input=document.querySelector(media.matches?"[data-md-color-media='(prefers-color-scheme: light)']":"[data-md-color-media='(prefers-color-scheme: dark)']");palette.color.media=input.getAttribute("data-md-color-media"),palette.color.scheme=input.getAttribute("data-md-color-scheme"),palette.color.primary=input.getAttribute("data-md-color-primary"),palette.color.accent=input.getAttribute("data-md-color-accent")}for(var[key,value]of Object.entries(palette.color))document.body.setAttribute("data-md-color-"+key,value)}</script>
152
+
153
+
154
+
155
+
156
+
157
+ <label class="md-header__button md-icon" for="__search">
158
+
159
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
160
+ </label>
161
+ <div class="md-search" data-md-component="search" role="dialog">
162
+ <label class="md-search__overlay" for="__search"></label>
163
+ <div class="md-search__inner" role="search">
164
+ <form class="md-search__form" name="search">
165
+ <input type="text" class="md-search__input" name="query" aria-label="Search" placeholder="Search" autocapitalize="off" autocorrect="off" autocomplete="off" spellcheck="false" data-md-component="search-query" required>
166
+ <label class="md-search__icon md-icon" for="__search">
167
+
168
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M9.5 3A6.5 6.5 0 0 1 16 9.5c0 1.61-.59 3.09-1.56 4.23l.27.27h.79l5 5-1.5 1.5-5-5v-.79l-.27-.27A6.52 6.52 0 0 1 9.5 16 6.5 6.5 0 0 1 3 9.5 6.5 6.5 0 0 1 9.5 3m0 2C7 5 5 7 5 9.5S7 14 9.5 14 14 12 14 9.5 12 5 9.5 5"/></svg>
169
+
170
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
171
+ </label>
172
+ <nav class="md-search__options" aria-label="Search">
173
+
174
+ <button type="reset" class="md-search__icon md-icon" title="Clear" aria-label="Clear" tabindex="-1">
175
+
176
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"/></svg>
177
+ </button>
178
+ </nav>
179
+
180
+ <div class="md-search__suggest" data-md-component="search-suggest"></div>
181
+
182
+ </form>
183
+ <div class="md-search__output">
184
+ <div class="md-search__scrollwrap" tabindex="0" data-md-scrollfix>
185
+ <div class="md-search-result" data-md-component="search-result">
186
+ <div class="md-search-result__meta">
187
+ Initializing search
188
+ </div>
189
+ <ol class="md-search-result__list" role="presentation"></ol>
190
+ </div>
191
+ </div>
192
+ </div>
193
+ </div>
194
+ </div>
195
+
196
+
197
+
198
+ <div class="md-header__source">
199
+ <a href="https://github.com/netwk-pro/netwk-pro.github.io" title="Go to repository" class="md-source" data-md-component="source">
200
+ <div class="md-source__icon md-icon">
201
+
202
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
203
+ </div>
204
+ <div class="md-source__repository">
205
+ GitHub
206
+ </div>
207
+ </a>
208
+ </div>
209
+
210
+ </nav>
211
+
212
+ </header>
213
+
214
+ <div class="md-container" data-md-component="container">
215
+
216
+
217
+
218
+
219
+
220
+ <nav class="md-tabs" aria-label="Tabs" data-md-component="tabs">
221
+ <div class="md-grid">
222
+ <ul class="md-tabs__list">
223
+
224
+
225
+
226
+
227
+
228
+
229
+
230
+
231
+ <li class="md-tabs__item md-tabs__item--active">
232
+ <a href="../../../.." class="md-tabs__link">
233
+
234
+
235
+
236
+
237
+
238
+ Home
239
+
240
+ </a>
241
+ </li>
242
+
243
+
244
+
245
+
246
+
247
+
248
+
249
+
250
+
251
+
252
+ <li class="md-tabs__item">
253
+ <a href="../../../../contributing/" class="md-tabs__link">
254
+
255
+
256
+
257
+
258
+
259
+ Contributing
260
+
261
+ </a>
262
+ </li>
263
+
264
+
265
+
266
+
267
+
268
+
269
+
270
+
271
+
272
+
273
+
274
+ <li class="md-tabs__item">
275
+ <a href="../../../../tags/" class="md-tabs__link">
276
+
277
+
278
+
279
+
280
+
281
+ Tags
282
+
283
+ </a>
284
+ </li>
285
+
286
+
287
+
288
+
289
+
290
+
291
+
292
+
293
+
294
+ <li class="md-tabs__item">
295
+ <a href="https://netwk.pro" class="md-tabs__link">
296
+
297
+
298
+
299
+
300
+
301
+ Website
302
+
303
+ </a>
304
+ </li>
305
+
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <li class="md-tabs__item">
316
+ <a href="../../../../archive/2025/" class="md-tabs__link">
317
+
318
+
319
+
320
+
321
+
322
+ Archive
323
+
324
+ </a>
325
+ </li>
326
+
327
+
328
+
329
+
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+ <li class="md-tabs__item">
338
+ <a href="../../../../category/security/" class="md-tabs__link">
339
+
340
+
341
+
342
+
343
+
344
+ Categories
345
+
346
+ </a>
347
+ </li>
348
+
349
+
350
+
351
+
352
+ </ul>
353
+ </div>
354
+ </nav>
355
+
356
+
357
+
358
+ <main class="md-main" data-md-component="main">
359
+ <div class="md-main__inner md-grid">
360
+
361
+
362
+
363
+
364
+
365
+ <div class="md-sidebar md-sidebar--primary" data-md-component="sidebar" data-md-type="navigation" hidden>
366
+ <div class="md-sidebar__scrollwrap">
367
+ <div class="md-sidebar__inner">
368
+
369
+
370
+
371
+
372
+
373
+
374
+ <nav class="md-nav md-nav--primary md-nav--lifted" aria-label="Navigation" data-md-level="0">
375
+ <label class="md-nav__title" for="__drawer">
376
+ <a href="../../../.." title="Network Pro™ Blog" class="md-nav__button md-logo" aria-label="Network Pro™ Blog" data-md-component="logo">
377
+
378
+ <img src="/icon-512x512.png" alt="logo">
379
+
380
+ </a>
381
+ Network Pro™ Blog
382
+ </label>
383
+
384
+ <div class="md-nav__source">
385
+ <a href="https://github.com/netwk-pro/netwk-pro.github.io" title="Go to repository" class="md-source" data-md-component="source">
386
+ <div class="md-source__icon md-icon">
387
+
388
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M439.55 236.05 244 40.45a28.87 28.87 0 0 0-40.81 0l-40.66 40.63 51.52 51.52c27.06-9.14 52.68 16.77 43.39 43.68l49.66 49.66c34.23-11.8 61.18 31 35.47 56.69-26.49 26.49-70.21-2.87-56-37.34L240.22 199v121.85c25.3 12.54 22.26 41.85 9.08 55a34.34 34.34 0 0 1-48.55 0c-17.57-17.6-11.07-46.91 11.25-56v-123c-20.8-8.51-24.6-30.74-18.64-45L142.57 101 8.45 235.14a28.86 28.86 0 0 0 0 40.81l195.61 195.6a28.86 28.86 0 0 0 40.8 0l194.69-194.69a28.86 28.86 0 0 0 0-40.81"/></svg>
389
+ </div>
390
+ <div class="md-source__repository">
391
+ GitHub
392
+ </div>
393
+ </a>
394
+ </div>
395
+
396
+ <ul class="md-nav__list" data-md-scrollfix>
397
+
398
+
399
+
400
+
401
+
402
+
403
+
404
+
405
+
406
+
407
+
408
+ <li class="md-nav__item md-nav__item--active">
409
+ <a href="../../../.." class="md-nav__link">
410
+
411
+
412
+
413
+ <span class="md-ellipsis">
414
+ Home
415
+
416
+ </span>
417
+
418
+
419
+ </a>
420
+ </li>
421
+
422
+
423
+
424
+
425
+
426
+
427
+
428
+
429
+
430
+
431
+
432
+
433
+
434
+
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+ <li class="md-nav__item md-nav__item--nested">
443
+
444
+
445
+
446
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_2" >
447
+
448
+
449
+ <label class="md-nav__link" for="__nav_2" id="__nav_2_label" tabindex="0">
450
+
451
+
452
+
453
+ <span class="md-ellipsis">
454
+ Contributing
455
+
456
+ </span>
457
+
458
+
459
+ <span class="md-nav__icon md-icon"></span>
460
+ </label>
461
+
462
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_2_label" aria-expanded="false">
463
+ <label class="md-nav__title" for="__nav_2">
464
+ <span class="md-nav__icon md-icon"></span>
465
+ Contributing
466
+ </label>
467
+ <ul class="md-nav__list" data-md-scrollfix>
468
+
469
+
470
+
471
+
472
+
473
+
474
+
475
+ <li class="md-nav__item">
476
+ <a href="../../../../contributing/" class="md-nav__link">
477
+
478
+
479
+
480
+ <span class="md-ellipsis">
481
+ Code of Conduct
482
+
483
+ </span>
484
+
485
+
486
+ </a>
487
+ </li>
488
+
489
+
490
+
491
+
492
+ </ul>
493
+ </nav>
494
+
495
+ </li>
496
+
497
+
498
+
499
+
500
+
501
+
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+
514
+
515
+
516
+
517
+ <li class="md-nav__item md-nav__item--nested">
518
+
519
+
520
+
521
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_3" >
522
+
523
+
524
+ <label class="md-nav__link" for="__nav_3" id="__nav_3_label" tabindex="0">
525
+
526
+
527
+
528
+ <span class="md-ellipsis">
529
+ Tags
530
+
531
+ </span>
532
+
533
+
534
+ <span class="md-nav__icon md-icon"></span>
535
+ </label>
536
+
537
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_3_label" aria-expanded="false">
538
+ <label class="md-nav__title" for="__nav_3">
539
+ <span class="md-nav__icon md-icon"></span>
540
+ Tags
541
+ </label>
542
+ <ul class="md-nav__list" data-md-scrollfix>
543
+
544
+
545
+
546
+
547
+
548
+
549
+
550
+ <li class="md-nav__item">
551
+ <a href="../../../../tags/" class="md-nav__link">
552
+
553
+
554
+
555
+ <span class="md-ellipsis">
556
+ Tag Index
557
+
558
+ </span>
559
+
560
+
561
+ </a>
562
+ </li>
563
+
564
+
565
+
566
+
567
+ </ul>
568
+ </nav>
569
+
570
+ </li>
571
+
572
+
573
+
574
+
575
+
576
+
577
+
578
+
579
+
580
+ <li class="md-nav__item">
581
+ <a href="https://netwk.pro" class="md-nav__link">
582
+
583
+
584
+
585
+ <span class="md-ellipsis">
586
+ Website
587
+
588
+ </span>
589
+
590
+
591
+ </a>
592
+ </li>
593
+
594
+
595
+
596
+
597
+
598
+
599
+
600
+
601
+
602
+
603
+
604
+
605
+
606
+
607
+
608
+
609
+
610
+
611
+
612
+
613
+
614
+
615
+
616
+ <li class="md-nav__item md-nav__item--nested">
617
+
618
+
619
+
620
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_5" >
621
+
622
+
623
+ <label class="md-nav__link" for="__nav_5" id="__nav_5_label" tabindex="0">
624
+
625
+
626
+
627
+ <span class="md-ellipsis">
628
+ Archive
629
+
630
+ </span>
631
+
632
+
633
+ <span class="md-nav__icon md-icon"></span>
634
+ </label>
635
+
636
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_5_label" aria-expanded="false">
637
+ <label class="md-nav__title" for="__nav_5">
638
+ <span class="md-nav__icon md-icon"></span>
639
+ Archive
640
+ </label>
641
+ <ul class="md-nav__list" data-md-scrollfix>
642
+
643
+
644
+
645
+
646
+
647
+
648
+
649
+
650
+
651
+ <li class="md-nav__item">
652
+ <a href="../../../../archive/2025/" class="md-nav__link">
653
+
654
+
655
+
656
+ <span class="md-ellipsis">
657
+ May 2025
658
+
659
+ </span>
660
+
661
+
662
+ </a>
663
+ </li>
664
+
665
+
666
+
667
+
668
+
669
+
670
+
671
+
672
+
673
+
674
+
675
+
676
+ <li class="md-nav__item">
677
+ <a href="../../../../archive/2015/" class="md-nav__link">
678
+
679
+
680
+
681
+ <span class="md-ellipsis">
682
+ January 2015
683
+
684
+ </span>
685
+
686
+
687
+ </a>
688
+ </li>
689
+
690
+
691
+
692
+
693
+ </ul>
694
+ </nav>
695
+
696
+ </li>
697
+
698
+
699
+
700
+
701
+
702
+
703
+
704
+
705
+
706
+
707
+
708
+
709
+
710
+
711
+
712
+
713
+
714
+
715
+
716
+
717
+
718
+ <li class="md-nav__item md-nav__item--nested">
719
+
720
+
721
+
722
+ <input class="md-nav__toggle md-toggle " type="checkbox" id="__nav_6" >
723
+
724
+
725
+ <label class="md-nav__link" for="__nav_6" id="__nav_6_label" tabindex="0">
726
+
727
+
728
+
729
+ <span class="md-ellipsis">
730
+ Categories
731
+
732
+ </span>
733
+
734
+
735
+ <span class="md-nav__icon md-icon"></span>
736
+ </label>
737
+
738
+ <nav class="md-nav" data-md-level="1" aria-labelledby="__nav_6_label" aria-expanded="false">
739
+ <label class="md-nav__title" for="__nav_6">
740
+ <span class="md-nav__icon md-icon"></span>
741
+ Categories
742
+ </label>
743
+ <ul class="md-nav__list" data-md-scrollfix>
744
+
745
+
746
+
747
+
748
+
749
+
750
+
751
+
752
+
753
+ <li class="md-nav__item">
754
+ <a href="../../../../category/security/" class="md-nav__link">
755
+
756
+
757
+
758
+ <span class="md-ellipsis">
759
+ Security
760
+
761
+ </span>
762
+
763
+
764
+ </a>
765
+ </li>
766
+
767
+
768
+
769
+
770
+ </ul>
771
+ </nav>
772
+
773
+ </li>
774
+
775
+
776
+
777
+ </ul>
778
+ </nav>
779
+ </div>
780
+ </div>
781
+ </div>
782
+
783
+
784
+
785
+
786
+
787
+ <div class="md-sidebar md-sidebar--secondary" data-md-component="sidebar" data-md-type="toc" >
788
+ <div class="md-sidebar__scrollwrap">
789
+ <div class="md-sidebar__inner">
790
+
791
+
792
+ <nav class="md-nav md-nav--secondary" aria-label="Table of contents">
793
+
794
+
795
+
796
+
797
+
798
+
799
+ <label class="md-nav__title" for="__toc">
800
+ <span class="md-nav__icon md-icon"></span>
801
+ Table of contents
802
+ </label>
803
+ <ul class="md-nav__list" data-md-component="toc" data-md-scrollfix>
804
+
805
+ <li class="md-nav__item">
806
+ <a href="#welcome-to-the-network-protm-blog-cybersecurity-privacy-open-knowledge" class="md-nav__link">
807
+ <span class="md-ellipsis">
808
+ 🛡️ Welcome to the Network Pro&trade; Blog: Cybersecurity. Privacy. Open Knowledge
809
+ </span>
810
+ </a>
811
+
812
+ <nav class="md-nav" aria-label="🛡️ Welcome to the Network Pro™ Blog: Cybersecurity. Privacy. Open Knowledge">
813
+ <ul class="md-nav__list">
814
+
815
+ <li class="md-nav__item">
816
+ <a href="#why-this-blog-exists" class="md-nav__link">
817
+ <span class="md-ellipsis">
818
+ 📡 Why This Blog Exists
819
+ </span>
820
+ </a>
821
+
822
+ </li>
823
+
824
+ <li class="md-nav__item">
825
+ <a href="#what-youll-find-here" class="md-nav__link">
826
+ <span class="md-ellipsis">
827
+ 📬 What You’ll Find Here
828
+ </span>
829
+ </a>
830
+
831
+ </li>
832
+
833
+ <li class="md-nav__item">
834
+ <a href="#our-vision-security-that-respects-you" class="md-nav__link">
835
+ <span class="md-ellipsis">
836
+ ✅ Our Vision: Security That Respects You
837
+ </span>
838
+ </a>
839
+
840
+ </li>
841
+
842
+ <li class="md-nav__item">
843
+ <a href="#ready-to-build-a-safer-smarter-digital-future" class="md-nav__link">
844
+ <span class="md-ellipsis">
845
+ 🔐 Ready to Build a Safer, Smarter Digital Future?
846
+ </span>
847
+ </a>
848
+
849
+ </li>
850
+
851
+ </ul>
852
+ </nav>
853
+
854
+ </li>
855
+
856
+ </ul>
857
+
858
+ </nav>
859
+ </div>
860
+ </div>
861
+ </div>
862
+
863
+
864
+
865
+ <div class="md-content md-content--post" data-md-component="content">
866
+ <div class="md-sidebar md-sidebar--post" data-md-component="sidebar" data-md-type="navigation">
867
+ <div class="md-sidebar__scrollwrap">
868
+ <div class="md-sidebar__inner md-post">
869
+ <nav class="md-nav md-nav--primary">
870
+ <div class="md-post__back">
871
+ <div class="md-nav__title md-nav__container">
872
+ <a href="../../../.." class="md-nav__link">
873
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20 11v2H8l5.5 5.5-1.42 1.42L4.16 12l7.92-7.92L13.5 5.5 8 11z"/></svg>
874
+ <span class="md-ellipsis">
875
+ Back to index
876
+ </span>
877
+ </a>
878
+ </div>
879
+ </div>
880
+
881
+ <div class="md-post__authors md-typeset">
882
+
883
+ <div class="md-profile md-post__profile">
884
+ <span class="md-author md-author--long">
885
+ <img src="../../../../assets/external/avatars.githubusercontent.com/u/170266279.png" alt="Network Pro">
886
+ </span>
887
+ <span class="md-profile__description">
888
+ <strong>
889
+
890
+ <a href="https://netwk.pro/">Network Pro</a>
891
+
892
+ </strong>
893
+ <br>
894
+ Creator
895
+ </span>
896
+ </div>
897
+
898
+ </div>
899
+
900
+ <ul class="md-post__meta md-nav__list">
901
+ <li class="md-nav__item md-nav__item--section">
902
+ <div class="md-post__title">
903
+ <span class="md-ellipsis">
904
+ Metadata
905
+ </span>
906
+ </div>
907
+ <nav class="md-nav">
908
+ <ul class="md-nav__list">
909
+ <li class="md-nav__item">
910
+ <div class="md-nav__link">
911
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 19H5V8h14m-3-7v2H8V1H6v2H5c-1.11 0-2 .89-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V5a2 2 0 0 0-2-2h-1V1m-1 11h-5v5h5z"/></svg>
912
+ <time datetime="2025-04-30 00:00:00+00:00" class="md-ellipsis">April 30, 2025</time>
913
+ </div>
914
+ </li>
915
+
916
+ <li class="md-nav__item">
917
+ <div class="md-nav__link">
918
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15 13h1.5v2.82l2.44 1.41-.75 1.3L15 16.69zm4-5H5v11h4.67c-.43-.91-.67-1.93-.67-3a7 7 0 0 1 7-7c1.07 0 2.09.24 3 .67zM5 21a2 2 0 0 1-2-2V5c0-1.11.89-2 2-2h1V1h2v2h8V1h2v2h1a2 2 0 0 1 2 2v6.1c1.24 1.26 2 2.99 2 4.9a7 7 0 0 1-7 7c-1.91 0-3.64-.76-4.9-2zm11-9.85A4.85 4.85 0 0 0 11.15 16c0 2.68 2.17 4.85 4.85 4.85A4.85 4.85 0 0 0 20.85 16c0-2.68-2.17-4.85-4.85-4.85"/></svg>
919
+ <time datetime="2025-05-16 00:00:00+00:00" class="md-ellipsis">May 16, 2025</time>
920
+ </div>
921
+ </li>
922
+
923
+
924
+
925
+
926
+ <li class="md-nav__item">
927
+ <div class="md-nav__link">
928
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 20a8 8 0 0 0 8-8 8 8 0 0 0-8-8 8 8 0 0 0-8 8 8 8 0 0 0 8 8m0-18a10 10 0 0 1 10 10 10 10 0 0 1-10 10C6.47 22 2 17.5 2 12A10 10 0 0 1 12 2m.5 5v5.25l4.5 2.67-.75 1.23L11 13V7z"/></svg>
929
+ <span class="md-ellipsis">
930
+
931
+ 2 min read
932
+
933
+ </span>
934
+ </div>
935
+ </li>
936
+
937
+ </ul>
938
+ </nav>
939
+ </li>
940
+ </ul>
941
+
942
+ </nav>
943
+
944
+ </div>
945
+ </div>
946
+ </div>
947
+ <article class="md-content__inner md-typeset">
948
+
949
+
950
+
951
+
952
+
953
+ <nav class="md-tags" >
954
+
955
+
956
+
957
+
958
+ <a href="../../../../tags/#tag:blog" class="md-tag">blog</a>
959
+
960
+
961
+
962
+
963
+
964
+ <a href="../../../../tags/#tag:network-pro" class="md-tag">network-pro</a>
965
+
966
+
967
+ </nav>
968
+
969
+
970
+
971
+
972
+
973
+
974
+ <!-- markdownlint-disable MD026 -->
975
+
976
+ <h1 id="were-live">We're Live!</h1>
977
+ <!-- markdownlint-enable MD026 -->
978
+
979
+ <h2 id="welcome-to-the-network-protm-blog-cybersecurity-privacy-open-knowledge">🛡️ Welcome to the Network Pro&trade; Blog: Cybersecurity. Privacy. Open Knowledge</h2>
980
+ <p>In a digital world where threats are persistent and privacy is too often an afterthought, <strong>Network Pro Strategies</strong> was founded on a belief that <strong>effective security doesn't require compromise</strong>. We specialize in helping organizations and individuals <strong>navigate today’s cybersecurity challenges with confidence, clarity, and control</strong>.</p>
981
+ <p>Today marks the launch of our official blog—your go-to destination for <strong>field-tested strategies, implementation insights, and transparent thought leadership</strong> across cybersecurity, network defense, and privacy-aware infrastructure.</p>
982
+ <hr />
983
+ <h3 id="why-this-blog-exists">📡 Why This Blog Exists</h3>
984
+ <p>Modern security isn’t just about technology—it’s about <strong>trust, autonomy, and informed choices</strong>. As threats evolve and surveillance becomes normalized, we believe clients deserve more than marketing fluff and opaque solutions.</p>
985
+ <!-- more -->
986
+
987
+ <p>This blog represents our commitment to providing value through:</p>
988
+ <ul>
989
+ <li>💼 <strong>SMBs and enterprises</strong> needing tailored, scalable security that protects business continuity</li>
990
+ <li>🏛️ <strong>Government and compliance-sensitive sectors</strong> where resilience and data integrity are mission-critical</li>
991
+ <li>👨‍💻 <strong>Technologists and privacy-conscious communities</strong> seeking reliable strategies and tools that don’t trade transparency for control</li>
992
+ </ul>
993
+ <hr />
994
+ <h3 id="what-youll-find-here">📬 What You’ll Find Here</h3>
995
+ <p>You won’t find empty buzzwords or vendor lock-in here. This space is <strong>practical, accessible, and real</strong>. Expect content grounded in hands-on consulting experience, addressing real-world needs like:</p>
996
+ <ul>
997
+ <li>🔐 <strong>Guides on securing infrastructure</strong> through Zero Trust principles, secure network design, segmentation, and data governance</li>
998
+ <li>🌐 <strong>Exploration of free and open source tools</strong> that align with professional-grade expectations for security and usability</li>
999
+ <li>📱 <strong>Best practices for mobile and endpoint hardening</strong>, including private-by-design communications and de-Googled Android stacks</li>
1000
+ <li>⚙️ <strong>Scalable implementation tips</strong> for building resilient, ethical, and vendor-neutral technology environments</li>
1001
+ </ul>
1002
+ <p>We’ll also publish tutorials, deep dives, and threat-focused analyses to help you <strong>anticipate risk, strengthen defenses, and stay informed</strong>—no jargon, no gatekeeping.</p>
1003
+ <hr />
1004
+ <h3 id="our-vision-security-that-respects-you">✅ Our Vision: Security That Respects You</h3>
1005
+ <p>At <strong>Network Pro™</strong>, we believe security should be <strong>transparent, adaptable, and aligned with your goals</strong>. While we advocate for privacy-first solutions and actively support open technologies, we apply them with discretion—not dogma. Our priority is delivering <strong>reliable, resilient results</strong>, whether through open source tools or vetted proprietary platforms.</p>
1006
+ <p>We serve as trusted advisors for navigating today’s threat landscape—delivering infrastructure consulting, cloud and hybrid architecture support, and technical guidance rooted in industry experience. Our approach is <strong>practical, flexible, and future-focused</strong>, designed to protect what matters most without sacrificing visibility or control.</p>
1007
+ <hr />
1008
+ <h3 id="ready-to-build-a-safer-smarter-digital-future">🔐 Ready to Build a Safer, Smarter Digital Future?</h3>
1009
+ <p>Cybersecurity isn’t just a product—it’s a process. Whether you're designing secure networks, navigating digital privacy concerns, or evaluating new tools, <strong>Network Pro&trade;</strong> is here to support your mission.</p>
1010
+ <p>Let’s build something secure, sustainable, and respectful of your values.</p>
1011
+ <p>📩 <a href="https://contact.neteng.pro">Contact us</a> today to get started.</p>
1012
+ <p>&nbsp;</p>
1013
+ <p><strong>Network Pro™</strong> | <em>Cybersecurity that respects your values.</em></p>
1014
+ <hr />
1015
+ <div style="font-size: 12px; text-align: center;">
1016
+
1017
+ <p>Network Pro&trade;, the shield logo, and the "Locking Down Networks&trade;" slogan are <a href="https://netwk.pro/legal#trademark" target="_self">trademarks</a> of Network Pro Strategies.</p>
1018
+
1019
+ <p>Licensed under <a href="https://netwk.pro/legal#cc-by" target="_self"><strong>CC BY 4.0</strong></a> and the <a href="https://netwk.pro/legal#gnu-gpl" target="_self"><strong>GNU GPL</strong></a>, as published by the <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 version.</p>
1020
+
1021
+ </div>
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+
1028
+
1029
+
1030
+
1031
+
1032
+
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+
1039
+
1040
+ </article>
1041
+ </div>
1042
+
1043
+
1044
+ <script>var target=document.getElementById(location.hash.slice(1));target&&target.name&&(target.checked=target.name.startsWith("__tabbed_"))</script>
1045
+ </div>
1046
+
1047
+ <button type="button" class="md-top md-icon" data-md-component="top" hidden>
1048
+
1049
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 20h-2V8l-5.5 5.5-1.42-1.42L12 4.16l7.92 7.92-1.42 1.42L13 8z"/></svg>
1050
+ Back to top
1051
+ </button>
1052
+
1053
+ </main>
1054
+
1055
+ <footer class="md-footer">
1056
+
1057
+ <div class="md-footer-meta md-typeset">
1058
+ <div class="md-footer-meta__inner md-grid">
1059
+ <div class="md-copyright">
1060
+
1061
+ <div class="md-copyright__highlight">
1062
+ Copyright &copy; 2025 Network Pro Strategies (Network Pro&trade;) – <a href="#__consent">Change cookie settings</a>
1063
+
1064
+ </div>
1065
+
1066
+
1067
+ Made with
1068
+ <a href="https://squidfunk.github.io/mkdocs-material/" target="_blank" rel="noopener">
1069
+ Material for MkDocs
1070
+ </a>
1071
+
1072
+ </div>
1073
+
1074
+ <div class="md-social">
1075
+
1076
+
1077
+
1078
+
1079
+
1080
+ <a href="https://instagram.com/netwk_pro/" target="_blank" rel="noopener" title="Network Pro on Instagram" class="md-social__link">
1081
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141m0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7m146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8m76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8M398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1"/></svg>
1082
+ </a>
1083
+
1084
+
1085
+
1086
+
1087
+
1088
+ <a href="https://facebook.com/neteng.pro/" target="_blank" rel="noopener" title="Network Pro on Facebook" class="md-social__link">
1089
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M512 256C512 114.6 397.4 0 256 0S0 114.6 0 256c0 120 82.7 220.8 194.2 248.5V334.2h-52.8V256h52.8v-33.7c0-87.1 39.4-127.5 125-127.5 16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H287v175.9C413.8 494.8 512 386.9 512 256"/></svg>
1090
+ </a>
1091
+
1092
+
1093
+
1094
+
1095
+
1096
+ <a href="https://linkedin.com/company/netwk-pro/" target="_blank" rel="noopener" title="Network Pro on LinkedIn" class="md-social__link">
1097
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3M135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5m282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9z"/></svg>
1098
+ </a>
1099
+
1100
+
1101
+
1102
+
1103
+
1104
+
1105
+
1106
+ <a href="https://noc.social/@neteng_pro/" target="_blank" rel="noopener me" title="Network Pro on Mastoon" class="md-social__link">
1107
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M433 179.11c0-97.2-63.71-125.7-63.71-125.7-62.52-28.7-228.56-28.4-290.48 0 0 0-63.72 28.5-63.72 125.7 0 115.7-6.6 259.4 105.63 289.1 40.51 10.7 75.32 13 103.33 11.4 50.81-2.8 79.32-18.1 79.32-18.1l-1.7-36.9s-36.31 11.4-77.12 10.1c-40.41-1.4-83-4.4-89.63-54a102.5 102.5 0 0 1-.9-13.9c85.63 20.9 158.65 9.1 178.75 6.7 56.12-6.7 105-41.3 111.23-72.9 9.8-49.8 9-121.5 9-121.5m-75.12 125.2h-46.63v-114.2c0-49.7-64-51.6-64 6.9v62.5h-46.33V197c0-58.5-64-56.6-64-6.9v114.2H90.19c0-122.1-5.2-147.9 18.41-175 25.9-28.9 79.82-30.8 103.83 6.1l11.6 19.5 11.6-19.5c24.11-37.1 78.12-34.8 103.83-6.1 23.71 27.3 18.4 53 18.4 175z"/></svg>
1108
+ </a>
1109
+
1110
+
1111
+
1112
+
1113
+
1114
+ <a href="https://contact.neteng.pro/" target="_blank" rel="noopener" title="Contact Us" class="md-social__link">
1115
+ <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2024 Fonticons, Inc.--><path d="M256 64C150 64 64 150 64 256s86 192 192 192c17.7 0 32 14.3 32 32s-14.3 32-32 32C114.6 512 0 397.4 0 256S114.6 0 256 0s256 114.6 256 256v32c0 53-43 96-96 96-29.3 0-55.6-13.2-73.2-33.9-22.8 21-53.3 33.9-86.8 33.9-70.7 0-128-57.3-128-128s57.3-128 128-128c27.9 0 53.7 8.9 74.7 24.1 5.7-5 13.1-8.1 21.3-8.1 17.7 0 32 14.3 32 32v112c0 17.7 14.3 32 32 32s32-14.3 32-32v-32c0-106-86-192-192-192m64 192a64 64 0 1 0-128 0 64 64 0 1 0 128 0"/></svg>
1116
+ </a>
1117
+
1118
+ </div>
1119
+
1120
+ </div>
1121
+ </div>
1122
+ </footer>
1123
+
1124
+ </div>
1125
+ <div class="md-dialog" data-md-component="dialog">
1126
+ <div class="md-dialog__inner md-typeset"></div>
1127
+ </div>
1128
+
1129
+
1130
+ <div class="md-consent" data-md-component="consent" id="__consent" hidden>
1131
+ <div class="md-consent__overlay"></div>
1132
+ <aside class="md-consent__inner">
1133
+ <form class="md-consent__form md-grid md-typeset" name="consent">
1134
+
1135
+
1136
+
1137
+
1138
+ <h4>Cookie Consent</h4>
1139
+ <p>We use cookies to recognize your repeated visits and preferences, as well as to measure the effectiveness of our documentation and whether users find what they're searching for. With your consent, you're helping us to make our documentation better.</p>
1140
+ <input class="md-toggle" type="checkbox" id="__settings" >
1141
+ <div class="md-consent__settings">
1142
+ <ul class="task-list">
1143
+
1144
+
1145
+
1146
+
1147
+
1148
+
1149
+
1150
+
1151
+
1152
+
1153
+
1154
+ <li class="task-list-item">
1155
+ <label class="task-list-control">
1156
+ <input type="checkbox" name="analytics" >
1157
+ <span class="task-list-indicator"></span>
1158
+ Google Analytics
1159
+ </label>
1160
+ </li>
1161
+
1162
+
1163
+
1164
+
1165
+
1166
+
1167
+
1168
+
1169
+
1170
+
1171
+
1172
+
1173
+ <li class="task-list-item">
1174
+ <label class="task-list-control">
1175
+ <input type="checkbox" name="github" checked>
1176
+ <span class="task-list-indicator"></span>
1177
+ GitHub
1178
+ </label>
1179
+ </li>
1180
+
1181
+
1182
+
1183
+ </ul>
1184
+ </div>
1185
+ <div class="md-consent__controls">
1186
+
1187
+
1188
+
1189
+ <button type="reset" class="md-button md-button--primary">Reject</button>
1190
+
1191
+
1192
+
1193
+
1194
+ <button class="md-button md-button--primary">Accept</button>
1195
+
1196
+
1197
+
1198
+
1199
+
1200
+
1201
+
1202
+ <label class="md-button" for="__settings">Manage settings</label>
1203
+
1204
+
1205
+ </div>
1206
+ </form>
1207
+ </aside>
1208
+ </div>
1209
+ <script>var consent=__md_get("__consent");if(consent)for(var input of document.forms.consent.elements)input.name&&(input.checked=consent[input.name]||!1);else"file:"!==location.protocol&&setTimeout((function(){document.querySelector("[data-md-component=consent]").hidden=!1}),250);var form=document.forms.consent;for(var action of["submit","reset"])form.addEventListener(action,(function(e){if(e.preventDefault(),"reset"===e.type)for(var n of document.forms.consent.elements)n.name&&(n.checked=!1);__md_set("__consent",Object.fromEntries(Array.from(new FormData(form).keys()).map((function(e){return[e,!0]})))),location.hash="",location.reload()}))</script>
1210
+
1211
+
1212
+
1213
+ <script id="__config" type="application/json">{"base": "../../../..", "features": ["navigation.instant", "navigation.tracking", "navigation.tabs", "navigation.indexes", "toc.follow", "navigation.top", "search.suggest"], "search": "../../../../assets/javascripts/workers/search.d50fe291.min.js", "tags": null, "translations": {"clipboard.copied": "Copied to clipboard", "clipboard.copy": "Copy to clipboard", "search.result.more.one": "1 more on this page", "search.result.more.other": "# more on this page", "search.result.none": "No matching documents", "search.result.one": "1 matching document", "search.result.other": "# matching documents", "search.result.placeholder": "Type to start searching", "search.result.term.missing": "Missing", "select.version": "Select version"}, "version": null}</script>
1214
+
1215
+
1216
+ <script src="../../../../assets/javascripts/bundle.13a4f30d.min.js"></script>
1217
+
1218
+
1219
+ </body>
1220
+ </html>