- 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.
General tab:
- Allow to filter by action(deny/allow) + column.
Details tabs:
- Double clicking on a column displays detailed stats for that item.
- Sort by column and order (asc/desc).
Added Rules tab
Added 30s, 5m, 15m, 30m and 1h timeout options to deny or allow
connections.
It helps to avoid repetitive new connection dialogs, while at the same
time it allows you to deny/allow a connection for a short period of time,
and apply the default for the rest.
With the current implementation, it's not possible to know what
process/pid has created an outgoing connection, but there's still
valuable information that the user may want to know, so:
- display outgoing connections even if the process name/path is unknown.
(src ip, dst ip, dst port, uid)
- get outgoing connection uid if kernel > 3.6.