Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lucor/fyne-opensnitch
An OpenSnitch UI in Go using Fyne
https://github.com/lucor/fyne-opensnitch
application-firewall firewall fyne go golang gui linux networking opensnitch security
Last synced: about 1 month ago
JSON representation
An OpenSnitch UI in Go using Fyne
- Host: GitHub
- URL: https://github.com/lucor/fyne-opensnitch
- Owner: lucor
- License: gpl-3.0
- Created: 2019-05-12T16:27:55.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2021-03-30T13:01:22.000Z (over 3 years ago)
- Last Synced: 2024-06-19T00:29:52.677Z (6 months ago)
- Topics: application-firewall, firewall, fyne, go, golang, gui, linux, networking, opensnitch, security
- Language: Go
- Size: 120 KB
- Stars: 42
- Watchers: 7
- Forks: 5
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Fyne OpenSnitch
An [OpenSnitch](https://github.com/evilsocket/opensnitch) UI in Go using [Fyne](https://fyne.io)
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
- OpenSnitch [daemon](https://github.com/evilsocket/opensnitch#daemon) >= v1.0.0b
- Fyne [dependencies](https://github.com/fyne-io/fyne#prerequisites) to compile the application#### 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:
```json
{
"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](https://github.com/evilsocket/opensnitch/blob/master/README.md#rules).
## 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](screenshot/network_stats.png)
and every time an action is required to add a new rule:
![OpenSnitch Ask Rule Screenshot](screenshot/ask_rule.png)
## Credits
- [Icon](https://github.com/evilsocket/opensnitch/blob/v1.3.0/ui/opensnitch/res/icon.png) is from OpenSnitch
- [OpenSnitch](https://github.com/evilsocket/opensnitch)
- [Fyne](https://github.com/fyne-io/fyne)
- [Statik](https://github.com/rakyll/statik) for the static assets embedding
- [GNOME Terminal](https://github.com/GNOME/gnome-terminal) for the [terminal icon](https://github.com/GNOME/gnome-terminal/blob/gnome-3-32/data/icons/hicolor_apps_scalable_org.gnome.Terminal.svg)