Commit Graph

1658 Commits

Author SHA1 Message Date
emanuele-f 4a8caf2a57 Merge branch 'master' into playstore 2026-02-12 10:34:26 +01:00
emanuele-f 88923e1277 Bump version to 1.9.0 v1.9.0 2026-02-12 10:15:11 +01:00
emanuele-f 20d403511e Merge branch 'master' into playstore 2026-02-11 22:27:22 +01:00
emanuele-f 2d66f8a8eb Remove unused strings 2026-02-11 22:26:42 +01:00
emanuele-f 6c25011c75 Merge branch 'master' into playstore 2026-02-11 22:14:35 +01:00
Emanuele Faranda cb81905b1d Update Portuguese (Brazil) strings 2026-02-11 19:20:47 +01:00
emanuele-f 4e68dbf8f4 Add missing pt-rBR translations (AI assisted) 2026-02-11 19:17:43 +01:00
Emanuele Faranda e3a8a408a6 Update locales from Weblate (AI assisted) 2026-02-11 18:59:53 +01:00
emanuele-f e4338843d0 weblate.py: consider locale up-to-date when files match
Skip update and bump status when the locale file is identical
on weblate/master and HEAD. Also bump status when all pending
commits are already in master.
2026-02-11 18:59:13 +01:00
emanuele-f 7cbaa1a354 Add the Portuguese (BR) app language 2026-02-11 18:11:27 +01:00
emanuele-f a2455f52ed Remove duplicated and unused strings 2026-02-11 17:56:47 +01:00
MS-PC 6e9d1b1a5b Fix weblate conflict for Spanish strings 2026-02-11 17:35:13 +01:00
Mr Mati 6141f615ca Update Polish strings 2026-02-11 13:15:42 +01:00
John 68a66992a1 Update Ukrainian strings 2026-02-11 13:13:33 +01:00
emanuele-f ed7557c185 Fix wrong translations in de, es, pl, ta (AI assisted)
- pl: duration was "Kierunek" (Direction), fixed to "Czas trwania"
- pl: no_dump/no_dump_info said "pausing" instead of "dumping"
- ta: geolocation was "உலகம் நீக்கம்" (world removal), fixed to "புவிஇருப்பிடம்"
- ta: errno_ehostunreach used garbled "ஓச்டு" for host, fixed to "புரவலன்"
- ta: all port strings used "துறைமுகம்" (seaport/harbor), fixed to "போர்ட்"
- de: tls_conn_info had English "user" in "user Anleitung", fixed to "Benutzeranleitung"
- es: geo_db_not_found had wrong gender "deshabilitado", fixed to "deshabilitada"
2026-02-11 10:18:58 +01:00
emanuele-f e819e1b134 Add missing translations for az, de, es, in, pl, ta, uk (AI assisted) 2026-02-10 23:11:29 +01:00
emanuele-f 75a196ca10 Fix wrong translations in de, ta, ar, pt-BR, ko (AI assisted)
- de: malware_status_detected had inverted meaning (said "no malicious
  connections" instead of "malicious connections detected"), get_app used
  inappropriate slang "Kapiert:"
- ta: all 6 unblock-related strings were translated as "block" (opposite)
- ar: paid_features_unlocked said "locked" instead of "unlocked",
  network_interface said "user interface" instead of "network interface"
- pt-BR: no_data/tcp_collector_info/tcp_exporter contained translator
  notes instead of actual translations
- ko: pcap_file said "PCAP pharming" instead of "PCAP file" (typo)
2026-02-10 22:37:09 +01:00
emanuele-f 58b0c436c4 Show translation percentage in weblate status command 2026-02-10 22:23:33 +01:00
大王叫我来巡山 788f07b6ed Update Chinese (Simplified Han script) strings 2026-02-10 22:12:47 +01:00
Oğuz Ersen c720dd57af Update Turkish strings 2026-02-10 22:12:47 +01:00
தமிழ்நேரம் df61083a06 Update Tamil strings 2026-02-10 22:12:47 +01:00
Morkovka21Vek e2328df868 Update Russian strings 2026-02-10 22:12:47 +01:00
RyoidenshiAokigahara fb4a52ae64 Update Russian strings 2026-02-10 22:12:47 +01:00
Yurt Page d62cfac665 Update Russian strings 2026-02-10 22:12:47 +01:00
Emanuele Faranda 6efb0c0bbf Update Italian strings 2026-02-10 22:12:47 +01:00
dedy prasetyo 9005795c6e Update Indonesian strings 2026-02-10 22:12:47 +01:00
Nur Rachmat 80390b8fbb Update Indonesian strings 2026-02-10 22:12:47 +01:00
Anonymous 672131c468 Update Indonesian strings 2026-02-10 22:12:47 +01:00
Ali Nasrullayev b03d0a8594 Update Azerbaijani strings 2026-02-10 22:12:47 +01:00
jonnysemon 890127c6ca Update Arabic strings 2026-02-10 22:12:47 +01:00
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 c0b5aec1a7 Fix Indonesian strings 2026-02-10 22:06:55 +01:00
Ettore Atalan ab33a52b2d Update German strings 2026-02-10 22:06:52 +01:00
Lorenzo Bay-Müller e37ab95f30 Update German strings 2026-02-10 22:06:52 +01:00
emanuele-f 38dc74b9b1 Decode zstd HTTP content type 2026-02-09 22:55:42 +01:00
emanuele-f c9f0399d8c Pretty-print JSON in HTTP payload view
The pretty-print is only done when the chunk is expanded and it's not
applied in the copy/save to file.

Closes #358
2026-02-09 22:37:37 +01:00
Oğuz Ersen 2908b0a268 Update Turkish strings 2026-02-06 22:55:33 +01:00
Nico b077530a74 Update Portuguese (Brazil) strings 2026-02-06 22:55:33 +01:00
Anonymous 5df227df27 Update Portuguese (Brazil) strings 2026-02-06 22:55:33 +01:00
João Firmino d47f28647b Update Portuguese (Brazil) strings 2026-02-06 22:55:33 +01:00
emanuele-f 5dd872940f Update gradle and dependencies
libpcap 1.10.6
2026-02-06 19:59:24 +01:00
emanuele-f 3046b59484 Fix tab switch button visibility in light theme and add tooltip 2026-02-06 19:23:04 +01:00
emanuele-f 3714b1154a Allow selecting any supported app language on Android 12 and below
On Android <= 12, the in-app language selector was hardcoded to only
offer "System default" and "English". Parse locales_config.xml at
runtime to populate the dropdown with all supported languages, showing
each language in its native display name.

Closes #510
2026-02-06 18:31:39 +01:00
emanuele-f 29f366ec17 Add new domain/validation/parsing unit tests
Add unit tests for Cidr, HTTPReassembly, HttpLog, HttpLogFilterDescriptor,
PortMapping, MatchList, FilterDescriptor, ConnectionsRegister and
expand UtilsTest. Vibe-coded
2026-02-06 18:14:01 +01:00
emanuele-f c9de035f3f Move synchronous exports to background threads
dumpHttpLog() and dumpCsv() ran file I/O on the UI thread, risking
ANR for large exports. Rewrite both to match the exportHttpLogHar()
pattern: snapshot data on the UI thread, then run the write loop on
a background ExecutorService with a cancellable progress dialog.

Also fix dumpCsv() using getBytes() without explicit charset.
2026-02-06 17:29:31 +01:00
emanuele-f fdd91e76ba Add ability to select and export individual HTTP requests
This completes the changes started in the previous commit, extending
the select and export behavior to the HTTP requests.

Closes #455
2026-02-06 17:10:14 +01:00
emanuele-f 5105497390 Add ability to select and export individual connections
See #455
2026-02-06 17:10:10 +01:00
emanuele-f cb57650d0a Fix export consistency in HTTP Requests
Now it will only export the requests matching the current filter, to make it
consistent with the Connections export function.

See #455
2026-02-06 17:09:50 +01:00
emanuele-f 3a902c0101 Add domain name support for port mapping
Allow specifying domain names (not just IP addresses) as the
redirect host in port mapping rules. Domains are resolved via
the underlying network in CaptureService.resolveHosts() before
the packet loop starts. If resolution fails, capture is aborted.

Closes #807
2026-02-06 15:57:07 +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