Skip to content

lucor/fyne-opensnitch

Repository files navigation

Fyne OpenSnitch

Fyne OpenSnitch

An OpenSnitch UI in Go using Fyne

The application is running as a gRPC server on a unix socket and will interact with OpenSnitch daemon.

THIS SOFTWARE IS WORK IN PROGRESS, DO NOT EXPECT IT TO BE BUG FREE AND DO NOT RELY ON IT FOR ANY TYPE OF SECURITY.

Requirements

UI Configuration

By default the UI will load its configuration from ~/.opensnitch/ui-config.json (customizable with the --config argument), the default contents of this file are:

{
    "default_timeout": 15,
    "default_action": "allow",
    "default_duration": "until restart",
    "default_operand":"process.path"
}

The default_timeout is the number of seconds after which the UI will take its default action, the default_action can be allow or deny and the default_duration, which indicates for how long the default action should be taken, can be once, until restart or always to persist the action as a new rule on disk. default_operand indicates the operand type to use for the rule, can be process.path (the path of the executable), user.id, dest.ip, dest.host or dest.port.

For more details about rules please refer to the opensnitch readme.

Running

Ensure the OpenSnitch daemon is configured and running.

go build -o fyne-opensnitch && ./fyne-opensnitch

And you should see a main window containting the OpenSnitch Network Statistics like the following:

OpenSnitch Network Statistics Screenshot

and every time an action is required to add a new rule:

OpenSnitch Ask Rule Screenshot

Credits