Installation
Pre-compiled Binaries and Packages
Pre-compiled binaries, Debian (.deb) and RPM (.rpm) packages are available for download in the Releases section of the project on Github.
For portability, the distributed binaries are statically compiled using musl.
The easiest way to deploy Couic is to use the pre-compiled packages. The following sections use the Debian package as an example.
Installing the Debian package
Install Debian package
command
sudo dpkg -i couic_1.0.0-1_amd64.debEdit Couic configuration
The service needs to be configured before you can enable and start the systemd service.
/etc/couic/couic.toml
#==========================
# Couic Configuration File
#==========================
ifaces = ["ens3"]
working_dir = "/var/lib/couic"
user = "couic"
group = "couic"
[logging]
dir = "/var/log/couic"
[server]
socket = "/var/run/couic/couic.sock"The ifaces variable must be edited to match your environment. At the startup of Couic, the eBPF/XDP module will be attached to the specified interface(s).
Depending on the hardware configuration, the XDP program can be loaded in the following operation modes: Native, Offloaded, Generic. For more information, refer to the Cilium project documentation (XDP operation modes and Driver support sections).
By default, Couic attaches the XDP program in Generic mode to ensure broad compatibility across diverse hardware and driver configurations. An undocumented
operation_mode configuration option exists in the configuration file, supporting generic, native, and offloaded modes. However, this feature is still experimental and requires further testing before being officially supported.Enable and start Systemd service
command
sudo systemctl enable couic
sudo systemctl start couicVerify Couic installation
You can verify couic is operational using systemctl.
command
sudo systemctl status couicoutput
● couic.service - couic
Loaded: loaded (/usr/lib/systemd/system/couic.service; enabled; preset: enabled)
Active: active (running) since Thu 2026-01-15 09:32:25 UTC; 6s ago
Invocation: 098f5f47d05c40868e318530da1ffb90
Main PID: 33190 (couic)
Tasks: 14 (limit: 2281)
Memory: 12.4M (peak: 34.7M)
CPU: 82ms
CGroup: /system.slice/couic.service
└─33190 /usr/sbin/couic -c /etc/couic/couic.toml
Jan 15 09:32:25 couic-01 systemd[1]: Starting couic.service - couic...
Jan 15 09:32:25 couic-01 systemd[1]: Started couic.service - couic.
Jan 15 09:32:25 couic-01 couic[33190]: Starting Couic version 1.0.0
Jan 15 09:32:25 couic-01 couic[33190]: 2026-01-15T09:32:25.251921Z INFO couic::firewall::service: XDP program attached to interface: ens3 (mode: Generic)
Jan 15 09:32:25 couic-01 couic[33190]: 2026-01-15T09:32:25.252551Z INFO couic::firewall::service: sets reload: policy=ignore, updated=0, removed=0, created=2
Jan 15 09:32:25 couic-01 couic[33190]: 2026-01-15T09:32:25.252612Z INFO couic::firewall::service: sets reload: policy=drop, updated=0, removed=0, created=0