MCPcopy
hub / github.com/evilsocket/opensnitch

github.com/evilsocket/opensnitch @v1.8.0 sqlite

repository ↗ · DeepWiki ↗ · release v1.8.0 ↗
2,254 symbols 7,196 edges 268 files 794 documented · 35%
README

Join the project community on our server!


opensnitch

<img src="https://github.com/evilsocket/opensnitch/workflows/Build%20status/badge.svg" />
<a href="https://github.com/evilsocket/opensnitch/releases/latest"><img alt="Release" src="https://img.shields.io/github/release/evilsocket/opensnitch.svg?style=flat-square"></a>
<a href="https://github.com/evilsocket/opensnitch/blob/master/LICENSE.md"><img alt="Software License" src="https://img.shields.io/badge/license-GPL3-brightgreen.svg?style=flat-square"></a>
<a href="https://goreportcard.com/report/github.com/evilsocket/opensnitch/daemon"><img alt="Go Report Card" src="https://goreportcard.com/badge/github.com/evilsocket/opensnitch/daemon?style=flat-square"></a>
<a href="https://repology.org/project/opensnitch/versions"><img src="https://repology.org/badge/tiny-repos/opensnitch.svg" alt="Packaging status"></a>

OpenSnitch is a GNU/Linux application firewall.

•• Key FeaturesDownloadInstallationUsage examplesIn the press ••

OpenSnitch

Key features

Download

Download deb/rpm packages for your system from https://github.com/evilsocket/opensnitch/releases

Installation

deb

$ sudo apt install ./opensnitch.deb ./python3-opensnitch-ui.deb

rpm

$ sudo yum localinstall opensnitch-1.rpm; sudo yum localinstall opensnitch-ui.rpm

Then run: $ opensnitch-ui or launch the GUI from the Applications menu.

Please, refer to the documentation for detailed information.

OpenSnitch in action

Examples of OpenSnitch intercepting unexpected connections:

https://github.com/evilsocket/opensnitch/discussions/categories/show-and-tell

Have you seen a connection you didn't expect? submit it!

In the press

Donations

If you find OpenSnitch useful and want to donate to the dedicated developers, you can do it from the Sponsor this project section on the right side of this repository.

You can see here who are the current maintainers of OpenSnitch: https://github.com/evilsocket/opensnitch/commits/master

Contributors

See the list

Translating

Translation status

Extension points exported contracts — how you extend this code

LoggerFormat (Interface)
LoggerFormat is the common interface that every format must meet. Transform expects an arbitrary number of arguments and [6 …
daemon/log/formats/formats.go
Firewall (Interface)
Firewall is the interface that all firewalls (iptables, nftables) must implement.
daemon/firewall/rules.go
Task (Interface)
Task defines the interface for tasks that the task manager will execute.
daemon/tasks/base/main.go
Logger (Interface)
Logger is the common interface that every logger must met. Serves as a generic holder of different types of loggers. [2 …
daemon/log/loggers/logger.go
Tool (Interface)
(no doc)
daemon/tasks/iocscanner/tools/base/base.go
Handler (FuncType)
(no doc)
daemon/log/log.go

Core symbols most depended-on inside this repo

connect
called by 257
ui/opensnitch/plugins/__init__.py
Lock
called by 129
daemon/procmon/process.go
Unlock
called by 128
daemon/procmon/process.go
get
called by 101
ui/opensnitch/firewall/rules.py
setSettings
called by 74
ui/opensnitch/config.py
data
called by 74
ui/opensnitch/customwidgets/main.py
RLock
called by 70
daemon/procmon/process.go
RUnlock
called by 68
daemon/procmon/process.go

Shape

Method 1,467
Function 496
Struct 157
Class 108
TypeAlias 15
FuncType 5
Interface 5
Route 1

Languages

Go50%
Python50%

Modules by API surface

ui/opensnitch/dialogs/stats.py124 symbols
ui/opensnitch/dialogs/preferences.py62 symbols
ui/opensnitch/service.py58 symbols
ui/opensnitch/dialogs/firewall_rule.py57 symbols
ui/opensnitch/dialogs/ruleseditor.py55 symbols
ui/opensnitch/utils/__init__.py53 symbols
ui/opensnitch/customwidgets/generictableview.py52 symbols
ui/opensnitch/database/__init__.py50 symbols
ui/opensnitch/nodes.py45 symbols
ui/opensnitch/dialogs/prompt/__init__.py38 symbols
ui/opensnitch/customwidgets/firewalltableview.py36 symbols
ui/opensnitch/dialogs/firewall.py33 symbols

Dependencies from manifests, versioned

github.com/fsnotify/fsnotifyv1.4.7 · 1×
github.com/google/gopacketv1.1.19 · 1×
github.com/google/nftablesv0.2.0 · 1×
github.com/josharian/nativev1.1.0 · 1×
github.com/mdlayher/netlinkv1.7.2 · 1×
github.com/mdlayher/socketv0.5.0 · 1×
github.com/varlink/gov0.4.0 · 1×

For agents

$ claude mcp add opensnitch \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact