{"id":18910792,"url":"https://github.com/lucor/fyne-opensnitch","last_synced_at":"2025-08-22T13:39:20.636Z","repository":{"id":53447512,"uuid":"186278143","full_name":"lucor/fyne-opensnitch","owner":"lucor","description":"An OpenSnitch UI in Go using Fyne","archived":false,"fork":false,"pushed_at":"2021-03-30T13:01:22.000Z","size":123,"stargazers_count":42,"open_issues_count":2,"forks_count":5,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-06-19T00:29:52.677Z","etag":null,"topics":["application-firewall","firewall","fyne","go","golang","gui","linux","networking","opensnitch","security"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lucor.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-05-12T16:27:55.000Z","updated_at":"2023-10-28T09:05:24.000Z","dependencies_parsed_at":"2022-09-03T02:30:37.766Z","dependency_job_id":null,"html_url":"https://github.com/lucor/fyne-opensnitch","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucor%2Ffyne-opensnitch","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucor%2Ffyne-opensnitch/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucor%2Ffyne-opensnitch/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lucor%2Ffyne-opensnitch/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lucor","download_url":"https://codeload.github.com/lucor/fyne-opensnitch/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223664523,"owners_count":17182180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-firewall","firewall","fyne","go","golang","gui","linux","networking","opensnitch","security"],"created_at":"2024-11-08T09:46:13.858Z","updated_at":"2024-11-08T09:46:14.469Z","avatar_url":"https://github.com/lucor.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Fyne OpenSnitch\n\n\u003cdiv align=\"center\"\u003e\n    \u003cimg alt=\"Fyne OpenSnitch\" src=\"Icon.png\" height=\"160\" /\u003e\n\u003c/div\u003e\n\nAn [OpenSnitch](https://github.com/evilsocket/opensnitch) UI in Go using [Fyne](https://fyne.io)\n\nThe application is running as a gRPC server on a unix socket and will interact with OpenSnitch daemon.\n\n**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.**\n\n## Requirements\n\n- OpenSnitch [daemon](https://github.com/evilsocket/opensnitch#daemon) \u003e= v1.0.0b\n- Fyne [dependencies](https://github.com/fyne-io/fyne#prerequisites) to compile the application\n\n#### UI Configuration\n\nBy default the UI will load its configuration from `~/.opensnitch/ui-config.json` (customizable with the `--config` argument), the default contents of this file are:\n\n```json\n{\n    \"default_timeout\": 15,\n    \"default_action\": \"allow\",\n    \"default_duration\": \"until restart\",\n    \"default_operand\":\"process.path\"\n}\n```\n\nThe `default_timeout` is the number of seconds after which the UI will take its\ndefault action, the `default_action` can be `allow` or `deny` and the\n`default_duration`, which indicates for how long the default action should be\ntaken, can be `once`, `until restart` or `always` to persist the action as a new\nrule on disk. `default_operand` indicates the operand type to use for\nthe rule, can be `process.path` (the path of the executable), `user.id`,\n`dest.ip`, `dest.host` or `dest.port`.\n\nFor more details about rules please refer to the [opensnitch readme](https://github.com/evilsocket/opensnitch/blob/master/README.md#rules).\n\n## Running\n\nEnsure the OpenSnitch daemon is configured and running.\n\n    go build -o fyne-opensnitch \u0026\u0026 ./fyne-opensnitch\n\nAnd you should see a main window containting the OpenSnitch Network Statistics like the following:\n\n![OpenSnitch Network Statistics Screenshot](screenshot/network_stats.png)\n\nand every time an action is required to add a new rule:\n\n![OpenSnitch Ask Rule Screenshot](screenshot/ask_rule.png)\n\n\n## Credits\n\n- [Icon](https://github.com/evilsocket/opensnitch/blob/v1.3.0/ui/opensnitch/res/icon.png) is from OpenSnitch\n- [OpenSnitch](https://github.com/evilsocket/opensnitch)\n- [Fyne](https://github.com/fyne-io/fyne)\n- [Statik](https://github.com/rakyll/statik) for the static assets embedding\n- [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)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucor%2Ffyne-opensnitch","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flucor%2Ffyne-opensnitch","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flucor%2Ffyne-opensnitch/lists"}