Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
share /
doc /
nodejs /
api /
Delete
Unzip
Name
Size
Permission
Date
Action
assets
[ DIR ]
drwxr-xr-x
2025-04-07 20:36
addons.html
106.29
KB
-rw-r--r--
2024-04-10 12:46
addons.json.gz
10.96
KB
-rw-r--r--
2024-04-10 12:46
addons.md
39.78
KB
-rw-r--r--
2024-04-10 12:46
all.html
7.64
MB
-rw-r--r--
2024-04-10 12:46
all.json.gz
931.76
KB
-rw-r--r--
2024-04-10 12:46
assert.html
192.08
KB
-rw-r--r--
2024-04-10 12:46
assert.json.gz
13.09
KB
-rw-r--r--
2024-04-10 12:46
assert.md
66.87
KB
-rw-r--r--
2024-04-10 12:46
async_context.html
84.69
KB
-rw-r--r--
2024-04-10 12:46
async_context.json.gz
7.15
KB
-rw-r--r--
2024-04-10 12:46
async_context.md
25.02
KB
-rw-r--r--
2024-04-10 12:46
async_hooks.html
87.84
KB
-rw-r--r--
2024-04-10 12:46
async_hooks.json.gz
9.82
KB
-rw-r--r--
2024-04-10 12:46
async_hooks.md
30.51
KB
-rw-r--r--
2024-04-10 12:46
buffer.html
479.59
KB
-rw-r--r--
2024-04-10 12:46
buffer.json.gz
28.94
KB
-rw-r--r--
2024-04-10 12:46
buffer.md
149.19
KB
-rw-r--r--
2024-04-10 12:46
child_process.html
169.7
KB
-rw-r--r--
2024-04-10 12:46
child_process.json.gz
20.87
KB
-rw-r--r--
2024-04-10 12:46
child_process.md
70.46
KB
-rw-r--r--
2024-04-10 12:46
cli.html
190.71
KB
-rw-r--r--
2024-04-10 12:46
cli.json.gz
29.53
KB
-rw-r--r--
2024-04-10 12:46
cli.md
83.21
KB
-rw-r--r--
2024-04-10 12:46
cluster.html
91.15
KB
-rw-r--r--
2024-04-10 12:46
cluster.json.gz
9.48
KB
-rw-r--r--
2024-04-10 12:46
cluster.md
28.84
KB
-rw-r--r--
2024-04-10 12:46
console.html
60
KB
-rw-r--r--
2024-04-10 12:46
console.json.gz
6.06
KB
-rw-r--r--
2024-04-10 12:46
console.md
16.5
KB
-rw-r--r--
2024-04-10 12:46
corepack.html
24.03
KB
-rw-r--r--
2024-04-10 12:46
corepack.json.gz
2.81
KB
-rw-r--r--
2024-04-10 12:46
corepack.md
5.84
KB
-rw-r--r--
2024-04-10 12:46
crypto.html
528.53
KB
-rw-r--r--
2024-04-10 12:46
crypto.json.gz
46.51
KB
-rw-r--r--
2024-04-10 12:46
crypto.md
196.46
KB
-rw-r--r--
2024-04-10 12:46
debugger.html
28.73
KB
-rw-r--r--
2024-04-10 12:46
debugger.json.gz
3.12
KB
-rw-r--r--
2024-04-10 12:46
debugger.md
7.02
KB
-rw-r--r--
2024-04-10 12:46
deprecations.html
207.23
KB
-rw-r--r--
2024-04-10 12:46
deprecations.json.gz
25.03
KB
-rw-r--r--
2024-04-10 12:46
deprecations.md
102.53
KB
-rw-r--r--
2024-04-10 12:46
dgram.html
90.78
KB
-rw-r--r--
2024-04-10 12:46
dgram.json.gz
10.2
KB
-rw-r--r--
2024-04-10 12:46
dgram.md
31.03
KB
-rw-r--r--
2024-04-10 12:46
diagnostics_channel.html
98.54
KB
-rw-r--r--
2024-04-10 12:46
diagnostics_channel.json.gz
7.72
KB
-rw-r--r--
2024-04-10 12:46
diagnostics_channel.md
31.55
KB
-rw-r--r--
2024-04-10 12:46
dns.html
131.54
KB
-rw-r--r--
2024-04-10 12:46
dns.json.gz
15.84
KB
-rw-r--r--
2024-04-10 12:46
dns.md
52.41
KB
-rw-r--r--
2024-04-10 12:46
documentation.html
26.34
KB
-rw-r--r--
2024-04-10 12:46
documentation.json.gz
2.45
KB
-rw-r--r--
2024-04-10 12:46
documentation.md
5.28
KB
-rw-r--r--
2024-04-10 12:46
domain.html
49.05
KB
-rw-r--r--
2024-04-10 12:46
domain.json.gz
6.2
KB
-rw-r--r--
2024-04-10 12:46
domain.md
15.21
KB
-rw-r--r--
2024-04-10 12:46
embedding.html
26.38
KB
-rw-r--r--
2024-04-10 12:46
embedding.json.gz
3.01
KB
-rw-r--r--
2024-04-10 12:46
embedding.md
6.65
KB
-rw-r--r--
2024-04-10 12:46
errors.html
292.27
KB
-rw-r--r--
2024-04-10 12:46
errors.json.gz
43.19
KB
-rw-r--r--
2024-04-10 12:46
errors.md
99.68
KB
-rw-r--r--
2024-04-10 12:46
esm.html
91.64
KB
-rw-r--r--
2024-04-10 12:46
esm.json.gz
15.35
KB
-rw-r--r--
2024-04-10 12:46
esm.md
42.55
KB
-rw-r--r--
2024-04-10 12:46
events.html
232.26
KB
-rw-r--r--
2024-04-10 12:46
events.json.gz
17.43
KB
-rw-r--r--
2024-04-10 12:46
events.md
67.11
KB
-rw-r--r--
2024-04-10 12:46
fs.html
643.05
KB
-rw-r--r--
2024-04-10 12:46
fs.json.gz
68.59
KB
-rw-r--r--
2024-04-10 12:46
fs.md
254.65
KB
-rw-r--r--
2024-04-10 12:46
globals.html
89.01
KB
-rw-r--r--
2024-04-10 12:46
globals.json.gz
10.65
KB
-rw-r--r--
2024-04-10 12:46
globals.md
25.62
KB
-rw-r--r--
2024-04-10 12:46
http.html
304.7
KB
-rw-r--r--
2024-04-10 12:46
http.json.gz
36.39
KB
-rw-r--r--
2024-04-10 12:46
http.md
115.14
KB
-rw-r--r--
2024-04-10 12:46
http2.html
326.42
KB
-rw-r--r--
2024-04-10 12:46
http2.json.gz
40.42
KB
-rw-r--r--
2024-04-10 12:46
http2.md
133.89
KB
-rw-r--r--
2024-04-10 12:46
https.html
58.08
KB
-rw-r--r--
2024-04-10 12:46
https.json.gz
5.82
KB
-rw-r--r--
2024-04-10 12:46
https.md
16.71
KB
-rw-r--r--
2024-04-10 12:46
index.html
13.19
KB
-rw-r--r--
2024-04-10 12:46
index.json
54
B
-rw-r--r--
2024-04-10 12:46
index.md
1.97
KB
-rw-r--r--
2024-04-10 12:46
inspector.html
52.55
KB
-rw-r--r--
2024-04-10 12:46
inspector.json.gz
4.55
KB
-rw-r--r--
2024-04-10 12:46
inspector.md
13.54
KB
-rw-r--r--
2024-04-10 12:46
intl.html
33.63
KB
-rw-r--r--
2024-04-10 12:46
intl.json.gz
4.12
KB
-rw-r--r--
2024-04-10 12:46
intl.md
11.49
KB
-rw-r--r--
2024-04-10 12:46
module.html
98.98
KB
-rw-r--r--
2024-04-10 12:46
module.json.gz
12.75
KB
-rw-r--r--
2024-04-10 12:46
module.md
35.64
KB
-rw-r--r--
2024-04-10 12:46
modules.html
81.33
KB
-rw-r--r--
2024-04-10 12:46
modules.json.gz
12.71
KB
-rw-r--r--
2024-04-10 12:46
modules.md
33.13
KB
-rw-r--r--
2024-04-10 12:46
n-api.html
414.92
KB
-rw-r--r--
2024-04-10 12:46
n-api.json.gz
53.65
KB
-rw-r--r--
2024-04-10 12:46
n-api.md
226.71
KB
-rw-r--r--
2024-04-10 12:46
net.html
153.4
KB
-rw-r--r--
2024-04-10 12:46
net.json.gz
19.3
KB
-rw-r--r--
2024-04-10 12:46
net.md
55.99
KB
-rw-r--r--
2024-04-10 12:46
os.html
72.49
KB
-rw-r--r--
2024-04-10 12:46
os.json.gz
8.91
KB
-rw-r--r--
2024-04-10 12:46
os.md
35.56
KB
-rw-r--r--
2024-04-10 12:46
packages.html
101.84
KB
-rw-r--r--
2024-04-10 12:46
packages.json.gz
15.6
KB
-rw-r--r--
2024-04-10 12:46
packages.md
47.05
KB
-rw-r--r--
2024-04-10 12:46
path.html
54.23
KB
-rw-r--r--
2024-04-10 12:46
path.json.gz
5.15
KB
-rw-r--r--
2024-04-10 12:46
path.md
15.68
KB
-rw-r--r--
2024-04-10 12:46
perf_hooks.html
155
KB
-rw-r--r--
2024-04-10 12:46
perf_hooks.json.gz
13.02
KB
-rw-r--r--
2024-04-10 12:46
perf_hooks.md
50.26
KB
-rw-r--r--
2024-04-10 12:46
permissions.html
55.66
KB
-rw-r--r--
2024-04-10 12:46
permissions.json.gz
7.74
KB
-rw-r--r--
2024-04-10 12:46
permissions.md
20.58
KB
-rw-r--r--
2024-04-10 12:46
policy.html
14.78
KB
-rw-r--r--
2024-04-10 12:46
policy.json
476
B
-rw-r--r--
2024-04-10 12:46
policy.md
222
B
-rw-r--r--
2024-04-10 12:46
process.html
298.54
KB
-rw-r--r--
2024-04-10 12:46
process.json.gz
32.32
KB
-rw-r--r--
2024-04-10 12:46
process.md
109.77
KB
-rw-r--r--
2024-04-10 12:46
punycode.html
26.81
KB
-rw-r--r--
2024-04-10 12:46
punycode.json.gz
2
KB
-rw-r--r--
2024-04-10 12:46
punycode.md
4.17
KB
-rw-r--r--
2024-04-10 12:46
querystring.html
29.11
KB
-rw-r--r--
2024-04-10 12:46
querystring.json.gz
2.65
KB
-rw-r--r--
2024-04-10 12:46
querystring.md
5.55
KB
-rw-r--r--
2024-04-10 12:46
readline.html
105.63
KB
-rw-r--r--
2024-04-10 12:46
readline.json.gz
11.63
KB
-rw-r--r--
2024-04-10 12:46
readline.md
38.86
KB
-rw-r--r--
2024-04-10 12:46
repl.html
69.37
KB
-rw-r--r--
2024-04-10 12:46
repl.json.gz
10
KB
-rw-r--r--
2024-04-10 12:46
repl.md
23.69
KB
-rw-r--r--
2024-04-10 12:46
report.html
82.12
KB
-rw-r--r--
2024-04-10 12:46
report.json.gz
6.39
KB
-rw-r--r--
2024-04-10 12:46
report.md
18.83
KB
-rw-r--r--
2024-04-10 12:46
single-executable-applications.html
43.25
KB
-rw-r--r--
2024-04-10 12:46
single-executable-applications.json.gz
5.6
KB
-rw-r--r--
2024-04-10 12:46
single-executable-applications.md
14.57
KB
-rw-r--r--
2024-04-10 12:46
stream.html
397.5
KB
-rw-r--r--
2024-04-10 12:46
stream.json.gz
51.21
KB
-rw-r--r--
2024-04-10 12:46
stream.md
146.23
KB
-rw-r--r--
2024-04-10 12:46
string_decoder.html
24.02
KB
-rw-r--r--
2024-04-10 12:46
string_decoder.json.gz
1.55
KB
-rw-r--r--
2024-04-10 12:46
string_decoder.md
2.9
KB
-rw-r--r--
2024-04-10 12:46
synopsis.html
19.55
KB
-rw-r--r--
2024-04-10 12:46
synopsis.json
2.96
KB
-rw-r--r--
2024-04-10 12:46
synopsis.md
2.11
KB
-rw-r--r--
2024-04-10 12:46
test.html
270.6
KB
-rw-r--r--
2024-04-10 12:46
test.json.gz
22.87
KB
-rw-r--r--
2024-04-10 12:46
test.md
90.96
KB
-rw-r--r--
2024-04-10 12:46
timers.html
57.88
KB
-rw-r--r--
2024-04-10 12:46
timers.json.gz
5.29
KB
-rw-r--r--
2024-04-10 12:46
timers.md
15.84
KB
-rw-r--r--
2024-04-10 12:46
tls.html
181.63
KB
-rw-r--r--
2024-04-10 12:46
tls.json.gz
32.68
KB
-rw-r--r--
2024-04-10 12:46
tls.md
89.26
KB
-rw-r--r--
2024-04-10 12:46
tracing.html
34.95
KB
-rw-r--r--
2024-04-10 12:46
tracing.json.gz
3.47
KB
-rw-r--r--
2024-04-10 12:46
tracing.md
8.52
KB
-rw-r--r--
2024-04-10 12:46
tty.html
37.52
KB
-rw-r--r--
2024-04-10 12:46
tty.json.gz
3.72
KB
-rw-r--r--
2024-04-10 12:46
tty.md
8.91
KB
-rw-r--r--
2024-04-10 12:46
url.html
152.81
KB
-rw-r--r--
2024-04-10 12:46
url.json.gz
15.87
KB
-rw-r--r--
2024-04-10 12:46
url.md
54.66
KB
-rw-r--r--
2024-04-10 12:46
util.html
290.8
KB
-rw-r--r--
2024-04-10 12:46
util.json.gz
26.7
KB
-rw-r--r--
2024-04-10 12:46
util.md
97.56
KB
-rw-r--r--
2024-04-10 12:46
v8.html
113.98
KB
-rw-r--r--
2024-04-10 12:46
v8.json.gz
12.1
KB
-rw-r--r--
2024-04-10 12:46
v8.md
35.35
KB
-rw-r--r--
2024-04-10 12:46
vm.html
161
KB
-rw-r--r--
2024-04-10 12:46
vm.json.gz
19.23
KB
-rw-r--r--
2024-04-10 12:46
vm.md
68.09
KB
-rw-r--r--
2024-04-10 12:46
wasi.html
31.38
KB
-rw-r--r--
2024-04-10 12:46
wasi.json.gz
3.48
KB
-rw-r--r--
2024-04-10 12:46
wasi.md
8.2
KB
-rw-r--r--
2024-04-10 12:46
webcrypto.html
152.64
KB
-rw-r--r--
2024-04-10 12:46
webcrypto.json.gz
9.84
KB
-rw-r--r--
2024-04-10 12:46
webcrypto.md
45.9
KB
-rw-r--r--
2024-04-10 12:46
webstreams.html
157.4
KB
-rw-r--r--
2024-04-10 12:46
webstreams.json.gz
10.44
KB
-rw-r--r--
2024-04-10 12:46
webstreams.md
39
KB
-rw-r--r--
2024-04-10 12:46
worker_threads.html
117.56
KB
-rw-r--r--
2024-04-10 12:46
worker_threads.json.gz
14.92
KB
-rw-r--r--
2024-04-10 12:46
worker_threads.md
44.67
KB
-rw-r--r--
2024-04-10 12:46
zlib.html
109.42
KB
-rw-r--r--
2024-04-10 12:46
zlib.json.gz
10.34
KB
-rw-r--r--
2024-04-10 12:46
zlib.md
35.1
KB
-rw-r--r--
2024-04-10 12:46
Save
Rename
# WebAssembly System Interface (WASI) <!--introduced_in=v12.16.0--> > Stability: 1 - Experimental <strong class="critical">The `node:wasi` module does not currently provide the comprehensive file system security properties provided by some WASI runtimes. Full support for secure file system sandboxing may or may not be implemented in future. In the mean time, do not rely on it to run untrusted code. </strong> <!-- source_link=lib/wasi.js --> The WASI API provides an implementation of the [WebAssembly System Interface][] specification. WASI gives WebAssembly applications access to the underlying operating system via a collection of POSIX-like functions. ```mjs import { readFile } from 'node:fs/promises'; import { WASI } from 'wasi'; import { argv, env } from 'node:process'; const wasi = new WASI({ version: 'preview1', args: argv, env, preopens: { '/local': '/some/real/path/that/wasm/can/access', }, }); const wasm = await WebAssembly.compile( await readFile(new URL('./demo.wasm', import.meta.url)), ); const instance = await WebAssembly.instantiate(wasm, wasi.getImportObject()); wasi.start(instance); ``` ```cjs 'use strict'; const { readFile } = require('node:fs/promises'); const { WASI } = require('wasi'); const { argv, env } = require('node:process'); const { join } = require('node:path'); const wasi = new WASI({ version: 'preview1', args: argv, env, preopens: { '/local': '/some/real/path/that/wasm/can/access', }, }); (async () => { const wasm = await WebAssembly.compile( await readFile(join(__dirname, 'demo.wasm')), ); const instance = await WebAssembly.instantiate(wasm, wasi.getImportObject()); wasi.start(instance); })(); ``` To run the above example, create a new WebAssembly text format file named `demo.wat`: ```text (module ;; Import the required fd_write WASI function which will write the given io vectors to stdout ;; The function signature for fd_write is: ;; (File Descriptor, *iovs, iovs_len, nwritten) -> Returns number of bytes written (import "wasi_snapshot_preview1" "fd_write" (func $fd_write (param i32 i32 i32 i32) (result i32))) (memory 1) (export "memory" (memory 0)) ;; Write 'hello world\n' to memory at an offset of 8 bytes ;; Note the trailing newline which is required for the text to appear (data (i32.const 8) "hello world\n") (func $main (export "_start") ;; Creating a new io vector within linear memory (i32.store (i32.const 0) (i32.const 8)) ;; iov.iov_base - This is a pointer to the start of the 'hello world\n' string (i32.store (i32.const 4) (i32.const 12)) ;; iov.iov_len - The length of the 'hello world\n' string (call $fd_write (i32.const 1) ;; file_descriptor - 1 for stdout (i32.const 0) ;; *iovs - The pointer to the iov array, which is stored at memory location 0 (i32.const 1) ;; iovs_len - We're printing 1 string stored in an iov - so one. (i32.const 20) ;; nwritten - A place in memory to store the number of bytes written ) drop ;; Discard the number of bytes written from the top of the stack ) ) ``` Use [wabt](https://github.com/WebAssembly/wabt) to compile `.wat` to `.wasm` ```bash wat2wasm demo.wat ``` ## Security <!-- YAML added: v21.2.0 changes: - version: v21.2.0 pr-url: https://github.com/nodejs/node/pull/50396 description: Clarify WASI security properties. --> WASI provides a capabilities-based model through which applications are provided their own custom `env`, `preopens`, `stdin`, `stdout`, `stderr`, and `exit` capabilities. **The current Node.js threat model does not provide secure sandboxing as is present in some WASI runtimes.** While the capability features are supported, they do not form a security model in Node.js. For example, the file system sandboxing can be escaped with various techniques. The project is exploring whether these security guarantees could be added in future. ## Class: `WASI` <!-- YAML added: - v13.3.0 - v12.16.0 --> The `WASI` class provides the WASI system call API and additional convenience methods for working with WASI-based applications. Each `WASI` instance represents a distinct environment. ### `new WASI([options])` <!-- YAML added: - v13.3.0 - v12.16.0 changes: - version: v20.1.0 pr-url: https://github.com/nodejs/node/pull/47390 description: default value of returnOnExit changed to true. - version: v20.0.0 pr-url: https://github.com/nodejs/node/pull/47391 description: The version option is now required and has no default value. - version: v19.8.0 pr-url: https://github.com/nodejs/node/pull/46469 description: version field added to options. --> * `options` {Object} * `args` {Array} An array of strings that the WebAssembly application will see as command-line arguments. The first argument is the virtual path to the WASI command itself. **Default:** `[]`. * `env` {Object} An object similar to `process.env` that the WebAssembly application will see as its environment. **Default:** `{}`. * `preopens` {Object} This object represents the WebAssembly application's local directory structure. The string keys of `preopens` are treated as directories within the file system. The corresponding values in `preopens` are the real paths to those directories on the host machine. * `returnOnExit` {boolean} By default, when WASI applications call `__wasi_proc_exit()` `wasi.start()` will return with the exit code specified rather than terminating the process. Setting this option to `false` will cause the Node.js process to exit with the specified exit code instead. **Default:** `true`. * `stdin` {integer} The file descriptor used as standard input in the WebAssembly application. **Default:** `0`. * `stdout` {integer} The file descriptor used as standard output in the WebAssembly application. **Default:** `1`. * `stderr` {integer} The file descriptor used as standard error in the WebAssembly application. **Default:** `2`. * `version` {string} The version of WASI requested. Currently the only supported versions are `unstable` and `preview1`. This option is mandatory. ### `wasi.getImportObject()` <!-- YAML added: v19.8.0 --> Return an import object that can be passed to `WebAssembly.instantiate()` if no other WASM imports are needed beyond those provided by WASI. If version `unstable` was passed into the constructor it will return: ```json { wasi_unstable: wasi.wasiImport } ``` If version `preview1` was passed into the constructor or no version was specified it will return: ```json { wasi_snapshot_preview1: wasi.wasiImport } ``` ### `wasi.start(instance)` <!-- YAML added: - v13.3.0 - v12.16.0 --> * `instance` {WebAssembly.Instance} Attempt to begin execution of `instance` as a WASI command by invoking its `_start()` export. If `instance` does not contain a `_start()` export, or if `instance` contains an `_initialize()` export, then an exception is thrown. `start()` requires that `instance` exports a [`WebAssembly.Memory`][] named `memory`. If `instance` does not have a `memory` export an exception is thrown. If `start()` is called more than once, an exception is thrown. ### `wasi.initialize(instance)` <!-- YAML added: - v14.6.0 - v12.19.0 --> * `instance` {WebAssembly.Instance} Attempt to initialize `instance` as a WASI reactor by invoking its `_initialize()` export, if it is present. If `instance` contains a `_start()` export, then an exception is thrown. `initialize()` requires that `instance` exports a [`WebAssembly.Memory`][] named `memory`. If `instance` does not have a `memory` export an exception is thrown. If `initialize()` is called more than once, an exception is thrown. ### `wasi.wasiImport` <!-- YAML added: - v13.3.0 - v12.16.0 --> * {Object} `wasiImport` is an object that implements the WASI system call API. This object should be passed as the `wasi_snapshot_preview1` import during the instantiation of a [`WebAssembly.Instance`][]. [WebAssembly System Interface]: https://wasi.dev/ [`WebAssembly.Instance`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Instance [`WebAssembly.Memory`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/WebAssembly/Memory