Skip to content

pornography-protection/marelias-filter

 
 

Repository files navigation

Mar-Elias Filter (Android Pornography DNS filter):

A trimmed down, pre-configured and simplified fork of Ingo Zenz's personaldnsfilter.

DOWNLOAD LINK

icon

Rights:

License: See LICENSE.txt; all licenses in the original repo above apply to this repo.

Forked starting point:

If you would like to pull new commits, start from Jul 16, 2024 d24c66e93a1a6162c796c8a47acf0621012660c8

Store description:

Mar-Elias Filter


A DNS based pornography filter which filters websites based on the DNS query


A pre-configured pornography filter which blocks access to websites which contain pornography and adult material.

The app behaves as a local proxy which filters DNS queries by relying on dowloadable preconfigured lists.

The app is family friendly and it is meant to guard phones whether used by children, adolescents or grown ups.

Changes:

X - Change icon to the cross icon X - Add google safe redirection to the default list X - Set default settings (especially lists to github repo) so that the app does not need any modification (install and run) X - make log screen (in app) bigger X - remove unneeded buttons (editing the filter; instead put links to files to edit here..) X - remove (connections:0) X - Add proper rights section. Add icon to readme.md. X - add log pause button 37014f6499ca2bb5d2b2701b5cbd2f44cd1fdfb9 X - Add about information button (bottom?) X - Changed background and titlebar colours X - Make pause as separate button X - Rename project from mareliasfilter.android to net.marelias.filter

TODO:

[H] - Make whitelist only.

  • Integrate e2g firewall? (how to convert to a full fledged firewall?)

  • Integrate dnsmasq? (regex based blocking)

  • Integrate Netguard? See its pro features https://github.com/M66B/NetGuard (Log all outgoing traffic + Allow/block individual addresses per application)

  • See also afwall+: https://github.com/ukanth/afwall

  • Prevent deleting the app from settings by putting password + put password on stopping it

  • Button to clear screen? Or export it to txt?

  • [app/src/main/res/values-v31/themes.xml] Change "android:Theme.Material" to "android:Theme" So that buttons take normal size. But this removes the icon from the title bar.

  • Note that it is possible to use the app whitelist in configs; search "androidAppWhiteList"; add full app names to configs [h] - to exclude apps (whitelist apps); use function excludeApp("com.android.vending", builder); in net/marelias/filter/DNSFilterService.java:644

Strings to search for:

09:32:42 ✓  prod-lt-playstoregatewayadapter-pa.googleapis.com ✗  play-lh.googleusercontent.com loading filter - bytes received

Configurations:

dnsfilter:reloadIntervalDays = 7 dnsfilter:checkCNAME = true (CNAME cloaking protection) dnsfilter:dnsProxyOnAndroid = false (DNS proxy mode without local VPN) dnsfilter:dnsProxyOnlyLocalRequests = true (Allow only local DNS proxy requests) dnsfilter:rootModeOnAndroid (Root mode without local VPN) dnsfilter:androidKeepAwake = false dnsfilter:filterActive = true (the main switch called "Enable blocking" which enables/disables the filter) dnsfilter:AUTOSTART = true (start app on startup) dnsfilter:fallbackDNS: Default DNS server IPs

Release:

1. Update version in:

app/build.gradle app/src/main/AndroidManifest.xml

2. Deploy APK (release):

Build -> Generate signed bundle/APKs -> APK -> create new key -> choose 'DefaultRelease' then find the apk here: mareliasfilter/app/release/

Troubleshooting:

  • If a website is blocked by hosts, it will not appear in the log

Possible colours:

#2f3355 #CED9DD #FF9800 #F04B4B #72B3D9 #0040ff

About

Pornography filter based on DNS

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 99.7%
  • Other 0.3%