OpenSnitch

Makes internet connections from all apps visible, allowing you to block or manage traffic on a per-app basis. GNU/Linux port of the Little Snitch application firewall.

Open Source

OpenSnitch Source Code

Author

evilsocket

Description

OpenSnitch is a GNU/Linux interactive application firewall inspired by Little Snitch.

#application-firewall#data-breach#firewall#linux#networking#security

Homepage

License

GPL-3.0

Created

16 Apr 17

Last Updated

29 Jul 26

Latest version

v1.8.0

Primary Language

Python

Size

20,747 KB

Stars

13,918

Forks

653

Watchers

13,918

Language Usage

Language Usage

Star History

Star History

Recent Commits

  • Gustavo Iñiguez Goia (26 Jul 26)

    ui: fixed crash calling undefined variable

  • Gustavo Iñiguez Goia (24 Jul 26)

    ui: improved selecting the last row

  • Gustavo Iñiguez Goia (23 Jul 26)

    ui: added missing variable

  • Gustavo Iñiguez Goia (23 Jul 26)

    ui: improved rows selection/pagination - fixed pagination when the last result set contains fewer rows than the view can display and the user navigates back to the previous page. and the user goes back to the previous batch of results. - selectItem: don't try to select rows with empty data.

  • Gustavo Iñiguez Goia (22 Jul 26)

    ui: fixed fw rules contextual menu

  • Gustavo Iñiguez Goia (22 Jul 26)

    ui: improved rules/alerts deletion - deselect selected rules/alerts after deleting them. - display a different question to delete alerts.

  • Gustavo Iñiguez Goia (22 Jul 26)

    ui: minor change to virustotal plugin Display the sources that flagged an item (ip, domain, hash) taking into account the number of suspicious results.

  • Gustavo Iñiguez Goia (20 Jul 26)

    ui: improved setting currentIndex for keyboard navigation When selecting rows with the mouse, update the current index to the first or last row of the selection range, depending on the selection direction (up/down). This allows keyboard-based selection expansion and shrinking to work correctly without losing the existing selection.

  • Gustavo Iñiguez Goia (19 Jul 26)

    ui: improved row navigation+selection using keyboard. - fixed navigating results with keys up/down and pageUp/Down. - improved selecting/handling rows with shift + ctrl. in both cases taking pagination into account.

  • Gustavo Iñiguez Goia (08 Jul 26)

    ui: fixed setting scrollbar value when rows were selected Partially fixed a bug setting views limit, when the user had selected several rows. The issue occured in this scenario: - the user selected several rows in a view. - switched to a different view. - returned to the previous view. - the query was properly configured with the limits but returned all results from the db. - as a result, the scrollbar didn't respect the configured limit, and instead, it was configured according to the total number of results of the db. Now if the number of results exceed the view/query limit and the query limit is not 0 (show all results), we'll use the query limit as the maximum number of rows of the view. We should verify that the query returns the expected number of results.

  • Gustavo Iñiguez Goia (08 Jul 26)

    ui: improved selecting rows with key Up/Down

  • Gustavo Iñiguez Goia (08 Jul 26)

    Merge pull request #1604 from tredondo/fix/getclientconfig-rules-race daemon: fix data race in getClientConfig iterating rules during load

  • Gustavo Iñiguez Goia (08 Jul 26)

    ui: improved tab navigation improved tab navigation (#1625) by skipping hidden tabs.

  • Gustavo Iñiguez Goia (08 Jul 26)

    Merge pull request #1625 from kudashevs/feature/tab_navigation_shortcuts ui: add navigation between tabs

  • Gustavo Iñiguez Goia (08 Jul 26)

    Merge pull request #1622 from kudashevs/feature/trailing fix: remove trailing spaces

  • Gustavo Iñiguez Goia (07 Jul 26)

    Merge pull request #1616 from workturnedplay/patch-1 fix "font rendering" due to 000-allow-localhost6.json 's description

  • Gustavo Iñiguez Goia (07 Jul 26)

    ui: removed debugging messages

  • Gustavo Iñiguez Goia (06 Jul 26)

    Bump packages version to v1.9.0

  • Gustavo Iñiguez Goia (06 Jul 26)

    updated fw port tests

  • Gustavo Iñiguez Goia (06 Jul 26)

    ui: removed more undefined variables Following #1613, removed some more undefined variables.

  • Gustavo Iñiguez Goia (06 Jul 26)

    fixed "non-constant format string" error

  • Gustavo Iñiguez Goia (06 Jul 26)

    Bumped cilium/ebpf version to 0.22 - added compatibility with Linux 7.1 and above. - global BTF cache no longer enabled by default, which should reduce daemon mem usage by ~20MB. https://github.com/cilium/ebpf/releases#release-v0.22.0

  • Gustavo Iñiguez Goia (05 Jul 26)

    minor performance improvements Replaced calls Sprint/Sprintf in hot paths with internal ConcatStrings, improving string concatenation performance by approximately ~2x-~10x.

  • Gustavo Iñiguez Goia (05 Jul 26)

    ui: fixed crash showing notifications fixed by tuna4ll in #1627. Closes: #1613

  • Gustavo Iñiguez Goia (03 Jul 26)

    fixed minor leak when logging debug messages

  • Gustavo Iñiguez Goia (03 Jul 26)

    ui: fixed crash pressing space key

  • Gustavo Iñiguez Goia (23 Jun 26)

    ui: removed unused systray icon to save some memory.

  • Gustavo Iñiguez Goia (23 Jun 26)

    ui: fixed Highlight plugin crash when colorizing rows

  • Gustavo Iñiguez Goia (21 Jun 26)

    ui: allow to close main window tabs Now users can decide if show or hide main window tabs. There's no much difference on mem usage (if any at all, at least for now).

  • Gustavo Iñiguez Goia (18 Jun 26)

    ui: reduce mem usage when using the ASN database Previously we loaded the ASN database unconditionally if the package pyasn was installed, in order to lookup the network name associated with an IP address. As a result, the database was loaded into memory, even if you never opened the Address tab, which we assume is not that common. Now the DB will only be loaded when clicking on the Address tab, and will be unloaded when closing the main window (loading the DB for the first time takes a few milliseconds, or less). This change reduces the memory usage by approximately 150MB of RAM for most users that have the pyasn package installed. Also: - removed unused imports. - imports reordered.

OpenSnitch Security

4.4/10

Repo Security Summary

Updated 13 Jul 26

  • Code-Review 1/10
  • Dangerous-Workflow 10/10
  • Packaging N/A
  • Maintained 10/10
  • Token-Permissions 0/10
  • CII-Best-Practices 0/10
  • Binary-Artifacts 10/10
  • Pinned-Dependencies 2/10
  • Security-Policy 0/10
  • Fuzzing 0/10
  • Branch-Protection 0/10
  • SAST 0/10
  • Signed-Releases 8/10
  • License 10/10

OpenSnitch Reviews

More Firewalls

About the Data: OpenSnitch

API

You can access OpenSnitch's data programmatically via our API. Simply make a GET request to:

https://api.awesome-privacy.xyz/v1/services/opensnitch

The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.

Share OpenSnitch

Help your friends compare Firewalls, and pick privacy-respecting software and services.
Share OpenSnitch and Awesome Privacy with your network!

View Firewalls (14)