zeek/auxil/zeekjs/README.md
Patrick Kelley 8fd444092b initial
2025-05-07 15:35:15 -04:00

51 lines
1.6 KiB
Markdown

# ZeekJS
Experimental JavaScript support for Zeek.
```
$ cat hello.js
zeek.on('zeek_init', function() {
console.log('Hello, Zeek!');
});
$ zeek ./hello.js
Hello, Zeek!
```
## Building
To build the plugin, you require Node.js as a shared library. On Fedora
you can install the packages `nodejs-devel` and `v8-devel`. On Ubuntu
(starting with Kinetic Kudo, 22.10) and Debian (testing/bookworm), installing
the `libnode-dev` package is sufficient.
On other or older Linux distributions, or MacOSX, you'll need to compile
Node.js yourself using `--shared`. See, for example, [debian.Dockerfile](./docker/debian.Dockerfile)
in the `docker` directory for inspiration.
Otherwise, ZeekJS builds and installs like a normal Zeek plugin.
Starting with version 0.4.2, it is possible to install ZeekJS via `zkg`, too:
```
zkg install zeekjs
```
## Documentation
To build online documentation for ZeekJS, change into the `docs` directory
and run `make html` if sphinx/jsdoc is available locally, or run
`make container-html` to use a Docker container.
The [API documentation](https://zeekjs.readthedocs.io/en/latest/#api-reference) is also available on Read the Docs.
The existing [tests](./tests) are a source of documentation, too, and there
are a few [examples](./examples) in the repository as well.
## Supported Node.js versions
ZeekJS is regularly tested with Node.js versions that ship with
Debian Bullseye, Ubuntu 24.04 and Fedora. The oldest version
tested is currently 18.19.0 from Debian Bullseye. Older versions
may work. We strive to support the latest Node.js LTS release.