underpost 2.6.2

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 (269) hide show
  1. package/.dockerignore +14 -0
  2. package/.env.development +8 -0
  3. package/.env.production +8 -0
  4. package/.env.test +8 -0
  5. package/.nycrc +9 -0
  6. package/.prettierignore +13 -0
  7. package/.prettierrc +9 -0
  8. package/.vscode/extensions.json +72 -0
  9. package/.vscode/settings.json +99 -0
  10. package/Dockerfile +88 -0
  11. package/LICENSE +21 -0
  12. package/README.md +51 -0
  13. package/bin/db.js +119 -0
  14. package/bin/deploy.js +600 -0
  15. package/bin/dns.js +1 -0
  16. package/bin/file.js +92 -0
  17. package/bin/help.js +110 -0
  18. package/bin/index.js +29 -0
  19. package/bin/install.js +357 -0
  20. package/bin/shortcut.js +44 -0
  21. package/bin/ssl.js +61 -0
  22. package/bin/util.js +182 -0
  23. package/bin/vs.js +35 -0
  24. package/conf.js +244 -0
  25. package/docker-compose.yml +67 -0
  26. package/jsconfig.json +7 -0
  27. package/jsdoc.json +32 -0
  28. package/nodemon.json +6 -0
  29. package/package.json +128 -0
  30. package/prometheus.yml +36 -0
  31. package/setup.sh +25 -0
  32. package/src/api/core/core.controller.js +69 -0
  33. package/src/api/core/core.model.js +11 -0
  34. package/src/api/core/core.router.js +23 -0
  35. package/src/api/core/core.service.js +29 -0
  36. package/src/api/crypto/crypto.controller.js +51 -0
  37. package/src/api/crypto/crypto.model.js +23 -0
  38. package/src/api/crypto/crypto.router.js +20 -0
  39. package/src/api/crypto/crypto.service.js +64 -0
  40. package/src/api/default/default.controller.js +69 -0
  41. package/src/api/default/default.model.js +20 -0
  42. package/src/api/default/default.router.js +23 -0
  43. package/src/api/default/default.service.js +31 -0
  44. package/src/api/file/file.controller.js +51 -0
  45. package/src/api/file/file.model.js +19 -0
  46. package/src/api/file/file.router.js +20 -0
  47. package/src/api/file/file.service.js +70 -0
  48. package/src/api/instance/instance.controller.js +69 -0
  49. package/src/api/instance/instance.model.js +36 -0
  50. package/src/api/instance/instance.router.js +33 -0
  51. package/src/api/instance/instance.service.js +48 -0
  52. package/src/api/test/test.controller.js +59 -0
  53. package/src/api/test/test.model.js +14 -0
  54. package/src/api/test/test.router.js +21 -0
  55. package/src/api/test/test.service.js +35 -0
  56. package/src/api/user/user.controller.js +70 -0
  57. package/src/api/user/user.model.js +65 -0
  58. package/src/api/user/user.router.js +345 -0
  59. package/src/api/user/user.service.js +479 -0
  60. package/src/api.js +23 -0
  61. package/src/client/Default.index.js +40 -0
  62. package/src/client/components/core/Account.js +290 -0
  63. package/src/client/components/core/AgGrid.js +160 -0
  64. package/src/client/components/core/Auth.js +19 -0
  65. package/src/client/components/core/Badge.js +32 -0
  66. package/src/client/components/core/BlockChain.js +41 -0
  67. package/src/client/components/core/Blog.js +9 -0
  68. package/src/client/components/core/BtnIcon.js +91 -0
  69. package/src/client/components/core/CalendarCore.js +319 -0
  70. package/src/client/components/core/Chat.js +64 -0
  71. package/src/client/components/core/ColorPalette.js +5267 -0
  72. package/src/client/components/core/CommonJs.js +708 -0
  73. package/src/client/components/core/Content.js +49 -0
  74. package/src/client/components/core/Css.js +1027 -0
  75. package/src/client/components/core/CssCore.js +792 -0
  76. package/src/client/components/core/D3Chart.js +44 -0
  77. package/src/client/components/core/Docs.js +130 -0
  78. package/src/client/components/core/DropDown.js +164 -0
  79. package/src/client/components/core/EventsUI.js +54 -0
  80. package/src/client/components/core/FileExplorer.js +624 -0
  81. package/src/client/components/core/FullScreen.js +45 -0
  82. package/src/client/components/core/Input.js +259 -0
  83. package/src/client/components/core/JoyStick.js +77 -0
  84. package/src/client/components/core/Keyboard.js +73 -0
  85. package/src/client/components/core/LoadingAnimation.js +157 -0
  86. package/src/client/components/core/LogIn.js +181 -0
  87. package/src/client/components/core/LogOut.js +52 -0
  88. package/src/client/components/core/Logger.js +26 -0
  89. package/src/client/components/core/Modal.js +1596 -0
  90. package/src/client/components/core/NotificationManager.js +84 -0
  91. package/src/client/components/core/Panel.js +413 -0
  92. package/src/client/components/core/Polyhedron.js +162 -0
  93. package/src/client/components/core/Recover.js +204 -0
  94. package/src/client/components/core/Responsive.js +53 -0
  95. package/src/client/components/core/RichText.js +27 -0
  96. package/src/client/components/core/Router.js +77 -0
  97. package/src/client/components/core/SignUp.js +125 -0
  98. package/src/client/components/core/SocketIo.js +72 -0
  99. package/src/client/components/core/Stream.js +113 -0
  100. package/src/client/components/core/ToggleSwitch.js +87 -0
  101. package/src/client/components/core/ToolTip.js +26 -0
  102. package/src/client/components/core/Translate.js +408 -0
  103. package/src/client/components/core/Validator.js +100 -0
  104. package/src/client/components/core/VanillaJs.js +454 -0
  105. package/src/client/components/core/Wallet.js +106 -0
  106. package/src/client/components/core/Webhook.js +25 -0
  107. package/src/client/components/core/Worker.js +272 -0
  108. package/src/client/components/default/CommonDefault.js +29 -0
  109. package/src/client/components/default/CssDefault.js +13 -0
  110. package/src/client/components/default/ElementsDefault.js +38 -0
  111. package/src/client/components/default/LogInDefault.js +41 -0
  112. package/src/client/components/default/LogOutDefault.js +28 -0
  113. package/src/client/components/default/MenuDefault.js +389 -0
  114. package/src/client/components/default/RoutesDefault.js +48 -0
  115. package/src/client/components/default/SettingsDefault.js +16 -0
  116. package/src/client/components/default/SignUpDefault.js +9 -0
  117. package/src/client/components/default/SocketIoDefault.js +54 -0
  118. package/src/client/components/default/TranslateDefault.js +7 -0
  119. package/src/client/public/default/android-chrome-144x144.png +0 -0
  120. package/src/client/public/default/android-chrome-192x192.png +0 -0
  121. package/src/client/public/default/android-chrome-256x256.png +0 -0
  122. package/src/client/public/default/android-chrome-36x36.png +0 -0
  123. package/src/client/public/default/android-chrome-384x384.png +0 -0
  124. package/src/client/public/default/android-chrome-48x48.png +0 -0
  125. package/src/client/public/default/android-chrome-512x512.png +0 -0
  126. package/src/client/public/default/android-chrome-72x72.png +0 -0
  127. package/src/client/public/default/android-chrome-96x96.png +0 -0
  128. package/src/client/public/default/apple-touch-icon-1024x1024.png +0 -0
  129. package/src/client/public/default/apple-touch-icon-114x114.png +0 -0
  130. package/src/client/public/default/apple-touch-icon-120x120.png +0 -0
  131. package/src/client/public/default/apple-touch-icon-144x144.png +0 -0
  132. package/src/client/public/default/apple-touch-icon-152x152.png +0 -0
  133. package/src/client/public/default/apple-touch-icon-167x167.png +0 -0
  134. package/src/client/public/default/apple-touch-icon-180x180.png +0 -0
  135. package/src/client/public/default/apple-touch-icon-57x57.png +0 -0
  136. package/src/client/public/default/apple-touch-icon-60x60.png +0 -0
  137. package/src/client/public/default/apple-touch-icon-72x72.png +0 -0
  138. package/src/client/public/default/apple-touch-icon-76x76.png +0 -0
  139. package/src/client/public/default/apple-touch-icon-precomposed.png +0 -0
  140. package/src/client/public/default/apple-touch-icon.png +0 -0
  141. package/src/client/public/default/apple-touch-startup-image-1125x2436.png +0 -0
  142. package/src/client/public/default/apple-touch-startup-image-1136x640.png +0 -0
  143. package/src/client/public/default/apple-touch-startup-image-1170x2532.png +0 -0
  144. package/src/client/public/default/apple-touch-startup-image-1179x2556.png +0 -0
  145. package/src/client/public/default/apple-touch-startup-image-1242x2208.png +0 -0
  146. package/src/client/public/default/apple-touch-startup-image-1242x2688.png +0 -0
  147. package/src/client/public/default/apple-touch-startup-image-1284x2778.png +0 -0
  148. package/src/client/public/default/apple-touch-startup-image-1290x2796.png +0 -0
  149. package/src/client/public/default/apple-touch-startup-image-1334x750.png +0 -0
  150. package/src/client/public/default/apple-touch-startup-image-1488x2266.png +0 -0
  151. package/src/client/public/default/apple-touch-startup-image-1536x2048.png +0 -0
  152. package/src/client/public/default/apple-touch-startup-image-1620x2160.png +0 -0
  153. package/src/client/public/default/apple-touch-startup-image-1640x2160.png +0 -0
  154. package/src/client/public/default/apple-touch-startup-image-1668x2224.png +0 -0
  155. package/src/client/public/default/apple-touch-startup-image-1668x2388.png +0 -0
  156. package/src/client/public/default/apple-touch-startup-image-1792x828.png +0 -0
  157. package/src/client/public/default/apple-touch-startup-image-2048x1536.png +0 -0
  158. package/src/client/public/default/apple-touch-startup-image-2048x2732.png +0 -0
  159. package/src/client/public/default/apple-touch-startup-image-2160x1620.png +0 -0
  160. package/src/client/public/default/apple-touch-startup-image-2160x1640.png +0 -0
  161. package/src/client/public/default/apple-touch-startup-image-2208x1242.png +0 -0
  162. package/src/client/public/default/apple-touch-startup-image-2224x1668.png +0 -0
  163. package/src/client/public/default/apple-touch-startup-image-2266x1488.png +0 -0
  164. package/src/client/public/default/apple-touch-startup-image-2388x1668.png +0 -0
  165. package/src/client/public/default/apple-touch-startup-image-2436x1125.png +0 -0
  166. package/src/client/public/default/apple-touch-startup-image-2532x1170.png +0 -0
  167. package/src/client/public/default/apple-touch-startup-image-2556x1179.png +0 -0
  168. package/src/client/public/default/apple-touch-startup-image-2688x1242.png +0 -0
  169. package/src/client/public/default/apple-touch-startup-image-2732x2048.png +0 -0
  170. package/src/client/public/default/apple-touch-startup-image-2778x1284.png +0 -0
  171. package/src/client/public/default/apple-touch-startup-image-2796x1290.png +0 -0
  172. package/src/client/public/default/apple-touch-startup-image-640x1136.png +0 -0
  173. package/src/client/public/default/apple-touch-startup-image-750x1334.png +0 -0
  174. package/src/client/public/default/apple-touch-startup-image-828x1792.png +0 -0
  175. package/src/client/public/default/assets/background/white.jpg +0 -0
  176. package/src/client/public/default/assets/background/white0-min.jpg +0 -0
  177. package/src/client/public/default/assets/background/white0.jpg +0 -0
  178. package/src/client/public/default/assets/logo/base-icon.png +0 -0
  179. package/src/client/public/default/browserconfig.xml +12 -0
  180. package/src/client/public/default/favicon-16x16.png +0 -0
  181. package/src/client/public/default/favicon-32x32.png +0 -0
  182. package/src/client/public/default/favicon-48x48.png +0 -0
  183. package/src/client/public/default/favicon.ico +0 -0
  184. package/src/client/public/default/manifest.webmanifest +69 -0
  185. package/src/client/public/default/mstile-144x144.png +0 -0
  186. package/src/client/public/default/mstile-150x150.png +0 -0
  187. package/src/client/public/default/mstile-310x150.png +0 -0
  188. package/src/client/public/default/mstile-310x310.png +0 -0
  189. package/src/client/public/default/mstile-70x70.png +0 -0
  190. package/src/client/public/default/sitemap +148 -0
  191. package/src/client/public/default/yandex-browser-50x50.png +0 -0
  192. package/src/client/public/default/yandex-browser-manifest.json +9 -0
  193. package/src/client/public/doc/favicon.ico +0 -0
  194. package/src/client/public/doc/sitemap +148 -0
  195. package/src/client/public/test/favicon.ico +0 -0
  196. package/src/client/public/test/sitemap +148 -0
  197. package/src/client/services/core/core.service.js +152 -0
  198. package/src/client/services/crypto/crypto.service.js +70 -0
  199. package/src/client/services/default/default.management.js +345 -0
  200. package/src/client/services/default/default.service.js +89 -0
  201. package/src/client/services/file/file.service.js +70 -0
  202. package/src/client/services/instance/instance.management.js +74 -0
  203. package/src/client/services/instance/instance.service.js +89 -0
  204. package/src/client/services/test/test.service.js +70 -0
  205. package/src/client/services/user/user.management.js +50 -0
  206. package/src/client/services/user/user.service.js +89 -0
  207. package/src/client/ssr/Render.js +16 -0
  208. package/src/client/ssr/body-components/CacheControl.js +113 -0
  209. package/src/client/ssr/body-components/DefaultSplashScreen.js +79 -0
  210. package/src/client/ssr/email-components/DefaultRecoverEmail.js +21 -0
  211. package/src/client/ssr/email-components/DefaultVerifyEmail.js +17 -0
  212. package/src/client/ssr/head-components/Css.js +241 -0
  213. package/src/client/ssr/head-components/DefaultScripts.js +3 -0
  214. package/src/client/ssr/head-components/Microdata.js +11 -0
  215. package/src/client/ssr/head-components/Production.js +1 -0
  216. package/src/client/ssr/head-components/PwaDefault.js +60 -0
  217. package/src/client/ssr/head-components/Seo.js +14 -0
  218. package/src/client/sw/default.sw.js +201 -0
  219. package/src/client/sw/template.sw.js +84 -0
  220. package/src/client.build.js +22 -0
  221. package/src/client.dev.js +21 -0
  222. package/src/cron.js +25 -0
  223. package/src/db/DataBaseProvider.js +34 -0
  224. package/src/db/mariadb/MariaDB.js +33 -0
  225. package/src/db/mongo/MongooseDB.js +46 -0
  226. package/src/dns.js +22 -0
  227. package/src/mailer/EmailRender.js +69 -0
  228. package/src/mailer/MailerProvider.js +96 -0
  229. package/src/proxy.js +22 -0
  230. package/src/runtime/lampp/Lampp.js +44 -0
  231. package/src/runtime/nginx/Nginx.js +3 -0
  232. package/src/runtime/xampp/Xampp.js +49 -0
  233. package/src/server/auth.js +204 -0
  234. package/src/server/backup.js +83 -0
  235. package/src/server/client-build-live.js +72 -0
  236. package/src/server/client-build.js +688 -0
  237. package/src/server/client-dev-server.js +58 -0
  238. package/src/server/client-formatted.js +48 -0
  239. package/src/server/client-icons.js +150 -0
  240. package/src/server/conf.js +611 -0
  241. package/src/server/dns.js +87 -0
  242. package/src/server/downloader.js +42 -0
  243. package/src/server/logger.js +135 -0
  244. package/src/server/network.js +122 -0
  245. package/src/server/peer.js +33 -0
  246. package/src/server/process.js +66 -0
  247. package/src/server/proxy.js +118 -0
  248. package/src/server/runtime.js +393 -0
  249. package/src/server/ssl.js +107 -0
  250. package/src/server.js +25 -0
  251. package/src/ws/IoInterface.js +45 -0
  252. package/src/ws/IoServer.js +39 -0
  253. package/src/ws/core/channels/core.ws.chat.js +23 -0
  254. package/src/ws/core/channels/core.ws.mailer.js +35 -0
  255. package/src/ws/core/channels/core.ws.stream.js +31 -0
  256. package/src/ws/core/core.ws.connection.js +28 -0
  257. package/src/ws/core/core.ws.emit.js +14 -0
  258. package/src/ws/core/core.ws.server.js +24 -0
  259. package/src/ws/core/management/core.ws.chat.js +8 -0
  260. package/src/ws/core/management/core.ws.mailer.js +16 -0
  261. package/src/ws/core/management/core.ws.stream.js +8 -0
  262. package/src/ws/default/channels/default.ws.main.js +16 -0
  263. package/src/ws/default/default.ws.connection.js +22 -0
  264. package/src/ws/default/default.ws.emit.js +14 -0
  265. package/src/ws/default/default.ws.server.js +20 -0
  266. package/src/ws/default/management/default.ws.main.js +8 -0
  267. package/startup.js +11 -0
  268. package/supervisord-openssh-server.conf +5 -0
  269. package/test/api.test.js +60 -0
package/.dockerignore ADDED
@@ -0,0 +1,14 @@
1
+ /node_modules
2
+ /public
3
+ /engine-private
4
+ /conf
5
+ /tmp
6
+ /bkt
7
+ /logs
8
+ /build
9
+ /.env
10
+ /coverage
11
+ /prometheus_data
12
+ /grafana_data
13
+ .nyc_output
14
+ .cache
@@ -0,0 +1,8 @@
1
+ NODE_ENV=development
2
+ PORT=4000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ PINATA_API_KEY=
6
+ PINATA_SECRET_API_KEY=
7
+ NODE_OPTIONS=--max-old-space-size=8192 --no-warnings --openssl-legacy-provider
8
+ BASE_API=api
@@ -0,0 +1,8 @@
1
+ NODE_ENV=production
2
+ PORT=3000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ PINATA_API_KEY=
6
+ PINATA_SECRET_API_KEY=
7
+ NODE_OPTIONS=--max-old-space-size=8192 --no-warnings --openssl-legacy-provider
8
+ BASE_API=api
package/.env.test ADDED
@@ -0,0 +1,8 @@
1
+ NODE_ENV=test
2
+ PORT=5000
3
+ JWT_SECRET=test
4
+ EXPIRE=168
5
+ PINATA_API_KEY=
6
+ PINATA_SECRET_API_KEY=
7
+ NODE_OPTIONS=--max-old-space-size=8192 --no-warnings --openssl-legacy-provider
8
+ BASE_API=api
package/.nycrc ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "exclude": [],
3
+ "include": ["test"],
4
+ "output": "reports",
5
+ "reporter": ["html", "text", "lcov", "text-lcov", "cobertura"],
6
+ "sourceMap": false,
7
+ "instrument": false,
8
+ "all": true
9
+ }
@@ -0,0 +1,13 @@
1
+ /node_modules
2
+ /public
3
+ /conf
4
+ /tmp
5
+ /bkt
6
+ /logs
7
+ /build
8
+ /.env
9
+ /coverage
10
+ /prometheus_data
11
+ /grafana_data
12
+ .nyc_output
13
+ .cache
package/.prettierrc ADDED
@@ -0,0 +1,9 @@
1
+ {
2
+ "printWidth": 120,
3
+ "singleQuote": true,
4
+ "useTabs": false,
5
+ "tabWidth": 2,
6
+ "semi": true,
7
+ "bracketSpacing": true,
8
+ "trailingComma": "all"
9
+ }
@@ -0,0 +1,72 @@
1
+ {
2
+ "recommendations": [
3
+ "adpyke.vscode-sql-formatter",
4
+ "angular.ng-template",
5
+ "antiantisepticeye.vscode-color-picker",
6
+ "bashmish.es6-string-css",
7
+ "bierner.lit-html",
8
+ "bmewburn.vscode-intelephense-client",
9
+ "cschlosser.doxdocgen",
10
+ "danielehrhardt.ionic3-vs-ionview-snippets",
11
+ "dbaeumer.vscode-eslint",
12
+ "eamodio.gitlens",
13
+ "esbenp.prettier-vscode",
14
+ "fivethree.vscode-ionic-snippets",
15
+ "formulahendry.auto-rename-tag",
16
+ "golang.go",
17
+ "ipedrazas.kubernetes-snippets",
18
+ "jannisx11.batch-rename-extension",
19
+ "jeff-hykin.better-cpp-syntax",
20
+ "jinxdash.prettier-rust",
21
+ "johnpapa.vscode-peacock",
22
+ "juanblanco.solidity",
23
+ "julialang.language-julia",
24
+ "kevinrose.vsc-python-indent",
25
+ "mechatroner.rainbow-csv",
26
+ "mintlify.document",
27
+ "ms-azuretools.vscode-docker",
28
+ "ms-dotnettools.vscode-dotnet-runtime",
29
+ "ms-kubernetes-tools.vscode-kubernetes-tools",
30
+ "ms-python.black-formatter",
31
+ "ms-python.debugpy",
32
+ "ms-python.isort",
33
+ "ms-python.python",
34
+ "ms-python.vscode-pylance",
35
+ "ms-toolsai.jupyter",
36
+ "ms-toolsai.jupyter-keymap",
37
+ "ms-toolsai.jupyter-renderers",
38
+ "ms-toolsai.vscode-jupyter-cell-tags",
39
+ "ms-toolsai.vscode-jupyter-slideshow",
40
+ "ms-vscode-remote.remote-containers",
41
+ "ms-vscode-remote.remote-wsl",
42
+ "ms-vscode.cmake-tools",
43
+ "ms-vscode.cpptools",
44
+ "ms-vscode.cpptools-extension-pack",
45
+ "ms-vscode.cpptools-themes",
46
+ "ms-vscode.makefile-tools",
47
+ "msjsdiag.cordova-tools",
48
+ "nicolasvuillamy.vscode-groovy-lint",
49
+ "nucllear.vscode-extension-auto-import",
50
+ "pinkpotato.ionic-essentials",
51
+ "redhat.java",
52
+ "redhat.vscode-xml",
53
+ "redhat.vscode-yaml",
54
+ "rust-lang.rust-analyzer",
55
+ "steoates.autoimport",
56
+ "streetsidesoftware.code-spell-checker",
57
+ "tabnine.tabnine-vscode",
58
+ "tamasfe.even-better-toml",
59
+ "tobermory.es6-string-html",
60
+ "twxs.cmake",
61
+ "visualstudioexptteam.intellicode-api-usage-examples",
62
+ "visualstudioexptteam.vscodeintellicode",
63
+ "vscjava.vscode-gradle",
64
+ "vscjava.vscode-java-debug",
65
+ "vscjava.vscode-java-dependency",
66
+ "vscjava.vscode-java-pack",
67
+ "vscjava.vscode-java-test",
68
+ "vscjava.vscode-maven",
69
+ "vscode-icons-team.vscode-icons",
70
+ "xabikos.javascriptsnippets"
71
+ ]
72
+ }
@@ -0,0 +1,99 @@
1
+ {
2
+ "editor.defaultFormatter": "esbenp.prettier-vscode",
3
+ "editor.formatOnSave": true,
4
+ "explorer.compactFolders": false,
5
+ "javascript.preferences.importModuleSpecifierEnding": "js",
6
+ "[javascript]": {
7
+ "editor.defaultFormatter": "esbenp.prettier-vscode"
8
+ },
9
+ "[python]": {
10
+ "editor.defaultFormatter": "ms-python.python"
11
+ },
12
+ "cSpell.words": [
13
+ "ANAME",
14
+ "browserconfig",
15
+ "certbot",
16
+ "certonly",
17
+ "changefreq",
18
+ "chebyshev",
19
+ "Contracultura",
20
+ "cooldown",
21
+ "cryptokoyn",
22
+ "cyberia",
23
+ "cyberiaonline",
24
+ "dbname",
25
+ "dists",
26
+ "DOGMADUAL",
27
+ "dondominio",
28
+ "dont",
29
+ "fileupload",
30
+ "fontawesome",
31
+ "fortawesome",
32
+ "googlebot",
33
+ "Hexa",
34
+ "htdocs",
35
+ "htmls",
36
+ "inlt",
37
+ "ipfs",
38
+ "jsonld",
39
+ "lampp",
40
+ "loadingio",
41
+ "Longname",
42
+ "Microdata",
43
+ "minami",
44
+ "MMORPG",
45
+ "mysqldump",
46
+ "neodrag",
47
+ "nexodev",
48
+ "pathfinding",
49
+ "Pixi",
50
+ "plantuml",
51
+ "privkey",
52
+ "runas",
53
+ "Scatterplot",
54
+ "sortablejs",
55
+ "supervisord",
56
+ "underpost",
57
+ "Unequip",
58
+ "webroot",
59
+ "xampp",
60
+ "xfwd",
61
+ "youtu"
62
+ ],
63
+ "[dockerfile]": {
64
+ "editor.defaultFormatter": "ms-azuretools.vscode-docker"
65
+ },
66
+ "[php]": {
67
+ "editor.defaultFormatter": "bmewburn.vscode-intelephense-client"
68
+ },
69
+ "[xml]": {
70
+ "editor.defaultFormatter": "redhat.vscode-xml"
71
+ },
72
+ "docwriter.style": "JSDoc",
73
+ "docwriter.progress.trackFunctions": false,
74
+ "docwriter.progress.trackMethods": false,
75
+ "files.exclude": {
76
+ "**/.git": true, // this is a default value
77
+ "**/.DS_Store": true, // this is a default value
78
+
79
+ "**/node_modules": true, // this excludes all folders
80
+ // named "node_modules" from
81
+ // the explore tree
82
+
83
+ // alternative version
84
+ "node_modules": true, // this excludes the folder
85
+ // only from the root of
86
+ // your workspace
87
+ "public": true,
88
+ "engine-private": true,
89
+ "conf": true,
90
+ "tmp": true,
91
+ "bkt": true,
92
+ "logs": true,
93
+ "build": true,
94
+ "coverage": true,
95
+ "prometheus_data": true,
96
+ "grafana_data": true,
97
+ ".nyc_output": true
98
+ }
99
+ }
package/Dockerfile ADDED
@@ -0,0 +1,88 @@
1
+ ARG BASE_DEBIAN=buster
2
+
3
+ FROM debian:${BASE_DEBIAN}
4
+
5
+ ENV DEBIAN_FRONTEND noninteractive
6
+
7
+ WORKDIR /code
8
+
9
+ # Set root password to root, format is 'user:password'.
10
+ RUN echo 'root:root' | chpasswd
11
+
12
+ RUN apt-get update --fix-missing && \
13
+ apt-get upgrade -y && \
14
+ # install sudo
15
+ apt-get -y install sudo && \
16
+ # net-tools provides netstat commands
17
+ apt-get -y install curl net-tools && \
18
+ apt-get -yq install openssh-server supervisor && \
19
+ # Few handy utilities which are nice to have
20
+ apt-get -y install nano vim less --no-install-recommends && \
21
+ apt-get clean
22
+
23
+ # install ssh
24
+ RUN mkdir -p /var/run/sshd && \
25
+ # Allow root login via password
26
+ sed -ri 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/g' /etc/ssh/sshd_config
27
+
28
+ # copy supervisor config file to start openssh-server
29
+ COPY supervisord-openssh-server.conf /etc/supervisor/conf.d/supervisord-openssh-server.conf
30
+
31
+ # install open ssl git and others tools
32
+ RUN apt-get install -yq --no-install-recommends \
33
+ libssl-dev \
34
+ curl \
35
+ wget \
36
+ git \
37
+ gnupg
38
+
39
+ # install nodejs https://github.com/nodesource/distributions/blob/master/README.md#deb
40
+ RUN curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
41
+ apt-get install -y nodejs \
42
+ build-essential && \
43
+ node --version && \
44
+ npm --version
45
+
46
+
47
+ # install lampp
48
+ RUN curl -Lo xampp-linux-installer.run https://sourceforge.net/projects/xampp/files/XAMPP%20Linux/7.4.30/xampp-linux-x64-7.4.30-1-installer.run?from_af=true && \
49
+ chmod +x xampp-linux-installer.run && \
50
+ bash -c './xampp-linux-installer.run' && \
51
+ ln -sf /opt/lampp/lampp /usr/bin/lampp && \
52
+ # Enable XAMPP web interface(remove security checks)
53
+ sed -i.bak s'/Require local/Require all granted/g' /opt/lampp/etc/extra/httpd-xampp.conf && \
54
+ # Enable error display in php
55
+ sed -i.bak s'/display_errors=Off/display_errors=On/g' /opt/lampp/etc/php.ini && \
56
+ # Enable includes of several configuration files
57
+ mkdir /opt/lampp/apache2/conf.d && \
58
+ echo "IncludeOptional /opt/lampp/apache2/conf.d/*.conf" >> /opt/lampp/etc/httpd.conf && \
59
+ # Create a /www folder and a symbolic link to it in /opt/lampp/htdocs. It'll be accessible via http://localhost:[port]/www/
60
+ # This is convenient because it doesn't interfere with xampp, phpmyadmin or other tools in /opt/lampp/htdocs
61
+ # /opt/lampp/etc/httpd.conf
62
+ mkdir /www && \
63
+ ln -s /www /opt/lampp/htdocs
64
+
65
+
66
+ # Install mongodb necessary libs
67
+ RUN apt-get update && apt-get install -y apt-utils wget gnupg gnupg2 curl
68
+
69
+ # Install mongodb
70
+ RUN wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
71
+ RUN echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
72
+ RUN apt-get update
73
+ RUN apt-get install -y mongodb-org
74
+
75
+ # BIND TO ALL ADAPTERS IN CONTAINER
76
+ RUN sed -i "s,\\(^[[:blank:]]*bindIp:\\) .*,\\1 0.0.0.0," /etc/mongod.conf
77
+
78
+ # Bundle app source
79
+ COPY . .
80
+
81
+ RUN npm install
82
+
83
+ VOLUME [ "/code/logs" ]
84
+
85
+ EXPOSE 22 80 443 3306 27017
86
+ EXPOSE 3000-3020
87
+
88
+ CMD [ "node", "startup" ]
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2023 DOGMADUAL.com
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,51 @@
1
+ <p align="center">
2
+ <img src="https://underpost.net/assets/splash/apple-touch-icon-precomposed.png" alt="underpost engine core server"/>
3
+ </p>
4
+
5
+ <div align="center">
6
+
7
+ ### underpost.net
8
+
9
+ </div>
10
+
11
+ <div align="center">
12
+
13
+ template
14
+
15
+ </div>
16
+
17
+ <div align="center">
18
+
19
+ <a href='https://www.npmjs.com/package/npm/v/10.2.3' target="_blank"><img alt='npm' src='https://img.shields.io/badge/npm v10.2.3-100000?style=flat&logo=npm&logoColor=white&labelColor=CB3837&color=727273'/></a> <a href='https://nodejs.org/download/release/v21.2.0/' target="_blank"><img alt='nodedotjs' src='https://img.shields.io/badge/node v21.2.0-100000?style=flat&logo=nodedotjs&logoColor=white&labelColor=5FA04E&color=727273'/></a> <a href='https://pgp.mongodb.com/' target="_blank"><img alt='mongodb' src='https://img.shields.io/badge/mongodb_server v7.0-100000?style=flat&logo=mongodb&logoColor=white&labelColor=47A248&color=727273'/></a>
20
+
21
+ </div>
22
+
23
+ <div align="center">
24
+
25
+ [![Node.js CI](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/docker-image.yml) [![Test](https://github.com/underpostnet/engine/actions/workflows/coverall.yml/badge.svg?branch=master)](https://github.com/underpostnet/engine/actions/workflows/coverall.yml) [![Coverage Status](https://coveralls.io/repos/github/underpostnet/engine/badge.svg?branch=master)](https://coveralls.io/github/underpostnet/engine?branch=master)
26
+
27
+ </div>
28
+
29
+ <div align="center">
30
+
31
+ #### Base template for pwa/api-rest projects.
32
+
33
+ Develop, build, deploy, test, monitor, and manage multiple runtime applications on virtual machines or container instances.
34
+
35
+ </div>
36
+
37
+ <!-- #### Optional version environments -->
38
+ <!-- https://kapasia-dev-ed.my.site.com/Badges4Me/s/ -->
39
+ <!-- https://simpleicons.org/ -->
40
+
41
+ #### Create a new project
42
+
43
+ ```bash
44
+ npm install -g underpost
45
+ ```
46
+
47
+ ```bash
48
+ underpost new my-project-name
49
+ ```
50
+
51
+ After template installation, the server will be running on [http://localhost:4001](http://localhost:4001)
package/bin/db.js ADDED
@@ -0,0 +1,119 @@
1
+ import fs from 'fs';
2
+ // import read from 'read';
3
+ // import ncp from 'copy-paste';
4
+
5
+ import { shellExec } from '../src/server/process.js';
6
+ import { loggerFactory } from '../src/server/logger.js';
7
+ import { MariaDB } from '../src/db/mariadb/MariaDB.js';
8
+ import { Xampp } from '../src/runtime/xampp/Xampp.js';
9
+ import { Lampp } from '../src/runtime/lampp/Lampp.js';
10
+ import { loadConf } from '../src/server/conf.js';
11
+
12
+ const logger = loggerFactory(import.meta);
13
+
14
+ logger.info('argv', process.argv);
15
+
16
+ const [exe, dir, hostPath = '', operator, deployId, arg0, arg1] = process.argv;
17
+ const [host, path = ''] = hostPath.split('/');
18
+
19
+ try {
20
+ let cmd;
21
+ if (deployId) loadConf(deployId);
22
+ const confServer = JSON.parse(fs.readFileSync(`./conf/conf.server.json`, 'utf8'));
23
+ const { provider, name, user, password = '', backupPath = '' } = confServer[host][`/${path}`].db;
24
+ // logger.info('database', confServer[host][`/${path}`].db);
25
+ switch (provider) {
26
+ case 'mariadb':
27
+ // https://www.cyberciti.biz/faq/how-to-show-list-users-in-a-mysql-mariadb-database/
28
+
29
+ // Login:
30
+ // mysql -u root -p
31
+ // mysql -u root -h localhost -p mysql
32
+
33
+ // Get Users:
34
+ // SELECT host, user, password FROM mysql.user;
35
+
36
+ // Get DB User:
37
+ // SELECT User, Db, Host from mysql.db;
38
+
39
+ // Change password:
40
+ // ALTER USER 'root'@'127.0.0.1' IDENTIFIED BY 'NEW_PASSWORD';
41
+ // ALTER USER 'root'@'localhost' IDENTIFIED BY 'NEW_PASSWORD';
42
+ // ALTER USER 'root'@'::1' IDENTIFIED BY 'NEW_PASSWORD';
43
+
44
+ // Get all user privileges:
45
+ // select * from information_schema.user_privileges;
46
+
47
+ switch (operator) {
48
+ case 'show-all':
49
+ await MariaDB.query({ user, password, query: `SHOW DATABASES` });
50
+ break;
51
+ case 'show':
52
+ await MariaDB.query({ user, password, query: `SHOW TABLES FROM ${name}` });
53
+ break;
54
+ case 'create':
55
+ await MariaDB.query({ user, password, query: `CREATE DATABASE ${name}` });
56
+ break;
57
+ case 'delete':
58
+ await MariaDB.query({ user, password, query: `DROP DATABASE IF EXISTS ${name}` });
59
+ break;
60
+ case 'select':
61
+ await MariaDB.query({ user, password, query: `SELECT ${arg0} FROM ${name}.${arg1}` });
62
+ break;
63
+ case 'export':
64
+ cmd = `mysqldump --column-statistics=0 -u ${user} -p ${name} > ${arg0 ? `${arg0}/${name}.sql` : backupPath}`;
65
+ shellExec(cmd);
66
+ break;
67
+ case 'import':
68
+ cmd = `mysql -u ${user} -p ${name} < ${backupPath}`;
69
+ shellExec(cmd);
70
+ break;
71
+ case 'init-xampp-service':
72
+ await Xampp.initService();
73
+ break;
74
+ case 'init-lampp-service':
75
+ await Lampp.initService();
76
+ break;
77
+ default:
78
+ break;
79
+ }
80
+
81
+ break;
82
+
83
+ case 'mongoose':
84
+ // MongoDB App Services CLI
85
+ switch (operator) {
86
+ case 'show-all':
87
+ break;
88
+ case 'show':
89
+ break;
90
+ case 'create':
91
+ break;
92
+ case 'delete':
93
+ break;
94
+ case 'export':
95
+ // mongodump -d <database_name> -o <directory_backup>
96
+ shellExec(`mongodump -d ${name} -o ${arg0 ? arg0 : `./engine-private/mongodb-backup/`}`);
97
+ break;
98
+ case 'import':
99
+ // mongorestore -d <database_name> <directory_backup>
100
+ shellExec(`mongorestore -d ${name} ./engine-private/mongodb-backup/${name}`);
101
+ break;
102
+ case 'init-service':
103
+ break;
104
+ default:
105
+ break;
106
+ }
107
+ break;
108
+
109
+ default:
110
+ break;
111
+ }
112
+
113
+ // logger.info(`Run the following command`, cmd);
114
+ // await ncp.copy(cmd);
115
+ // await read({ prompt: 'Command copy to clipboard, press enter to continue.\n' });
116
+ // throw new Error(``);
117
+ } catch (error) {
118
+ logger.error(error, error.stack);
119
+ }