2018-02-27 14:59:15 +00:00
# DNSCrypt Proxy 2 for Android
2018-02-27 14:42:14 +00:00
2018-02-27 14:59:15 +00:00
A flexible DNS proxy, with support for modern encrypted DNS protocols such as [DNSCrypt v2 ](https://github.com/DNSCrypt/dnscrypt-protocol/blob/master/DNSCRYPT-V2-PROTOCOL.txt ) and [DNS-over-HTTP/2 ](https://tools.ietf.org/html/draft-ietf-doh-dns-over-https-03 ).
2018-02-27 14:42:14 +00:00
2018-04-17 09:12:54 +00:00
## Features
2018-03-18 04:39:03 +00:00
- arm, arm64, x86 and x86_64 are supported.
2018-04-17 09:12:54 +00:00
- ipv4 and ipv6 are supported.
2018-02-27 14:59:15 +00:00
- All binary files are downloaded from [https://github.com/jedisct1/dnscrypt-proxy/releases ](https://github.com/jedisct1/dnscrypt-proxy/releases )
2018-02-27 14:42:14 +00:00
2018-04-17 09:12:54 +00:00
## Installation
2018-04-17 09:28:36 +00:00
- Download [.zip module ](https://github.com/Magisk-Modules-Repo/dnscrypt-proxy-magisk/releases ), flash it in Magisk Manager App or in Recovery and follow the instructions.
2018-04-17 09:12:54 +00:00
- There are two option in installation progress.
### Auto redirect DNS queries using `iptables`
Just flash and forget.
2018-04-17 09:28:36 +00:00
### Set DNS server manually with 3rd-party app (not included in this module)
2018-04-17 09:12:54 +00:00
- DNS server address is 127.0.0.1:53 for ipv4 and [::1]:53 for ipv6
- If you use AfWall, you can write this enter custom script
```
2019-04-23 10:03:49 +00:00
iptables -t nat -A OUTPUT -p tcp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination 127.0.0.1:53
iptables -t nat -A OUTPUT -p udp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination 127.0.0.1:53
ip6tables -t nat -A OUTPUT -p tcp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination [::1]:53
ip6tables -t nat -A OUTPUT -p udp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination [::1]:53
2018-04-17 09:12:54 +00:00
```
and this shutdown script
```
2019-04-23 10:03:49 +00:00
iptables -t nat -D OUTPUT -p tcp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination 127.0.0.1:53
iptables -t nat -D OUTPUT -p udp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination 127.0.0.1:53
ip6tables -t nat -D OUTPUT -p tcp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination [::1]:53
ip6tables -t nat -D OUTPUT -p udp ! -d 9.9.9.9 --dport 53 -j DNAT --to-destination [::1]:53
2018-04-17 09:12:54 +00:00
```
2018-03-06 06:56:09 +00:00
## Configuration (post-installing)
- Configuration located on `/system/etc/dnscrypt-proxy/dnscrypt-proxy.toml`
- For more detailed configuration please refer to [official documentation ](https://github.com/jedisct1/dnscrypt-proxy/wiki/Basic-dnscrypt-proxy.toml-editing )
2018-02-27 14:59:15 +00:00
## Changelog
2019-04-23 09:52:00 +00:00
### v2.8.1
- Update Magisk 18100 requirements
2019-04-01 19:42:17 +00:00
### v2.8.0
- Update binary files to 2.0.22
2019-03-18 14:41:28 +00:00
### v2.7.0
- Update binary files to 2.0.21
2019-01-31 16:47:12 +00:00
### v2.6.0
- Update binary files to 2.0.19
2018-04-17 09:12:54 +00:00
[older version changelog ](changelog.md )
2018-02-27 14:42:14 +00:00
2018-02-27 14:59:15 +00:00
## Credit
2018-04-17 09:12:54 +00:00
- DNSCrypt-Proxy2 upstream | [jedisct1 ](https://github.com/jedisct1/dnscrypt-proxy )
- Keycheck binary | [someone755 ](https://github.com/someone755/kerneller/tree/master/extract/tools )
- Idea for keycheck code implementation | [Zappo @xda-developers ](https://forum.xda-developers.com/showpost.php?p=71016567&postcount=98 )