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
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.
- 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
```
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.
- 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.
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.
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
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