Commit Graph

140 Commits

Author SHA1 Message Date
emanuele-f
9436f9ec55 Add support for Android 33+ per-app language
On Android 33+, PCAPdroid now opens the system per-app language
selector. On previous versions, the in-app selector is used.

Closes #456
2024-08-15 16:02:08 +02:00
emanuele-f
5e8f38b1fb Remove unused unzip function 2024-04-11 12:27:15 +02:00
emanuele-f
16ccc20750 Avoid duplicate cliboard copy notification on 13+
Since Android 13, Android itself will show a notification
when copying data to the clipboard
2024-04-11 10:55:05 +02:00
emanuele-f
630e911172 Add toggle for auto-reconnection on VPN termination
This allows the user to run other VPN apps, disconnecting PCAPdroid, and
restart it when they terminate.

Closes #411
2024-02-18 22:34:26 +01:00
emanuele-f
74c2aaca9f Use ISO 8601 dates in CSV export
They are more easily readable

Closes #318
2023-12-25 19:30:07 +01:00
emanuele-f
6f48c2c468 Fix possible permission denied on PCAP file open 2023-08-31 14:07:06 +02:00
emanuele-f
263d1dfefe Fix NumberFormatException in PCAP open / CSV export 2023-08-29 22:37:41 +02:00
emanuele-f
b2f9471e54 Fix deprecations 2023-08-21 08:12:04 +02:00
emanuele-f
6d7708eec0 Support IPv6 and host names in socks5 mode
Closes #343
2023-08-20 19:58:15 +02:00
emanuele-f
86b4c505e3 Add ability to open a PCAP file
PCAPdroid can now open a PCAP file and show the connections data

Closes #109
2023-08-17 22:17:59 +02:00
emanuele-f
e2c5b81d4f Fix possible NullPointerException in getNetworkInterfaces
This occurred with non-primary user account.

See #336
2023-07-20 21:56:33 +02:00
emanuele-f
4e96623130 Fix IPv6 validation on Android < 29 2023-06-13 20:22:55 +02:00
emanuele-f
3e7ca1e7b0 Fix QR code activation crash on Android 32+
The bluetooth_name setting is not readable anymore
2023-04-24 10:43:14 +02:00
emanuele-f
6a42e7d988 Log private DNS mode in build info 2023-04-23 18:30:09 +02:00
emanuele-f
c4d8a09e1d Implement license activation via QR code
It's now possible to use a QR code to activate licenses on
non-Play builds of the app. This comes handy on TV devices
2023-04-16 19:48:05 +02:00
emanuele-f
52ecd91055 Handle possible exception in copyToClipboard
Some bugged devices throw a RuntimeException in setPrimaryClip
2023-02-04 12:24:03 +01:00
emanuele-f
fd4d36cad9 Fix possible crash in Utils.isRTL
The returned locale_name may be empty
2023-02-04 12:16:26 +01:00
emanuele-f
a5658bf514 Handle possible exceptions in scaleDrawable
It may throw OutOfMemoryError
2023-02-04 12:09:22 +01:00
emanuele-f
3618f1e211 Catch possible exception in getDownloadsUri 2023-02-04 11:28:12 +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
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
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
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
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
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
cdafc69902 Write app log to file
See #282
2022-11-23 13:00:15 +01:00
emanuele-f
0b34620233 Rename AppDescriptor getters 2022-09-20 16:23:27 +02:00
emanuele-f
e9fed41efb Fix PackageManager deprecations
Closes #225
2022-08-17 00:03:34 +02:00
emanuele-f
ae7a06cfa3 Fix getSerializable/Extra deprecations
See #225
2022-08-16 23:22:12 +02:00
emanuele-f
7d794e2d65 Catch possible SecurityException in startActivity
It may be thrown if a private component is called
2022-08-13 11:19:43 +02:00
emanuele-f
618435a53f Changes to support paid features on non-play builds 2022-08-12 17:01:04 +02:00
emanuele-f
291cf836ef Add build info with prefs in about 2022-07-25 16:22:56 +02:00
emanuele-f
c411f637f2 Deny traffic dump to remote servers via CaptureCtrl
Some users may be tricked into accepting the traffic control request
and allow an attacker to enable the UDP dump to a remote server.
To prevent this, PCAPdroid now allows remote UDP dump via API only if
the server address is already configured by the user into the PCAPdroid
settings
2022-07-11 14:50:25 +02:00
emanuele-f
8446e0962d Access purchased paid features on beta builds
Since PCAPdroid 1.5.3, users which purchased paid features in official
builds will be able to use them in beta builds.
2022-07-09 23:49:22 +02:00
emanuele-f
c8f61760f8 Disable github workflow build
People can now use the beta repository
2022-07-09 23:27:30 +02:00
emanuele-f
2f2d3c87f1 Handle VPN exceptions back button if search open 2022-07-05 18:58:14 +02:00
emanuele-f
a620d914b7 Keep search query on screen rotation in VPN exceptions 2022-07-05 18:41:02 +02:00
emanuele-f
28e4fac618 Target Android SDK 33 2022-06-29 12:56:00 +02:00
emanuele-f
7238f7ea4a Disable full payload on low memory
Closes #220
2022-06-22 12:17:09 +02:00
emanuele-f
03865a0c4d Fix possible SecurityException in Android 11 2022-06-15 16:22:34 +02:00
emanuele-f
9c7a1d0952 Fix permission grant inside work profile 2022-06-06 16:43:18 +02:00
emanuele-f
fec54e9499 Add INTERACT_ACROSS_USERS permission
This is a signature-level permission required in order to call
getPackagesForUid for other users/profiles. It will be granted on first
root capture start.

See #217
2022-06-06 14:54:23 +02:00
emanuele-f
59488f1694 Improve app on-boarding 2022-05-31 12:53:11 +02:00
emanuele-f
b9615a4f42 Improve mitm addon setup wizard help messages 2022-05-30 11:16:08 +02:00
emanuele-f
bc5589d2e1 2nd-level domain rules now match all subdomains
A rule like "example.com" is now interpreted as "*.example.com", so it
will match all its sub-domains (e.g. "yet.another.example.com"). This is
importantant, in particular, to match malware subdomains.
2022-05-19 12:22:52 +02:00
emanuele-f
46af0e6fc1 Fix unrendered whitespaces in some devices
Some devices have a bad monospace font
2022-05-18 12:07:02 +02:00
emanuele-f
5facf66175 Add ability to import/export rules
This applies to: firewall, malware whitelist, hidden connections
2022-05-16 17:42:58 +02:00