# DnsHosts **Repository Path**: smartian_git/DnsHosts ## Basic Information - **Project Name**: DnsHosts - **Description**: 一款用于修改app内主机域名映射的工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://my.oschina.net/ososchina/admin/msgs?user=3106308 - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-06-29 - **Last Updated**: 2023-02-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DnsHosts #### 介绍 一款用于修改app内主机域名映射的工具 #### 软件架构 通过Hook方式,实现应用内的DNS转向,非系统级别修改. 支持IPv4/IPv6. #### 使用方式 ``` Map dnsMap = new HashMap<>(); dnsMap.put("www.baidu.com","127.0.0.1"); dnsMap.put("www.taobao.com", "2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b"); DnsHostsManager.registerDns(dnsMap); ``` 测试. ``` try { //被映射的域名 InetAddress baidu = InetAddress.getByName("www.baidu.com"); Log.d("DnsManager"," == " +baidu); InetAddress[] taobao = InetAddress.getAllByName("www.taobao.com"); Log.d("DnsManager"," == " +taobao[0]); //未被映射的域名,走原有解析 InetAddress tmall = InetAddress.getByName("www.tmall.com"); Log.d("DnsManager"," == " +tmall); InetAddress qq = InetAddress.getByName("www.qq.com"); Log.d("DnsManager"," == " +qq); } catch (Exception e) { e.printStackTrace(); } ``` 测试结果。 ``` D/DnsManager: == www.baidu.com/127.0.0.1 D/DnsManager: == www.taobao.com/2001:db8:3c4d:15::1a2f:1a2b D/DnsManager: == www.tmall.com/27.221.93.231 D/DnsManager: == www.qq.com/220.194.120.49 ```