Commit Graph

908 Commits

Author SHA1 Message Date
emanuele-f
4c0ce35085 Fix rules list not updated after delete
Adding a rule after deleting another rule did not
update the view
2023-01-15 10:37:32 +01:00
emanuele-f
2bde04c971 Fix incorrect pcap file size in Android 7
The internal dump size is now used instead of the
on-disk size
2023-01-15 10:15:15 +01:00
emanuele-f
9628fd6ce9 Fix invalid capture stats
Bug was introduced in 275eefa
2023-01-15 10:08:06 +01:00
Emanuele Faranda
944d1a8698 Update Italian strings
Also integrate some other suggestions
2023-01-14 15:49:27 +01:00
Oğuz Ersen
ab36574da8 Update Turkish strings 2023-01-14 15:47:25 +01:00
Eric
7e797de21e Update Chinese strings 2023-01-14 15:46:19 +01:00
gallegonovato
49f423d403 Update Spanish strings 2023-01-14 15:45:11 +01:00
RyoidenshiAokigahara
ff0edfa6a5 Update Russian strings 2023-01-14 15:40:47 +01:00
emanuele-f
d6acb50dcb Add pcapng docs URL 2023-01-12 21:38:06 +01:00
emanuele-f
d82df49c0d Move pcapng format option below TLS decryption 2023-01-11 22:20:22 +01:00
emanuele-f
3830f93054 Add ability to sort apps
Apps can now be sorted by name and total/sent/received bytes.
The app sent/received bytes are now shown.

Closes #245
2023-01-11 20:08:36 +01:00
emanuele-f
28aa972f69 Remove unused strings 2023-01-08 22:20:18 +01:00
yuugare
f3d9b995a9 Add Korean translation 2023-01-08 22:13:18 +01:00
gallegonovato
d41d40c222 Update Spanish strings 2023-01-08 22:04:54 +01:00
Denis Danci
9ca694e56f Update Spanish strings 2023-01-08 22:02:57 +01:00
m_s_
658818d8cf Update Portuguese strings 2023-01-08 21:58:24 +01:00
RyoidenshiAokigahara
0e8a90cced Update Russian strings 2023-01-08 21:56:37 +01:00
nautilusx
f7053762ad Update German strings 2023-01-08 21:51:26 +01:00
ANDHIKA
a61a593ef8 Update Indonesian strings 2023-01-08 21:48:19 +01:00
emanuele-f
6842ef1231 Store decryption secrets into PCAPNG
When both TLS decryption and PCAPNG are enabled, PCAPdroid now embeds
the TLS master secrets directly into the PCAPNG dump, without the need
for a separate SSLKEYLOG file.

Closes #185
2023-01-08 19:20:49 +01:00
emanuele-f
0e3a642348 Fix tests compilation 2023-01-07 19:53:19 +01:00
emanuele-f
0b322b0941 Implement PCAPNG dump format
It's now possible to dump packets in the PCAPNG format. This mode does
not currently support the PCAPdroid trailer option.
2023-01-07 19:48:20 +01:00
emanuele-f
6d423b5d22 Fix test/fuzz target compilation 2023-01-06 21:33:48 +01:00
emanuele-f
275eefaa1c Rework PCAP dump
Encapsulate logic into a new dumper API, preparing for pcapng
support
2023-01-06 21:29:06 +01:00
emanuele-f
92b89fa5be Fix "no such file or directory" with dump to file
On older devices it's necessary to manually create the
downloads subfolder

Fixes #289
2022-12-29 09:57:01 +01:00
emanuele-f
905704d1a1 Add warning while tring to import many rules
Closes #284
2022-12-28 12:13:13 +01:00
emanuele-f
b407a3fc04 Fix AlertDialog inputs colors
Closes #287
2022-12-28 11:20:13 +01:00
emanuele-f
916e5cf89b Fix PCAP dialog shown on resume 2022-12-27 22:51:49 +01:00
emanuele-f
46889738c7 Rework PCAP dump to file
PCAP dump to file has been reworked as follows:

- File selection dialog is not shown anymore when the capture starts
- The PCAP filea are saved to the Downloads/PCAPdroid folder
- Simplified mechanism to dump to an arbitrary URI (pcap_uri param)
- Add pcap_name parameter to specify PCAP file name

Overall, this simplifies user interaction and make it easier to
access the PCAP file.

Closes #183
2022-12-27 13:59:02 +01:00
emanuele-f
3a89269f79 Implement TLS decryption whitelist
It's now possible to whitelist specific apps, hosts or IP addresses
to exclude them from the TLS decryption. The whitelist is not available
for decryption in root mode.

Beware that since the host is only available after the TLS connection
is in progress, host-based whitelisting only works if a prior DNS reply
for the given host was seen, creating a mapping between the resolved IP
and the host.

Closes #266
2022-12-22 12:59:44 +01:00
emanuele-f
52832f996f Fix warning with firewall whitelist 2022-12-22 10:41:34 +01:00
emanuele-f
4edd1e7ede Improve log viewer
- reduce logging level of firewall events to debug
- only display the most recent 512 log lines
2022-12-20 12:36:21 +01:00
emanuele-f
1d878c56c8 Fix blacklist loading after latest commit 2022-12-19 12:53:52 +01:00
emanuele-f
553772724d Improve blacklists update process
- Stop blacklist download if it takes more than 10 sec
- Abort downloads if capture is stopped
- Update the UI status during each individual download

Closes #224
2022-12-18 20:05:30 +01:00
emanuele-f
68bd85b615 Add ability to choose DNS servers
The DNS servers used in VPN mode are now configurable. It's now
possible to ignore the system DNS server and use the specified
ones. Cloudflare DNS is now the default DNS server, which has a
no-logs policy.

Closes #275
2022-12-18 19:19:20 +01:00
emanuele-f
85e1ceb88e Ability to disable full payload with TLS decryption
This can be useful to prevent OutOfMemoryError

Closes #273
2022-12-16 01:12:36 +01:00
emanuele-f
356d8cca07 Allow blocking Quic in non-decryption mode
Closes #259
2022-12-15 21:26:20 +01:00
emanuele-f
6bf8a6bd8b Add ability to manually add rules
It's now possible to define rules manually without first seeing a
related connection. This includes firewall and whitelist rules.

Closes #207
2022-12-13 23:24:08 +01:00
emanuele-f
2a22e89fef Add ability to configure port mapping
In VPN mode, it's now possible to redirect the traffic of specific
ports towards another host and port. This makes it possible to
integrate PCAPdroid with other apps, by forwarding the traffic to
a local server.

Closes #274
2022-12-12 23:48:56 +01:00
emanuele-f
bbafcbe619 Fix whitelist flag shown with firewall disabled 2022-12-12 11:49:41 +01:00
emanuele-f
ac7a6e499c Add button to reset apps stats
Closes #285
2022-12-02 00:00:17 +01:00
emanuele-f
235920b3cb Fix TLS decryption message visibility on resume
The decryption message was wrongly displayed with decryption disabled
2022-12-01 23:18:56 +01:00
emanuele-f
88304564e6 Don't hide "block new apps" in whitelist mode
The blocklist is still effective in whitelist mode
2022-12-01 22:36:16 +01:00
emanuele-f
9eed9ed221 Implement firewall whitelist mode
When whitelist mode is enabled, all the connections are blocked unless
an app is manually whitelisted. DNS resolution by netd is always allowed,
since it's not possible to determine the requesting app.

With this mode enabled, the firewall blocklist is still used and has
priority. For example, if an app is whitelisted but a block rule exists
for the given domain, the connection will be blocked.

The app provides a default whitelist with some essential services.

Closes #232
2022-12-01 00:42:41 +01:00
emanuele-f
b8561d7316 Fix unnecessary refreshes while loading lists
The list change listeners were called for each rule in the list

Partially addresses #284
2022-11-27 17:43:14 +01:00
emanuele-f
60460880af Ability to provide custom mitmproxy options
A new preference has been added to provide additional mitmproxy options

Closes #283
2022-11-24 20:02:37 +01:00
emanuele-f
77560bdebd Show logs inside the app
The app now shows its own logs along with the root and the mitm addon
ones.

Closes #282
2022-11-24 13:04:21 +01:00
emanuele-f
cbdc4967ca Fix tests 2022-11-23 18:44:46 +01:00
emanuele-f
cdafc69902 Write app log to file
See #282
2022-11-23 13:00:15 +01:00
emanuele-f
fe5e53e8e4 Update deps 2022-11-20 15:21:09 +01:00