penguins-eggs 25.10.19 → 25.10.23

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 (451) hide show
  1. package/.oclif.manifest.json +1 -1
  2. package/README.md +767 -2
  3. package/README.pdf +1723 -1731
  4. package/addons/eggs/theme/livecd/isolinux.main.simple.cfg +0 -1
  5. package/package.json +3 -3
  6. package/scripts/boot-encrypted-root.sh +177 -0
  7. package/scripts/mount-encrypted-home.sh +92 -56
  8. package/dist/classes/bleach.d.ts +0 -37
  9. package/dist/classes/bleach.js +0 -148
  10. package/dist/classes/cli-autologin.d.ts +0 -52
  11. package/dist/classes/cli-autologin.js +0 -252
  12. package/dist/classes/compressors.d.ts +0 -54
  13. package/dist/classes/compressors.js +0 -109
  14. package/dist/classes/daddy.d.ts +0 -26
  15. package/dist/classes/daddy.js +0 -175
  16. package/dist/classes/distro.d.ts +0 -32
  17. package/dist/classes/distro.js +0 -363
  18. package/dist/classes/diversions.d.ts +0 -53
  19. package/dist/classes/diversions.js +0 -152
  20. package/dist/classes/incubation/branding.d.ts +0 -17
  21. package/dist/classes/incubation/branding.js +0 -85
  22. package/dist/classes/incubation/customize/customize-partitions.d.ts +0 -4
  23. package/dist/classes/incubation/customize/customize-partitions.js +0 -29
  24. package/dist/classes/incubation/fisherman-helper/initcpio.d.ts +0 -1
  25. package/dist/classes/incubation/fisherman-helper/initcpio.js +0 -69
  26. package/dist/classes/incubation/fisherman-helper/packages.d.ts +0 -20
  27. package/dist/classes/incubation/fisherman-helper/packages.js +0 -72
  28. package/dist/classes/incubation/fisherman-helper/settings.d.ts +0 -15
  29. package/dist/classes/incubation/fisherman-helper/settings.js +0 -116
  30. package/dist/classes/incubation/fisherman.d.ts +0 -71
  31. package/dist/classes/incubation/fisherman.js +0 -281
  32. package/dist/classes/incubation/incubator.d/alpine.d.ts +0 -32
  33. package/dist/classes/incubation/incubator.d/alpine.js +0 -78
  34. package/dist/classes/incubation/incubator.d/archlinux.d.ts +0 -32
  35. package/dist/classes/incubation/incubator.d/archlinux.js +0 -82
  36. package/dist/classes/incubation/incubator.d/bionic.d.ts +0 -32
  37. package/dist/classes/incubation/incubator.d/bionic.js +0 -83
  38. package/dist/classes/incubation/incubator.d/buster.d.ts +0 -32
  39. package/dist/classes/incubation/incubator.d/buster.js +0 -101
  40. package/dist/classes/incubation/incubator.d/fedora.d.ts +0 -32
  41. package/dist/classes/incubation/incubator.d/fedora.js +0 -81
  42. package/dist/classes/incubation/incubator.d/focal.d.ts +0 -32
  43. package/dist/classes/incubation/incubator.d/focal.js +0 -85
  44. package/dist/classes/incubation/incubator.d/manjaro.d.ts +0 -32
  45. package/dist/classes/incubation/incubator.d/manjaro.js +0 -82
  46. package/dist/classes/incubation/incubator.d/noble.d.ts +0 -32
  47. package/dist/classes/incubation/incubator.d/noble.js +0 -102
  48. package/dist/classes/incubation/incubator.d/openmamba.d.ts +0 -32
  49. package/dist/classes/incubation/incubator.d/openmamba.js +0 -81
  50. package/dist/classes/incubation/incubator.d/opensuse.d.ts +0 -32
  51. package/dist/classes/incubation/incubator.d/opensuse.js +0 -81
  52. package/dist/classes/incubation/incubator.d/trixie.d.ts +0 -32
  53. package/dist/classes/incubation/incubator.d/trixie.js +0 -98
  54. package/dist/classes/incubation/incubator.d.ts +0 -48
  55. package/dist/classes/incubation/incubator.js +0 -378
  56. package/dist/classes/incubation/installer.d.ts +0 -13
  57. package/dist/classes/incubation/installer.js +0 -52
  58. package/dist/classes/keyboards.d.ts +0 -50
  59. package/dist/classes/keyboards.js +0 -287
  60. package/dist/classes/locales.d.ts +0 -21
  61. package/dist/classes/locales.js +0 -77
  62. package/dist/classes/network.d.ts +0 -37
  63. package/dist/classes/network.js +0 -98
  64. package/dist/classes/ovary.d/bind-live-fs.d.ts +0 -18
  65. package/dist/classes/ovary.d/bind-live-fs.js +0 -185
  66. package/dist/classes/ovary.d/bind-vfs.d.ts +0 -17
  67. package/dist/classes/ovary.d/bind-vfs.js +0 -37
  68. package/dist/classes/ovary.d/create-xdg-autostart.d.ts +0 -13
  69. package/dist/classes/ovary.d/create-xdg-autostart.js +0 -194
  70. package/dist/classes/ovary.d/edit-live-fs.d.ts +0 -20
  71. package/dist/classes/ovary.d/edit-live-fs.js +0 -239
  72. package/dist/classes/ovary.d/fertilization.d.ts +0 -12
  73. package/dist/classes/ovary.d/fertilization.js +0 -53
  74. package/dist/classes/ovary.d/finished.d.ts +0 -13
  75. package/dist/classes/ovary.d/finished.js +0 -40
  76. package/dist/classes/ovary.d/initrd.d.ts +0 -21
  77. package/dist/classes/ovary.d/initrd.js +0 -95
  78. package/dist/classes/ovary.d/kernel-copy.d.ts +0 -12
  79. package/dist/classes/ovary.d/kernel-copy.js +0 -22
  80. package/dist/classes/ovary.d/live-create-structure.d.ts +0 -12
  81. package/dist/classes/ovary.d/live-create-structure.js +0 -70
  82. package/dist/classes/ovary.d/luks-get-password.d.ts +0 -12
  83. package/dist/classes/ovary.d/luks-get-password.js +0 -57
  84. package/dist/classes/ovary.d/luks-home-support.d.ts +0 -12
  85. package/dist/classes/ovary.d/luks-home-support.js +0 -75
  86. package/dist/classes/ovary.d/luks-home.d.ts +0 -15
  87. package/dist/classes/ovary.d/luks-home.js +0 -140
  88. package/dist/classes/ovary.d/luks-root-bootstrap-builder.d.ts +0 -11
  89. package/dist/classes/ovary.d/luks-root-bootstrap-builder.js +0 -45
  90. package/dist/classes/ovary.d/luks-root.d.ts +0 -15
  91. package/dist/classes/ovary.d/luks-root.js +0 -126
  92. package/dist/classes/ovary.d/make-dot-disk.d.ts +0 -12
  93. package/dist/classes/ovary.d/make-dot-disk.js +0 -62
  94. package/dist/classes/ovary.d/make-efi.d.ts +0 -14
  95. package/dist/classes/ovary.d/make-efi.js +0 -274
  96. package/dist/classes/ovary.d/make-iso.d.ts +0 -13
  97. package/dist/classes/ovary.d/make-iso.js +0 -45
  98. package/dist/classes/ovary.d/make-squashfs.d.ts +0 -18
  99. package/dist/classes/ovary.d/make-squashfs.js +0 -114
  100. package/dist/classes/ovary.d/merged.d.ts +0 -27
  101. package/dist/classes/ovary.d/merged.js +0 -78
  102. package/dist/classes/ovary.d/produce.d.ts +0 -23
  103. package/dist/classes/ovary.d/produce.js +0 -347
  104. package/dist/classes/ovary.d/rexec.d.ts +0 -13
  105. package/dist/classes/ovary.d/rexec.js +0 -34
  106. package/dist/classes/ovary.d/syslinux.d.ts +0 -12
  107. package/dist/classes/ovary.d/syslinux.js +0 -82
  108. package/dist/classes/ovary.d/user-create-live.d.ts +0 -14
  109. package/dist/classes/ovary.d/user-create-live.js +0 -97
  110. package/dist/classes/ovary.d/users-remove.d.ts +0 -9
  111. package/dist/classes/ovary.d/users-remove.js +0 -38
  112. package/dist/classes/ovary.d/xorriso-command.d.ts +0 -14
  113. package/dist/classes/ovary.d/xorriso-command.js +0 -121
  114. package/dist/classes/ovary.d.ts +0 -106
  115. package/dist/classes/ovary.js +0 -116
  116. package/dist/classes/pacman.d/alpine.d.ts +0 -56
  117. package/dist/classes/pacman.d/alpine.js +0 -167
  118. package/dist/classes/pacman.d/archlinux.d.ts +0 -62
  119. package/dist/classes/pacman.d/archlinux.js +0 -128
  120. package/dist/classes/pacman.d/debian.d.ts +0 -65
  121. package/dist/classes/pacman.d/debian.js +0 -143
  122. package/dist/classes/pacman.d/fedora.d.ts +0 -53
  123. package/dist/classes/pacman.d/fedora.js +0 -107
  124. package/dist/classes/pacman.d/openmamba.d.ts +0 -52
  125. package/dist/classes/pacman.d/openmamba.js +0 -106
  126. package/dist/classes/pacman.d/opensuse.d.ts +0 -53
  127. package/dist/classes/pacman.d/opensuse.js +0 -109
  128. package/dist/classes/pacman.d.ts +0 -139
  129. package/dist/classes/pacman.js +0 -683
  130. package/dist/classes/pve-live.d.ts +0 -17
  131. package/dist/classes/pve-live.js +0 -52
  132. package/dist/classes/pxe.d.ts +0 -76
  133. package/dist/classes/pxe.js +0 -353
  134. package/dist/classes/settings.d.ts +0 -52
  135. package/dist/classes/settings.js +0 -185
  136. package/dist/classes/sources_list.d.ts +0 -28
  137. package/dist/classes/sources_list.js +0 -89
  138. package/dist/classes/systemctl.d.ts +0 -47
  139. package/dist/classes/systemctl.js +0 -86
  140. package/dist/classes/tailor.d.ts +0 -50
  141. package/dist/classes/tailor.js +0 -563
  142. package/dist/classes/tools.d.ts +0 -26
  143. package/dist/classes/tools.js +0 -50
  144. package/dist/classes/users.d.ts +0 -28
  145. package/dist/classes/users.js +0 -143
  146. package/dist/classes/utils.d/kernel.d.ts +0 -39
  147. package/dist/classes/utils.d/kernel.js +0 -206
  148. package/dist/classes/utils.d.ts +0 -328
  149. package/dist/classes/utils.js +0 -958
  150. package/dist/classes/xdg.d.ts +0 -45
  151. package/dist/classes/xdg.js +0 -337
  152. package/dist/classes/yolk.d.ts +0 -33
  153. package/dist/classes/yolk.js +0 -114
  154. package/dist/commands/adapt.d.ts +0 -17
  155. package/dist/commands/adapt.js +0 -33
  156. package/dist/commands/analyze.d.ts +0 -26
  157. package/dist/commands/analyze.js +0 -95
  158. package/dist/commands/calamares.d.ts +0 -29
  159. package/dist/commands/calamares.js +0 -112
  160. package/dist/commands/config.d.ts +0 -35
  161. package/dist/commands/config.js +0 -120
  162. package/dist/commands/cuckoo.d.ts +0 -17
  163. package/dist/commands/cuckoo.js +0 -61
  164. package/dist/commands/dad.d.ts +0 -21
  165. package/dist/commands/dad.js +0 -47
  166. package/dist/commands/export/iso.d.ts +0 -19
  167. package/dist/commands/export/iso.js +0 -55
  168. package/dist/commands/export/pkg.d.ts +0 -29
  169. package/dist/commands/export/pkg.js +0 -173
  170. package/dist/commands/export/tarballs.d.ts +0 -27
  171. package/dist/commands/export/tarballs.js +0 -79
  172. package/dist/commands/install.d.ts +0 -39
  173. package/dist/commands/install.js +0 -113
  174. package/dist/commands/kill.d.ts +0 -24
  175. package/dist/commands/kill.js +0 -50
  176. package/dist/commands/love.d.ts +0 -24
  177. package/dist/commands/love.js +0 -111
  178. package/dist/commands/mom.d.ts +0 -16
  179. package/dist/commands/mom.js +0 -30
  180. package/dist/commands/pods.d.ts +0 -22
  181. package/dist/commands/pods.js +0 -92
  182. package/dist/commands/produce.d.ts +0 -36
  183. package/dist/commands/produce.js +0 -218
  184. package/dist/commands/status.d.ts +0 -23
  185. package/dist/commands/status.js +0 -31
  186. package/dist/commands/tools/clean.d.ts +0 -18
  187. package/dist/commands/tools/clean.js +0 -37
  188. package/dist/commands/tools/repo.d.ts +0 -31
  189. package/dist/commands/tools/repo.js +0 -246
  190. package/dist/commands/tools/skel.d.ts +0 -18
  191. package/dist/commands/tools/skel.js +0 -44
  192. package/dist/commands/tools/stat.d.ts +0 -31
  193. package/dist/commands/tools/stat.js +0 -70
  194. package/dist/commands/tools/yolk.d.ts +0 -24
  195. package/dist/commands/tools/yolk.js +0 -45
  196. package/dist/commands/update.d.ts +0 -46
  197. package/dist/commands/update.js +0 -238
  198. package/dist/commands/wardrobe/get.d.ts +0 -23
  199. package/dist/commands/wardrobe/get.js +0 -52
  200. package/dist/commands/wardrobe/list.d.ts +0 -24
  201. package/dist/commands/wardrobe/list.js +0 -125
  202. package/dist/commands/wardrobe/show.d.ts +0 -25
  203. package/dist/commands/wardrobe/show.js +0 -97
  204. package/dist/commands/wardrobe/wear.d.ts +0 -26
  205. package/dist/commands/wardrobe/wear.js +0 -84
  206. package/dist/dhcpd-proxy/classes/packet.d.ts +0 -36
  207. package/dist/dhcpd-proxy/classes/packet.js +0 -124
  208. package/dist/dhcpd-proxy/index.d.ts +0 -4
  209. package/dist/dhcpd-proxy/index.js +0 -4
  210. package/dist/dhcpd-proxy/interfaces/i-pxe.d.ts +0 -45
  211. package/dist/dhcpd-proxy/interfaces/i-pxe.js +0 -1
  212. package/dist/dhcpd-proxy/lib/packet/converters.d.ts +0 -11
  213. package/dist/dhcpd-proxy/lib/packet/converters.js +0 -395
  214. package/dist/dhcpd-proxy/lib/packet/message-types.d.ts +0 -10
  215. package/dist/dhcpd-proxy/lib/packet/message-types.js +0 -12
  216. package/dist/dhcpd-proxy/lib/packet/options.d.ts +0 -8
  217. package/dist/dhcpd-proxy/lib/packet/options.js +0 -264
  218. package/dist/dhcpd-proxy/lib/sprintf.d.ts +0 -6
  219. package/dist/dhcpd-proxy/lib/sprintf.js +0 -130
  220. package/dist/dhcpd-proxy/lib/utils.d.ts +0 -126
  221. package/dist/dhcpd-proxy/lib/utils.js +0 -255
  222. package/dist/dhcpd-proxy/simple-proxy.d.ts +0 -11
  223. package/dist/dhcpd-proxy/simple-proxy.js +0 -118
  224. package/dist/index.d.ts +0 -8
  225. package/dist/index.js +0 -8
  226. package/dist/interfaces/calamares/i-calamares-bootloader.d.ts +0 -23
  227. package/dist/interfaces/calamares/i-calamares-bootloader.js +0 -7
  228. package/dist/interfaces/calamares/i-calamares-branding.d.ts +0 -46
  229. package/dist/interfaces/calamares/i-calamares-branding.js +0 -1
  230. package/dist/interfaces/calamares/i-calamares-displaymanager.d.ts +0 -34
  231. package/dist/interfaces/calamares/i-calamares-displaymanager.js +0 -1
  232. package/dist/interfaces/calamares/i-calamares-finished.d.ts +0 -14
  233. package/dist/interfaces/calamares/i-calamares-finished.js +0 -1
  234. package/dist/interfaces/calamares/i-calamares-packages.d.ts +0 -26
  235. package/dist/interfaces/calamares/i-calamares-packages.js +0 -1
  236. package/dist/interfaces/calamares/i-calamares-partitions.d.ts +0 -39
  237. package/dist/interfaces/calamares/i-calamares-partitions.js +0 -1
  238. package/dist/interfaces/calamares/i-calamares-settings.d.ts +0 -36
  239. package/dist/interfaces/calamares/i-calamares-settings.js +0 -1
  240. package/dist/interfaces/i-addons.d.ts +0 -12
  241. package/dist/interfaces/i-addons.js +0 -8
  242. package/dist/interfaces/i-analyze.d.ts +0 -17
  243. package/dist/interfaces/i-analyze.js +0 -17
  244. package/dist/interfaces/i-app.d.ts +0 -14
  245. package/dist/interfaces/i-app.js +0 -8
  246. package/dist/interfaces/i-config-tools.d.ts +0 -15
  247. package/dist/interfaces/i-config-tools.js +0 -8
  248. package/dist/interfaces/i-devices.d.ts +0 -20
  249. package/dist/interfaces/i-devices.js +0 -8
  250. package/dist/interfaces/i-distro.d.ts +0 -23
  251. package/dist/interfaces/i-distro.js +0 -8
  252. package/dist/interfaces/i-drive-list.d.ts +0 -33
  253. package/dist/interfaces/i-drive-list.js +0 -8
  254. package/dist/interfaces/i-eggs-config.d.ts +0 -32
  255. package/dist/interfaces/i-eggs-config.js +0 -8
  256. package/dist/interfaces/i-excludes.d.ts +0 -14
  257. package/dist/interfaces/i-excludes.js +0 -8
  258. package/dist/interfaces/i-exec.d.ts +0 -11
  259. package/dist/interfaces/i-exec.js +0 -8
  260. package/dist/interfaces/i-initrd.d.ts +0 -13
  261. package/dist/interfaces/i-initrd.js +0 -8
  262. package/dist/interfaces/i-install.d.ts +0 -16
  263. package/dist/interfaces/i-install.js +0 -8
  264. package/dist/interfaces/i-installer.d.ts +0 -17
  265. package/dist/interfaces/i-installer.js +0 -8
  266. package/dist/interfaces/i-luks-passphrase.d.ts +0 -11
  267. package/dist/interfaces/i-luks-passphrase.js +0 -8
  268. package/dist/interfaces/i-materia.d.ts +0 -36
  269. package/dist/interfaces/i-materia.js +0 -8
  270. package/dist/interfaces/i-net.d.ts +0 -16
  271. package/dist/interfaces/i-net.js +0 -8
  272. package/dist/interfaces/i-os-release.d.ts +0 -5
  273. package/dist/interfaces/i-os-release.js +0 -1
  274. package/dist/interfaces/i-packages.d.ts +0 -16
  275. package/dist/interfaces/i-packages.js +0 -8
  276. package/dist/interfaces/i-partitions.d.ts +0 -16
  277. package/dist/interfaces/i-partitions.js +0 -8
  278. package/dist/interfaces/i-pxe.d.ts +0 -45
  279. package/dist/interfaces/i-pxe.js +0 -1
  280. package/dist/interfaces/i-remix.d.ts +0 -21
  281. package/dist/interfaces/i-remix.js +0 -8
  282. package/dist/interfaces/i-settings.d.ts +0 -33
  283. package/dist/interfaces/i-settings.js +0 -8
  284. package/dist/interfaces/i-user.d.ts +0 -14
  285. package/dist/interfaces/i-user.js +0 -8
  286. package/dist/interfaces/i-workdir.d.ts +0 -14
  287. package/dist/interfaces/i-workdir.js +0 -8
  288. package/dist/interfaces/i-xkb-model.d.ts +0 -24
  289. package/dist/interfaces/i-xkb-model.js +0 -8
  290. package/dist/interfaces/index.d.ts +0 -26
  291. package/dist/interfaces/index.js +0 -8
  292. package/dist/krill/classes/cfs.d.ts +0 -17
  293. package/dist/krill/classes/cfs.js +0 -39
  294. package/dist/krill/classes/krill_enums.d.ts +0 -37
  295. package/dist/krill/classes/krill_enums.js +0 -41
  296. package/dist/krill/classes/prepare.d/confirm.d.ts +0 -5
  297. package/dist/krill/classes/prepare.d/confirm.js +0 -30
  298. package/dist/krill/classes/prepare.d/keyboard.d.ts +0 -14
  299. package/dist/krill/classes/prepare.d/keyboard.js +0 -62
  300. package/dist/krill/classes/prepare.d/location.d.ts +0 -17
  301. package/dist/krill/classes/prepare.d/location.js +0 -59
  302. package/dist/krill/classes/prepare.d/network.d.ts +0 -14
  303. package/dist/krill/classes/prepare.d/network.js +0 -68
  304. package/dist/krill/classes/prepare.d/partitions.d.ts +0 -14
  305. package/dist/krill/classes/prepare.d/partitions.js +0 -86
  306. package/dist/krill/classes/prepare.d/summary.d.ts +0 -15
  307. package/dist/krill/classes/prepare.d/summary.js +0 -72
  308. package/dist/krill/classes/prepare.d/users.d.ts +0 -6
  309. package/dist/krill/classes/prepare.d/users.js +0 -63
  310. package/dist/krill/classes/prepare.d/welcome.d.ts +0 -6
  311. package/dist/krill/classes/prepare.d/welcome.js +0 -30
  312. package/dist/krill/classes/prepare.d.ts +0 -89
  313. package/dist/krill/classes/prepare.js +0 -319
  314. package/dist/krill/classes/sequence.d/add_user.d.ts +0 -20
  315. package/dist/krill/classes/sequence.d/add_user.js +0 -77
  316. package/dist/krill/classes/sequence.d/bootloader.d.ts +0 -14
  317. package/dist/krill/classes/sequence.d/bootloader.js +0 -117
  318. package/dist/krill/classes/sequence.d/bootloader_config.d.ts +0 -14
  319. package/dist/krill/classes/sequence.d/bootloader_config.js +0 -192
  320. package/dist/krill/classes/sequence.d/change_password.d.ts +0 -15
  321. package/dist/krill/classes/sequence.d/change_password.js +0 -18
  322. package/dist/krill/classes/sequence.d/del_live_user.d.ts +0 -14
  323. package/dist/krill/classes/sequence.d/del_live_user.js +0 -39
  324. package/dist/krill/classes/sequence.d/fstab.d.ts +0 -14
  325. package/dist/krill/classes/sequence.d/fstab.js +0 -177
  326. package/dist/krill/classes/sequence.d/grubcfg.d.ts +0 -17
  327. package/dist/krill/classes/sequence.d/grubcfg.js +0 -35
  328. package/dist/krill/classes/sequence.d/hostname.d.ts +0 -13
  329. package/dist/krill/classes/sequence.d/hostname.js +0 -50
  330. package/dist/krill/classes/sequence.d/initramfs.d.ts +0 -13
  331. package/dist/krill/classes/sequence.d/initramfs.js +0 -54
  332. package/dist/krill/classes/sequence.d/initramfs_cfg.d.ts +0 -14
  333. package/dist/krill/classes/sequence.d/initramfs_cfg.js +0 -35
  334. package/dist/krill/classes/sequence.d/locale.d.ts +0 -13
  335. package/dist/krill/classes/sequence.d/locale.js +0 -91
  336. package/dist/krill/classes/sequence.d/locale_cfg.d.ts +0 -10
  337. package/dist/krill/classes/sequence.d/locale_cfg.js +0 -58
  338. package/dist/krill/classes/sequence.d/m_keyboard.d.ts +0 -14
  339. package/dist/krill/classes/sequence.d/m_keyboard.js +0 -58
  340. package/dist/krill/classes/sequence.d/machine_id.d.ts +0 -15
  341. package/dist/krill/classes/sequence.d/machine_id.js +0 -33
  342. package/dist/krill/classes/sequence.d/mkfs.d.ts +0 -15
  343. package/dist/krill/classes/sequence.d/mkfs.js +0 -88
  344. package/dist/krill/classes/sequence.d/mount_fs.d.ts +0 -17
  345. package/dist/krill/classes/sequence.d/mount_fs.js +0 -68
  346. package/dist/krill/classes/sequence.d/mount_vfs.d.ts +0 -17
  347. package/dist/krill/classes/sequence.d/mount_vfs.js +0 -59
  348. package/dist/krill/classes/sequence.d/network_cfg.d.ts +0 -19
  349. package/dist/krill/classes/sequence.d/network_cfg.js +0 -73
  350. package/dist/krill/classes/sequence.d/packages.d.ts +0 -14
  351. package/dist/krill/classes/sequence.d/packages.js +0 -111
  352. package/dist/krill/classes/sequence.d/partition.d/bios_luks.d.ts +0 -17
  353. package/dist/krill/classes/sequence.d/partition.d/bios_luks.js +0 -73
  354. package/dist/krill/classes/sequence.d/partition.d/bios_standard.d.ts +0 -16
  355. package/dist/krill/classes/sequence.d/partition.d/bios_standard.js +0 -51
  356. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.d.ts +0 -17
  357. package/dist/krill/classes/sequence.d/partition.d/uefi_luks.js +0 -77
  358. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.d.ts +0 -10
  359. package/dist/krill/classes/sequence.d/partition.d/uefi_standard.js +0 -33
  360. package/dist/krill/classes/sequence.d/partition.d.ts +0 -14
  361. package/dist/krill/classes/sequence.d/partition.js +0 -84
  362. package/dist/krill/classes/sequence.d/remove_installer_link.d.ts +0 -13
  363. package/dist/krill/classes/sequence.d/remove_installer_link.js +0 -35
  364. package/dist/krill/classes/sequence.d/umount.d.ts +0 -14
  365. package/dist/krill/classes/sequence.d/umount.js +0 -28
  366. package/dist/krill/classes/sequence.d/unpackfs.d.ts +0 -13
  367. package/dist/krill/classes/sequence.d/unpackfs.js +0 -20
  368. package/dist/krill/classes/sequence.d.ts +0 -134
  369. package/dist/krill/classes/sequence.js +0 -400
  370. package/dist/krill/components/finished.d.ts +0 -16
  371. package/dist/krill/components/finished.js +0 -56
  372. package/dist/krill/components/information.d.ts +0 -8
  373. package/dist/krill/components/information.js +0 -162
  374. package/dist/krill/components/install.d.ts +0 -15
  375. package/dist/krill/components/install.js +0 -60
  376. package/dist/krill/components/keyboard.d.ts +0 -16
  377. package/dist/krill/components/keyboard.js +0 -54
  378. package/dist/krill/components/location.d.ts +0 -16
  379. package/dist/krill/components/location.js +0 -59
  380. package/dist/krill/components/network.d.ts +0 -19
  381. package/dist/krill/components/network.js +0 -65
  382. package/dist/krill/components/partitions.d.ts +0 -18
  383. package/dist/krill/components/partitions.js +0 -89
  384. package/dist/krill/components/steps.d.ts +0 -13
  385. package/dist/krill/components/steps.js +0 -148
  386. package/dist/krill/components/summary.d.ts +0 -25
  387. package/dist/krill/components/summary.js +0 -77
  388. package/dist/krill/components/title.d.ts +0 -11
  389. package/dist/krill/components/title.js +0 -35
  390. package/dist/krill/components/users.d.ts +0 -24
  391. package/dist/krill/components/users.js +0 -80
  392. package/dist/krill/components/welcome.d.ts +0 -13
  393. package/dist/krill/components/welcome.js +0 -63
  394. package/dist/krill/interfaces/i_krill.d.ts +0 -44
  395. package/dist/krill/interfaces/i_krill.js +0 -8
  396. package/dist/krill/interfaces/i_krill_config.d.ts +0 -35
  397. package/dist/krill/interfaces/i_krill_config.js +0 -8
  398. package/dist/krill/lib/get_address.d.ts +0 -8
  399. package/dist/krill/lib/get_address.js +0 -23
  400. package/dist/krill/lib/get_dns.d.ts +0 -8
  401. package/dist/krill/lib/get_dns.js +0 -23
  402. package/dist/krill/lib/get_domain.d.ts +0 -8
  403. package/dist/krill/lib/get_domain.js +0 -23
  404. package/dist/krill/lib/get_gateway.d.ts +0 -8
  405. package/dist/krill/lib/get_gateway.js +0 -23
  406. package/dist/krill/lib/get_hostname.d.ts +0 -8
  407. package/dist/krill/lib/get_hostname.js +0 -23
  408. package/dist/krill/lib/get_luks_passphrase.d.ts +0 -8
  409. package/dist/krill/lib/get_luks_passphrase.js +0 -32
  410. package/dist/krill/lib/get_netmask.d.ts +0 -8
  411. package/dist/krill/lib/get_netmask.js +0 -23
  412. package/dist/krill/lib/get_password.d.ts +0 -8
  413. package/dist/krill/lib/get_password.js +0 -36
  414. package/dist/krill/lib/get_userfullname.d.ts +0 -8
  415. package/dist/krill/lib/get_userfullname.js +0 -23
  416. package/dist/krill/lib/get_username.d.ts +0 -8
  417. package/dist/krill/lib/get_username.js +0 -23
  418. package/dist/krill/lib/select_address_type.d.ts +0 -8
  419. package/dist/krill/lib/select_address_type.js +0 -24
  420. package/dist/krill/lib/select_filesystem_type.d.ts +0 -8
  421. package/dist/krill/lib/select_filesystem_type.js +0 -40
  422. package/dist/krill/lib/select_installation_device.d.ts +0 -8
  423. package/dist/krill/lib/select_installation_device.js +0 -40
  424. package/dist/krill/lib/select_installation_mode.d.ts +0 -9
  425. package/dist/krill/lib/select_installation_mode.js +0 -25
  426. package/dist/krill/lib/select_interface.d.ts +0 -8
  427. package/dist/krill/lib/select_interface.js +0 -24
  428. package/dist/krill/lib/select_keyboard_layout.d.ts +0 -11
  429. package/dist/krill/lib/select_keyboard_layout.js +0 -36
  430. package/dist/krill/lib/select_keyboard_model.d.ts +0 -11
  431. package/dist/krill/lib/select_keyboard_model.js +0 -34
  432. package/dist/krill/lib/select_keyboard_option.d.ts +0 -11
  433. package/dist/krill/lib/select_keyboard_option.js +0 -34
  434. package/dist/krill/lib/select_keyboard_variant.d.ts +0 -11
  435. package/dist/krill/lib/select_keyboard_variant.js +0 -35
  436. package/dist/krill/lib/select_languages.d.ts +0 -8
  437. package/dist/krill/lib/select_languages.js +0 -28
  438. package/dist/krill/lib/select_regions.d.ts +0 -8
  439. package/dist/krill/lib/select_regions.js +0 -24
  440. package/dist/krill/lib/select_replaced_partition.d.ts +0 -8
  441. package/dist/krill/lib/select_replaced_partition.js +0 -31
  442. package/dist/krill/lib/select_user_swap_choice.d.ts +0 -9
  443. package/dist/krill/lib/select_user_swap_choice.js +0 -35
  444. package/dist/krill/lib/select_zones.d.ts +0 -8
  445. package/dist/krill/lib/select_zones.js +0 -518
  446. package/dist/lib/kill_me_softly.d.ts +0 -11
  447. package/dist/lib/kill_me_softly.js +0 -61
  448. package/dist/lib/utils.d.ts +0 -19
  449. package/dist/lib/utils.js +0 -65
  450. package/scripts/luks-root-bootstrap-create.sh +0 -235
  451. package/scripts/luks-root-unlock.sh +0 -172
@@ -1,130 +0,0 @@
1
- /**
2
- * sprintf.ts
3
- *
4
- * Converted to a pure, strictly-typed TypeScript module.
5
- */
6
- export default function sprintf(format, ...args) {
7
- let i = 0;
8
- const regex = /%%|%(\d+\$)?([-+'#0 ]*)(\*\d+\$|\*|\d+)?(\.(\*\d+\$|\*|\d+))?([scboxXuidfegEG])/g;
9
- const pad = (str, len, chr, leftJustify) => {
10
- const padding = str.length >= len ? "" : Array(1 + len - str.length).join(chr || ' ');
11
- return leftJustify ? str + padding : padding + str;
12
- };
13
- const justify = (value, prefix, leftJustify, minWidth, zeroPad, customPadChar) => {
14
- const diff = minWidth - value.length;
15
- if (diff > 0) {
16
- if (leftJustify || !zeroPad) {
17
- value = pad(value, minWidth, customPadChar || ' ', leftJustify);
18
- }
19
- else {
20
- value =
21
- value.slice(0, prefix.length) +
22
- pad("", diff, "0", true) +
23
- value.slice(prefix.length);
24
- }
25
- }
26
- return value;
27
- };
28
- const formatBaseX = (value, base, prefix, leftJustify, minWidth, precision, zeroPad) => {
29
- const number = value >>> 0;
30
- let p = (prefix && number && { 2: "0b", 8: "0", 16: "0x" }[base]) || "";
31
- let val = p + pad(number.toString(base), precision || 0, "0", false);
32
- return justify(val, p, leftJustify, minWidth, zeroPad);
33
- };
34
- const formatString = (value, leftJustify, minWidth, precision, zeroPad, customPadChar) => {
35
- if (precision !== null && precision !== undefined) {
36
- value = value.slice(0, precision);
37
- }
38
- return justify(value, "", leftJustify, minWidth, zeroPad, customPadChar);
39
- };
40
- const doFormat = (substring, valueIndex, flags, minWidthStr, _, // Explicitly type the unused parameter
41
- precisionStr, type) => {
42
- if (substring === "%%") {
43
- return "%";
44
- }
45
- let leftJustify = false;
46
- let positivePrefix = "";
47
- let zeroPad = false;
48
- let prefixBaseX = false;
49
- let customPadChar = " ";
50
- for (let j = 0; flags && j < flags.length; j++) {
51
- switch (flags.charAt(j)) {
52
- case " ":
53
- positivePrefix = " ";
54
- break;
55
- case "+":
56
- positivePrefix = "+";
57
- break;
58
- case "-":
59
- leftJustify = true;
60
- break;
61
- case "'":
62
- customPadChar = flags.charAt(j + 1);
63
- break;
64
- case "0":
65
- zeroPad = true;
66
- break;
67
- case "#":
68
- prefixBaseX = true;
69
- break;
70
- }
71
- }
72
- let minWidth = minWidthStr ? +minWidthStr : 0;
73
- if (minWidthStr === "*") {
74
- minWidth = +args[i++];
75
- }
76
- else if (minWidthStr?.charAt(0) === "*") {
77
- minWidth = +args[parseInt(minWidthStr.slice(1, -1)) - 1];
78
- }
79
- if (minWidth < 0) {
80
- minWidth = -minWidth;
81
- leftJustify = true;
82
- }
83
- if (!isFinite(minWidth)) {
84
- throw new Error("sprintf: (minimum-)width must be finite");
85
- }
86
- let precision = precisionStr ? +precisionStr : undefined;
87
- if (precisionStr === "*") {
88
- precision = +args[i++];
89
- }
90
- else if (precisionStr?.charAt(0) === "*") {
91
- precision = +args[parseInt(precisionStr.slice(1, -1)) - 1];
92
- }
93
- if (precision === undefined) {
94
- precision = "fFeE".indexOf(type) > -1 ? 6 : type === "d" ? 0 : undefined;
95
- }
96
- let value = valueIndex ? args[parseInt(valueIndex.slice(0, -1)) - 1] : args[i++];
97
- switch (type) {
98
- case "s": return formatString(String(value), leftJustify, minWidth, precision, zeroPad, customPadChar);
99
- case "c": return formatString(String.fromCharCode(+value), leftJustify, minWidth, precision, zeroPad);
100
- case "b": return formatBaseX(value, 2, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
101
- case "o": return formatBaseX(value, 8, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
102
- case "x": return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
103
- case "X": return formatBaseX(value, 16, prefixBaseX, leftJustify, minWidth, precision, zeroPad).toUpperCase();
104
- case "u": return formatBaseX(value, 10, prefixBaseX, leftJustify, minWidth, precision, zeroPad);
105
- case "i":
106
- case "d": {
107
- const number = +value | 0;
108
- const prefix = number < 0 ? "-" : positivePrefix;
109
- const val = prefix + pad(String(Math.abs(number)), precision || 0, "0", false);
110
- return justify(val, prefix, leftJustify, minWidth, zeroPad);
111
- }
112
- case "e":
113
- case "E":
114
- case "f":
115
- case "F":
116
- case "g":
117
- case "G": {
118
- const number = +value;
119
- const prefix = number < 0 ? "-" : positivePrefix;
120
- const method = ["toExponential", "toFixed", "toPrecision"]["efg".indexOf(type.toLowerCase())];
121
- const textTransform = ["toString", "toUpperCase"]["eEfFgG".indexOf(type) % 2];
122
- const val = prefix + Math.abs(number)[method](precision);
123
- return justify(val, prefix, leftJustify, minWidth, zeroPad)[textTransform]();
124
- }
125
- default:
126
- return substring;
127
- }
128
- };
129
- return format.replace(regex, doFormat);
130
- }
@@ -1,126 +0,0 @@
1
- /**
2
- * util.ts
3
- *
4
- * used in dhcpd
5
- *
6
- */
7
- /**
8
- *
9
- * @param _buffer
10
- * @param byteArray
11
- * @param offset
12
- * @returns
13
- */
14
- export declare const writeBytes: (_buffer: any, byteArray: any, offset: number) => undefined;
15
- /**
16
- *
17
- * @param _buffer
18
- * @param integer
19
- * @param offset
20
- * @returns
21
- */
22
- export declare function writeInt32(_buffer: any, integer: number, offset: number): number;
23
- /**
24
- *
25
- * @param _buffer
26
- * @param integer
27
- * @param offset
28
- * @returns
29
- */
30
- export declare function writeInt16(_buffer: any, integer: number, offset: number): number;
31
- /**
32
- *
33
- * @param _buffer
34
- * @param integer
35
- * @param offset
36
- * @returns
37
- */
38
- export declare function writeInt8(_buffer: any, integer: number, offset: number): number;
39
- /**
40
- *
41
- * @param _buffer
42
- * @param length
43
- * @param copy
44
- * @param offset
45
- * @returns
46
- */
47
- export declare function readBytes(_buffer: any, length: number, copy: any, offset: number): any;
48
- /**
49
- *
50
- * @param _buffer
51
- * @param offset
52
- * @returns
53
- */
54
- export declare function readInt32(_buffer: any, offset: number): number;
55
- /**
56
- *
57
- * @param _buffer
58
- * @param offset
59
- * @returns
60
- */
61
- export declare function readInt16(_buffer: any, offset: number): number;
62
- /**
63
- *
64
- * @param _buffer
65
- * @param offset
66
- * @returns
67
- */
68
- export declare function readInt8(_buffer: any, offset: number): any;
69
- /**
70
- *
71
- * @param buf
72
- * @returns
73
- */
74
- export declare function readString(buf: any): string;
75
- /**
76
- *
77
- * @param buf
78
- * @returns
79
- */
80
- export declare function readHex(buf: any): string;
81
- /**
82
- *
83
- * @param buf
84
- * @returns
85
- */
86
- export declare function readHexAddress(buf: any): string;
87
- /**
88
- *
89
- * @param buffer
90
- * @param offset
91
- * @returns
92
- */
93
- export declare function readIp(buffer: any, offset: number): string | undefined;
94
- /**
95
- *
96
- * @param buffer
97
- * @returns
98
- */
99
- export declare function readMacAddress(buffer: any): string;
100
- /**
101
- *
102
- * @param buf
103
- * @param num
104
- * @param offsetHours
105
- * @param offset
106
- * @returns
107
- */
108
- export declare function writeTimeOffset(buf: any, num: any, offsetHours: any, offset: number): number;
109
- /**
110
- *
111
- * @param buf
112
- * @param num
113
- * @param ip
114
- * @param offset
115
- * @returns
116
- */
117
- export declare function writeIp(buf: any, num: string, ip: any, offset: number): number;
118
- /**
119
- *
120
- * @param buf
121
- * @param num
122
- * @param hostname
123
- * @param offset
124
- * @returns
125
- */
126
- export declare function writeString(buf: any, num: string, hostname: string, offset: number): number;
@@ -1,255 +0,0 @@
1
- /**
2
- * util.ts
3
- *
4
- * used in dhcpd
5
- *
6
- */
7
- import sprintf from "./sprintf.js";
8
- /**
9
- *
10
- * @param _buffer
11
- * @param byteArray
12
- * @param offset
13
- * @returns
14
- */
15
- export const writeBytes = (_buffer, byteArray, offset) => {
16
- let _bytesWritten = 0;
17
- let i = 0;
18
- while (i < byteArray.length) {
19
- _buffer[offset++] = byteArray[i];
20
- i++;
21
- }
22
- if (offset > _bytesWritten) {
23
- _bytesWritten = offset;
24
- }
25
- return this;
26
- };
27
- /**
28
- *
29
- * @param _buffer
30
- * @param integer
31
- * @param offset
32
- * @returns
33
- */
34
- export function writeInt32(_buffer, integer, offset) {
35
- _buffer[offset++] = integer >>> 24;
36
- _buffer[offset++] = integer >>> 16;
37
- _buffer[offset++] = integer >>> 8;
38
- _buffer[offset++] = integer;
39
- return offset;
40
- }
41
- /**
42
- *
43
- * @param _buffer
44
- * @param integer
45
- * @param offset
46
- * @returns
47
- */
48
- export function writeInt16(_buffer, integer, offset) {
49
- _buffer[offset++] = integer >>> 8;
50
- _buffer[offset++] = integer;
51
- return offset;
52
- }
53
- /**
54
- *
55
- * @param _buffer
56
- * @param integer
57
- * @param offset
58
- * @returns
59
- */
60
- export function writeInt8(_buffer, integer, offset) {
61
- _buffer[offset++] = integer;
62
- return offset;
63
- }
64
- /**
65
- *
66
- * @param _buffer
67
- * @param length
68
- * @param copy
69
- * @param offset
70
- * @returns
71
- */
72
- export function readBytes(_buffer, length, copy, offset) {
73
- let bufCopy;
74
- if (copy) {
75
- bufCopy = new Buffer(length);
76
- _buffer.copy(bufCopy, 0, offset, (offset += length));
77
- return bufCopy;
78
- }
79
- else {
80
- return _buffer.slice(offset, (offset += length));
81
- }
82
- }
83
- /**
84
- *
85
- * @param _buffer
86
- * @param offset
87
- * @returns
88
- */
89
- export function readInt32(_buffer, offset) {
90
- return ((_buffer[offset++] << 24) |
91
- (_buffer[offset++] << 16) |
92
- (_buffer[offset++] << 8) |
93
- _buffer[offset++]);
94
- }
95
- /**
96
- *
97
- * @param _buffer
98
- * @param offset
99
- * @returns
100
- */
101
- export function readInt16(_buffer, offset) {
102
- return (_buffer[offset++] << 8) | _buffer[offset++];
103
- }
104
- /**
105
- *
106
- * @param _buffer
107
- * @param offset
108
- * @returns
109
- */
110
- export function readInt8(_buffer, offset) {
111
- return _buffer[offset++];
112
- }
113
- /**
114
- *
115
- * @param buf
116
- * @returns
117
- */
118
- export function readString(buf) {
119
- let j, s;
120
- s = "";
121
- j = 0;
122
- while (j < buf.length) {
123
- s += String.fromCharCode(buf[j]);
124
- j++;
125
- }
126
- return s;
127
- }
128
- /**
129
- *
130
- * @param buf
131
- * @returns
132
- */
133
- export function readHex(buf) {
134
- let j, s;
135
- s = "";
136
- j = 0;
137
- while (j < buf.length) {
138
- // check was b not buf
139
- s += sprintf("%02x", buf[j]);
140
- j++;
141
- }
142
- return s;
143
- }
144
- /**
145
- *
146
- * @param buf
147
- * @returns
148
- */
149
- export function readHexAddress(buf) {
150
- let j, s;
151
- s = [];
152
- j = 0;
153
- while (j < buf.length) {
154
- s.push(sprintf("%02d", buf[j]));
155
- j++;
156
- }
157
- return s.join(":");
158
- }
159
- /**
160
- *
161
- * @param buffer
162
- * @param offset
163
- * @returns
164
- */
165
- export function readIp(buffer, offset) {
166
- let stop;
167
- if (offset === null) {
168
- offset = 0;
169
- }
170
- if (offset > buffer.length) {
171
- return undefined;
172
- }
173
- if (0 === buffer.readUInt8(offset)) {
174
- return undefined;
175
- }
176
- else {
177
- stop = offset + 4;
178
- return (function () {
179
- const _results = [];
180
- while (offset < stop) {
181
- _results.push(buffer.readUInt8(offset++));
182
- }
183
- return _results;
184
- })().join(".");
185
- }
186
- }
187
- /**
188
- *
189
- * @param buffer
190
- * @returns
191
- */
192
- export function readMacAddress(buffer) {
193
- let byte;
194
- return (function () {
195
- let _i, _len;
196
- const _results = [];
197
- for (_i = 0, _len = buffer.length; _i < _len; _i++) {
198
- byte = buffer[_i];
199
- _results.push((byte + 0x100).toString(16).substr(-2));
200
- }
201
- return _results;
202
- })().join(":");
203
- }
204
- /**
205
- *
206
- * @param buf
207
- * @param num
208
- * @param offsetHours
209
- * @param offset
210
- * @returns
211
- */
212
- export function writeTimeOffset(buf, num, offsetHours, offset) {
213
- buf[offset++] = 0;
214
- return offset;
215
- }
216
- /**
217
- *
218
- * @param buf
219
- * @param num
220
- * @param ip
221
- * @param offset
222
- * @returns
223
- */
224
- export function writeIp(buf, num, ip, offset) {
225
- buf[offset++] = num;
226
- buf[offset++] = 4;
227
- if ((typeof ip !== "string" && !(ip instanceof String)) ||
228
- ip.indexOf(".") === -1) {
229
- ip = "0.0.0.0";
230
- }
231
- ip.split(".").forEach(function (item) {
232
- buf[offset++] = item;
233
- });
234
- return offset;
235
- }
236
- /**
237
- *
238
- * @param buf
239
- * @param num
240
- * @param hostname
241
- * @param offset
242
- * @returns
243
- */
244
- export function writeString(buf, num, hostname, offset) {
245
- let charArr;
246
- charArr = hostname.split("");
247
- buf[offset++] = num;
248
- buf[offset++] = charArr.length;
249
- charArr.forEach(function (chr) {
250
- // charCodeAt(index: number): number
251
- //buf[offset++] = chr.charCodeAt() original
252
- buf[offset++] = chr.charCodeAt(0);
253
- });
254
- return offset;
255
- }
@@ -1,11 +0,0 @@
1
- /**
2
- * simple-proxy.ts
3
- * Un proxy DHCP minimale che agisce come un mini-server DHCP completo
4
- * solo per i client PXE, per aggirare le protezioni di rete.
5
- */
6
- import type { IDhcpOptions } from '../dhcpd-proxy//interfaces/i-pxe.js';
7
- /**
8
- * La nostra unica funzione. Prende le opzioni e avvia il proxy.
9
- * @param options Le opzioni di configurazione PXE
10
- */
11
- export declare function startSimpleProxy(options: IDhcpOptions): void;
@@ -1,118 +0,0 @@
1
- /**
2
- * simple-proxy.ts
3
- * Un proxy DHCP minimale che agisce come un mini-server DHCP completo
4
- * solo per i client PXE, per aggirare le protezioni di rete.
5
- */
6
- import { createSocket } from 'dgram';
7
- import ansis from 'ansis';
8
- import { Packet } from '../dhcpd-proxy/classes/packet.js';
9
- import { DhcpMessageType } from '../dhcpd-proxy//lib/packet/message-types.js';
10
- // Un semplice Map in memoria per tracciare gli IP offerti
11
- const offeredIPs = new Map();
12
- /**
13
- * La nostra unica funzione. Prende le opzioni e avvia il proxy.
14
- * @param options Le opzioni di configurazione PXE
15
- */
16
- export function startSimpleProxy(options) {
17
- const socket = createSocket({ type: 'udp4', reuseAddr: true });
18
- socket.on('error', (err) => {
19
- console.error(ansis.red.bold(`ERRORE SOCKET: ${err.stack}`));
20
- socket.close();
21
- });
22
- socket.on('listening', () => {
23
- const address = socket.address();
24
- socket.setBroadcast(true);
25
- console.log(ansis.green.inverse(`\n Proxy DHCP listening su ${address.address}:${address.port}. CTRL-C to end!\n`));
26
- });
27
- socket.on('message', (buffer, rinfo) => {
28
- try {
29
- const packet = Packet.fromBuffer(buffer);
30
- packet.remote = rinfo;
31
- const messageType = packet.options[53] || 0;
32
- if (packet.op === 1 && messageType === DhcpMessageType.DHCPDISCOVER) {
33
- handleDiscover(packet, options);
34
- }
35
- else if (packet.op === 1 && messageType === DhcpMessageType.DHCPREQUEST) {
36
- handleRequest(packet, options);
37
- }
38
- }
39
- catch (err) {
40
- // Ignoriamo errori di parsing
41
- }
42
- });
43
- socket.bind(67, '0.0.0.0');
44
- // --- Funzioni Helper Interne ---
45
- function setBootFilename(packet, opts) {
46
- const isIpxe = packet.options[77] && packet.options[77].toString().includes('iPXE');
47
- const arch = packet.options[93] || packet.options[60];
48
- const isUefi64 = arch && (String(arch).includes('00007') || String(arch).includes('00009'));
49
- // LOGICA DI ASSEGNAZIONE PRECISA
50
- if (isIpxe && isUefi64) {
51
- // CASO 1: Il client è iPXE e anche UEFI. Offriamo lo script!
52
- console.log(ansis.magenta.bold(`<- Rilevato client iPXE su UEFI! Offro script autoexec...`));
53
- return `http://${opts.host}/autoexec.ipxe`;
54
- }
55
- else if (isUefi64) {
56
- // CASO 2: Il client è UEFI ma non è ancora iPXE. Offriamo il bootloader iPXE per UEFI.
57
- return opts.efi64_filename;
58
- }
59
- else {
60
- // CASO 3: Il client è BIOS. Offriamo il bootloader iPXE per BIOS.
61
- // (Aggiunta logica per altri tipi di architettura se necessario)
62
- return opts.bios_filename;
63
- }
64
- }
65
- function handleDiscover(packet, opts) {
66
- console.log(ansis.blue.bold(`\n-> DISCOVER Ricevuto`));
67
- console.log(ansis.dim(` └─ Da MAC: ${ansis.white(packet.chaddr)}`));
68
- if (packet.options[60]?.includes('PXEClient')) {
69
- console.log(ansis.cyan.bold(`<- Rilevato PXEClient! Preparo un'offerta completa...`));
70
- const offerPacket = new Packet(packet);
71
- offerPacket.op = 2; // BOOTREPLY
72
- const ipParts = opts.host.split('.');
73
- ipParts[3] = (parseInt(ipParts[3]) + 10).toString();
74
- const offeredIp = ipParts.join('.');
75
- offeredIPs.set(packet.chaddr, offeredIp);
76
- offerPacket.yiaddr = offeredIp;
77
- offerPacket.siaddr = opts.tftpserver;
78
- offerPacket.options[53] = DhcpMessageType.DHCPOFFER;
79
- offerPacket.options[54] = opts.host;
80
- // Imposta il filename usando la nuova funzione logica
81
- offerPacket.fname = setBootFilename(packet, opts);
82
- console.log(ansis.dim(` ├─ Offro IP: ${ansis.green(offeredIp)}`));
83
- console.log(ansis.dim(` ├─ Next-Server: ${ansis.white(offerPacket.siaddr)}`));
84
- console.log(ansis.dim(` └─ Filename: ${ansis.white(offerPacket.fname)}`));
85
- send(offerPacket, opts.broadcast, 68);
86
- }
87
- }
88
- function handleRequest(packet, opts) {
89
- const offeredIp = offeredIPs.get(packet.chaddr);
90
- if (!offeredIp || (packet.options[50] && packet.options[50] !== offeredIp)) {
91
- return;
92
- }
93
- console.log(ansis.yellow.bold(`-> REQUEST per la nostra offerta ricevuto!`));
94
- console.log(ansis.dim(` └─ Da MAC: ${ansis.white(packet.chaddr)}`));
95
- const ackPacket = new Packet(packet);
96
- ackPacket.op = 2;
97
- ackPacket.yiaddr = offeredIp;
98
- ackPacket.siaddr = opts.tftpserver;
99
- ackPacket.options[53] = DhcpMessageType.DHCPACK;
100
- ackPacket.options[54] = opts.host;
101
- // Imposta il filename usando la stessa logica
102
- ackPacket.fname = setBootFilename(packet, opts);
103
- console.log(ansis.cyan.bold(`<- Invio ACK finale...`));
104
- send(ackPacket, opts.broadcast, 68);
105
- }
106
- function send(packet, ip, port) {
107
- const buffer = packet.toBuffer();
108
- const typeName = DhcpMessageType[packet.options[53]] || 'UNKNOWN';
109
- socket.send(buffer, 0, buffer.length, port, ip, (err, bytes) => {
110
- if (err) {
111
- console.error(ansis.red.bold(`[PROXY-ERROR] Errore invio ${typeName}:`), err);
112
- }
113
- else {
114
- console.log(ansis.green(` ✔︎ ${typeName} inviata a ${ip}:${port} (${bytes} bytes)`));
115
- }
116
- });
117
- }
118
- }
package/dist/index.d.ts DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * ./src/index.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- export { run } from '@oclif/core';
package/dist/index.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * ./src/index.ts
3
- * penguins-eggs v.25.7.x / ecmascript 2020
4
- * author: Piero Proietti
5
- * email: piero.proietti@gmail.com
6
- * license: MIT
7
- */
8
- export { run } from '@oclif/core';
@@ -1,23 +0,0 @@
1
- /**
2
- * This file was automatically generated by json-schema-to-typescript.
3
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
4
- * and run json-schema-to-typescript to regenerate this file.
5
- */
6
- export interface ICalamaresBootloader {
7
- efiBootLoaderVar?: string;
8
- efiBootLoader?: string;
9
- kernelSearchPath?: string;
10
- kernelName?: string;
11
- kernelParams?: string[];
12
- kernelPattern?: string;
13
- loaderEntries?: string[];
14
- refindKernelList?: string[];
15
- grubInstall?: string;
16
- grubMkconfig?: string;
17
- grubCfg?: string;
18
- grubProbe?: string;
19
- efiBootMgr?: string;
20
- efiBootloaderId?: string;
21
- installEFIFallback?: boolean;
22
- installHybridGRUB?: boolean;
23
- }
@@ -1,7 +0,0 @@
1
- /* eslint-disable */
2
- /**
3
- * This file was automatically generated by json-schema-to-typescript.
4
- * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
5
- * and run json-schema-to-typescript to regenerate this file.
6
- */
7
- export {};