Welcome to XDA

Search to go directly to your device's forum

Register an account

Unlock full posting privileges

Ask a question

No registration required
Post Reply

[MOD][Xposed][4.3+] hosts Enabler (v1.0) - re-enables use of hosts file

OP DavisNT

30th August 2014, 11:21 PM   |  #1  
DavisNT's Avatar
OP Recognized Developer
Flag Riga
Thanks Meter: 482
 
363 posts
Join Date:Joined: Aug 2011
Donate to Me
More
This mod allows to use /system/etc/hosts file on configurations/ROMs (mostly symlinked hosts file on Android 4.4+) where it is ignored.
Hosts file usually gets ignored on some ROMs due to SELinux restrictions if it is a symlink to file on different partition.

Technically it works by attaching to all packages/apps and hooking DNS resolution API. On first name resolution API call hosts file is read and stored in memory (in HPPC OpenHashMap structure).

Additional features of hosts file:
  • use of IP address 127.0.0.0 allows to fail name resolution of associated hosts
  • use of DNS names instead of IP addresses (these DNS names are passed directly to DNS resolver - they are not looked up in hosts file recursively)

Known limitations:
  • JNI libraries are not affected (some applications may still ignore hosts file)
  • hosts file is read in memory of each application when it makes first DNS query (time and memory used depends on size of hosts file; time is logged in logcat with tag "hostsEnabler")

hosts Enabler uses HPPC: High Performance Primitive Collections for Java library which is distributed under Apache License 2.0.

This mod requires Xposed framework to be set up and hosts Enabler enabled as Xposed module.
Disclaimer: I am not responsible for anything that may happen as a result of using this mod.


Xposed Module Repository page:
http://repo.xposed.info/module/lv.id.dm.hostsenabler

For changelog see next post, for download links see downloads section.

XDA:DevDB Information
hosts Enabler, Xposed for all devices (see above for details)

Contributors
DavisNT
Xposed Package Name: lv.id.dm.hostsenabler

Version Information
Status: Stable
Current Stable Version: 1.0
Stable Release Date: 2014-08-30

Created 2014-08-30
Last Updated 2014-08-31
The Following 2 Users Say Thank You to DavisNT For This Useful Post: [ View ]
30th August 2014, 11:21 PM   |  #2  
DavisNT's Avatar
OP Recognized Developer
Flag Riga
Thanks Meter: 482
 
363 posts
Join Date:Joined: Aug 2011
Donate to Me
More
Changelog:
v 1.0
* Initial release.
Last edited by DavisNT; 30th August 2014 at 11:44 PM.
The Following User Says Thank You to DavisNT For This Useful Post: [ View ]
31st August 2014, 01:04 AM   |  #3  
defim's Avatar
Senior Member
Thanks Meter: 933
 
1,799 posts
Join Date:Joined: Feb 2012
@DavisNT: Seems you missed UnbelovedHosts ...
31st August 2014, 01:12 AM   |  #4  
DavisNT's Avatar
OP Recognized Developer
Flag Riga
Thanks Meter: 482
 
363 posts
Join Date:Joined: Aug 2011
Donate to Me
More
Quote:
Originally Posted by defim

@DavisNT: Seems you missed UnbelovedHosts ...

Actually I was aware of that module, but I wanted to restore full functionality of hosts file (name resolution, use with third party updater tools etc.) with main focus on name resolution.
Last edited by DavisNT; 31st August 2014 at 01:14 AM.
31st August 2014, 01:23 AM   |  #5  
defim's Avatar
Senior Member
Thanks Meter: 933
 
1,799 posts
Join Date:Joined: Feb 2012
Quote:
Originally Posted by DavisNT

Actually I was aware of that module, but I wanted to restore full functionality of hosts file (name resolution, use with third party updater tools etc.) with main focus on name resolution.

Both seem technically more or less the same: Reading an file with blocked hosts and answer name resolution requests with its contents. Btw with some devices (like Nexus 7) there is the issue that the /etc/hosts file is sometime reverted at reboot, what was the cause for me to use Xposed
31st August 2014, 01:38 AM   |  #6  
DavisNT's Avatar
OP Recognized Developer
Flag Riga
Thanks Meter: 482
 
363 posts
Join Date:Joined: Aug 2011
Donate to Me
More
Quote:
Originally Posted by defim

Both seem technically more or less the same: Reading an file with blocked hosts and answer name resolution requests with its contents. Btw with some devices (like Nexus 7) there is the issue that the /etc/hosts file is sometime reverted at reboot, what was the cause for me to use Xposed

I won't say they are the same:
  • UnbelovedHosts: full featured ad blocking solution
  • hosts Enabler: enables use of /system/etc/hosts file (for manually added name resolution entries (home PC etc.) or, if you wish, with any 3rd party updater software)
31st August 2014, 06:22 PM   |  #7  
Rom's Avatar
Senior Member
Flag Lyon
Thanks Meter: 57
 
647 posts
Join Date:Joined: Jul 2013
More
I will test it thanks
13th December 2014, 12:17 AM   |  #8  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Sep 2012
More
So could I use this MOD to fix my google play store from have a no connection error caused by a change in the /ect host file?

Sent from my T0LTE using XDA Free mobile app
13th December 2014, 03:57 AM   |  #9  
DavisNT's Avatar
OP Recognized Developer
Flag Riga
Thanks Meter: 482
 
363 posts
Join Date:Joined: Aug 2011
Donate to Me
More
Quote:
Originally Posted by bossgamethegreat

So could I use this MOD to fix my google play store from have a no connection error caused by a change in the /ect host file?

I suppose best solution is to undo the change in /system/etc/hosts file.
13th December 2014, 06:07 PM   |  #10  
Junior Member
Thanks Meter: 0
 
2 posts
Join Date:Joined: Sep 2012
More
Quote:
Originally Posted by DavisNT

I suppose best solution is to undo the change in /system/etc/hosts file.

Yes, I understand and did that. What I'm trying to ask is if this would help make the change constant. It's getting really bothersome to half to keep making the change every time the Play Store feels like it doesn't want to work.

Sent from my T0LTE using XDA Free mobile app

Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes