dnscrypt-proxy-android/README.md

100 lines
5.7 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
2021-11-20 22:53:27 +00:00
- `server_names` = `acsacsar-ams-ipv4` [NLD], `altername` [RUS], `ams-dnscrypt-nl` [NLD], `bcn-dnscrypt` [ESP], `d0wn-tz-ns1` [TZA], `dct-de1` [DEU], `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)
2021-11-20 23:07:25 +00:00
The [MODULE](https://t.me/dnscrypt_proxy) comes with its [FILTERING](https://github.com/DNSCrypt/dnscrypt-proxy/wiki/Filters) feature enabled by default, that's why you can see some files, needed for this operation, inside the `/storage/emulated/0/dnscrypt-proxy` path.
2021-11-20 23:07:25 +00:00
I'm providing the `allowed-names.txt` and `blocked-names.txt` files regularly updated in [HERE](https://t.me/dnscrypt_proxy_filters).
2021-11-20 23:07:25 +00:00
The [SOURCES](https://codeberg.org/quindecim/block/src/branch/master/README.md#blocked-names-txt) used for this merge are among the hardest on the web.
2021-11-20 23:07:25 +00:00
If you want to report or discuss something related to this project, join [dnscrypt-proxy-filters | CHAT](https://t.me/qd_invitations) on [Telegram](https://telegram.org/).
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.