Commit Graph

56 Commits

Author SHA1 Message Date
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
emanuele-f
7e7d469666 Implement ability to save the PCAP file in the device
Closes #24
2021-03-01 17:57:34 +01:00
emanuele-f
30fdea4d31 Rework layout via Navigation Drawer 2021-02-28 00:21:55 +01:00
emanuele-f
62b4c9e1d8 Decouple apps loading from MainActivity 2021-02-27 17:13:47 +01:00
emanuele-f
897a464809 Fix warnings 2021-02-27 11:01:19 +01:00
emanuele-f
b2a7544bfd Add ability to filter the connections by app 2021-02-19 22:06:50 +01:00
emanuele-f
8d508b7cd1 Merge branch 'master' into dev 2021-02-19 14:40:18 +01:00
emanuele-f
0713a674be Fix 0.0.0.0 sometimes shown in HTTP server mode 2021-02-16 12:08:01 +01:00
emanuele-f
e325a52153 Reorganize code in subdirectories 2021-02-14 22:53:37 +01:00
emanuele-f
cd154b261f Merge branch 'master' into dev 2021-02-14 22:16:12 +01:00
emanuele-f
3235c0334b Prevent IPv6 DNS servers from being used
Also show the currently used DNS server in the runtime stats
2021-02-14 19:04:37 +01:00
emanuele-f
20b949267d Fix app filter selection when search is used 2021-02-14 18:51:38 +01:00
emanuele-f
452683f0b8 Implement app filter search bar and sort 2021-02-14 15:45:51 +01:00
emanuele-f
dc31cbcb59 Add runtime stats view 2021-02-11 18:52:56 +01:00
emanuele-f
13706f8baa Add apps loading in progress message 2021-02-07 18:13:57 +01:00
emanuele-f
f862e8fe05 Move start/stop button to the action bar 2021-02-07 17:51:16 +01:00
emanuele-f
c389468037 Fix filter icon issues 2021-02-06 15:18:50 +01:00
emanuele-f
c14597d92b Properly capture DNS traffic when app filter is set
This allows PCAPdroid to only capture the DNS traffic of the target
application rather than any DNS traffic with unknown app as before.
2021-01-26 18:35:32 +01:00
emanuele-f
4bc4745b50 Move to minimum API version 21 (lollypop)
It provides material design as long as new VPNService related APIs.
2021-01-26 17:47:18 +01:00
emanuele-f
8bb3666702 Fix empty apps list in Android 11
Due to package visibility changes in the API, QUERY_ALL_PACKAGES is now required.
2021-01-25 16:24:45 +01:00
emanuele-f
e1a6436489 Add check for existing VPN
Android only supports running one VPNService at a time. Added a check to
ask user confirmation in case another VPN connection is active.
2021-01-21 22:07:25 +01:00
emanuele-f
31bf679ffb Resolve system apps UIDs 2021-01-07 23:46:34 +01:00
emanuele-f
1c9d5b8a11 Update copyright 2020-09-18 18:58:20 +02:00