OPENSNITCHD(1)
π OPENSNITCHD(1) π
ok so this is the opensnitchd page from the General Commands Manual, bestie, and we're gonna get you fluent in it. sit down, hydrate, let's go π«Ά
β¨ NAME β¨
opensnitchd β GNU/Linux interactive firewall application π
β¨ SYNOPSIS β¨
opensnitchd [-rules-path path] [-cpu-profile path] [-debug] [-error]
[-warning] [-important] [-log-file path]... [-mem-
profile path]... [-no-live-reload] [-process-monitor-
method name]... [-queue-num num]... [-ui-socket path]...
[-version] [-workers num]...
β¨ DESCRIPTION β¨
so opensnitchd is literally the OpenSnitch agent, and its whole main character job is: it intercepts outbound connections and sends them off to the server. and the server? could be a GUI, could be a TUI, could be a headless component that just logs your network activity (think a SIEM, for example). all valid. all iconic.
by default tho, it'll allow all connections, creating temporal rules for you so you can review them later. no cap. it's giving "chill for now, we'll talk later" π¦
β¨ OPTIONS β¨
-rules-path pathβ tells it where the rules are gonna get written to. default is"rules"π-cpu-profile pathβ a file path where the CPU data gets written, for later use. save it for the archives bestie.-debugβ sets LogLevel toDEBUG.-warningβ sets LogLevel toWARNING.-importantβ sets LogLevel toIMPORTANT.-log-file pathβ a file path where the logs get written to. lowkey the fun part: this path can be a device file, like/dev/stdout, so you can print logs straight to standard output π-mem-profile pathβ a file path where the memory data gets written once the daemon exits.-no-live-reloadβ by default the daemon's rules and configuration get reloaded whenever they change. this option disables that feature. turn it off if the auto-reload is stressing you out π-process-monitor-method methodβ forces the process monitor method, overriding whatever's defined in the configuration. valid methods:ebpf,audit,proc. pick your fighter β-queue-num numβ forces it to use this netfilter queue num. the default queue number is0, but if some other software already called dibs on it, you can set another queue number here.-ui-socket pathβ forces it to use this socket path instead of the one defined in the configuration. the path format isunix:///path/to/socket.sockorip:port("127.0.0.1:50051") β and there's a whole doc for it athttps://github.com/grpc/grpc/blob/master/doc/naming.mdπ-versionβ prints out the daemon version. quick little flex.-workers numβ changes the maximum number of workers processing outbound connections. by default16workers are launched, but if that's not enough, bump this number up. more hands, more help, periodt π
β¨ FILES β¨
/etc/opensnitchd/rules/β default daemon directory rules./etc/opensnitchd/default-config.jsonβ default daemon configuration./etc/opensnitchd/system-fw.jsonβ configuration of system firewall rules (iptables/nftables).
firewall rules defined here bypass OpenSnitch interception. use it to allow VPNs or other services. yes bestie, it's the VIP list πͺβ¨
β¨ DIAGNOSTICS β¨
OpenSnitch needs at least one firewall rule to intercept outbound connections:
iptables -t mangle -L OUTPUT | grep NFQUEUE
NFQUEUE all -- anywhere anywhere ctstate NEW,RELATED NFQUEUE num 0 bypass
if you suspect that OpenSnitch blocks an application and doesn't prompt you to allow or deny it β rude of it, honestly β then using the GUI, enable the option [x] Debug invalid connections under Preferences -> Nodes. or set the configuration option InterceptUnknown to true.
Tip: you can also add rules to the file /etc/opensnitchd/system-fw.json, to allow network services without being intercepted by the daemon. sneak them past the bouncer π
another way of debugging errors is by launching the daemon from the command line:
- Set LogLevel to
DEBUGunderPreferences -> Nodes(or LogLevel to0in the configuration) - Stop the daemon:
systemctl stop opensnitch - Launch it from cli:
/usr/bin/opensnitchd -rules-path /etc/opensnitchd/rules/
β¨ REPORTING BUGS β¨
problems with opensnitchd should be reported on github π
https://github.com/evilsocket/opensnitch/issues
β¨ HISTORY β¨
OpenSnitch was originally written by Simone Margaritelli (evilsocket) in 2017-2018. the origin story fr fr π§
in 2019, after some time of inactivity, Gustavo IΓ±iguez Goya started contributing, fixing bugs and adding new functionality, with the esential help of the community, and valuable contributions from themighty1 and calesanz among others. (yes we said "esential", that's the original spelling, we keep it exactly π)
β¨ SEE ALSO β¨
OpenSnitch Home Page https://github.com/evilsocket/opensnitch πΈ
β¨ AUTHORS β¨
the complete list of OpenSnitch contributors can be found on https://github.com/evilsocket/opensnitch π«Ά
and that's the whole page, bestie!! this one's opensnitchd version 1.5.9, dated 2023-06-07 β go forth and firewall, you absolute icon ππ
π¦ where this page comes from
- debian trixie: opensnitch 1.6.9-3 Β· GPL-3.0-or-later
- ubuntu resolute: opensnitch 1.6.9-3ubuntu1 Β· GPL-3.0-or-later
- ubuntu stonking: opensnitch 1.6.9-4ubuntu1 Β· GPL-3.0-or-later
- π the page's license: GPL-3.0-or-later
- Copyright (c) 2023 Gustavo IΓ±iguez Goya <gustavo.iniguez.goya@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms