MCPcopy Index your code
hub / github.com/Willena/OpenDNSUpdater

github.com/Willena/OpenDNSUpdater @2.2.4

Chat with this repo
repository ↗ · DeepWiki ↗ · release 2.2.4 ↗ · + Follow
260 symbols 685 edges 43 files 35 documented · 13%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenDNSUpdater

Banner

Important Note: The application is now in "maintenance mode". Only basic support for new Android APIs will be provided from time to time.

I personally don't have the time to do much more on this project. PR are always welcomed, I will always review them. Errors and crash reporting is not present anymore

Quick presentation

OpenDNSUpdater is an extremely easy to use android app to perform dynamic IP updates.

Presentation

OpenDns is a very famous DNS service used by a lot of people, but not everybody knows that they also provide some filtering product for individuals.

This type of service is free and can be very usefull to filter websites such as porn, phishing, malware, and many other category.

The service rely on your external IP to perform filter actions.

Why an android application for a DNS service ?

As I said on the previous line, the service rely on your external IP address, so when you change access point or start using mobile data, you request will not be filtered.

Updater exist for almost all other platform such as Windows, Mac and Linux, but not for Android or IOS. ( https://support.opendns.com/hc/en-us/articles/227988607-OpenDNS-Compatible-Dynamic-DNS-DDNS-Clients )

Requirements

  • Minimum Android API 21 ( Android 5.0 )
  • Android phone or tablet

Screenshots

Main screen

Settings

Installation

Quick and Simple :

You can download and install this app on your device using Google Play or F-Droid

Get it on F-Droid Get it on Google Play

Other possibility

Download the attached apk in any release present on Github.

The long and boring solution

You can also download and recompile the source of the project. To do that : 1. First clone the project 2. Open it in android studio 3. Build and install the project.

Any Help ?

If you find something that produce an error or something that should change in the next version or even if you have something to say, feel free to contact me or create an issue on this repository.

Anybody can contribute to this project !

Credits :

  • The ipify API (https://github.com/rdegges/ipify-api) : for providing a simple way to check the current user external IP address.
  • The Daedalus project (https://github.com/iTXTech/Daedalus) : has been a huge inspiration for the VPN Service that force DNS query to go to OpenDNS servers

Contacts

Guillaume : me@guillaumevillena.fr

Extension points exported contracts — how you extend this code

TaskFinished (Interface)
(no doc) [6 implementers]
app/src/main/java/fr/guillaumevillena/opendnsupdater/tasks/TaskFinished.java

Core symbols most depended-on inside this repo

toString
called by 17
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/util/server/AbstractDNSServer.java
getPrefs
called by 16
app/src/main/java/fr/guillaumevillena/opendnsupdater/OpenDnsUpdater.java
setCurrentState
called by 16
app/src/main/java/fr/guillaumevillena/opendnsupdater/utils/StateSwitcher.java
getDelegate
called by 16
app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/AppCompatPreferenceActivity.java
newInstance
called by 10
app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/introSlide/IntroHowItWorks.java
add
called by 10
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/provider/UdpProvider.java
size
called by 8
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/provider/UdpProvider.java
getInstance
called by 7
app/src/main/java/fr/guillaumevillena/opendnsupdater/OpenDnsUpdater.java

Shape

Method 213
Class 45
Enum 1
Interface 1

Languages

Java100%

Modules by API surface

app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/MainActivity.java18 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/GlobalSettingsActivity.java15 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/AppCompatPreferenceActivity.java15 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/tasks/UpdateOnlineIP.java14 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/provider/UdpProvider.java13 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/provider/Provider.java13 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/activity/introSlide/IntroMainActionAcccount.java12 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/vpnService/service/OpenDnsVpnService.java11 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/utils/StateSwitcher.java11 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/Receivers/ConnectivityJob.java11 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/utils/ConnectivityUtil.java9 symbols
app/src/main/java/fr/guillaumevillena/opendnsupdater/OpenDnsUpdater.java9 symbols

For agents

$ claude mcp add OpenDNSUpdater \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact