Commit graph

443 commits

Author SHA1 Message Date
Gustavo Iñiguez Goia
401329171a Workaround for crashes parsing .desktop files
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.
2020-02-22 00:53:10 +01:00
Gustavo Iñiguez Goia
c4a9a21afa fixed HighDpi scaling
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.
2020-02-22 00:48:19 +01:00
Gustavo Iñiguez Goia
7f2f40b64d UI, stats: display dst_port on process details view 2020-02-21 00:57:11 +01:00
Gustavo Iñiguez Goia
189cffb00f Merge UI crash fixes and improvements 2020-02-20 00:27:45 +01:00
Gustavo Iñiguez Goia
8d88a4c13a Fixed advanced button height on some systems
Like Ubuntu Mate 16.04
2020-02-20 00:23:32 +01:00
Gustavo Iñiguez Goia
6ae1857538 Fixed prompt dialog exception and improved backward compatibility
Improved compatibility with old regex lib versions.
Fixed exception.
2020-02-19 23:14:25 +01:00
Gustavo Iñiguez Goia
b409eca0ed Fixed UI crash when configuring high dpi scaling on some systems
On LinuxMint18 even with a compatible PyQt lib, it crashes, so just
don't set this option.
2020-02-19 01:04:58 +01:00
Gustavo Iñiguez Goia
7ca2044f96 Merge UI License, MANIFEST.in and setup.py 2020-02-18 23:43:14 +01:00
Gustavo Iñiguez Goia
7eb0b6da30 UI: added license, long description and distribute icons 2020-02-18 23:40:07 +01:00
Gustavo Iñiguez Goia
9529830010 Improved UI deb package generation
This is highly experimental and not Debian compliant.
We'll keep improving it over time.
2020-02-18 23:30:56 +01:00
Gustavo Iñiguez Goia
d46d50a58d Bump version to v1.0.0rc3 2020-02-18 10:49:30 +01:00
Gustavo Iñiguez Goia
f88b78d5bb Improved UI debian package and bump version to rc3
Removed some dependencies, and ask to install via pip.
Added copyright file.
2020-02-18 10:47:17 +01:00
Gustavo Iñiguez Goia
19a5811f3b Merge UI fix to allow/deny second-level domains 2020-02-17 01:37:29 +01:00
Gustavo Iñiguez Goia
f696cf9141 Added option to allow/deny second level domains
Added option to allow or deny domains like 'examle.com', otherwise the
regex added a dot (.*\.example\.com) which didn't match the connection.
2020-02-17 01:31:37 +01:00
Gustavo Iñiguez Goia
d6180b8943 Merge UI regex patterns fix
As commented here #4
2020-02-15 01:02:45 +01:00
Gustavo Iñiguez Goia
7a7c1fb34b Fixed regex patterns shown in the UI combobox
Parse correctly DNS queries with the format 1.2.3.4 (x.host.com)
2020-02-15 00:33:43 +01:00
Gustavo Iñiguez Goia
3ec0ec60a9 Unified UI config files
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
2020-02-09 21:04:19 +01:00
Gustavo Iñiguez Goia
1e6d2c0b67 Unified UI config files
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
2020-02-09 20:56:26 +01:00
Gustavo Iñiguez Goia
6b77ce1346 Added UI alerts to warn about unanswered connections 2020-02-07 21:55:29 +01:00
Gustavo Iñiguez Goia
a5f8d5b25d Display an alert when a new connection is not answered
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.
2020-02-07 10:18:54 +01:00
Gustavo Iñiguez Goia
700b540432 Bump UI version to v1.0.0-rc2 2020-02-07 10:17:04 +01:00
Gustavo Iñiguez Goia
a6fa494789 Expand prompt dialog Dst IP Combo Box
It should span 2 columns
2020-02-07 00:16:14 +01:00
Gustavo Iñiguez Goia
8e6d901ae4 Added Action and Duration columns to GUI Rules tab 2020-02-07 00:15:31 +01:00
Gustavo Iñiguez Goia
8fc2c5d55f Added UI debian/ files for packaging
Work needed.
2020-02-06 23:54:36 +01:00
Gustavo Iñiguez Goia
7d330f24d9 Bump version to 1.0.0-rc2 2020-02-05 00:57:06 +01:00
Gustavo Iñiguez Goia
793afefbb1 Expand prompt dialog Dst IP Combo Box
It should span 2 columns
2020-02-05 00:54:40 +01:00
Gustavo Iñiguez Goia
b60b78a3b2 Added Action and Duration columns to GUI Rules tab 2020-02-05 00:47:39 +01:00
Gustavo Iñiguez Goia
695b5232f4 help stdeb to distribute resources files 2020-02-04 22:06:55 +01:00
Gustavo Iñiguez Goia
d0dbaa1d6e EnableHighDpiScaling only if qt version >= 5.6.0
It was addded in 5.6 version
https://doc-snapshots.qt.io/qtforpython/PySide2/QtCore/Qt.html
2019-12-03 23:11:50 +01:00
Gustavo Iñiguez Goia
77ec831119 Allow to view details of a rule/process from General tab
In the General tab, clicking on an item of the column Rule or Process open the
details about that item.
2019-12-03 22:33:03 +01:00
Gustavo Iñiguez Goia
36f8b27770 Allow to view details of a rule/process from General tab
Clicking on an item of the column Rule or Process open the details about
that item.
2019-11-27 00:33:22 +01:00
Gustavo Iñiguez Goia
77018a82a1 EnableHighDpiScaling only if qt version >= 5.6.0
It was addded in 5.6 version
https://doc-snapshots.qt.io/qtforpython/PySide2/QtCore/Qt.html
2019-11-25 21:41:25 +01:00
Gustavo Iñiguez Goia
39a3820ea7 Limit the number of connections on the main tab.
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.
2019-11-24 01:12:35 +01:00
Gustavo Iñiguez Goia
3e0b239d8f Display the app window when there's no system tray available
Like in some gnome-shell setups.
2019-11-23 23:56:15 +01:00
Gustavo Iñiguez Goia
911593e55a Prefer domains over IPs as default option to block/allow 2019-11-22 21:32:10 +01:00
Gustavo Iñiguez Goia
b2cc0eb164 Reset advanced rules check properly
In the future the state could be saved to the settings.
2019-11-21 22:12:28 +01:00
Gustavo Iñiguez Goia
891a3a4211 Fixed typo in tipPortsLabel 2019-11-20 18:51:49 +01:00
Gustavo Iñiguez Goia
cc27be2bae Added initial support for advanced rules (lists)
Probably not the best UI, just the one I came up with.
2019-11-20 10:27:28 +01:00
Gustavo Iñiguez Goia
925e2fe045 Removed unused import 2019-11-18 20:38:17 +01:00
Gustavo Iñiguez Goia
918433a1dd Improved performance and details view
- 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.
2019-11-17 00:57:08 +01:00
Gustavo Iñiguez Goia
d38505650c added database file 2019-11-13 01:31:07 +01:00
Gustavo Iñiguez Goia
166cf49f4c improved UI
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
2019-11-13 01:24:55 +01:00
Gustavo Iñiguez Goia
912f85f5d1 Added more timeout options (30s, 5m, 15m, 30m, 1h)
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.
2019-11-09 01:35:13 +01:00
Gustavo Iñiguez Goia
21c716492a Display username on the allow/deny dialog 2019-11-05 00:40:07 +01:00
Gustavo Iñiguez Goia
58cd5e9fc9 Added icons to allow and deny actions 2019-11-02 12:06:58 +01:00
Gustavo Iñiguez Goia
0773f8c01e
Merge pull request #1 from Ph0rkoz/master
Master
2019-10-31 13:36:40 +01:00
Phorkoz
e04353a869
grpcio-tools==1.10.1 pulls in grpcio of the correct version, stops the error on make install
grpcio-tools==1.10.1 pulls in grpcio of the correct version, stops the error on make install
2019-10-30 20:12:09 -05:00
Phorkoz
e7b853f7a2
Make upgrading the UI possible on code changes.
UI
2019-10-30 20:11:26 -05:00
Gustavo Iñiguez Goia
65c3790106 Prompt the user to allow/deny all outgoing connections
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.
2019-10-25 00:55:32 +02:00
Gustavo Iñiguez Goia
cf01281911 Merge branch 'fix_prompt_dialog_countdown' into main 2019-10-21 00:52:06 +02:00