Commit Graph

78 Commits

Author SHA1 Message Date
emanuele-f
cebeb37a38 Fix CaptureCtrl crash on Android 11/12
The CaptureCtrl is only started when the PCAPdroid control API is
invoked. The crash occurred because getInsetsController was called
before setContentView.

Fixes #179
2022-01-14 12:51:19 +01:00
emanuele-f
e7bc6ba8d1 Fix tests execution 2022-01-11 00:27:00 +01:00
emanuele-f
bd2f85f876 Detect build type to customize error reporting
The error reporting dialog now shows the build type. The dialog is now
shown only on unsupported builds.

Closes #177
2022-01-10 23:23:47 +01:00
emanuele-f
1ba0d8008f Improve fragments consistency while swiping
While swiping in the viewpager, the fragments onResume may haven't been
called yet. This commit initializes the status fragment before onResume and
also fixes the "No Connections" shown just briefly after the connections
fragment is shown
2022-01-02 11:36:34 +01:00
emanuele-f
63a5826e80 Improve navigation on Android TV 2021-12-14 16:36:51 +01:00
emanuele-f
ef53b36f7a Make wifi hardware not mandatory
Fixes #152
2021-12-14 15:30:50 +01:00
emanuele-f
a9b90d5ff2 Fix deprecation/warning messages
Closes #151
2021-12-14 15:13:16 +01:00
emanuele-f
41460fe9cf Add checks in startActivity/ActivityResultLauncher
This prevents crashes when no activity is found to handle the specified
Intent
2021-12-08 11:07:30 +01:00
emanuele-f
cc11790f0e Implement features unlock via unlock code 2021-12-02 23:07:53 +01:00
emanuele-f
62c84f9663 Initial firewall implementation (no-root mode)
- Block connections by IP, domain or app
- Add filter to show blocked connections
- Migrate IP matching to ndpi_ptree_t API
- IPv6 addresses now supported in blacklists
- Duplicate IP address rules now only counted once
2021-11-29 22:40:35 +01:00
emanuele-f
e7b8811f23 Initial malware detection overview (wip)
- Overall status of malware detection
- Show the blacklists used, check their status
- Whitelist moved to this activity
2021-11-19 18:21:44 +01:00
emanuele-f
095b301897 Add ability to hide connections matching country 2021-11-19 18:21:44 +01:00
emanuele-f
51a18f3d43 Report full country name and improve conn. layout 2021-11-19 18:21:44 +01:00
emanuele-f
184a5c3dd3 Fix past day hours shown as today
Fixes #145
2021-11-03 18:03:58 +01:00
Stanislav
14424a84ae Changed Help popup to use AlertDialog instead of Toaster. 2021-11-03 16:41:23 +01:00
emanuele-f
431bcd6ba2 Ability to copy host/IP/URL without opening details 2021-10-26 16:24:53 +02:00
emanuele-f
903816e836 Fix downloadFile connections not closed 2021-10-21 19:01:53 +02:00
emanuele-f
eece3e8cce Fix domain detection with www prefix
Also add the internetbadguys.com test domain
2021-10-21 16:14:54 +02:00
emanuele-f
82850d5680 Implement blacklists reloading from URLs
The blacklists state is shown in the Stats activity.

Needed for #105
2021-10-20 22:02:00 +02:00
emanuele-f
cb4bbc454d Implement blacklist-based malware detection
A notification is generated when a connection matches known malicious
domains or IP addresses. The connections view reports malicious
connections with a skull icon. A filter can be set to only show them.

Needed for #105
2021-10-20 15:32:29 +02:00
emanuele-f
ca3889fab9 Improve control via Intent
- Fix app state not refreshed
- Fix VPNService.prepare not called
- Add missing pcap_uri parameter
2021-09-11 15:45:31 +02:00
emanuele-f
5637191b13 Add TCP flags for debugging 2021-07-16 12:15:28 +02:00
emanuele-f
bc28244e21 Rework time handling
Periodic tasks are now based on a monotonic timer. The timestamp in
the exported PCAP now corresponds to the original timestamp when using
root. Moreover, in-app first/last seen time now displays the milliseconds.

Closes #89
2021-07-06 15:54:26 +02:00
emanuele-f
0a935be6e4 Initial export of app info in PCAP
Initial work for #36
2021-07-02 00:45:19 +02:00
emanuele-f
da141fa8df Cleanup pcap_utils 2021-07-01 18:58:37 +02:00
emanuele-f
91cc995eff Refactor PCAP dump
PCAP dump now always occurs in Java
2021-07-01 11:01:15 +02:00
emanuele-f
bfb1390499 Implement app details
Show information about an app, including its target SDK version,
install/update date and its requested permissions. Also add a button to
quickly open the app info/settings in android.

Closes #45
2021-06-25 14:50:38 +02:00
emanuele-f
66f27ff805 Add ability to copy/share whitelist 2021-06-14 15:38:29 +02:00
emanuele-f
8701eb9145 Add ability to exclude a root domain 2021-06-11 18:53:09 +02:00
emanuele-f
404f5e0238 Implement ability to ignore connections
An exclusion list can now be created to hide connections matching the
specified host, app, IP address or protocol.

Closes #68
2021-06-09 15:35:45 +02:00
emanuele-f
0d48c1f141 Fix deprecations 2021-06-05 13:06:02 +02:00
emanuele-f
e65ff93972 Add ability to read the root daemon log 2021-06-02 00:01:10 +02:00
emanuele-f
c2df8436ab Implement ability to capture packets as root
This requires a rooted device. It allows PCAPdroid to run with other VPN
apps.
2021-05-01 12:02:48 +02:00
emanuele-f
049af45f42 Implement dark theme
Closes #46
2021-03-30 13:00:26 +02:00
emanuele-f
4ac471f3a1 Handle missing Storage Access Framework on save
The Storage Access Framework may be missing in some Android devices,
expecially TVs, which sometimes implement an empty stub. In such cases,
PCAPdroid uses the deprecated API to save the file to the Downloads
folder in the internal memory.

Fixes #53
2021-03-30 00:56:49 +02:00
emanuele-f
1bb6ae3165 Fix UDP broadcast connections 2021-03-29 12:01:51 +02:00
emanuele-f
9bb1741456 Handle file selector exception 2021-03-29 11:11:03 +02:00
emanuele-f
ab3d684fe7 Implement language switch
It is now possible to switch between the system default language and
the english language.
2021-03-23 23:40:14 +01:00
emanuele-f
6ae5f3fd04 Add initial language switch support
Also add italian translation
2021-03-23 19:26:15 +01:00
emanuele-f
6ae6a0f7b8 Use fallback DNS server when main network changes
This avoids using a private DNS server which isn't reachable anymore
2021-03-17 10:37:31 +01:00
emanuele-f
afdd8ad043 Avoid loading all the installed apps when not necessary
This reduces the CPU and memory usage and also improves the adapters
responsiveness.

Closes #40
2021-03-08 21:20:31 +01:00
emanuele-f
778362fd07 Prevent crash in Bitmap.createBitmap 2021-03-08 13:10:58 +01:00
emanuele-f
d117a9342a Add ability to filter by unknown app 2021-03-05 16:56:25 +01:00
emanuele-f
e8a56aa669 Add about view and share app 2021-03-04 23:14:30 +01:00
emanuele-f
0f09214a09 Update copyright 2021-03-04 18:48:24 +01:00
emanuele-f
7c1075b6e7 Add Android TV support 2021-03-04 17:26:48 +01:00
emanuele-f
c51c765369 Implement connections export as CSV 2021-03-03 17:32:48 +01:00
emanuele-f
3f1028604d Ability to copy/share stats and connection details 2021-03-03 16:05:42 +01:00
emanuele-f
3ad73afcec Improve connection items layout
Also add first/last seen infromation in the connection details
2021-03-03 00:42:21 +01:00
emanuele-f
6f009ce19a Rework app settings in status view quick settings 2021-03-02 17:39:39 +01:00