Skip to content

Commit

Permalink
Merge branch 'Version-2.0'
Browse files Browse the repository at this point in the history
  • Loading branch information
Yonjuni committed Mar 29, 2018
2 parents 9e6e91c + 7d77272 commit 4e1c82d
Show file tree
Hide file tree
Showing 99 changed files with 6,288 additions and 1,213 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,10 @@
# Changelog #

## Version 2.0 (2017-03-29) ##
- Bug fixing
- History function
- Redesign

## Version 1.2 (2017-10-12) ##
- Bug fixing
- Icon updates
Expand Down
12 changes: 7 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

[<img src="https://f-droid.org/badge/get-it-on.png" alt="Get it on F-Droid" height="60">](https://f-droid.org/app/org.secuso.privacyfriendlynetmonitor)<a href="https://play.google.com/store/apps/details?id=org.secuso.privacyfriendlynetmonitorapp"><img src="https://play.google.com/intl/en_us/badges/images/generic/en_badge_web_generic.png" height="60"></a>

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, and a remote analysis of TLS-Servers via SSL-Labs API.
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.

Expand All @@ -12,10 +12,10 @@ This application has been developed to raise user awareness for the constant and
## Building ##

### API Reference ###
Mininum SDK: 17 Target SDK: 23
Mininum SDK: 22 Target SDK: 26

### Setup ###
* Android Studio 2.2.2
* Android Studio 3.0.1

### Future Enhancements ###
possible additional features
Expand Down Expand Up @@ -46,8 +46,10 @@ Privacy Friendly Net Monitor is a non-root variant of TLSMetric android app (htt
App Icon:</br>
Markus Hau

Developer:</br>
Felix Tsala Schiller
Developers:</br>
Felix Tsala Schiller</br>
Tobias Burger</br>
Marco Egermaier

Contributors (Github):</br>
Yonjuni </br>
Expand Down
48 changes: 40 additions & 8 deletions app/build.gradle
Original file line number Diff line number Diff line change
@@ -1,15 +1,17 @@
apply plugin: 'com.android.application'
apply plugin: 'org.greenrobot.greendao'

android {
compileSdkVersion 25
buildToolsVersion "25.0.3"
compileSdkVersion 26
buildToolsVersion '27.0.3'
defaultConfig {
applicationId 'org.secuso.privacyfriendlynetmonitor'
minSdkVersion 17
targetSdkVersion 23
versionCode 7
versionName "1.2"
targetSdkVersion 26
versionCode 8
versionName "2.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
vectorDrawables.useSupportLibrary = true
}
buildTypes {
release {
Expand All @@ -19,15 +21,45 @@ android {
}
productFlavors {
}

}

android {
lintOptions {
disable 'MissingTranslation'
}
}

//added by TB (needed for Studio 3.0.0) and for the charts
allprojects {
repositories {
jcenter()
google()
maven { url "https://jitpack.io" }
}
}

dependencies {
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.github.PhilJay:MPAndroidChart:v3.0.3'
compile fileTree(include: ['*.jar'], dir: 'libs')
androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'
compile 'com.android.support:support-v4:25.3.1'
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'org.greenrobot:greendao:3.2.2'
compile 'net.zetetic:android-database-sqlcipher:3.5.7'

compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:26.1.0'
compile 'com.android.support:design:26.1.0'
compile 'com.android.support:support-v4:26.1.0'
compile 'com.android.support:cardview-v7:26.1.0'
compile 'com.android.support:recyclerview-v7:26.1.0'
compile 'com.github.PhilJay:MPAndroidChart:v3.0.0-beta1'

testCompile 'junit:junit:4.12'
testCompile 'org.json:json:20171018'
}
95 changes: 73 additions & 22 deletions app/src/main/AndroidManifest.xml
Original file line number Diff line number Diff line change
@@ -1,80 +1,131 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.secuso.privacyfriendlynetmonitor" >
package="org.secuso.privacyfriendlynetmonitor">

<uses-permission android:name="android.permission.INTERNET" />

<application
android:name=".DatabaseUtil.DBApp"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar" >
android:theme="@style/Theme.AppCompat.Light.NoActionBar">
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.SplashActivity"
android:name=".Activities.SplashActivity"
android:label="@string/app_name"
android:theme="@style/SplashTheme" >
android:theme="@style/SplashTheme">
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity"
android:name=".Activities.MainActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme.NoActionBar" >
</activity>
android:theme="@style/AppTheme.NoActionBar" />
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.ReportDetailActivity"
android:name=".Activities.ReportDetailActivity"
android:label="@string/headline_report_detail"
android:parentActivityName="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity"
android:parentActivityName=".Activities.MainActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.AboutActivity"
android:name=".Activities.AboutActivity"
android:label="@string/about"
android:parentActivityName="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity"
android:parentActivityName=".Activities.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.HelpActivity"
android:name=".Activities.HelpActivity"
android:label="@string/help"
android:parentActivityName="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity"
android:parentActivityName=".Activities.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.SettingsActivity"
android:name=".Activities.SettingsActivity"
android:label="@string/title_activity_settings"
android:parentActivityName="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity"
android:parentActivityName=".Activities.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>
<activity
android:name="org.secuso.privacyfriendlynetmonitor.Activities.TutorialActivity"
android:name=".Activities.TutorialActivity"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>

<service
android:name="org.secuso.privacyfriendlynetmonitor.ConnectionAnalysis.PassiveService"
android:label=".NetMonitorPassiveService"
<service
android:name=".ConnectionAnalysis.PassiveService"
android:enabled="true"
android:permission="android.permission.BIND_SERVICE" >
</service>
android:label="org.secuso.privacyfriendlynetmonitor.NetMonitorPassiveService"
android:permission="android.permission.BIND_SERVICE" />

<activity
android:name=".Activities.HistoryActivity"
android:label="@string/title_activity_history"
android:parentActivityName=".Activities.MainActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.MainActivity" />
</activity>
<activity
android:name=".Activities.HistoryDetailActivity"
android:label="@string/title_activity_history_detail"
android:parentActivityName=".Activities.HistoryActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.NoActionBar">
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.HistoryActivity" />
</activity>
<activity
android:name=".Activities.SelectHistoryAppsActivity"
android:configChanges="orientation"
android:label="@string/title_activity_select_history_apps"
android:parentActivityName=".Activities.HistoryDetailActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme"
android:windowSoftInputMode="stateHidden">

<!-- android:launchMode="singleTask" -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:resource="@xml/searchable"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.HistoryDetailActivity" />
</activity>
<activity
android:name=".Activities.AppConnections_Chart"
android:configChanges="orientation"
android:label="@string/title_activity_app_report__detail"
android:parentActivityName=".Activities.HistoryDetailActivity"
android:screenOrientation="portrait"
android:theme="@style/AppTheme">

<!-- android:launchMode="singleTask" -->
<meta-data
android:name="android.support.PARENT_ACTIVITY"
android:value="org.secuso.privacyfriendlynetmonitor.Activities.HistoryDetailActivity" />
</activity>
</application>

</manifest>
</manifest>
Binary file added app/src/main/ic_history-web.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 4e1c82d

Please sign in to comment.