typescript-virtual-container 1.5.2 → 1.5.4

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 (364) hide show
  1. package/README.md +43 -23
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/SSHMimic/executor.js +23 -5
  4. package/dist/commands/basename.d.ts +13 -0
  5. package/dist/commands/basename.js +45 -0
  6. package/dist/commands/file.d.ts +8 -0
  7. package/dist/commands/file.js +57 -0
  8. package/dist/commands/fun.d.ts +32 -0
  9. package/dist/commands/fun.js +172 -0
  10. package/dist/commands/ifconfig.d.ts +7 -0
  11. package/dist/commands/ifconfig.js +52 -0
  12. package/dist/commands/last.d.ts +13 -0
  13. package/dist/commands/last.js +68 -0
  14. package/dist/commands/manuals-bundle.js +598 -6
  15. package/dist/commands/registry.js +24 -2
  16. package/dist/commands/runtime.js +159 -106
  17. package/dist/commands/sh.js +5 -0
  18. package/dist/commands/tput.d.ts +13 -0
  19. package/dist/commands/tput.js +76 -0
  20. package/dist/commands/w.d.ts +7 -0
  21. package/dist/commands/w.js +38 -0
  22. package/dist/utils/expand.d.ts +12 -0
  23. package/dist/utils/expand.js +84 -0
  24. package/package.json +9 -3
  25. package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -50
  26. package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -31
  27. package/.github/dependabot.yml +0 -27
  28. package/.github/pull_request_template.md +0 -21
  29. package/.github/workflows/create-pull-request.yml +0 -85
  30. package/.github/workflows/publish.yml +0 -25
  31. package/.github/workflows/test-battery.yml +0 -102
  32. package/.vscode/settings.json +0 -20
  33. package/CODE_OF_CONDUCT.md +0 -39
  34. package/CONTRIBUTING.md +0 -59
  35. package/HONEYPOT.md +0 -358
  36. package/SECURITY.md +0 -33
  37. package/benchmark-results.txt +0 -40
  38. package/benchmark-virtualshell.ts +0 -88
  39. package/biome.json +0 -37
  40. package/build.js +0 -22
  41. package/builds/fortune-nyx-v1.5.1-directbash-k6.1.0.mjs +0 -1768
  42. package/builds/fortune-nyx-v1.5.1-ssh-nosftp.js +0 -1768
  43. package/builds/fortune-nyx-v1.5.1-ssh.cjs +0 -1769
  44. package/builds/fortune-nyx-v1.5.1-web.min.js +0 -17022
  45. package/bun.lock +0 -244
  46. package/docs/.nojekyll +0 -1
  47. package/docs/app.js +0 -1755
  48. package/docs/assets/hierarchy.js +0 -1
  49. package/docs/assets/highlight.css +0 -162
  50. package/docs/assets/icons.js +0 -18
  51. package/docs/assets/icons.svg +0 -1
  52. package/docs/assets/main.js +0 -60
  53. package/docs/assets/navigation.js +0 -1
  54. package/docs/assets/search.js +0 -1
  55. package/docs/assets/style.css +0 -1633
  56. package/docs/classes/HoneyPot.html +0 -31
  57. package/docs/classes/IdleManager.html +0 -162
  58. package/docs/classes/SshClient.html +0 -66
  59. package/docs/classes/VirtualFileSystem.html +0 -279
  60. package/docs/classes/VirtualPackageManager.html +0 -63
  61. package/docs/classes/VirtualSftpServer.html +0 -169
  62. package/docs/classes/VirtualShell.html +0 -285
  63. package/docs/classes/VirtualSshServer.html +0 -182
  64. package/docs/classes/VirtualUserManager.html +0 -276
  65. package/docs/demo.html +0 -82
  66. package/docs/functions/assertDiff.html +0 -6
  67. package/docs/functions/diffSnapshots.html +0 -7
  68. package/docs/functions/formatDiff.html +0 -6
  69. package/docs/functions/getArg.html +0 -13
  70. package/docs/functions/getFlag.html +0 -15
  71. package/docs/functions/ifFlag.html +0 -11
  72. package/docs/hierarchy.html +0 -1
  73. package/docs/index.html +0 -1869
  74. package/docs/interfaces/AuditLogEntry.html +0 -6
  75. package/docs/interfaces/CommandContext.html +0 -22
  76. package/docs/interfaces/CommandResult.html +0 -26
  77. package/docs/interfaces/ExecStream.html +0 -11
  78. package/docs/interfaces/HoneyPotStats.html +0 -16
  79. package/docs/interfaces/IdleManagerOptions.html +0 -7
  80. package/docs/interfaces/InstalledPackage.html +0 -20
  81. package/docs/interfaces/NanoEditorSession.html +0 -8
  82. package/docs/interfaces/PackageDefinition.html +0 -30
  83. package/docs/interfaces/PackageFile.html +0 -8
  84. package/docs/interfaces/PasswordChallenge.html +0 -16
  85. package/docs/interfaces/RemoveOptions.html +0 -4
  86. package/docs/interfaces/ShellEnv.html +0 -6
  87. package/docs/interfaces/ShellModule.html +0 -14
  88. package/docs/interfaces/ShellProperties.html +0 -14
  89. package/docs/interfaces/ShellStream.html +0 -11
  90. package/docs/interfaces/SudoChallenge.html +0 -24
  91. package/docs/interfaces/VfsBaseNode.html +0 -12
  92. package/docs/interfaces/VfsDiff.html +0 -10
  93. package/docs/interfaces/VfsDiffEntry.html +0 -6
  94. package/docs/interfaces/VfsDiffModified.html +0 -10
  95. package/docs/interfaces/VfsDirectoryNode.html +0 -15
  96. package/docs/interfaces/VfsFileNode.html +0 -17
  97. package/docs/interfaces/VfsOptions.html +0 -26
  98. package/docs/interfaces/VfsSnapshot.html +0 -3
  99. package/docs/interfaces/VfsSnapshotBaseNode.html +0 -8
  100. package/docs/interfaces/VfsSnapshotDirectoryNode.html +0 -10
  101. package/docs/interfaces/VfsSnapshotFileNode.html +0 -12
  102. package/docs/interfaces/VirtualActiveSession.html +0 -12
  103. package/docs/interfaces/VirtualSftpServerOptions.html +0 -7
  104. package/docs/interfaces/VirtualShellVfsLike.html +0 -15
  105. package/docs/interfaces/VirtualShellVfsOptions.html +0 -3
  106. package/docs/interfaces/WriteFileOptions.html +0 -6
  107. package/docs/media/LICENSE +0 -21
  108. package/docs/modules.html +0 -1
  109. package/docs/types/ArgParseOptions.html +0 -4
  110. package/docs/types/CommandMode.html +0 -2
  111. package/docs/types/CommandOutcome.html +0 -2
  112. package/docs/types/IdleState.html +0 -1
  113. package/docs/types/VfsNodeStats.html +0 -2
  114. package/docs/types/VfsNodeType.html +0 -2
  115. package/docs/types/VfsPersistenceMode.html +0 -5
  116. package/docs/types/VfsSnapshotNode.html +0 -2
  117. package/examples/README.md +0 -288
  118. package/examples/app.js +0 -1755
  119. package/examples/app.ts +0 -299
  120. package/examples/build.js +0 -27
  121. package/examples/demo.html +0 -33
  122. package/examples/honeypot-audit.ts +0 -180
  123. package/examples/honeypot-export.ts +0 -253
  124. package/examples/honeypot-quickstart.ts +0 -110
  125. package/examples/index.html +0 -82
  126. package/examples/server.js +0 -55
  127. package/polyfills/buffer.js +0 -117
  128. package/polyfills/node_child_process/index.js +0 -2
  129. package/polyfills/node_crypto/index.js +0 -167
  130. package/polyfills/node_events/index.js +0 -9
  131. package/polyfills/node_fs/index.js +0 -202
  132. package/polyfills/node_fs/promises.js +0 -4
  133. package/polyfills/node_os/index.js +0 -9
  134. package/polyfills/node_path/index.js +0 -28
  135. package/polyfills/node_vm/index.js +0 -7
  136. package/polyfills/node_zlib/index.js +0 -3
  137. package/polyfills/process.js +0 -14
  138. package/polyfills/ssh2/index.js +0 -75
  139. package/scripts/build-all.mjs +0 -226
  140. package/scripts/build-names.mjs +0 -43
  141. package/scripts/generate-manuals-bundle.mjs +0 -49
  142. package/scripts/postinstall.js +0 -42
  143. package/scripts/publish-package.sh +0 -70
  144. package/src/Honeypot/index.ts +0 -457
  145. package/src/SSHClient/index.ts +0 -270
  146. package/src/SSHMimic/exec.ts +0 -49
  147. package/src/SSHMimic/executor.ts +0 -251
  148. package/src/SSHMimic/hostKey.ts +0 -21
  149. package/src/SSHMimic/index.ts +0 -337
  150. package/src/SSHMimic/loginBanner.ts +0 -36
  151. package/src/SSHMimic/loginFormat.ts +0 -10
  152. package/src/SSHMimic/prompt.ts +0 -14
  153. package/src/SSHMimic/sftp.ts +0 -883
  154. package/src/VirtualFileSystem/binaryPack.ts +0 -258
  155. package/src/VirtualFileSystem/index.ts +0 -1193
  156. package/src/VirtualFileSystem/internalTypes.ts +0 -43
  157. package/src/VirtualFileSystem/journal.ts +0 -171
  158. package/src/VirtualFileSystem/path.ts +0 -74
  159. package/src/VirtualPackageManager/index.ts +0 -1006
  160. package/src/VirtualShell/idleManager.ts +0 -137
  161. package/src/VirtualShell/index.ts +0 -475
  162. package/src/VirtualShell/shell.ts +0 -700
  163. package/src/VirtualShell/shellParser.ts +0 -285
  164. package/src/VirtualUserManager/index.ts +0 -758
  165. package/src/bun.d.ts +0 -1
  166. package/src/commands/adduser.ts +0 -103
  167. package/src/commands/alias.ts +0 -69
  168. package/src/commands/apt.ts +0 -233
  169. package/src/commands/awk.ts +0 -168
  170. package/src/commands/base64.ts +0 -29
  171. package/src/commands/cat.ts +0 -52
  172. package/src/commands/cd.ts +0 -25
  173. package/src/commands/chmod.ts +0 -85
  174. package/src/commands/clear.ts +0 -15
  175. package/src/commands/command-helpers.ts +0 -286
  176. package/src/commands/cp.ts +0 -83
  177. package/src/commands/curl.ts +0 -147
  178. package/src/commands/cut.ts +0 -36
  179. package/src/commands/date.ts +0 -30
  180. package/src/commands/declare.ts +0 -49
  181. package/src/commands/deluser.ts +0 -98
  182. package/src/commands/df.ts +0 -23
  183. package/src/commands/diff.ts +0 -43
  184. package/src/commands/dpkg.ts +0 -180
  185. package/src/commands/du.ts +0 -56
  186. package/src/commands/echo.ts +0 -58
  187. package/src/commands/env.ts +0 -23
  188. package/src/commands/exit.ts +0 -18
  189. package/src/commands/export.ts +0 -34
  190. package/src/commands/find.ts +0 -68
  191. package/src/commands/free.ts +0 -47
  192. package/src/commands/grep.ts +0 -116
  193. package/src/commands/groups.ts +0 -19
  194. package/src/commands/gzip.ts +0 -88
  195. package/src/commands/head.ts +0 -52
  196. package/src/commands/help.ts +0 -152
  197. package/src/commands/helpers.ts +0 -234
  198. package/src/commands/history.ts +0 -34
  199. package/src/commands/hostname.ts +0 -14
  200. package/src/commands/htop.ts +0 -20
  201. package/src/commands/id.ts +0 -19
  202. package/src/commands/index.ts +0 -9
  203. package/src/commands/kill.ts +0 -19
  204. package/src/commands/ln.ts +0 -71
  205. package/src/commands/ls.ts +0 -243
  206. package/src/commands/lsb-release.ts +0 -63
  207. package/src/commands/man.ts +0 -31
  208. package/src/commands/manuals/adduser.txt +0 -11
  209. package/src/commands/manuals/apt-cache.txt +0 -12
  210. package/src/commands/manuals/apt.txt +0 -20
  211. package/src/commands/manuals/awk.txt +0 -13
  212. package/src/commands/manuals/cat.txt +0 -14
  213. package/src/commands/manuals/cd.txt +0 -16
  214. package/src/commands/manuals/chmod.txt +0 -16
  215. package/src/commands/manuals/clear.txt +0 -10
  216. package/src/commands/manuals/cp.txt +0 -10
  217. package/src/commands/manuals/curl.txt +0 -20
  218. package/src/commands/manuals/date.txt +0 -14
  219. package/src/commands/manuals/declare.txt +0 -12
  220. package/src/commands/manuals/deluser.txt +0 -10
  221. package/src/commands/manuals/df.txt +0 -10
  222. package/src/commands/manuals/dpkg-query.txt +0 -11
  223. package/src/commands/manuals/dpkg.txt +0 -14
  224. package/src/commands/manuals/du.txt +0 -11
  225. package/src/commands/manuals/echo.txt +0 -11
  226. package/src/commands/manuals/false.txt +0 -10
  227. package/src/commands/manuals/find.txt +0 -11
  228. package/src/commands/manuals/free.txt +0 -12
  229. package/src/commands/manuals/grep.txt +0 -13
  230. package/src/commands/manuals/groups.txt +0 -10
  231. package/src/commands/manuals/gzip.txt +0 -11
  232. package/src/commands/manuals/head.txt +0 -10
  233. package/src/commands/manuals/help.txt +0 -11
  234. package/src/commands/manuals/history.txt +0 -11
  235. package/src/commands/manuals/hostname.txt +0 -10
  236. package/src/commands/manuals/id.txt +0 -10
  237. package/src/commands/manuals/kill.txt +0 -13
  238. package/src/commands/manuals/ls.txt +0 -20
  239. package/src/commands/manuals/lsb_release.txt +0 -14
  240. package/src/commands/manuals/mkdir.txt +0 -10
  241. package/src/commands/manuals/mv.txt +0 -10
  242. package/src/commands/manuals/nano.txt +0 -11
  243. package/src/commands/manuals/neofetch.txt +0 -10
  244. package/src/commands/manuals/node.txt +0 -13
  245. package/src/commands/manuals/npm.txt +0 -13
  246. package/src/commands/manuals/npx.txt +0 -13
  247. package/src/commands/manuals/passwd.txt +0 -11
  248. package/src/commands/manuals/ping.txt +0 -10
  249. package/src/commands/manuals/printf.txt +0 -11
  250. package/src/commands/manuals/ps.txt +0 -10
  251. package/src/commands/manuals/pwd.txt +0 -10
  252. package/src/commands/manuals/python3.txt +0 -13
  253. package/src/commands/manuals/readlink.txt +0 -10
  254. package/src/commands/manuals/return.txt +0 -10
  255. package/src/commands/manuals/rm.txt +0 -10
  256. package/src/commands/manuals/sed.txt +0 -11
  257. package/src/commands/manuals/set.txt +0 -11
  258. package/src/commands/manuals/shift.txt +0 -10
  259. package/src/commands/manuals/sleep.txt +0 -10
  260. package/src/commands/manuals/sort.txt +0 -12
  261. package/src/commands/manuals/source.txt +0 -11
  262. package/src/commands/manuals/ssh.txt +0 -11
  263. package/src/commands/manuals/stat.txt +0 -10
  264. package/src/commands/manuals/su.txt +0 -13
  265. package/src/commands/manuals/sudo.txt +0 -11
  266. package/src/commands/manuals/tail.txt +0 -10
  267. package/src/commands/manuals/tar.txt +0 -19
  268. package/src/commands/manuals/tee.txt +0 -10
  269. package/src/commands/manuals/test.txt +0 -11
  270. package/src/commands/manuals/touch.txt +0 -11
  271. package/src/commands/manuals/tr.txt +0 -10
  272. package/src/commands/manuals/trap.txt +0 -10
  273. package/src/commands/manuals/true.txt +0 -10
  274. package/src/commands/manuals/type.txt +0 -10
  275. package/src/commands/manuals/uname.txt +0 -12
  276. package/src/commands/manuals/uniq.txt +0 -12
  277. package/src/commands/manuals/unset.txt +0 -10
  278. package/src/commands/manuals/uptime.txt +0 -11
  279. package/src/commands/manuals/wc.txt +0 -12
  280. package/src/commands/manuals/wget.txt +0 -12
  281. package/src/commands/manuals/which.txt +0 -10
  282. package/src/commands/manuals/whoami.txt +0 -10
  283. package/src/commands/manuals/xargs.txt +0 -10
  284. package/src/commands/manuals-bundle.ts +0 -898
  285. package/src/commands/mkdir.ts +0 -31
  286. package/src/commands/mv.ts +0 -50
  287. package/src/commands/nano.ts +0 -38
  288. package/src/commands/neofetch.ts +0 -53
  289. package/src/commands/node.ts +0 -341
  290. package/src/commands/npm.ts +0 -132
  291. package/src/commands/passwd.ts +0 -50
  292. package/src/commands/ping.ts +0 -32
  293. package/src/commands/printf.ts +0 -129
  294. package/src/commands/ps.ts +0 -58
  295. package/src/commands/pwd.ts +0 -9
  296. package/src/commands/python.ts +0 -2229
  297. package/src/commands/read.ts +0 -46
  298. package/src/commands/registry.ts +0 -249
  299. package/src/commands/rm.ts +0 -42
  300. package/src/commands/runtime.ts +0 -378
  301. package/src/commands/sed.ts +0 -68
  302. package/src/commands/seq.ts +0 -43
  303. package/src/commands/set.ts +0 -29
  304. package/src/commands/sh.ts +0 -467
  305. package/src/commands/shift.ts +0 -63
  306. package/src/commands/sleep.ts +0 -20
  307. package/src/commands/sort.ts +0 -46
  308. package/src/commands/source.ts +0 -52
  309. package/src/commands/stat.ts +0 -61
  310. package/src/commands/su.ts +0 -72
  311. package/src/commands/sudo.ts +0 -76
  312. package/src/commands/tail.ts +0 -53
  313. package/src/commands/tar.ts +0 -102
  314. package/src/commands/tee.ts +0 -36
  315. package/src/commands/test.ts +0 -137
  316. package/src/commands/touch.ts +0 -28
  317. package/src/commands/tr.ts +0 -70
  318. package/src/commands/tree.ts +0 -20
  319. package/src/commands/true.ts +0 -27
  320. package/src/commands/type.ts +0 -48
  321. package/src/commands/uname.ts +0 -29
  322. package/src/commands/uniq.ts +0 -39
  323. package/src/commands/unset.ts +0 -17
  324. package/src/commands/uptime.ts +0 -54
  325. package/src/commands/wc.ts +0 -55
  326. package/src/commands/wget.ts +0 -148
  327. package/src/commands/which.ts +0 -37
  328. package/src/commands/who.ts +0 -25
  329. package/src/commands/whoami.ts +0 -14
  330. package/src/commands/xargs.ts +0 -31
  331. package/src/index.ts +0 -67
  332. package/src/modules/linuxRootfs.ts +0 -1961
  333. package/src/modules/neofetch.ts +0 -358
  334. package/src/modules/shellInteractive.ts +0 -57
  335. package/src/modules/shellRuntime.ts +0 -76
  336. package/src/self-standalone.ts +0 -542
  337. package/src/standalone-wo-sftp.ts +0 -38
  338. package/src/standalone.ts +0 -72
  339. package/src/types/commands.ts +0 -146
  340. package/src/types/pipeline.ts +0 -52
  341. package/src/types/streams.ts +0 -32
  342. package/src/types/tar-stream.d.ts +0 -38
  343. package/src/types/vfs.ts +0 -98
  344. package/src/utils/expand.ts +0 -491
  345. package/src/utils/perfLogger.ts +0 -72
  346. package/src/utils/tokenize.ts +0 -98
  347. package/src/utils/vfsDiff.ts +0 -275
  348. package/tests/command-helpers.test.ts +0 -116
  349. package/tests/commands-admin-net.test.ts +0 -441
  350. package/tests/commands-advanced.test.ts +0 -456
  351. package/tests/commands-core.test.ts +0 -562
  352. package/tests/commands-missing.test.ts +0 -570
  353. package/tests/commands-specific-units.test.ts +0 -327
  354. package/tests/commands-text-sys.test.ts +0 -445
  355. package/tests/expand.test.ts +0 -170
  356. package/tests/helpers.test.ts +0 -97
  357. package/tests/new-features.test.ts +0 -1036
  358. package/tests/parser-executor.test.ts +0 -37
  359. package/tests/sftp.test.ts +0 -323
  360. package/tests/ssh-exec.test.ts +0 -45
  361. package/tests/test-helper.ts +0 -79
  362. package/tests/users.test.ts +0 -86
  363. package/tsconfig.json +0 -49
  364. package/typedoc.json +0 -47
@@ -1,63 +0,0 @@
1
- import type { ShellModule } from "../types/commands";
2
- import { ifFlag } from "./command-helpers";
3
-
4
- /**
5
- * Print Linux distribution information.
6
- * @category system
7
- * @params ["[-a] [-i] [-d] [-r] [-c]"]
8
- */
9
- export const lsbReleaseCommand: ShellModule = {
10
- name: "lsb_release",
11
- description: "Print distribution-specific information",
12
- category: "system",
13
- params: ["[-a] [-i] [-d] [-r] [-c]"],
14
- run: ({ args, shell }) => {
15
- let osName = shell.properties?.os ?? "Fortune GNU/Linux x64";
16
- let codename = "nyx";
17
- let version = "1.0";
18
-
19
- try {
20
- const content = shell.vfs.readFile("/etc/os-release");
21
- for (const line of content.split("\n")) {
22
- if (line.startsWith("PRETTY_NAME="))
23
- osName = line
24
- .slice("PRETTY_NAME=".length)
25
- .replace(/^"|"$/g, "")
26
- .trim();
27
- if (line.startsWith("VERSION_CODENAME="))
28
- codename = line.slice("VERSION_CODENAME=".length).trim();
29
- if (line.startsWith("VERSION_ID="))
30
- version = line
31
- .slice("VERSION_ID=".length)
32
- .replace(/^"|"$/g, "")
33
- .trim();
34
- }
35
- } catch {}
36
-
37
- const all = ifFlag(args, ["-a", "--all"]);
38
- const showId = ifFlag(args, ["-i", "--id"]);
39
- const showDesc = ifFlag(args, ["-d", "--description"]);
40
- const showRelease = ifFlag(args, ["-r", "--release"]);
41
- const showCodename = ifFlag(args, ["-c", "--codename"]);
42
-
43
- if (all || args.length === 0) {
44
- return {
45
- stdout: [
46
- `Distributor ID:\tFortune`,
47
- `Description:\t${osName}`,
48
- `Release:\t${version}`,
49
- `Codename:\t${codename}`,
50
- ].join("\n"),
51
- exitCode: 0,
52
- };
53
- }
54
-
55
- const lines: string[] = [];
56
- if (showId) lines.push(`Distributor ID:\tFortune`);
57
- if (showDesc) lines.push(`Description:\t${osName}`);
58
- if (showRelease) lines.push(`Release:\t${version}`);
59
- if (showCodename) lines.push(`Codename:\t${codename}`);
60
-
61
- return { stdout: lines.join("\n"), exitCode: 0 };
62
- },
63
- };
@@ -1,31 +0,0 @@
1
- import type { ShellModule } from "../types/commands";
2
- import { MANUALS } from "./manuals-bundle";
3
-
4
- const MANUAL_ALIASES: Record<string, string> = {
5
- gunzip: "gzip",
6
- };
7
-
8
- export const manCommand: ShellModule = {
9
- name: "man",
10
- description: "Interface to the system reference manuals",
11
- category: "shell",
12
- params: ["<command>"],
13
- run: async ({ args, shell }) => {
14
- const name = args[0];
15
- if (!name) return { stderr: "What manual page do you want?", exitCode: 1 };
16
-
17
- // VFS-installed man pages take priority
18
- const manPath = `/usr/share/man/man1/${name}.1`;
19
- if (shell.vfs.exists(manPath)) {
20
- return { stdout: shell.vfs.readFile(manPath), exitCode: 0 };
21
- }
22
-
23
- // Bundled manuals — available in all build modes (standalone, web, dev)
24
- const normalized = name.toLowerCase();
25
- const lookupName = MANUAL_ALIASES[normalized] ?? normalized;
26
- const page = MANUALS[lookupName] ?? null;
27
- if (page) return { stdout: page, exitCode: 0 };
28
-
29
- return { stderr: `No manual entry for ${name}`, exitCode: 16 };
30
- },
31
- };
@@ -1,11 +0,0 @@
1
- ADDUSER(8) User Commands ADDUSER(8)
2
-
3
- NAME
4
- adduser - add a user to the system
5
-
6
- SYNOPSIS
7
- adduser USERNAME
8
-
9
- DESCRIPTION
10
- Create a new user account with a home directory.
11
- In this environment, prompts for a password interactively.
@@ -1,12 +0,0 @@
1
- APT-CACHE(8) APT APT-CACHE(8)
2
-
3
- NAME
4
- apt-cache - query APT package cache
5
-
6
- SYNOPSIS
7
- apt-cache command [args]
8
-
9
- COMMANDS
10
- search term search package names/descriptions
11
- show pkg show package metadata
12
- policy pkg show package policy and candidate versions
@@ -1,20 +0,0 @@
1
- APT(8) APT APT(8)
2
-
3
- NAME
4
- apt - command-line interface
5
-
6
- SYNOPSIS
7
- apt [options] command
8
-
9
- DESCRIPTION
10
- apt provides a high-level commandline interface for the package
11
- management system.
12
-
13
- COMMANDS
14
- install pkg... Install packages
15
- remove pkg... Remove packages
16
- update Download package information
17
- upgrade Upgrade installed packages
18
- search term Search in package descriptions
19
- show pkg Show package information
20
- list List packages
@@ -1,13 +0,0 @@
1
- AWK(1) User Commands AWK(1)
2
-
3
- NAME
4
- awk - pattern scanning and processing language
5
-
6
- SYNOPSIS
7
- awk [OPTION]... 'PROGRAM' [FILE]...
8
-
9
- DESCRIPTION
10
- awk scans each input line, applies PROGRAM rules, and prints results.
11
-
12
- OPTIONS
13
- -F fs use fs as input field separator
@@ -1,14 +0,0 @@
1
- CAT(1) User Commands CAT(1)
2
-
3
- NAME
4
- cat - concatenate files and print on the standard output
5
-
6
- SYNOPSIS
7
- cat [OPTION]... [FILE]...
8
-
9
- DESCRIPTION
10
- Concatenate FILE(s) to standard output.
11
-
12
- OPTIONS
13
- -n, --number number all output lines
14
- -b, --number-nonblank number nonempty output lines
@@ -1,16 +0,0 @@
1
- CD(1) Shell Builtins CD(1)
2
-
3
- NAME
4
- cd - change the shell working directory
5
-
6
- SYNOPSIS
7
- cd [DIRECTORY]
8
-
9
- DESCRIPTION
10
- Change the current working directory.
11
- Without DIRECTORY, changes to $HOME.
12
-
13
- EXAMPLES
14
- cd /etc
15
- cd ..
16
- cd ~
@@ -1,16 +0,0 @@
1
- CHMOD(1) User Commands CHMOD(1)
2
-
3
- NAME
4
- chmod - change file mode bits
5
-
6
- SYNOPSIS
7
- chmod [OPTION]... MODE[,MODE]... FILE...
8
- chmod [OPTION]... OCTAL-MODE FILE...
9
-
10
- DESCRIPTION
11
- Change the file mode bits of each given file according to MODE.
12
-
13
- EXAMPLES
14
- chmod 755 script.sh rwxr-xr-x
15
- chmod 644 file.txt rw-r--r--
16
- chmod +x script.sh add execute permission
@@ -1,10 +0,0 @@
1
- CLEAR(1) User Commands CLEAR(1)
2
-
3
- NAME
4
- clear - clear the terminal screen
5
-
6
- SYNOPSIS
7
- clear
8
-
9
- DESCRIPTION
10
- Clear the display and move cursor to top-left.
@@ -1,10 +0,0 @@
1
- CP(1) User Commands CP(1)
2
-
3
- NAME
4
- cp - copy files and directories
5
-
6
- SYNOPSIS
7
- cp [OPTION]... SOURCE... DEST
8
-
9
- OPTIONS
10
- -r copy directories recursively
@@ -1,20 +0,0 @@
1
- CURL(1) User Commands CURL(1)
2
-
3
- NAME
4
- curl - transfer a URL
5
-
6
- SYNOPSIS
7
- curl [options / URLs]
8
-
9
- DESCRIPTION
10
- curl is a tool for transferring data with URL syntax.
11
-
12
- OPTIONS
13
- -o, --output <file> Write output to <file>
14
- -X, --request <method> Specify request method
15
- -d, --data <data> HTTP POST data
16
- -H, --header <header> Pass custom header
17
- -s, --silent Silent mode
18
- -I, --head Show document info only
19
- -L, --location Follow redirects
20
- -v, --verbose Make the operation more talkative
@@ -1,14 +0,0 @@
1
- DATE(1) User Commands DATE(1)
2
-
3
- NAME
4
- date - print or set the system date and time
5
-
6
- SYNOPSIS
7
- date [+FORMAT]
8
-
9
- DESCRIPTION
10
- Display current date/time, optionally formatted.
11
-
12
- EXAMPLES
13
- date
14
- date +%Y-%m-%d
@@ -1,12 +0,0 @@
1
- DECLARE(1) Shell Builtins DECLARE(1)
2
-
3
- NAME
4
- declare - set variable values and attributes
5
-
6
- SYNOPSIS
7
- declare [OPTION]... [NAME[=VALUE]...]
8
-
9
- OPTIONS
10
- -i variable has integer attribute
11
- -r make NAMEs readonly
12
- -x export NAMEs to environment
@@ -1,10 +0,0 @@
1
- DELUSER(8) User Commands DELUSER(8)
2
-
3
- NAME
4
- deluser - remove a user account
5
-
6
- SYNOPSIS
7
- deluser [OPTION] USERNAME
8
-
9
- OPTIONS
10
- -f, --force remove without interactive confirmation
@@ -1,10 +0,0 @@
1
- DF(1) User Commands DF(1)
2
-
3
- NAME
4
- df - report file system disk space usage
5
-
6
- SYNOPSIS
7
- df [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -h print sizes in human readable format
@@ -1,11 +0,0 @@
1
- DPKG-QUERY(1) User Commands DPKG-QUERY(1)
2
-
3
- NAME
4
- dpkg-query - tool to query the dpkg database
5
-
6
- SYNOPSIS
7
- dpkg-query [OPTION]... [ACTION]
8
-
9
- OPTIONS
10
- -W list installed packages (show format)
11
- -l list packages
@@ -1,14 +0,0 @@
1
- DPKG(1) User Commands DPKG(1)
2
-
3
- NAME
4
- dpkg - package manager for Debian-like systems
5
-
6
- SYNOPSIS
7
- dpkg [OPTION]... ACTION
8
-
9
- OPTIONS
10
- -l list installed packages
11
- -s show package status
12
- -L list files in package
13
- -r remove package
14
- -P purge package
@@ -1,11 +0,0 @@
1
- DU(1) User Commands DU(1)
2
-
3
- NAME
4
- du - estimate file space usage
5
-
6
- SYNOPSIS
7
- du [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -h print sizes in human readable format
11
- -s display only a total for each argument
@@ -1,11 +0,0 @@
1
- ECHO(1) User Commands ECHO(1)
2
-
3
- NAME
4
- echo - display a line of text
5
-
6
- SYNOPSIS
7
- echo [OPTION]... [STRING]...
8
-
9
- OPTIONS
10
- -n do not output the trailing newline
11
- -e enable interpretation of backslash escapes
@@ -1,10 +0,0 @@
1
- FALSE(1) User Commands FALSE(1)
2
-
3
- NAME
4
- false - do nothing, unsuccessfully
5
-
6
- SYNOPSIS
7
- false
8
-
9
- DESCRIPTION
10
- Exit with a status code indicating failure (1).
@@ -1,11 +0,0 @@
1
- FIND(1) User Commands FIND(1)
2
-
3
- NAME
4
- find - search for files in a directory hierarchy
5
-
6
- SYNOPSIS
7
- find [PATH] [EXPRESSION]
8
-
9
- OPTIONS
10
- -name PATTERN base name matches shell PATTERN
11
- -type TYPE file type, e.g. f for file, d for directory
@@ -1,12 +0,0 @@
1
- FREE(1) User Commands FREE(1)
2
-
3
- NAME
4
- free - display amount of free and used memory in the system
5
-
6
- SYNOPSIS
7
- free [OPTION]...
8
-
9
- OPTIONS
10
- -h show all output fields automatically scaled
11
- -m show output in mebibytes
12
- -g show output in gibibytes
@@ -1,13 +0,0 @@
1
- GREP(1) User Commands GREP(1)
2
-
3
- NAME
4
- grep, egrep, fgrep - print lines that match patterns
5
-
6
- SYNOPSIS
7
- grep [OPTION]... PATTERNS [FILE]...
8
-
9
- OPTIONS
10
- -i, --ignore-case ignore case distinctions in patterns and data
11
- -v, --invert-match select non-matching lines
12
- -n, --line-number print line number with output lines
13
- -r, --recursive read all files under each directory, recursively
@@ -1,10 +0,0 @@
1
- GROUPS(1) User Commands GROUPS(1)
2
-
3
- NAME
4
- groups - print the groups a user is in
5
-
6
- SYNOPSIS
7
- groups [USER]
8
-
9
- DESCRIPTION
10
- Print group memberships for USER or current user if omitted.
@@ -1,11 +0,0 @@
1
- GZIP(1) User Commands GZIP(1)
2
-
3
- NAME
4
- gzip, gunzip - compress or expand files
5
-
6
- SYNOPSIS
7
- gzip FILE...
8
- gunzip FILE...
9
-
10
- DESCRIPTION
11
- Compress or decompress files in place.
@@ -1,10 +0,0 @@
1
- HEAD(1) User Commands HEAD(1)
2
-
3
- NAME
4
- head - output the first part of files
5
-
6
- SYNOPSIS
7
- head [OPTION]... [FILE]...
8
-
9
- OPTIONS
10
- -n, --lines=[-]NUM print the first NUM lines
@@ -1,11 +0,0 @@
1
- HELP(1) Shell Builtins HELP(1)
2
-
3
- NAME
4
- help - display information about builtin commands
5
-
6
- SYNOPSIS
7
- help [COMMAND]
8
-
9
- DESCRIPTION
10
- With no arguments, list available commands.
11
- With COMMAND, show usage details for that command.
@@ -1,11 +0,0 @@
1
- HISTORY(1) Shell Builtins HISTORY(1)
2
-
3
- NAME
4
- history - command history list
5
-
6
- SYNOPSIS
7
- history [N]
8
-
9
- DESCRIPTION
10
- Print recent command history entries.
11
- If N is provided, print only the last N entries.
@@ -1,10 +0,0 @@
1
- HOSTNAME(1) User Commands HOSTNAME(1)
2
-
3
- NAME
4
- hostname - show or set the system host name
5
-
6
- SYNOPSIS
7
- hostname
8
-
9
- DESCRIPTION
10
- Print the current host name.
@@ -1,10 +0,0 @@
1
- ID(1) User Commands ID(1)
2
-
3
- NAME
4
- id - print real and effective user and group IDs
5
-
6
- SYNOPSIS
7
- id [USER]
8
-
9
- DESCRIPTION
10
- Print user identity information including uid, gid, and groups.
@@ -1,13 +0,0 @@
1
- KILL(1) User Commands KILL(1)
2
-
3
- NAME
4
- kill - send signals to processes
5
-
6
- SYNOPSIS
7
- kill [-SIGNAL] PID...
8
-
9
- DESCRIPTION
10
- Send a signal to one or more process IDs.
11
-
12
- NOTES
13
- This environment provides a mock process model.
@@ -1,20 +0,0 @@
1
- LS(1) User Commands LS(1)
2
-
3
- NAME
4
- ls - list directory contents
5
-
6
- SYNOPSIS
7
- ls [OPTION]... [FILE]...
8
-
9
- DESCRIPTION
10
- List information about the FILEs (the current directory by default).
11
-
12
- OPTIONS
13
- -l use a long listing format
14
- -a do not ignore entries starting with .
15
- -h with -l, print human readable sizes
16
- -r reverse order while sorting
17
- -t sort by modification time
18
-
19
- AUTHOR
20
- Written by Richard M. Stallman and David MacKenzie.
@@ -1,14 +0,0 @@
1
- LSB_RELEASE(1) User Commands LSB_RELEASE(1)
2
-
3
- NAME
4
- lsb_release - print distribution-specific information
5
-
6
- SYNOPSIS
7
- lsb_release [OPTION]...
8
-
9
- OPTIONS
10
- -a show all available information
11
- -i show distributor ID
12
- -d show description
13
- -r show release number
14
- -c show codename
@@ -1,10 +0,0 @@
1
- MKDIR(1) User Commands MKDIR(1)
2
-
3
- NAME
4
- mkdir - make directories
5
-
6
- SYNOPSIS
7
- mkdir [OPTION]... DIRECTORY...
8
-
9
- OPTIONS
10
- -p no error if existing, make parent directories as needed
@@ -1,10 +0,0 @@
1
- MV(1) User Commands MV(1)
2
-
3
- NAME
4
- mv - move (rename) files
5
-
6
- SYNOPSIS
7
- mv SOURCE DEST
8
-
9
- DESCRIPTION
10
- Rename SOURCE to DEST, or move SOURCE into a destination directory.
@@ -1,11 +0,0 @@
1
- NANO(1) User Commands NANO(1)
2
-
3
- NAME
4
- nano - simple terminal text editor
5
-
6
- SYNOPSIS
7
- nano FILE
8
-
9
- DESCRIPTION
10
- Open FILE in an interactive editor.
11
- Save with Ctrl+O, exit with Ctrl+X.
@@ -1,10 +0,0 @@
1
- NEOFETCH(1) User Commands NEOFETCH(1)
2
-
3
- NAME
4
- neofetch - display system information
5
-
6
- SYNOPSIS
7
- neofetch
8
-
9
- DESCRIPTION
10
- Print OS, kernel, uptime, package count, and related system details.
@@ -1,13 +0,0 @@
1
- NODE(1) User Commands NODE(1)
2
-
3
- NAME
4
- node - virtual JavaScript runtime entry point
5
-
6
- SYNOPSIS
7
- node [--version] [-e SCRIPT] [-p EXPR]
8
-
9
- DESCRIPTION
10
- Execute JavaScript snippets in the virtual runtime.
11
-
12
- NOTES
13
- Requires package installation: apt install nodejs.
@@ -1,13 +0,0 @@
1
- NPM(1) User Commands NPM(1)
2
-
3
- NAME
4
- npm - virtual Node.js package manager interface
5
-
6
- SYNOPSIS
7
- npm [--version] [COMMAND]
8
-
9
- DESCRIPTION
10
- Manage packages and run scripts in the virtual environment.
11
-
12
- NOTES
13
- Requires package installation: apt install npm.
@@ -1,13 +0,0 @@
1
- NPX(1) User Commands NPX(1)
2
-
3
- NAME
4
- npx - execute package binaries from npm
5
-
6
- SYNOPSIS
7
- npx [--version] <command>
8
-
9
- DESCRIPTION
10
- Run package executables in the virtual environment.
11
-
12
- NOTES
13
- Requires package installation: apt install npm.
@@ -1,11 +0,0 @@
1
- PASSWD(1) User Commands PASSWD(1)
2
-
3
- NAME
4
- passwd - change user password
5
-
6
- SYNOPSIS
7
- passwd [USER]
8
-
9
- DESCRIPTION
10
- Update the authentication token (password) for USER.
11
- Without USER, change the current user's password.
@@ -1,10 +0,0 @@
1
- PING(8) User Commands PING(8)
2
-
3
- NAME
4
- ping - send ICMP ECHO_REQUEST to network hosts
5
-
6
- SYNOPSIS
7
- ping [-c COUNT] DESTINATION
8
-
9
- OPTIONS
10
- -c COUNT stop after sending COUNT packets