dnscrypt-proxy-android/README.md

100 lines
5.9 KiB
Markdown
Raw Normal View History

2021-05-14 16:25:05 +00:00
# DNSCrypt Proxy 2 for Android
2018-02-27 14:42:14 +00:00
A flexible DNS proxy, with support for modern encrypted DNS protocols such as [DNSCrypt v2](https://dnscrypt.info/protocol), [DNS-over-HTTPS](https://www.rfc-editor.org/rfc/rfc8484.txt), [Anonymized DNSCrypt](https://github.com/DNSCrypt/dnscrypt-protocol/blob/master/ANONYMIZED-DNSCRYPT.txt) and [ODoH (Oblivious DoH)](https://github.com/DNSCrypt/dnscrypt-resolvers/blob/master/v3/odoh.md).
2018-02-27 14:42:14 +00:00
2019-10-24 07:31:00 +00:00
2021-02-02 08:07:26 +00:00
## Features
2020-12-10 17:19:54 +00:00
2021-06-08 08:44:38 +00:00
- For all features please refer to the [OFFICIAL PAGE](https://github.com/DNSCrypt/dnscrypt-proxy#features).
2018-02-27 14:42:14 +00:00
2019-10-24 07:31:00 +00:00
2021-02-02 08:07:26 +00:00
## Pre-built binaries
2019-10-24 08:04:40 +00:00
2021-02-02 08:07:26 +00:00
Up-to-date, pre-built binaries are available for:
2019-10-24 08:04:40 +00:00
2021-02-02 08:07:26 +00:00
- Android/arm
- Android/arm64
- Android/x86
- Android/x86_64
2019-10-24 08:04:40 +00:00
2021-06-08 08:44:38 +00:00
All these binary files are downloaded from the [OFFICIAL RELEASE PAGE](https://github.com/DNSCrypt/dnscrypt-proxy/releases).
2021-05-14 16:25:05 +00:00
2019-10-24 08:04:40 +00:00
2021-03-05 10:20:32 +00:00
## Differences from the main project
2019-10-01 20:57:13 +00:00
- `server_names` = `acsacsar-ams-ipv4` [NLD], `altername` [RUS], `ams-dnscrypt-nl` [NLD], `bcn-dnscrypt` [ESP], `d0wn-tz-ns1` [TZA], `dct-at1` [AUS], `dct-ru1` [RUS], `dct-ru2` [RUS], `dns.watch` [DEU], `dnscrypt.be` [BEL], `dnscrypt.ca-1` [CAN], `dnscrypt.ca-2` [CAN], `dnscrypt.eu-nl` [NLD], `dnscrypt.pl` [POL], `dnscrypt.uk-ipv4` [GBR], `dnswarden-asia-uncensor-dcv4` [SGP], `dnswarden-eu-uncensor-dcv4` [DEU], `dnswarden-us-uncensor-dcv4` [USA], `gombadi-syd` [AUS], `meganerd` [NLD], `moulticast-ca-ipv4` [CAN], `moulticast-de-ipv4` [DEU], `moulticast-fr-ipv4` [FRA], `moulticast-sg-ipv4` [SGP], `moulticast-uk-ipv4` [GBR], `pf-dnscrypt` [CHE], `plan9-dns` [USA], `plan9-ns2` [USA], `pryv8boi` [DEU], `pwoss.org-dnscrypt` [DEU], `resolver4.dns.openinternet.io` [USA], `scaleway-ams` [NLD], `scaleway-fr` [FRA], `serbica` [NLD], `v.dnscrypt.uk-ipv4` [GBR], `zackptg5-us-il-ipv4` [USA], `zackptg5-us-pit-ipv4` [USA] are the resolvers in use.
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `doh_servers` = `false` (disable servers implementing the `DNS-over-HTTPS` protocol)
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `require_dnssec` = `true` (server must support `DNSSEC` security extension)
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `timeout` = `1000` (set the max. response time of a single DNS query from `5000` to `1000` ms.)
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `blocked_query_response` = `'refused'` (set `refused` response to blocked queries)
2020-12-07 01:36:01 +00:00
2021-05-14 16:25:05 +00:00
- `log_level` = `0` (set the log level of the `dnscrypt-proxy.log` file to very verbose, but still keep it disabled by default)
2021-02-02 08:07:26 +00:00
- `dnscrypt_ephemeral_keys` = `true` (create a new, unique key for every single DNS query)
2020-12-07 01:36:01 +00:00
- `bootstrap_resolvers` = `['91.239.100.100:53', '89.233.43.71:53']` (use [UncensoredDNS (Anycast & Unicast)](https://blog.uncensoreddns.org/) instead [CloudFlare](https://iscloudflaresafeyet.com/))
2020-12-07 01:36:01 +00:00
- `netprobe_address` = `'91.239.100.100:53'` (use [UncensoredDNS (Anycast)](https://blog.uncensoreddns.org/) instead [CloudFlare](https://iscloudflaresafeyet.com/))
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `block_ipv6` = `true` (immediately respond to IPv6-related queries with an empty response)
2020-12-07 01:36:01 +00:00
2021-03-04 10:18:32 +00:00
- `blocked_names_file`, `blocked_ips_file`, `allowed_names_file` and `allowed_ips_file` options enabled. (you can now filter your web content, to know how, please refer to the [official documentation](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Filters) or take a look at my [block repository](https://codeberg.org/quindecim/block))
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `anonymized_dns` feature enabled. (`routes` are indirect ways to reach DNSCrypt servers, each resolver has 2 relays assigned)
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `skip_incompatible` = `true` (skip resolvers incompatible with anonymization instead of using them directly)
2020-12-07 01:36:01 +00:00
2021-02-02 08:07:26 +00:00
- `direct_cert_fallback` = `false` (prevent direct connections through the resolvers for failed certificate retrieved via relay)
2019-10-24 07:31:00 +00:00
2019-10-01 20:57:13 +00:00
2021-02-02 08:07:26 +00:00
## Installation
**1.** Download the latest `dnscrypt-proxy-android-*.zip` file from the [Releases](https://codeberg.org/quindecim/dnscrypt-proxy-android/releases/latest) page or from my [dnscrypt-proxy-android | CHANNEL](https://t.me/dnscrypt_proxy) on Telegram and flash it with [Magisk](https://github.com/topjohnwu/Magisk):
2020-12-10 17:19:54 +00:00
2021-02-02 08:07:26 +00:00
```
Magisk > Modules > Install from storage > dnscrypt-proxy-android-*.zip
2021-02-02 08:07:26 +00:00
```
2020-12-10 17:19:54 +00:00
**2.** Reboot your device.
2020-12-10 17:19:54 +00:00
**3.** Test your DNS at https://dnsleaktest.com/
### Configuration (optional)
2019-10-01 10:39:00 +00:00
You can edit the `dnscrypt-proxy.toml` file as you wish located on `storage/emulated/0/dnscrypt-proxy` path.
For a more detailed configuration you can refer to the official documentation [HERE](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Configuration) or simply join our group on [Telegram](https://telegram.org/), at [dnscrypt-proxy-android | CHAT](https://t.me/qd_invitations).
### Filters (optional)
Filters are a powerful set of built-in features, that let you control exactly what domain names and IP addresses your device are allowed to connect to. This can be used to block ads, trackers, malware, or anything you don't want your device to load.
The module is shipped by default with these features enabled, that's why you can find some files, needed for this operation, inside the `/storage/emulated/0/dnscrypt-proxy` path. To know more about it you can consult the official documentation [HERE](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Filters), or in a simpler way through my repository [HERE](https://codeberg.org/quindecim/block).
I'm providing the `allowed-names.txt` and `blocked-names.txt` files regularly updated at [dnscrypt-proxy-android | CHAT](https://t.me/qd_invitations). The [SOURCES](https://codeberg.org/quindecim/block#sources) used for this merge are among the hardest on the web.
Any kind of feedback about this is really appreciated.
2019-10-01 10:39:00 +00:00
2019-10-24 07:31:00 +00:00
2021-02-02 08:07:26 +00:00
## Changelog
2019-10-01 10:03:11 +00:00
2021-06-08 08:44:38 +00:00
[FULL CHANGELOG](https://codeberg.org/quindecim/dnscrypt-proxy-android/src/branch/master/CHANGELOG.md).
2018-02-27 14:42:14 +00:00
2019-10-24 07:31:00 +00:00
## Contributors
2021-04-21 10:04:19 +00:00
- @sapoetra.dee
2021-02-02 08:07:26 +00:00
## Credits
2021-02-25 09:34:23 +00:00
2021-03-11 16:18:04 +00:00
- [Frank Denis](https://github.com/jedisct1) and his [contributors](https://github.com/DNSCrypt/dnscrypt-proxy/graphs/contributors) for the upstream code.
- [Affif Mukhlashin](https://github.com/bluemeda) and his [contributors](https://github.com/bluemeda/dnscrypt-proxy-magisk/graphs/contributors) for the very first module.
- [John Wu](https://github.com/topjohnwu) and his [contributors](https://github.com/topjohnwu/Magisk/graphs/contributors) for Magisk.