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