External Listener
The external listener enables integration with external C2 frameworks through WebSocket connections. Instead of handling agent connections directly, it manages communication with other C2 systems, allowing unified control of agents across multiple frameworks.
Plugin ID: shelldot.listener.external-ws

Configuration
The If omitted column describes hand-written JSON sent directly to the server. The
plugin's named default example is different: it explicitly supplies port 8123,
contextPath /, and both Boolean options as false.
| Parameter | Type | Required | If omitted | Description |
|---|---|---|---|---|
host |
string | No | All interfaces | Address or hostname of the interface where the listener binds. |
port |
int | Yes | Invalid | Port (1-65535) on which the listener accepts WebSocket connections. |
contextPath |
string | Yes | Listener initialization fails | URL path prefix for the WebSocket endpoint. Supply / for the root path or another explicit path for a subpath. |
restrictDataToUser |
bool | No | false |
Restricts agents, commands, and templates to the authenticated user who created the agent. It is effective only when requireJwtAuthentication is true; otherwise the server forces it to false. This restriction does not apply to API operations. |
requireJwtAuthentication |
bool | No | false |
Requires a Tuoni JWT authentication token for WebSocket connections. Tokens are obtained through the C2 API login. |