# 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.