MCPcopy Index your code
hub / github.com/SecUSo/privacy-friendly-netmonitor

github.com/SecUSo/privacy-friendly-netmonitor @v2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.1 ↗ · + Follow
411 symbols 1,051 edges 44 files 104 documented · 25%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

# Privacy Friendly Net Monitor #

Get it on F-Droid

This app monitors active network sockets and provides information on the scanned connections and apps. The invoking app is identified and listed with it's name, package and icon. The Connection's local and remote socket information (ip/port) is displayed along with a resolved hostname information and protocol evaluation based on well-known ports. Known un-/encrypted protocols are automatically marked. Additional features can be activated in the settings tab. This includes a panel for detailed technical information on connections, a logging functionality to keep scan results, a remote analysis of TLS-Servers via SSL-Labs API, a database connection to save selected reports in a history and charts to visualize the reports in different time intervals.

This app is optimized regarding the user’s privacy. It doesn’t use any tracking mechanisms, neither it displays any advertisement. It belongs to the Privacy Friendly Apps group developed by the SECUSO research group at Technische Universität Darmstadt, Germany.

Motivation

This application has been developed to raise user awareness for the constant and unobserved communication behaviour of mobil device application. Additionally a coarse, technical analysis of the connections can help to identify unsecure, privacy-violating or malicious communicating behaviour of installed applications.

Building

API Reference

Mininum SDK: 22 Target SDK: 26

Setup

  • Android Studio 3.0.1

Future Enhancements

possible additional features - raw socket inspection - ip locating feature - export of identified information - display of additional remote host information (SSLLabs) - long term goal: addtitional active service, perfoming (deep) packet inspection with VPN-Capture implementation

License

Privacy Friendly Net Monitor is licensed under the GPLv3. Copyright (C) 2015 - 2018 Felix Tsala Schiller

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

The icons used in the nagivation drawer are licensed under the CC BY 2.5. In addition to them the app uses icons from Google Design Material Icons licensed under Apache License Version 2.0. All other images (the logo of Privacy Friendly Apps, the SECUSO logo, the app logos and the spash screen icon) copyright Technische Universtität Darmstadt (2016-2018).

This application uses SSL Labs APIs v1.24.4 by Qualys SSL Labs (Terms of use: https://www.ssllabs.com/downloads/Qualys_SSL_Labs_Terms_of_Use.pdf) and Java SSL Labs API by Björn Roland GLicense: GPLv3, https://github.com/bjoernr-de/java-ssllabs-api)

Privacy Friendly Net Monitor is a non-root variant of TLSMetric android app (https://bitbucket.org/schillef/tlsmetric/overview) by Felix Tsala Schiller.

Contributors

App Icon:

Markus Hau

Developers:

Felix Tsala Schiller

Tobias Burger

Marco Egermaier

Contributors (Github):

Yonjuni

Kamuno

di72nn

stevesoltys

FroggieFrog

Extension points exported contracts — how you extend this code

Const (Interface)
Storing constant values for various usages within the app
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Assistant/Const.java

Core symbols most depended-on inside this repo

getContext
called by 40
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Assistant/RunStore.java
toString
called by 29
app/src/main/java/org/secuso/privacyfriendlynetmonitor/DatabaseUtil/ReportEntity.java
getConnectionInfo
called by 21
app/src/main/java/org/secuso/privacyfriendlynetmonitor/DatabaseUtil/ReportEntity.java
printHexBinary
called by 11
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Assistant/ToolBox.java
hexStringToByteArray
called by 10
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Assistant/ToolBox.java
getTimeStamp
called by 10
app/src/main/java/org/secuso/privacyfriendlynetmonitor/DatabaseUtil/ReportEntity.java
getDnsHostName
called by 10
app/src/main/java/org/secuso/privacyfriendlynetmonitor/ConnectionAnalysis/Collector.java
getRandomString
called by 9
app/src/main/java/org/secuso/privacyfriendlynetmonitor/DatabaseUtil/GenerateReportEntities.java

Shape

Method 357
Class 52
Enum 1
Interface 1

Languages

Java100%

Modules by API surface

app/src/main/java/org/secuso/privacyfriendlynetmonitor/ConnectionAnalysis/Collector.java46 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/DatabaseUtil/ReportEntity.java32 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/ConnectionAnalysis/PassiveService.java19 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/SelectHistoryAppsActivity.java19 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/TutorialActivity.java18 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/MainActivity.java17 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Assistant/ToolBox.java16 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/Adapter/ExpandableReportAdapter.java13 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/HistoryActivity.java12 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/BaseActivity.java12 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/Adapter/ExpandableListAdapter.java12 symbols
app/src/main/java/org/secuso/privacyfriendlynetmonitor/Activities/Adapter/ExpandableHistoryListAdapter.java12 symbols

For agents

$ claude mcp add privacy-friendly-netmonitor \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact