Commit Graph

1022 Commits

Author SHA1 Message Date
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
Emanuele Faranda
706612f304
Update full_description.txt 2022-10-11 20:49:44 +00:00
Emanuele Faranda
1bd96b1f4b
Update README.md 2022-10-11 20:48:51 +00:00
Emanuele Faranda
58d3da1f7c
Update README.md 2022-10-11 20:46:46 +00:00
emanuele-f
eccacc9ad8 Exclude unreachable errors from dropped conn count
Network may become temporary unreachable at any time, e.g. while
switching between wifi and mobile
2022-10-05 22:20:05 +02:00
emanuele-f
ef2c295660 Compilation fix 2022-09-27 12:58:58 +02:00
emanuele-f
785baeecfa Compilation fix 2022-09-27 12:54:13 +02:00
emanuele-f
4720555d26 Fix possible IllegalStateException in mitmwizard 2022-09-27 12:50:41 +02:00
emanuele-f
04fe20ca95 Fix possible IllegalStateException in MatchList.fromJson 2022-09-27 12:46:53 +02:00
emanuele-f
3dcfeb2078 Bump version to 1.5.6 2022-09-24 14:08:17 +02:00
Oğuz Ersen
e14998d4d4 Update Turkish strings 2022-09-23 17:41:27 +02:00
Eric
9b596bc5ca Update Chinese strings 2022-09-23 17:41:13 +02:00
Emanuele Faranda
c93ea5d1fa Update Italian strings 2022-09-23 17:40:49 +02:00
emanuele-f
0eb09bf66c Fix CI 2022-09-22 23:00:26 +02:00
emanuele-f
69c66c15f8 Fix CI errors in the playstore branch 2022-09-22 22:56:00 +02:00
Maxime Leroy
03c70455f7 Update French strings 2022-09-22 22:49:54 +02:00
Oğuz Ersen
b7759939b0 Update Turkish strings 2022-09-22 22:48:01 +02:00
emanuele-f
bc6c316965 Fix wrong paid features docs URL 2022-09-22 22:31:08 +02:00
emanuele-f
d10fa01824 Fix uid to package name mapping in MatchList
PCAPdroid assumes a persistent mapping between a uid and a package name.
However, this mapping may change if an app sharing its uid is
installed/removed. This resulted in the inability to remove an existing
app rule from a MatchList. This fix only addresses the change at load
time, whereas the problem may still occur at runtime.

Fixes #257
2022-09-20 16:51:30 +02:00
emanuele-f
0b34620233 Rename AppDescriptor getters 2022-09-20 16:23:27 +02:00
Emanuele Faranda
8ccdd69263
Update README.md 2022-09-13 13:58:04 +00:00
emanuele-f
4fab552b2b Fix CA cert installation skip 2022-09-09 22:35:48 +02:00
emanuele-f
3f6f32809a Fix paid features unlocking in beta builds
Paid features inherited from the official app were not properly
unlocked when the VPN was started by the Android system

Fixes #255
2022-09-09 22:10:10 +02:00
emanuele-f
88e65b5336 Fix Whatsapp video calls hang up
Fixes #254
2022-09-09 18:55:05 +02:00
emanuele-f
7e98bee35f Update deps 2022-09-09 10:12:19 +02:00
emanuele-f
f3bb3543c8 Add ability to launch mitm wizard manually 2022-09-01 23:22:35 +02:00
emanuele-f
20b755848c Add ability to skip mitm certificate check
This allows people to proceed with the decryption setup even if
the mitm certificate installation is not detected by PCAPdroid

Closes #248
2022-09-01 23:02:04 +02:00