OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch.
Find a file
Gustavo Iñiguez Goia 2a233c1d8b ui: introducing plugins, improved actions
Up until now we had a way of customizing the views, by defining
"actions". See for context cba52cf3d8

The configuration syntax has not changed, but now every "action" is a
python plugin, for example when loading this configuration:

    {
      "name": "commonDelegateConfig",
      "actions": {
        "highlight": {
          "enabled": true,
          "cells": [
            {
              "text": ["allow", "✓ online"],
              "color": "white",
              "bgcolor: "green",

we'll try to load "highlight" as plugin, which should exist under
opensnitch/plugins/highligh/highlight.py

Three new plugins has been added:
 - Highlight: colorize cells or rows based on patterns.
 - Downloader: a simple downloader which downloads files to local
   directories, for example to download blocklists.
 - Virustotal: a plugin to analyze IPs, domains and checksums with the
   API of virustotal when a new popup is fired.

There're 3 points where the plugins are configured and executed:
 - opensnitch/service.py - _load_plugins() (background/global plugins)
 - opensnitch/dialogs/prompt/__init__.py - _configure_plugins(), _post_popup_plugins()
 - opensnitch/dialogs/processdetails.py - _configure_plugins()

Plugins can't be configured from the GUI (yet).

For more details, read:
 opensnitch/plugins/__init__.py
 opensnitch/actions/__init__.py
 opensnitch/plugins/downloader/downloader.py
 opensnitch/plugins/virustotal/virustotal.py
2024-09-16 22:55:06 +02:00
.github updated workflow compilation deps 2024-07-03 14:41:31 +02:00
daemon fw: fixed adding 'counter' obj to rules 2024-07-03 14:26:11 +02:00
ebpf_prog ebpf_prog/Makefile: temp files are now handled by a pattern rule 2024-09-10 12:06:49 +02:00
proto rules: improved operator list parsing and conversion 2023-10-09 14:55:15 +02:00
screenshots added more screenshots 2020-02-25 22:39:32 +01:00
ui ui: introducing plugins, improved actions 2024-09-16 22:55:06 +02:00
utils remove lagacy cname_trackers.txt reference 2024-08-29 11:02:37 +05:00
.gitignore misc 2023-07-23 22:29:47 +02:00
LICENSE Update LICENSE 2020-06-20 17:48:59 +02:00
Makefile makefile: 2021-02-13 18:48:49 +03:00
README.md Update README.md 2024-07-13 16:43:29 +02:00
release.sh misc: small fix or general refactoring i did not bother commenting 2018-04-10 19:49:58 +02:00

Join the project community on our server!


opensnitch

Release Software License Go Report Card Packaging status

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