Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7931ad65 authored by Guillaume Jacquart's avatar Guillaume Jacquart
Browse files

wip standalone DNSTracker blocking with tor

parent 2b8039d9
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -131,8 +131,8 @@ dependencies {
    e30Implementation files('libs/lineage-sdk.jar')

    implementation project(':fakelocation')
    implementation 'foundation.e:privacymodule.trackerfilter:0.7.0'
    implementation 'foundation.e:privacymodule.api:1.1.0'
    implementation 'foundation.e:privacymodule.trackerfilter:2.0.0-dev'
    implementation 'foundation.e:privacymodule.api:1.2.0-dev'
    implementation 'foundation.e:privacymodule.tor:1.0.0-dev'


+8 −1
Original line number Diff line number Diff line
@@ -43,13 +43,14 @@ import foundation.e.privacycentralapp.features.trackers.apptrackers.AppTrackersV
import foundation.e.privacymodules.fakelocation.FakeLocationModule
import foundation.e.privacymodules.ipscrambler.IpScramblerModule
import foundation.e.privacymodules.ipscramblermodule.IIpScramblerModule
import foundation.e.privacymodules.location.IFakeLocationModule
import foundation.e.privacymodules.permissions.PermissionsPrivacyModule
import foundation.e.privacymodules.permissions.data.ApplicationDescription
import foundation.e.privacymodules.trackers.api.BlockTrackersPrivacyModule
import foundation.e.privacymodules.trackers.api.TrackTrackersPrivacyModule
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.GlobalScope
import foundation.e.privacymodules.DependencyInjector
import foundation.e.privacymodules.trackers.api.ShouldBlockDNSRequest

/**
 * Simple container to hold application wide dependencies.
@@ -60,6 +61,12 @@ import kotlinx.coroutines.GlobalScope
class DependencyContainer(val app: Application) {
    val context: Context by lazy { app.applicationContext }

    init {
        DependencyInjector.initialize(
            dnsBlocker = ShouldBlockDNSRequest.getInstance(context)
        )
    }

    // Drivers
    private val fakeLocationModule: FakeLocationModule by lazy { FakeLocationModule(app.applicationContext) }
    private val permissionsModule by lazy { PermissionsPrivacyModule(app.applicationContext) }
+3 −2
Original line number Diff line number Diff line
@@ -25,6 +25,7 @@ import android.content.pm.PackageManager
import foundation.e.privacycentralapp.R
import foundation.e.privacymodules.permissions.PermissionsPrivacyModule
import foundation.e.privacymodules.permissions.data.ApplicationDescription
import foundation.e.privacymodules.trackers.IDNSBlocker
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.flow.Flow
import kotlinx.coroutines.flow.MutableStateFlow
@@ -38,7 +39,7 @@ class AppListsRepository(
) {
    val dummySystemApp = ApplicationDescription(
        packageName = "foundation.e.dummysystemapp",
        uid = -1,
        uid = IDNSBlocker.Companion.DUMMY_APP_UID,
        label = context.getString(R.string.dummy_system_app_label),
        icon = context.getDrawable(R.drawable.ic_e_app_logo)
    )
@@ -56,7 +57,7 @@ class AppListsRepository(
        return appDescriptions.map { it.first.sortedBy { app -> app.label.toString().lowercase() } }
    }
    fun getHiddenSystemApps(): List<ApplicationDescription> {
        return appDescriptions.value.second
        return appDescriptions.value.second + dummySystemApp
    }

    fun getVisibleAndHiddenApps(): Flow<List<ApplicationDescription>> = getVisibleApps()
+3 −1
Original line number Diff line number Diff line
@@ -135,7 +135,9 @@ class IpScramblingStateUseCase(
                InternetPrivacyMode.REAL_IP, InternetPrivacyMode.REAL_IP_LOADING -> {
                    val intent = prepareAndroidVpn()
                    if (intent == null) {
                        ipScramblerModule.start(enableNotification = true)
                        ipScramblerModule.start(enableNotification = true,
                            // TODO 20220728
                            enableDNSTracking = true)
                    }
                }
                else -> {}
+1 −1
Original line number Diff line number Diff line
@@ -39,7 +39,7 @@ class TrackersStateUseCase(
    private val coroutineScope: CoroutineScope
) {
    init {
        //trackersPrivacyModule.start(trackersRepository.trackers, enableNotification = false)
        trackersPrivacyModule.start(trackersRepository.trackers, enableNotification = false)
        coroutineScope.launch {
            localStateRepository.quickPrivacyEnabledFlow.collect { enabled ->
                if (enabled) {
Loading