ZeroCopyZeroCopy
Local agent

Install the agent

Install your licensed executable, check its checksum and give local clients access.

Obtain the executable

Contact support for your organization's licensed executable and SHA-256 checksum. Keep the file private: it contains your license.

These instructions install it as /opt/swqos/swqos under a dedicated swqos account. That account must be able to write the executable's directory for automatic updates.

Create the user and directories

Create the agent user and directories
sudo useradd --system --user-group --no-create-home --home-dir /opt/swqos --shell /usr/sbin/nologin swqos
sudo install -d -o swqos -g swqos -m 0700 /opt/swqos
sudo install -d -m 0755 /etc/swqos

Install the executable

Set delivered to the path of the file you received:

Install the delivered executable
delivered=/path/to/delivered-executable
sudo install -o swqos -g swqos -m 0700 "$delivered" /opt/swqos/swqos

Verify the checksum

Set expected to the SHA-256 value ZeroCopy provided, then check the installed file:

Check the installed executable
expected=PASTE_DELIVERED_SHA256
printf '%s  %s\n' "$expected" /opt/swqos/swqos | sudo sha256sum --check

Continue only if the command prints /opt/swqos/swqos: OK. Otherwise, contact support before running the file.

Create the configuration

Create /etc/swqos/swqos.toml as root and make it readable by swqos. This configuration keeps network listeners on loopback and sets an explicit IPC path. See Configuration for the available options.

/etc/swqos/swqos.toml
[listen]
http = "127.0.0.1:8080"
quic = "127.0.0.1:4433"
ipc = "/run/swqos/swqos.sock"
ipc_busy_poll = true

The agent does not create the socket's directory. The service example creates /run/swqos at each start.

Give IPC clients access

The agent creates its IPC socket with mode 0660, owned by the swqos user and group. Add each account that runs an IPC client to the swqos group, then restart that application so its processes pick up the group:

Allow an application account to use IPC
sudo usermod --append --groups swqos app-user

Replace app-user with the account that runs your application. HTTP and QUIC clients need no group membership.

Executable location

Keep /opt/swqos writable by swqos, including under any service sandboxing. If you launch through a symbolic link, the target file's directory must be writable. Updates retain owner access and remove group and other permissions from the executable.

On this page