Commit graph

758 commits

Author SHA1 Message Date
Gustavo Iñiguez Goia
6619124db7 Bumped versions to 1.3.0rc2 2020-11-28 12:26:39 +01:00
Gustavo Iñiguez Goia
3c06fbf8d3 ui: added .spec file for create UI rpms 2020-11-28 12:20:46 +01:00
Gustavo Iñiguez Goia
c25f49d8a7 ui: fixed launching the UI on more environments
Better resolve where the UI python package is.

related #59
2020-11-28 11:02:03 +01:00
Gustavo Iñiguez Goia
f9d9af9a5f ui: replaced deprecated tostring() by tobytes()
> Deprecated since version 3.2, will be removed in version 3.9.

And they did!

https://docs.python.org/3.9/library/array.html#array.array.tobytes
2020-11-28 01:41:46 +01:00
Gustavo Iñiguez Goia
df952d974e fixed errors when IPv6 is not enabled in the system
If IPv6 was not enabled we failed to add IPv6 rules.

closes #96
2020-11-26 16:25:48 +01:00
Gustavo Iñiguez Goia
0b85f6be10 ui, pop-ups: improved connections visualizing
The path and arguments of a process were not displayed correctly.
closes #93

On the other hand, the combo box option (allow/deny) "from this process"
was misleading. Changed by "from this executable". #94
2020-11-24 17:46:12 +01:00
Gustavo Iñiguez Goia
e8683e77be improved packets parsing
We were checking several times if a packet was IPv6.

Additionally we were itereating over all the layers of the packet, when
in reality we're only interested in network layer and transport layer.

This change brings down packets parsing from ~200µs to ~2µs.
2020-11-24 01:35:36 +01:00
Gustavo Iñiguez Goia
99afc6cccb audit: stop reading messages when calling Stop() 2020-11-22 13:31:10 +01:00
Gustavo Iñiguez Goia
26ca52d127 audit: schedule deletion of old events
Instead of check for old events every time we add a new one, do it every
5 minutes.

This improves the performance significantly.
2020-11-22 01:00:43 +01:00
Gustavo Iñiguez Goia
cdea3b5175 deb, ui: bump version to 1.3.0~rc-1 2020-11-20 13:33:44 +01:00
Gustavo Iñiguez Goia
0b806e050e ui, proc details: better descriptors formatting 2020-11-20 01:34:53 +01:00
Gustavo Iñiguez Goia
c1e8bc3156 netlink: de/serialize ipv6, dump socket list
- De/Serialize IPv6 connections.
- Added SocketsDump() to list all sockets currently in the kernel.
- [proc details] Resolve all the sockets an application has opened
  and translate them to network data, e.g:
  ```
  ls -l /proc/1234/fd/
    0  ... 25 -> socket[12345678]
  ```
  to
  ```
    0 .... 25 -> socket[12345678] - 54321:10.0.2.2 -> github.com:443,
  state: established
  ```
2020-11-20 00:53:29 +01:00
Gustavo Iñiguez Goia
c969e7909d ui: fallback to Qt built-in icons if no valid icon theme configured
There're several situations where the icons of the app don't show up:
 - icon theme not configured.
 - icon theme configured but lacks standard icons defined by the
   standard (freedesktop).
 - icon theme configured but Qt doesn't load it.

If we fall into any of these cases, use the Qt built-in icons .

More information on this issue: #53

* removed non-used imports.
2020-11-19 01:00:58 +01:00
Gustavo Iñiguez Goia
df3e7c3ef7 ui, stats/database: removed non used imports 2020-11-18 15:36:12 +01:00
Gustavo Iñiguez Goia
76f078e146 Update issue templates 2020-11-18 10:59:02 +01:00
Gustavo Iñiguez Goia
98d7cc0d2d ui, stats: fixed syntax error when restoring rules label
closes #90
2020-11-18 00:40:21 +01:00
Gustavo Iñiguez Goia
3c0ba1e5c1 ui, process details dialog improvements
- Allow to monitor applications having the dialog open.
- If an application has multiple pids, but some are already closed and
  others are still running, don't close the dialog so you can select
  which pid to monitor.
2020-11-17 23:11:49 +01:00
Gustavo Iñiguez Goia
a517ebe9bc ui,stats: fixed crash caused by a typo 2020-11-17 00:21:03 +01:00
Gustavo Iñiguez Goia
3a080cef3e ui: added missing processdetails file 2020-11-16 21:18:16 +01:00
Gustavo Iñiguez Goia
c8d1161061 added dialog to inspect details of a process in realtime (procfs)
New dialog added to display details of a process in realtime, gathered
from ProcFS.
Process tab -> double click on an app -> click on the button with the
search icon.

We have also improved the discovery of apps icons and names. It should
work better on systems where the DE is not properly configured.

Tested, but not bulletproof, still in beta.
2020-11-16 17:09:52 +01:00
Gustavo Iñiguez Goia
a3a7becbc8 fixed exception if system-fw.json doesn't exist
closes #88
2020-11-15 00:53:13 +01:00
Gustavo Iñiguez Goia
8b7e761aef deb: better RC version
1.3.0~rc > 1.2.0
1.3.0 > 1.3.0~rc
2020-11-14 12:17:18 +01:00
Gustavo Iñiguez Goia
9ca70b6d46 deb, rpm: install system-fw.json 2020-11-13 17:29:37 +01:00
Gustavo Iñiguez Goia
b41aadbaac daemon packaging: set the next release version (rc) 2020-11-13 17:29:37 +01:00
Gustavo Iñiguez Goia
6286eca7d1
Merge pull request #86 from bloowitt/stringcheck
Edit strings for UI
2020-11-13 17:25:04 +01:00
Alex Ortiz de Guinea
8c715e7af7 Edit strings for UI 2020-11-13 16:18:15 +00:00
Gustavo Iñiguez Goia
831ab347e3 Merge branch 'priority-rules' into main
Added option to let the users define iptables rules.

The system rules are added in the file /etc/opensnitchd/system-fw.json
with this format:
```
{
    "SystemRules": [
        {
            "Rule": {
                "Description": "Allow pptp VPN",
                "Table": "mangle",
                "Chain": "OUTPUT",
                "Parameters": "-p gre",
                "Target": "ACCEPT",
                "TargetParameters": ""
            }
        }
    ]
}
```
On the mangle table, OUTPUT chain, these rules are added before
the NFQUEUE interception rule, so any rule you add there bypasses the
interception. Useful to allow traffic you don't want to intercept.

This feature solves in some way the issue some users have connecting to
VPNs when the Default Action configured in the daemon is Deny.

For example:
- OpenVPN when keepalive is configured and ICMP is used.
- PPTP because the GRE routing protocol is blocked.
- probably others like IPSEC.

(regarding WireGuard, as far as I can tell it works just fine, see #61).

closes #47
2020-11-13 00:14:39 +01:00
Gustavo Iñiguez Goia
6a8670c3b6 pkgs: versions increased 2020-11-09 23:06:51 +01:00
Gustavo Iñiguez Goia
a7f470ec9e Added support for sysvinit based systems
Like MX Linux. See #85.
2020-11-09 22:25:08 +01:00
Gustavo Iñiguez Goia
c666abe5f9 apps version increased 2020-11-05 21:50:37 +01:00
Gustavo Iñiguez Goia
8c3996ed37
Merge pull request #81 from sadyqowl1560/main
Add missing icon which can abort the building
2020-11-05 21:09:49 +01:00
Gustavo Iñiguez Goia
1ba55fdc00
Merge pull request #62 from NP-Hardass/fix-dep
go.mod: add netns as indirect dependency for netlink
2020-11-05 17:12:05 +01:00
Gustavo Iñiguez Goia
ce510ca708 fixed race condition when reading default config 2020-11-03 15:29:08 +01:00
Gustavo Iñiguez Goia
b521f275c2 .deb: remove daemon options from .service file
The options are now configurable from the configuration file, as well
as the UI.
2020-11-02 10:55:46 +01:00
Gustavo Iñiguez Goia
aa18d184a2 Merge branch 'ui2.0' into main 2020-11-02 10:29:28 +01:00
Gustavo Iñiguez Goia
907e73863a ui: configure Server Address and LogFile from the GUI 2020-11-02 01:46:54 +01:00
Gustavo Iñiguez Goia
1931884dd3 server notifications reorganization 2020-11-02 01:43:11 +01:00
Gustavo Iñiguez Goia
aad69e9603 close log file handles when applying a configuration change
we were leaking descriptors.
2020-11-02 01:40:52 +01:00
Gustavo Iñiguez Goia
ff5c1ff4c2 cli logging parameters overwrite config options
Parameters passed by command line must overwrite the options configured
in the config file.

closes #82
2020-11-02 01:37:35 +01:00
Gustavo Iñiguez Goia
1f67a7164c fixes race condition setting server address 2020-10-30 22:06:33 +01:00
sadyqowl1560
960d404272 Add missing icon which can abort the building 2020-10-29 17:14:05 +02:00
Gustavo Iñiguez Goia
1d49e81150 fixed (re)connecting process to the UI 2020-10-28 23:28:15 +01:00
Gustavo Iñiguez Goia
61900179fc ui: fixed showing clean stats button 2020-10-28 14:22:36 +01:00
Gustavo Iñiguez Goia
832f4fdc5c ui: allow to clear stats 2020-10-28 00:25:14 +01:00
Gustavo Iñiguez Goia
9aa100fe3d ui: improved showing/hiding stats window
The stats window was not being shown correctly when it was maximized and
minimized.

Now we cover all the possible cases (I hope).

closes #77
2020-10-27 23:57:43 +01:00
Gustavo Iñiguez Goia
5e5a586b18 ui: improved GUI deb packages
Use debconf to ask questions.

This allow us to:
 - install deb packages using apt frontends (noninteractive, readline,
  etc).
 - display the questions on graphical installers like Gdebi.

closes #75
2020-10-27 23:48:48 +01:00
Gustavo Iñiguez Goia
7b28a398ea ui: changed General tab clear icon 2020-10-27 02:25:07 +01:00
Gustavo Iñiguez Goia
38bfb58442 ui: improved preferences dialog saving notification 2020-10-27 01:59:45 +01:00
Gustavo Iñiguez Goia
8abf2abece ui: fixed getting pop-up timeout default value 2020-10-27 01:45:14 +01:00
Gustavo Iñiguez Goia
2dd9c43f0d fixed typo 2020-10-27 01:40:03 +01:00