Skip to content
This repository has been archived by the owner on Jul 11, 2019. It is now read-only.

mattt/NSEtcHosts

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NSEtcHosts

This project was a proof-of-concept that relied on a combination of factors unique to the time of creation that have since been remediated by, among other things, the ubiquitous adoption of HTTPS, iOS App Transport Security, and NSURLSession. Insofar as this approach should ever have been used (it shouldn't) the aforementioned improvements to the networking stack render this project inviable. Suffice to say, this project is no longer maintained.

NSEtcHosts uses NSURLProtocol to intercept requests for specified host names, resolving them instead to a different IP address, similar to an /etc/hosts file on a Unix system. (This does not actually affect the actual hosts file used by iOS, nor does it affect routing behavior outside of the application process)

Usage

[NSURLProtocol registerClass:[EtcHostsURLProtocol class]];
[EtcHostsURLProtocol configureHostsWithBlock:^(id <EtcHostsConfiguration> configuration) {
    [configuration resolveHostName:@"google.com" toIPAddress:@"98.138.253.109"];
}];

Contact

Mattt

License

NSEtcHosts is available under the MIT license. See the LICENSE file for more info.

About

/etc/hosts with NSURLProtocol

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published