57 Commits

Author SHA1 Message Date
emanuele-f c6346eda9f Add weblate.py script to automate translation updates
Cherry-picks translation commits from the weblate remote, squashing
consecutive commits by the same author. Uses 3-way merge to preserve
master-only changes. Tracks last processed commit per locale in
tools/weblate_status.
2026-02-10 22:11:47 +01:00
emanuele-f 92d9b7bd7f Move SOCKS5 host resolution from CaptureHelper to CaptureService
Host resolution was performed in CaptureHelper before starting the
service, but this was skipped for always-on VPN (system starts the
service directly) and BootReceiver (starts service without CaptureHelper).

Resolve the SOCKS5 proxy hostname in the capture thread using the
underlying (non-VPN) network saved before VPN establishment. This
covers all startup paths and also re-enables hostname support for
the intent-based API (disabled in 6ca1073 to work around a UI glitch
that no longer applies since resolution is now async in the service).
2026-02-06 15:32:17 +01:00
emanuele-f 789f08a6d5 Some adjustments 2025-08-01 10:21:14 +02:00
c4rl2s0n 72f9ceb814 automatically reload decryption rules after finishing the API capture;
Increased versionCode
2025-07-31 14:30:55 +02:00
c4rl2s0n 769a79466f Added features to API:
+ set full_payload option
+ provide filename to dump SSLKEYLOGFILE to Downloads directory
+ specify decryption rules
2025-07-31 14:03:03 +02:00
Emanuele Faranda aff318cba1 Update app_api.md
Fix typo
2025-05-11 12:06:56 +02:00
Emanuele Faranda f101bdbaea Update app_api.md
Add info about the new "api_key" parameter
2025-05-11 12:04:04 +02:00
emanuele-f 91f258d8ab Implement TCP exporter (pcap-over-ip)
It makes it possible to integrate PCAPdroid with other software

See #509
2025-04-25 18:36:21 +02:00
emanuele-f d25b4eb707 Rename PCAPdroid trailer to extensions 2025-01-04 17:03:42 +01:00
emanuele-f c88ffeba35 Add doc with edge-to-edge info and instructions 2025-01-01 19:16:05 +01:00
emanuele-f 883e99d120 Remove unfinished languages: fr, ja, ko, nb, pl, pt
Manually generate the locales_config.xml file, which is
currently needed when using resourceConfigurations
2024-09-02 20:23:53 +02:00
myzhan 4018db9953 Add IPv6 bytes stats (#421)
IPv6 bytes stats are now shown in the Stats activity and exposed in the CaptureCtrl API

Co-authored-by: emanuele-f <black.silver@hotmail.it>
2024-03-11 18:05:14 +01:00
emanuele-f 8ac6428bf1 Allow capturing multiple target apps
The target app option has been extended to allow the selection
of multiple apps.

Closes #146
2024-02-01 09:56:01 +01:00
emanuele-f b8a405ab54 Restore "block_quic" intent parameter name 2024-01-28 21:16:40 +01:00
emanuele-f 4a7a55d504 Ability to block QUIC always or only on decryption
Commit ddec1a8 limited the ability to block QUIC to only
connections matching the decryption rules. Some users may still want
to always block QUIC for different reasons, so this commit makes it
possible to choose the block policy to apply.

See #369
2024-01-28 20:08:24 +01:00
emanuele-f ddec1a85eb Only block QUIC for connections to decrypt
Since PCAPdroid can now be run with decryption enabled all the time, blocking
QUIC is now limited to the connections matching the decryption whitelist.
This also hides the block QUIC option when TLS decryption is disabled.

Closes #369
2023-12-25 17:06:58 +01:00
emanuele-f 6ca1073806 Fix glitch on capture start via intent-based API
When a user allows an app permanent capture control, starting the capture
caused the control permission dialog to be shown briefly, causing a glitch.
This is caused by the SOCKS5 host resolution logic introduced in 6d7708e.
To fix this, SOCKS5 host resolution is now disabled in the intent-based API
2023-12-02 16:14:55 +01:00
emanuele-f 6d7708eec0 Support IPv6 and host names in socks5 mode
Closes #343
2023-08-20 19:58:15 +02:00
emanuele-f 8e584fa8c2 Allow configuring SOCKS5 proxy auth
Closes #304
2023-03-16 12:17:52 +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 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 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 Faranda ff171cf8f3 Add info about new security checks 2022-07-12 10:57:24 +00:00
emanuele-f d81a7a2356 Implement IPv6-only VPN mode
This allows running PCAPdroid over an IPv6-only network

See #223
2022-06-29 11:25:48 +02:00
emanuele-f be22b90b6b Add info about debugging in work profiles 2022-06-08 11:56:24 +02:00
Emanuele Faranda 7c998679c4 Add notes about work profiles 2022-06-06 17:31:19 +02:00
emanuele-f 7433dcf9de Add ability to disable blocking of private DNS
Closes #164
2022-05-27 16:59:08 +02:00
emanuele-f 557690da1a Add ability to block QUIC when decrypting TLS
This can force apps to fallback to TLS, whose decryption is supported.

https://www.ietf.org/archive/id/draft-ietf-quic-applicability-09.html#section-2

Closes #213
2022-05-27 15:09:05 +02:00
Emanuele Faranda f0d53ed671 Update app_api.md 2022-05-27 12:51:51 +02:00
Emanuele Faranda 6c4e1f8a9e Instructions to test VPN performance 2022-05-26 21:10:56 +02:00
emanuele-f efce847438 Bump version to 1.4.8 2022-04-22 22:36:29 +02:00
emanuele-f f8ccd99980 Simplify the payload mode preference
Turn it into a toggle which enables/disables the full payload
2022-04-12 22:54:07 +02:00
emanuele-f 35cdd7086b Add ability to display the full packet payload
- 3 modes: no payload, minimal payload (save memory), full payload
- Display payload as hexdump
- Display HTTP requests and responses as string
- Show decrypted HTTPS (requires mitm addon)
- Decode chunked encoding and gzip body
- Show websockets messages (only with TLS decryption enabled)
- An icon indicates the connections decryption status
- Easily copy the HTTP request/response from the context menu

See #107
2022-03-21 18:00:43 +01:00
emanuele-f 6f42015873 Initial support for built-in TLS decryption
PCAPdroid can now decrypt TLS connections and show the decrypted data
with the help of a separate mitm addon
2022-02-13 00:00:07 +01:00
emanuele-f 7a1a0e6981 Reaching max_dump_size does not stop the capture
Now only the PCAP dump is stopped when max_dump_size is reached
2022-02-03 11:59:40 +01:00
emanuele-f 02b143aa42 Reorganize tests 2022-01-29 18:43:29 +01:00
emanuele-f 9052bd8f5f Return the PCAPdroid version in get_status 2022-01-28 18:29:37 +01:00
emanuele-f e00870b23e New dump parameters for the Intent-based API
- snaplen: limit the size of a every packet
- max_pkts_per_flow
- max_dump_size: stop the capture when the size limit is reached
2022-01-25 15:57:38 +01:00
emanuele-f 3364a4946e Fix SecurityException with PCAP file dump on Android TV
When no file manager was available, takePersistableUriPermission
was called without an Intent (and the corresponding
FLAG_GRANT_PERSISTABLE_URI_PERMISSION flag), causing a
SecurityException.

Fixes #176
2022-01-21 00:17:14 +01:00
Emanuele Faranda 472b7f4a18 Update testing.md 2022-01-20 20:09:32 +01:00
emanuele-f a59664415a Add DPI and malware detection tests 2022-01-20 20:07:13 +01:00
Emanuele Faranda 6f73c46537 Update app_api.md 2021-11-22 19:35:54 +01:00
Emanuele Faranda cff85f84ea Update how_it_works.md 2021-10-30 19:42:23 +00:00
Emanuele Faranda fa24d6010d Update how_it_works.md 2021-10-30 19:36:13 +00:00
Emanuele Faranda 42df468221 Update app_api.md 2021-10-30 10:42:20 +00:00
Emanuele Faranda b9b4010ced Create how_it_works.md 2021-10-29 13:44:27 +00:00
Emanuele Faranda 12d627a051 Update app_api.md 2021-10-28 00:59:21 +02:00
Emanuele Faranda 642180a1b7 Update app_api.md 2021-09-14 20:46:36 +00:00