code-server

VS Code in a browser, extension host on the server. Full support, despite the browser.

Planned Designed and scheduled, not yet built. Documented so the design can be reviewed early.

code-server serves VS Code over HTTP with the extension host running on the server. The interface is a browser tab, but the extension is a Node process sitting next to your files, so everything works, including scanning.

This surprises people. “In the browser” is not the same as “in the browser sandbox”: what matters is where the extension host runs, and here it runs on the server.

Install

code-server uses Open VSX. From the Extensions view, or on the host:

code-server --install-extension vulnetix.vulnetix

To bake it into an image:

RUN code-server --install-extension vulnetix.vulnetix \
 && curl -fsSL https://cli.vulnetix.com/install.sh | sh

Installing the CLI at build time means the first scan starts immediately instead of downloading ~40 MB on first use.

Multi-user hosts

Each user’s extension host is a separate process with its own storage, so each downloads its own CLI copy and holds its own credential. On a shared host that is duplicated disk. Install the CLI once system-wide and point everyone at it:

// in the machine-scope settings
{ "vulnetix.cli.path": "/usr/local/bin/vulnetix" }

vulnetix.cli.path is machine-scoped by design, so a cloned repository’s .vscode/settings.json cannot redirect it at a binary of its choosing.

Resource use

The scanning engine holds its compiled rule set in memory for speed. On a host running many concurrent users, cap it:

{
  "vulnetix.lsp.memoryLimitMb": 1024,
  "vulnetix.lsp.idleShutdownMinutes": 30
}

Idle shutdown releases the engine when a user stops working, and it restarts transparently on the next scan.

Sign-in

Sign-in opens a browser tab to approve a short code. Since your browser is already the client, this works with no port forwarding or tunnelling. If your code-server sits behind an SSO proxy, the approval happens on vulnetix.com and is unaffected.

Didn't find what you needed? Tell us what's missing · Ask a question · Edit this page