Allow to add or modify rules from the UI.
The rules of all nodes are listed in the tab Rules.
Clicking on the name of the rule will display the connections that
matched the rule.
In this view 2 buttons are displayed: edit rule and delete rule.
Editing a rule will edit the rule for a particular node. If you want
the changes to be applied to all nodes you have to select that option.
All fields can have a regular expression. If the regular expression is
not valid, a message will be displayed on the dialog.
If the rule is applied correctly, "Rule applied" will be shown.
Otherwise an error will appear.
Bear in mind that this still a WIP commit. Bugs and errors will
appear that we'll have to fix.
- Fixed race condition when adding stats to the db, specially when there
were several nodes connected.
- Colorized allow/deny and online/offline words, to improve visual
experience.
- UI performance has been improved, specially when there're multiple
nodes sendings stats.
Display the list of nodes with its metadata.
Clicking on the IP of a node displays the stats for that node.
BUG: The original behaviour was to open a new window per node. However,
right now only one gets updated, and the others have no data.
So for now, this feature has been disabled.
Besides, if there's more than one node, only the stats of a node is
displayed on the UI, so you will see a weird blinking.
As opensnitch will run (only) on GNU/Linux, we may assume that the same
apps will exist on different machines (installed or not).
If a same app (firefox for example) is installed on different systems,
get the icon for the app.
- display correctly the connection status with the daemon whe it's
disconnected.
- display correctly the icon (at least on gnome).
- changed "active" icon to svg, to fix a size problem displaying
notifications on gnome.
On gnome-shell,ubuntu 18.04 by using the Warning icon, it substituted
our icon by another one. So use NoIcon, since we're already setting our
own alert icon.
It looks like it's part of python since 3.2, and as far as I can tell
without the pip dependency work just fine (tested on ubuntu >=14.x, mint
>= 18, debian >= 8.x).
We parse .desktop files to get the icon of a program, but sometimes we
can't parse the Name translation due to unicode encoding problems.
Besides, on some distributions there're .desktop files without Exec=
line, so we also crash.
With this workaround we miss (mainly) the icon of a program, but at
least we won't crash.
It should help with #5.
This should fix the warning message:
"Attribute Qt::AA_EnableHighDpiScaling must be set before
QCoreApplication is created."
Which should fix the small fonts reported by some users.
We may also need AA_UseHighDpiPixmaps.
Originally UI config file was saved to ~/.opensnitch/ui-config.json
Now those values are saved to ~/.config/opensnitch/settings.conf, along
with new ones.
Closes#3
When the computer is on but you are away, you may miss some prompt
dialogs to allow or deny a connection. This way we warn the user about
something that happened, in order to review the UI.
Further work should maybe count and display the number of a connection,
and perhaps display a max of 5 different events.
It should also desirable to display a small number over the app icon.
With ~500k logged connections the app becomes unresponsive.
This way it minimizes a bit the high usage impact, but
definitely there's a limitation on this side, how many
events are we going to log?
It needs to be tested, but the same should be applied for the rest of
the tabs, and provide a search field and < > operands to navigate
records.
- Added a label to let the user know that an item in a column can be
clicked to view details about that item (process, host, user, ...).
- Improved performance by only adding the new items, or items that has
changed, instead of all the stats.
- Search General statistics by any column.