typescript-virtual-container 1.4.3 → 1.4.5
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.
- package/.vscode/settings.json +2 -1
- package/README.md +137 -19
- package/benchmark-results.txt +21 -21
- package/builds/self-standalone.js +322 -266
- package/builds/self-standalone.js.map +4 -4
- package/builds/standalone-wo-sftp.js +268 -212
- package/builds/standalone-wo-sftp.js.map +4 -4
- package/builds/standalone.js +268 -212
- package/builds/standalone.js.map +4 -4
- package/builds/web-full-api.min.js +5 -5
- package/builds/web-full-api.min.js.map +3 -3
- package/builds/web.min.js +5 -5
- package/builds/web.min.js.map +3 -3
- package/bun.lock +101 -6
- package/dist/Honeypot/index.js +1 -0
- package/dist/Honeypot/index.js.map +1 -0
- package/dist/SSHClient/index.js +1 -0
- package/dist/SSHClient/index.js.map +1 -0
- package/dist/SSHMimic/exec.js +1 -0
- package/dist/SSHMimic/exec.js.map +1 -0
- package/dist/SSHMimic/executor.js +1 -0
- package/dist/SSHMimic/executor.js.map +1 -0
- package/dist/SSHMimic/hostKey.js +1 -0
- package/dist/SSHMimic/hostKey.js.map +1 -0
- package/dist/SSHMimic/index.js +1 -0
- package/dist/SSHMimic/index.js.map +1 -0
- package/dist/SSHMimic/loginBanner.js +1 -0
- package/dist/SSHMimic/loginBanner.js.map +1 -0
- package/dist/SSHMimic/loginFormat.js +1 -0
- package/dist/SSHMimic/loginFormat.js.map +1 -0
- package/dist/SSHMimic/prompt.js +1 -0
- package/dist/SSHMimic/prompt.js.map +1 -0
- package/dist/SSHMimic/sftp.js +1 -0
- package/dist/SSHMimic/sftp.js.map +1 -0
- package/dist/VirtualFileSystem/binaryPack.js +1 -0
- package/dist/VirtualFileSystem/binaryPack.js.map +1 -0
- package/dist/VirtualFileSystem/index.d.ts.map +1 -1
- package/dist/VirtualFileSystem/index.js +1 -0
- package/dist/VirtualFileSystem/index.js.map +1 -0
- package/dist/VirtualFileSystem/internalTypes.js +1 -0
- package/dist/VirtualFileSystem/internalTypes.js.map +1 -0
- package/dist/VirtualFileSystem/path.js +1 -0
- package/dist/VirtualFileSystem/path.js.map +1 -0
- package/dist/VirtualPackageManager/index.js +1 -0
- package/dist/VirtualPackageManager/index.js.map +1 -0
- package/dist/VirtualShell/index.js +1 -0
- package/dist/VirtualShell/index.js.map +1 -0
- package/dist/VirtualShell/shell.js +1 -0
- package/dist/VirtualShell/shell.js.map +1 -0
- package/dist/VirtualShell/shellParser.d.ts.map +1 -1
- package/dist/VirtualShell/shellParser.js +3 -1
- package/dist/VirtualShell/shellParser.js.map +1 -0
- package/dist/VirtualUserManager/index.js +1 -0
- package/dist/VirtualUserManager/index.js.map +1 -0
- package/dist/commands/adduser.js +1 -0
- package/dist/commands/adduser.js.map +1 -0
- package/dist/commands/alias.js +1 -0
- package/dist/commands/alias.js.map +1 -0
- package/dist/commands/apt.js +1 -0
- package/dist/commands/apt.js.map +1 -0
- package/dist/commands/awk.d.ts.map +1 -1
- package/dist/commands/awk.js +2 -2
- package/dist/commands/awk.js.map +1 -0
- package/dist/commands/base64.js +1 -0
- package/dist/commands/base64.js.map +1 -0
- package/dist/commands/cat.js +1 -0
- package/dist/commands/cat.js.map +1 -0
- package/dist/commands/cd.js +3 -2
- package/dist/commands/cd.js.map +1 -0
- package/dist/commands/chmod.js +1 -0
- package/dist/commands/chmod.js.map +1 -0
- package/dist/commands/clear.js +1 -0
- package/dist/commands/clear.js.map +1 -0
- package/dist/commands/command-helpers.js +1 -0
- package/dist/commands/command-helpers.js.map +1 -0
- package/dist/commands/cp.js +1 -0
- package/dist/commands/cp.js.map +1 -0
- package/dist/commands/curl.js +1 -0
- package/dist/commands/curl.js.map +1 -0
- package/dist/commands/cut.js +1 -0
- package/dist/commands/cut.js.map +1 -0
- package/dist/commands/date.js +1 -0
- package/dist/commands/date.js.map +1 -0
- package/dist/commands/declare.js +1 -0
- package/dist/commands/declare.js.map +1 -0
- package/dist/commands/deluser.js +1 -0
- package/dist/commands/deluser.js.map +1 -0
- package/dist/commands/df.js +1 -0
- package/dist/commands/df.js.map +1 -0
- package/dist/commands/diff.js +1 -0
- package/dist/commands/diff.js.map +1 -0
- package/dist/commands/dpkg.js +1 -0
- package/dist/commands/dpkg.js.map +1 -0
- package/dist/commands/du.js +1 -0
- package/dist/commands/du.js.map +1 -0
- package/dist/commands/echo.js +1 -0
- package/dist/commands/echo.js.map +1 -0
- package/dist/commands/env.js +1 -0
- package/dist/commands/env.js.map +1 -0
- package/dist/commands/exit.js +1 -0
- package/dist/commands/exit.js.map +1 -0
- package/dist/commands/export.js +1 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/find.js +1 -0
- package/dist/commands/find.js.map +1 -0
- package/dist/commands/free.js +1 -0
- package/dist/commands/free.js.map +1 -0
- package/dist/commands/grep.js +1 -0
- package/dist/commands/grep.js.map +1 -0
- package/dist/commands/groups.js +1 -0
- package/dist/commands/groups.js.map +1 -0
- package/dist/commands/gzip.js +1 -0
- package/dist/commands/gzip.js.map +1 -0
- package/dist/commands/head.js +1 -0
- package/dist/commands/head.js.map +1 -0
- package/dist/commands/help.js +1 -0
- package/dist/commands/help.js.map +1 -0
- package/dist/commands/helpers.d.ts.map +1 -1
- package/dist/commands/helpers.js +4 -0
- package/dist/commands/helpers.js.map +1 -0
- package/dist/commands/history.js +1 -0
- package/dist/commands/history.js.map +1 -0
- package/dist/commands/hostname.js +1 -0
- package/dist/commands/hostname.js.map +1 -0
- package/dist/commands/htop.js +1 -0
- package/dist/commands/htop.js.map +1 -0
- package/dist/commands/id.js +1 -0
- package/dist/commands/id.js.map +1 -0
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -0
- package/dist/commands/kill.js +1 -0
- package/dist/commands/kill.js.map +1 -0
- package/dist/commands/ln.js +1 -0
- package/dist/commands/ln.js.map +1 -0
- package/dist/commands/ls.d.ts.map +1 -1
- package/dist/commands/ls.js +171 -37
- package/dist/commands/ls.js.map +1 -0
- package/dist/commands/lsb-release.js +1 -0
- package/dist/commands/lsb-release.js.map +1 -0
- package/dist/commands/man.js +1 -0
- package/dist/commands/man.js.map +1 -0
- package/dist/commands/mkdir.js +1 -0
- package/dist/commands/mkdir.js.map +1 -0
- package/dist/commands/mv.js +1 -0
- package/dist/commands/mv.js.map +1 -0
- package/dist/commands/nano.js +1 -0
- package/dist/commands/nano.js.map +1 -0
- package/dist/commands/neofetch.js +1 -0
- package/dist/commands/neofetch.js.map +1 -0
- package/dist/commands/node.js +1 -0
- package/dist/commands/node.js.map +1 -0
- package/dist/commands/npm.js +1 -0
- package/dist/commands/npm.js.map +1 -0
- package/dist/commands/passwd.js +1 -0
- package/dist/commands/passwd.js.map +1 -0
- package/dist/commands/ping.js +1 -0
- package/dist/commands/ping.js.map +1 -0
- package/dist/commands/printf.js +1 -0
- package/dist/commands/printf.js.map +1 -0
- package/dist/commands/ps.js +1 -0
- package/dist/commands/ps.js.map +1 -0
- package/dist/commands/pwd.js +1 -0
- package/dist/commands/pwd.js.map +1 -0
- package/dist/commands/python.js +1 -0
- package/dist/commands/python.js.map +1 -0
- package/dist/commands/read.js +1 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/registry.js +1 -0
- package/dist/commands/registry.js.map +1 -0
- package/dist/commands/rm.js +1 -0
- package/dist/commands/rm.js.map +1 -0
- package/dist/commands/runtime.d.ts.map +1 -1
- package/dist/commands/runtime.js +37 -0
- package/dist/commands/runtime.js.map +1 -0
- package/dist/commands/sed.js +1 -0
- package/dist/commands/sed.js.map +1 -0
- package/dist/commands/seq.js +1 -0
- package/dist/commands/seq.js.map +1 -0
- package/dist/commands/set.js +1 -0
- package/dist/commands/set.js.map +1 -0
- package/dist/commands/sh.d.ts.map +1 -1
- package/dist/commands/sh.js +9 -4
- package/dist/commands/sh.js.map +1 -0
- package/dist/commands/shift.js +1 -0
- package/dist/commands/shift.js.map +1 -0
- package/dist/commands/sleep.js +1 -0
- package/dist/commands/sleep.js.map +1 -0
- package/dist/commands/sort.js +1 -0
- package/dist/commands/sort.js.map +1 -0
- package/dist/commands/source.js +1 -0
- package/dist/commands/source.js.map +1 -0
- package/dist/commands/stat.js +1 -0
- package/dist/commands/stat.js.map +1 -0
- package/dist/commands/su.js +1 -0
- package/dist/commands/su.js.map +1 -0
- package/dist/commands/sudo.js +1 -0
- package/dist/commands/sudo.js.map +1 -0
- package/dist/commands/tail.js +1 -0
- package/dist/commands/tail.js.map +1 -0
- package/dist/commands/tar.js +1 -0
- package/dist/commands/tar.js.map +1 -0
- package/dist/commands/tee.js +1 -0
- package/dist/commands/tee.js.map +1 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +1 -0
- package/dist/commands/test.js.map +1 -0
- package/dist/commands/touch.js +1 -0
- package/dist/commands/touch.js.map +1 -0
- package/dist/commands/tr.js +1 -0
- package/dist/commands/tr.js.map +1 -0
- package/dist/commands/tree.js +1 -0
- package/dist/commands/tree.js.map +1 -0
- package/dist/commands/true.js +1 -0
- package/dist/commands/true.js.map +1 -0
- package/dist/commands/type.js +1 -0
- package/dist/commands/type.js.map +1 -0
- package/dist/commands/uname.js +1 -0
- package/dist/commands/uname.js.map +1 -0
- package/dist/commands/uniq.js +1 -0
- package/dist/commands/uniq.js.map +1 -0
- package/dist/commands/unset.js +1 -0
- package/dist/commands/unset.js.map +1 -0
- package/dist/commands/uptime.js +1 -0
- package/dist/commands/uptime.js.map +1 -0
- package/dist/commands/wc.js +2 -1
- package/dist/commands/wc.js.map +1 -0
- package/dist/commands/wget.js +1 -0
- package/dist/commands/wget.js.map +1 -0
- package/dist/commands/which.js +1 -0
- package/dist/commands/which.js.map +1 -0
- package/dist/commands/who.js +1 -0
- package/dist/commands/who.js.map +1 -0
- package/dist/commands/whoami.js +1 -0
- package/dist/commands/whoami.js.map +1 -0
- package/dist/commands/xargs.js +1 -0
- package/dist/commands/xargs.js.map +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/linuxRootfs.d.ts +35 -17
- package/dist/modules/linuxRootfs.d.ts.map +1 -1
- package/dist/modules/linuxRootfs.js +332 -152
- package/dist/modules/linuxRootfs.js.map +1 -0
- package/dist/modules/neofetch.js +1 -0
- package/dist/modules/neofetch.js.map +1 -0
- package/dist/modules/shellInteractive.js +1 -0
- package/dist/modules/shellInteractive.js.map +1 -0
- package/dist/modules/shellRuntime.js +1 -0
- package/dist/modules/shellRuntime.js.map +1 -0
- package/dist/self-standalone.js +1 -0
- package/dist/self-standalone.js.map +1 -0
- package/dist/standalone-wo-sftp.js +1 -0
- package/dist/standalone-wo-sftp.js.map +1 -0
- package/dist/standalone.js +1 -0
- package/dist/standalone.js.map +1 -0
- package/dist/types/commands.d.ts +1 -1
- package/dist/types/commands.d.ts.map +1 -1
- package/dist/types/commands.js +1 -0
- package/dist/types/commands.js.map +1 -0
- package/dist/types/pipeline.js +1 -0
- package/dist/types/pipeline.js.map +1 -0
- package/dist/types/streams.js +1 -0
- package/dist/types/streams.js.map +1 -0
- package/dist/types/vfs.js +1 -0
- package/dist/types/vfs.js.map +1 -0
- package/dist/utils/expand.d.ts +2 -2
- package/dist/utils/expand.d.ts.map +1 -1
- package/dist/utils/expand.js +336 -124
- package/dist/utils/expand.js.map +1 -0
- package/dist/utils/perfLogger.js +1 -0
- package/dist/utils/perfLogger.js.map +1 -0
- package/dist/utils/tokenize.js +1 -0
- package/dist/utils/tokenize.js.map +1 -0
- package/dist/utils/vfsDiff.js +1 -0
- package/dist/utils/vfsDiff.js.map +1 -0
- package/dist/web-api.js +1 -0
- package/dist/web-api.js.map +1 -0
- package/dist/web-full.js +1 -0
- package/dist/web-full.js.map +1 -0
- package/dist/web.js +1 -0
- package/dist/web.js.map +1 -0
- package/docs/.nojekyll +1 -0
- package/docs/assets/hierarchy.js +1 -0
- package/docs/assets/highlight.css +162 -0
- package/docs/assets/icons.js +18 -0
- package/docs/assets/icons.svg +1 -0
- package/docs/assets/main.js +60 -0
- package/docs/assets/navigation.js +1 -0
- package/docs/assets/search.js +1 -0
- package/docs/assets/style.css +1633 -0
- package/docs/classes/HoneyPot.html +31 -0
- package/docs/classes/SshClient.html +66 -0
- package/docs/classes/VirtualFileSystem.html +262 -0
- package/docs/classes/VirtualPackageManager.html +63 -0
- package/docs/classes/VirtualSftpServer.html +169 -0
- package/docs/classes/VirtualShell.html +265 -0
- package/docs/classes/VirtualSshServer.html +177 -0
- package/docs/classes/VirtualUserManager.html +276 -0
- package/docs/docs/.nojekyll +1 -0
- package/docs/docs/assets/hierarchy.js +1 -0
- package/docs/docs/assets/highlight.css +162 -0
- package/docs/docs/assets/icons.js +18 -0
- package/docs/docs/assets/icons.svg +1 -0
- package/docs/docs/assets/main.js +60 -0
- package/docs/docs/assets/navigation.js +1 -0
- package/docs/docs/assets/search.js +1 -0
- package/docs/docs/assets/style.css +1633 -0
- package/docs/docs/hierarchy.html +1 -0
- package/docs/docs/index.html +1842 -0
- package/docs/docs/media/LICENSE +21 -0
- package/docs/docs/modules.html +1 -0
- package/docs/functions/assertDiff.html +6 -0
- package/docs/functions/diffSnapshots.html +7 -0
- package/docs/functions/formatDiff.html +6 -0
- package/docs/functions/getArg.html +13 -0
- package/docs/functions/getFlag.html +15 -0
- package/docs/functions/ifFlag.html +11 -0
- package/docs/hierarchy.html +1 -0
- package/docs/index.html +1842 -0
- package/docs/interfaces/AuditLogEntry.html +6 -0
- package/docs/interfaces/CommandContext.html +22 -0
- package/docs/interfaces/CommandResult.html +26 -0
- package/docs/interfaces/ExecStream.html +11 -0
- package/docs/interfaces/HoneyPotStats.html +14 -0
- package/docs/interfaces/InstalledPackage.html +20 -0
- package/docs/interfaces/NanoEditorSession.html +8 -0
- package/docs/interfaces/PackageDefinition.html +30 -0
- package/docs/interfaces/PackageFile.html +8 -0
- package/docs/interfaces/RemoveOptions.html +4 -0
- package/docs/interfaces/ShellEnv.html +6 -0
- package/docs/interfaces/ShellModule.html +14 -0
- package/docs/interfaces/ShellProperties.html +14 -0
- package/docs/interfaces/ShellStream.html +11 -0
- package/docs/interfaces/SudoChallenge.html +24 -0
- package/docs/interfaces/VfsBaseNode.html +12 -0
- package/docs/interfaces/VfsDiff.html +10 -0
- package/docs/interfaces/VfsDiffEntry.html +6 -0
- package/docs/interfaces/VfsDiffModified.html +10 -0
- package/docs/interfaces/VfsDirectoryNode.html +15 -0
- package/docs/interfaces/VfsFileNode.html +17 -0
- package/docs/interfaces/VfsOptions.html +12 -0
- package/docs/interfaces/VfsSnapshot.html +3 -0
- package/docs/interfaces/VfsSnapshotBaseNode.html +8 -0
- package/docs/interfaces/VfsSnapshotDirectoryNode.html +10 -0
- package/docs/interfaces/VfsSnapshotFileNode.html +12 -0
- package/docs/interfaces/WriteFileOptions.html +6 -0
- package/docs/media/LICENSE +21 -0
- package/docs/modules.html +1 -0
- package/docs/types/CommandMode.html +2 -0
- package/docs/types/CommandOutcome.html +2 -0
- package/docs/types/VfsNodeStats.html +2 -0
- package/docs/types/VfsNodeType.html +2 -0
- package/docs/types/VfsPersistenceMode.html +5 -0
- package/docs/types/VfsSnapshotNode.html +2 -0
- package/examples/web.min.js +5 -5
- package/package.json +7 -4
- package/src/VirtualFileSystem/index.ts +11 -9
- package/src/VirtualShell/shellParser.ts +3 -2
- package/src/bun.d.ts +1 -0
- package/src/commands/awk.ts +1 -2
- package/src/commands/cd.ts +2 -2
- package/src/commands/helpers.ts +3 -0
- package/src/commands/ls.ts +210 -41
- package/src/commands/runtime.ts +56 -3
- package/src/commands/sh.ts +7 -4
- package/src/commands/test.ts +4 -2
- package/src/commands/wc.ts +1 -1
- package/src/modules/linuxRootfs.ts +420 -231
- package/src/types/commands.ts +1 -1
- package/src/utils/expand.ts +256 -76
- package/tests/command-helpers.test.ts +80 -0
- package/tests/commands-admin-net.test.ts +441 -0
- package/tests/commands-advanced.test.ts +456 -0
- package/tests/commands-core.test.ts +562 -0
- package/tests/commands-missing.test.ts +570 -0
- package/tests/commands-specific-units.test.ts +327 -0
- package/tests/commands-text-sys.test.ts +445 -0
- package/tests/expand.test.ts +170 -0
- package/tests/helpers.test.ts +75 -0
- package/tests/test-helper.ts +79 -0
- package/tsconfig.json +3 -0
- package/typedoc.json +8 -0
- package/tests/bun-test-shim.ts +0 -9
package/.vscode/settings.json
CHANGED
package/README.md
CHANGED
|
@@ -1231,27 +1231,145 @@ On every `VirtualShell` init, a realistic Linux hierarchy is bootstrapped idempo
|
|
|
1231
1231
|
|
|
1232
1232
|
```
|
|
1233
1233
|
/
|
|
1234
|
-
├── bin ->
|
|
1235
|
-
├──
|
|
1234
|
+
├── bin -> usr/bin (symlink, Debian-style)
|
|
1235
|
+
├── sbin -> usr/sbin (symlink, Debian-style)
|
|
1236
|
+
├── lib/ (ELF stub)
|
|
1237
|
+
├── lib/modules/
|
|
1238
|
+
├── lib/x86_64-linux-gnu/
|
|
1239
|
+
├── lib64 -> usr/lib64 (symlink, Debian-style)
|
|
1240
|
+
├── initrd.img -> boot/initrd.img-<kernel>
|
|
1241
|
+
├── initrd.img.old -> boot/initrd.img-<prev>
|
|
1242
|
+
├── vmlinuz -> boot/vmlinuz-<kernel>
|
|
1243
|
+
├── vmlinuz.old -> boot/vmlinuz-<prev>
|
|
1244
|
+
├── lost+found/ (mode 0o700, ext4 fsck dir)
|
|
1245
|
+
│
|
|
1246
|
+
├── boot/
|
|
1247
|
+
│ ├── grub/
|
|
1248
|
+
│ │ └── grub.cfg virtual bootloader config
|
|
1249
|
+
│ ├── vmlinuz-<kernel> kernel stub
|
|
1250
|
+
│ ├── initrd.img-<kernel> initrd stub
|
|
1251
|
+
│ ├── System.map-<kernel>
|
|
1252
|
+
│ └── config-<kernel>
|
|
1253
|
+
│
|
|
1254
|
+
├── dev/
|
|
1255
|
+
│ ├── null / zero / full (0o666)
|
|
1256
|
+
│ ├── random / urandom (0o444)
|
|
1257
|
+
│ ├── mem (0o640)
|
|
1258
|
+
│ ├── console / tty / tty0 / tty1 / ttyS0
|
|
1259
|
+
│ ├── sda / sda1 / sda2 block device stubs
|
|
1260
|
+
│ ├── loop0-loop7 + loop-control
|
|
1261
|
+
│ ├── stdin / stdout / stderr
|
|
1262
|
+
│ ├── pts/
|
|
1263
|
+
│ └── shm/
|
|
1264
|
+
│
|
|
1236
1265
|
├── etc/
|
|
1237
|
-
│ ├──
|
|
1266
|
+
│ ├── apt/sources.list + sources.list.d/
|
|
1267
|
+
│ ├── cron.d/
|
|
1268
|
+
│ ├── init.d/
|
|
1269
|
+
│ ├── ld.so.conf + ld.so.conf.d/x86_64-linux-gnu.conf
|
|
1270
|
+
│ ├── network/interfaces lo + eth0 (DHCP)
|
|
1271
|
+
│ ├── pam.d/ common-auth|account|password|session + sshd
|
|
1272
|
+
│ ├── security/limits.conf + access.conf
|
|
1273
|
+
│ ├── sudoers (0o440) + sudoers.d/
|
|
1274
|
+
│ ├── systemd/system/
|
|
1275
|
+
│ ├── debian_version 12.0
|
|
1276
|
+
│ ├── fstab UUID stubs + tmpfs entries
|
|
1277
|
+
│ ├── group synced from VirtualUserManager
|
|
1238
1278
|
│ ├── hostname
|
|
1239
|
-
│ ├── hosts
|
|
1240
|
-
│ ├──
|
|
1241
|
-
│ ├──
|
|
1242
|
-
│ ├──
|
|
1243
|
-
│
|
|
1244
|
-
├──
|
|
1245
|
-
│ ├──
|
|
1246
|
-
│ ├──
|
|
1247
|
-
│ ├──
|
|
1248
|
-
│ ├──
|
|
1249
|
-
│ ├──
|
|
1250
|
-
│ └──
|
|
1251
|
-
|
|
1252
|
-
├──
|
|
1253
|
-
├──
|
|
1254
|
-
|
|
1279
|
+
│ ├── hosts 127.0.0.1 + ::1 + VM hostname
|
|
1280
|
+
│ ├── issue login banner
|
|
1281
|
+
│ ├── locale.conf LANG=en_US.UTF-8
|
|
1282
|
+
│ ├── localtime / timezone UTC
|
|
1283
|
+
│ ├── login.defs UID_MIN=1000 SHA512
|
|
1284
|
+
│ ├── motd uses ShellProperties
|
|
1285
|
+
│ ├── os-release NAME="Fortune GNU/Linux" + ShellProperties
|
|
1286
|
+
│ ├── passwd synced from VirtualUserManager
|
|
1287
|
+
│ ├── profile PATH + PS1 defaults
|
|
1288
|
+
│ ├── resolv.conf 1.1.1.1 + 8.8.8.8
|
|
1289
|
+
│ ├── shadow (mode 0o640, fake hashes)
|
|
1290
|
+
│ └── shells /bin/sh /bin/bash /usr/bin/bash
|
|
1291
|
+
│
|
|
1292
|
+
├── home/
|
|
1293
|
+
├── media/
|
|
1294
|
+
├── mnt/
|
|
1295
|
+
├── opt/
|
|
1296
|
+
├── snap/bin/
|
|
1297
|
+
├── srv/
|
|
1298
|
+
│
|
|
1299
|
+
├── proc/ kernel simulation engine (refreshed on demand)
|
|
1300
|
+
│ ├── boot/log + version kernel boot sequence
|
|
1301
|
+
│ ├── net/dev + if_inet6 + tcp + tcp6
|
|
1302
|
+
│ ├── sys/kernel/ hostname, ostype, osrelease, pid_max,
|
|
1303
|
+
│ │ threads-max, randomize_va_space, dmesg_restrict
|
|
1304
|
+
│ ├── sys/net/ipv4/ip_forward
|
|
1305
|
+
│ ├── sys/vm/swappiness + overcommit_memory
|
|
1306
|
+
│ ├── self/mounts mirrors most recent session's /proc/<pid>/
|
|
1307
|
+
│ ├── 1/ init (cmdline, comm, stat, status, environ, fd/, fdinfo/)
|
|
1308
|
+
│ ├── <pid>/ one subtree per active session (TTY-derived PID)
|
|
1309
|
+
│ ├── cmdline kernel boot args
|
|
1310
|
+
│ ├── cpuinfo real host CPU passthrough
|
|
1311
|
+
│ ├── filesystems
|
|
1312
|
+
│ ├── hostname
|
|
1313
|
+
│ ├── loadavg computed dynamically
|
|
1314
|
+
│ ├── meminfo real host memory (Total/Free/Available/Buffers/Cached/Swap)
|
|
1315
|
+
│ ├── mounts
|
|
1316
|
+
│ ├── partitions
|
|
1317
|
+
│ ├── swaps
|
|
1318
|
+
│ ├── uptime computed from shellStartTime
|
|
1319
|
+
│ └── version Linux <kernel> (fortune@build)
|
|
1320
|
+
│
|
|
1321
|
+
├── root/ (mode 0o700)
|
|
1322
|
+
│ ├── .bashrc colored PS1, PATH, ll/la aliases
|
|
1323
|
+
│ └── .profile
|
|
1324
|
+
│
|
|
1325
|
+
├── run/ (systemd tmpfs runtime)
|
|
1326
|
+
│ ├── lock/
|
|
1327
|
+
│ ├── systemd/
|
|
1328
|
+
│ ├── user/
|
|
1329
|
+
│ └── utmp
|
|
1330
|
+
│
|
|
1331
|
+
├── sys/ sysfs graph — deterministic, seeded from hostname (fnv1a)
|
|
1332
|
+
│ ├── class/net/
|
|
1333
|
+
│ ├── devices/virtual/dmi/id/
|
|
1334
|
+
│ │ ├── bios_vendor / bios_version / bios_date
|
|
1335
|
+
│ │ ├── sys_vendor / product_name / product_family / product_version
|
|
1336
|
+
│ │ ├── product_uuid / product_serial
|
|
1337
|
+
│ │ ├── chassis_type / chassis_vendor / chassis_version
|
|
1338
|
+
│ │ ├── board_name
|
|
1339
|
+
│ │ └── modalias
|
|
1340
|
+
│ └── kernel/
|
|
1341
|
+
│ ├── hostname
|
|
1342
|
+
│ ├── osrelease
|
|
1343
|
+
│ └── ostype
|
|
1344
|
+
│
|
|
1345
|
+
├── tmp/ (mode 0o1777, sticky)
|
|
1346
|
+
│
|
|
1347
|
+
├── usr/
|
|
1348
|
+
│ ├── bin/ stubs for all built-in commands (exec builtin <name>)
|
|
1349
|
+
│ ├── sbin/
|
|
1350
|
+
│ ├── lib/ + lib64/
|
|
1351
|
+
│ ├── local/bin|lib|share/
|
|
1352
|
+
│ └── share/doc|man/man1/
|
|
1353
|
+
│
|
|
1354
|
+
└── var/
|
|
1355
|
+
├── cache/apt/archives/
|
|
1356
|
+
├── lib/
|
|
1357
|
+
│ ├── apt/lists/
|
|
1358
|
+
│ ├── misc/
|
|
1359
|
+
│ └── dpkg/
|
|
1360
|
+
│ ├── available
|
|
1361
|
+
│ ├── info/
|
|
1362
|
+
│ └── status managed by VirtualPackageManager
|
|
1363
|
+
├── log/
|
|
1364
|
+
│ ├── apt/history.log + term.log
|
|
1365
|
+
│ ├── auth.log
|
|
1366
|
+
│ ├── dpkg.log
|
|
1367
|
+
│ ├── kern.log
|
|
1368
|
+
│ └── syslog
|
|
1369
|
+
├── mail/
|
|
1370
|
+
├── run -> /run (legacy symlink)
|
|
1371
|
+
├── spool/cron/
|
|
1372
|
+
└── tmp/
|
|
1255
1373
|
```
|
|
1256
1374
|
|
|
1257
1375
|
```typescript
|
package/benchmark-results.txt
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
Benchmarking VirtualShell concurrency:
|
|
2
2
|
|
|
3
3
|
Running 1 shells...
|
|
4
|
-
Initialized 1 shells in
|
|
5
|
-
Executed shell commands in
|
|
4
|
+
Initialized 1 shells in 55ms, RSS 96 MB
|
|
5
|
+
Executed shell commands in 5ms, RSS now 97 MB (+0 MB)
|
|
6
6
|
|
|
7
7
|
Running 2 shells...
|
|
8
|
-
Initialized 2 shells in
|
|
9
|
-
Executed shell commands in 1ms, RSS now
|
|
8
|
+
Initialized 2 shells in 7ms, RSS 99 MB
|
|
9
|
+
Executed shell commands in 1ms, RSS now 99 MB (+0 MB)
|
|
10
10
|
|
|
11
11
|
Running 5 shells...
|
|
12
|
-
Initialized 5 shells in
|
|
13
|
-
Executed shell commands in 1ms, RSS now
|
|
12
|
+
Initialized 5 shells in 18ms, RSS 108 MB
|
|
13
|
+
Executed shell commands in 1ms, RSS now 109 MB (+1 MB)
|
|
14
14
|
|
|
15
15
|
Running 10 shells...
|
|
16
|
-
Initialized 10 shells in
|
|
17
|
-
Executed shell commands in
|
|
16
|
+
Initialized 10 shells in 33ms, RSS 122 MB
|
|
17
|
+
Executed shell commands in 2ms, RSS now 122 MB (+0 MB)
|
|
18
18
|
|
|
19
19
|
Running 20 shells...
|
|
20
|
-
Initialized 20 shells in
|
|
21
|
-
Executed shell commands in 4ms, RSS now
|
|
20
|
+
Initialized 20 shells in 64ms, RSS 147 MB
|
|
21
|
+
Executed shell commands in 4ms, RSS now 148 MB (+1 MB)
|
|
22
22
|
|
|
23
23
|
Running 50 shells...
|
|
24
|
-
Initialized 50 shells in
|
|
25
|
-
Executed shell commands in
|
|
24
|
+
Initialized 50 shells in 127ms, RSS 157 MB
|
|
25
|
+
Executed shell commands in 5ms, RSS now 158 MB (+0 MB)
|
|
26
26
|
|
|
27
27
|
Running 100 shells...
|
|
28
|
-
Initialized 100 shells in
|
|
29
|
-
Executed shell commands in
|
|
28
|
+
Initialized 100 shells in 256ms, RSS 185 MB
|
|
29
|
+
Executed shell commands in 9ms, RSS now 186 MB (+0 MB)
|
|
30
30
|
|
|
31
31
|
Summary:
|
|
32
32
|
|
|
33
33
|
count init_ms cmd_ms init_rss final_rss delta_rss
|
|
34
|
-
1
|
|
35
|
-
2
|
|
36
|
-
5
|
|
37
|
-
10
|
|
38
|
-
20
|
|
39
|
-
50
|
|
40
|
-
100
|
|
34
|
+
1 55 5 96 MB 97 MB 0 MB
|
|
35
|
+
2 7 1 99 MB 99 MB 0 MB
|
|
36
|
+
5 18 1 108 MB 109 MB 1 MB
|
|
37
|
+
10 33 2 122 MB 122 MB 0 MB
|
|
38
|
+
20 64 4 147 MB 148 MB 1 MB
|
|
39
|
+
50 127 5 157 MB 158 MB 0 MB
|
|
40
|
+
100 256 9 185 MB 186 MB 0 MB
|