Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions docs/dns/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,25 @@ title: Rethink DNS
slug: /dns
---

Rethink**DNS** is [DNS Resolver](https://www.cloudflare.com/learning/dns/what-is-dns/) Service with custom rules and blocklists. A DNS resolver is an address book of the internet-- it helps locate IP addresses of the servers given a domain name. For example, dns.google.com (a domain name) is located at 8.8.8.8 (IP address). This mapping is retrieved by a DNS resolver.
Rethink**DNS** is a [DNS Resolver](https://www.cloudflare.com/learning/dns/what-is-dns/) Service with custom rules and blocklists. A DNS resolver is an address book of the internet-- it helps locate IP addresses of the servers given a domain name. For example, dns.google.com (a domain name) is located at 8.8.8.8 (IP address). This mapping is retrieved by a DNS resolver.

You can configure Rethink**DNS** in the companion [firewall app](firewall) or even in your own device / internet browser that supports [Secure DNS](https://wikipedia.org/wiki/DNS_over_HTTPS) (aka DNS over HTTPS). See below on [how to configure](#how-to).
You can configure Rethink**DNS** in the companion [firewall app](firewall), or on a device or browser that supports [Secure DNS](https://wikipedia.org/wiki/DNS_over_HTTPS) (aka DNS over HTTPS). See below on [how to configure](#how-to).

RethinkDNS is private, secure, and fast DNS resolver and has 190+ pre-defined blacklists for you to configure.
Rethink**DNS** is a private, secure, and fast DNS resolver and has 190+ pre-defined blacklists for you to configure.

With our paid plans (coming soon), you'll also be able to define your own custom blocklists that can be configured with Rethink**DNS**. The paid plan will also allow you to store you dns logs and view analytics, all in the cloud. You will be able to analyse your DNS requests and read through aggregated reports.
With our paid plans (coming soon), you'll also be able to define your own custom blocklists that can be configured with Rethink**DNS**. The paid plan will also allow you to store you dns logs and view analytics, all in the cloud. You will be able to analyze your DNS requests and read through aggregated reports.

RethinkDNS is highly-available with servers in over 200+ locations across the globe for fast DNS resolution.
Rethink**DNS** has high availability, with servers in over 200+ locations for fast DNS resolution across the globe.

## How To Configure DNS {#how-to}

A custom DNS resolver can be configured here: [rethinkdns.com/configure](https://www.rethinkdns.com/configure). This will give a DNS resolver address that looks something like `https://basic.bravedns.com/1:YASAAQBwIAA=` according to blocklists or rules that you selected. This address can then be used as your DNS resolver in your device or browser.

### Configure blocklists on the Companion Firewall App

1. Open RethinkDNS on your Android Smartphone
1. Open Rethink**DNS** on your Android Smartphone
2. Click **START** to start the RethinkDNS resolver and Firewall, once it starts up properly, you'll see a 'PROTECTED' status below it.
3. Now tap on 'CONFIGURE' in the DNS section, which will open up a page that will allow you to set your DNS resolver. By default, it is set to _RethinkDNS Basic_, which blocks a set of few malware and trackers. But, you can add your own custom DNS or choose the pre-defined ones.
4. To configure blocklists, choose _RethinkDNS Plus_ and tap on 'CONFIGURE' button below it, this will open up the rethinkDNS configuration page. Here, you can select a set of blocklists with 'Simple View' or tap on 'Advanced View' to select Individual blocklists.
5. After you select your desired blocklists, tap on 'Done' at the bottom bar. This will close the configuration page and the selected blocklists will be automatically configured withe app. You will see an android toast message _Configured URL has been updated successfully_ to confirm this.
6. You have successfully configured RethinkDNS with blocklists in the companion firewall app.
6. You have successfully configured Rethink**DNS** with blocklists in the companion firewall app.
28 changes: 14 additions & 14 deletions docs/dns/open-source.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@
title: Open Source
---

The free and open source RethinkDNS Resolver is serverless and supports protocols: DNS over HTTPS (DoH) & DNS over TLS (DoT). It can be configured with custom blocklists. And can be hosted on cloudflare, fly.io or deno-deploy. Source code is made available at [github.com/serverless-dns/serverless-dns](https://github.com/serverless-dns/serverless-dns).
The free and open source Rethink**DNS** Resolver is serverless and supports protocols DNS over HTTPS (DoH) & DNS over TLS (DoT). It can be configured with custom blocklists, and it can be hosted on Cloudflare, fly.io or Deno Deploy. Source code is made available at [github.com/serverless-dns/serverless-dns](https://github.com/serverless-dns/serverless-dns).

## Hosting your own DNS Resolver {#hosting}

This serverless DNS can be hosted to three platforms: Cloudflare, Deno-Deploy and Fly.io. Easiest way would be to use Cloudflare. The below table summarizes the platforms available.
This serverless DNS can be hosted to three platforms: Cloudflare, Deno-Deploy and Fly.io. The easiest way would be to use Cloudflare. The below table summarizes the platforms available.

| Platform | Difficulty | Resolver Protocol | Instructions |
| ------------- | ---------- | ----------------- | --------------------------------- |
Expand All @@ -16,27 +16,27 @@ This serverless DNS can be hosted to three platforms: Cloudflare, Deno-Deploy an

### Using Cloudflare {#cloudflare}

Rethink serverless can be hosted to cloudflare. User will be liable for cloudflare billing. Click the button below to deploy.
Rethink serverless can be hosted to Cloudflare. Users will be liable for Cloudflare billing. Click the button below to deploy.

[![Deploy to Cloudflare Workers](https://deploy.workers.cloudflare.com/button)](https://deploy.workers.cloudflare.com/?url=https://github.com/serverless-dns/serverless-dns/)

- Configure
- Once the hosting is successful, lets consider rethink serverless dns is hosted
- Once the hosting is successful, let's consider Rethink serverless DNS is hosted
to `example.com`.
- To configure your dns level blocking visit to `example.com/configure` which
- To configure your DNS level blocking visit to `example.com/configure` which
will take to configuration page, which currently contains 191 blocklists with
~13.5 Million blockable domains in category like notracking, dating, gambling,
privacy, porn, cryptojacking, security ...
- Navigate through and select your blocklists.
- Once selected you can find your domain name `example.com` followed by
configuration token on screen like this `https://example.com/1:AIAA7g==` copy
it and add to your dns DOH client.
- Now your own trusted dns resolver with custom blocking is up and running.
it and add to your DNS DOH client.
- Now your own trusted DNS resolver with custom blocking is up and running.


- Change Resolver
- By default dns request are resolved by cloudflare `cloudflare-dns.com`.
- To change resolver login to your cloudflare dash board
- By default, DNS requests are resolved by Cloudflare's `cloudflare-dns.com`.
- To change resolver logins to your Cloudflare dashboard:
- click on `worker`
- click on `serverless-dns` worker
- click on `Settings` tab
Expand All @@ -48,9 +48,9 @@ Rethink serverless can be hosted to cloudflare. User will be liable for cloudfla



### Using Deno-Deploy {#deno-deploy}
### Using Deno Deploy {#deno-deploy}

This project can be hosted on [deno.com/deploy](https://deno.com/deploy) and supports DoH only. User will be liable for deno.com billing.
This project can be hosted on [deno.com/deploy) and supports DoH only. Users will be liable for deno.com billing.

1. Fork the [serverless-dns repository](https://github.com/serverless-dns/serverless-dns) (requires a GitHub account).
2. In the repository you just forked, click on the _Actions_ tab and _Confirm_ that you want to use _Actions_, if prompted.
Expand All @@ -64,11 +64,11 @@ This project can be hosted on [deno.com/deploy](https://deno.com/deploy) and sup

### Using Fly.io {#fly-io}

This project can be hosted on [fly.io](https://fly.io), and can support both DoT and DoH protocols. User will be liable for fly.io billing.
This project can be hosted on [fly.io](https://fly.io), and can support both DoT and DoH protocols. Users will be liable for fly.io billing.

1. Install `flyctl` on your device ([ref](https://fly.io/docs/getting-started/installing-flyctl/)).
2. Signup and/or login to fly.io ([ref](https://fly.io/docs/getting-started/login-to-fly/)).
3. Create an empty directory anywhere on your PC. Open you terminal or powershell and navigate to this directory.
3. Create an empty directory anywhere on your PC. Open your terminal or PowerShell and navigate to this directory.
4. Launch a fly app
```bash
flyctl launch
Expand All @@ -88,7 +88,7 @@ This project can be hosted on [fly.io](https://fly.io), and can support both DoT
B64NOWRAP_KEY="$(base64 -w0 "$KEY")"
B64NOWRAP_CRT="$(base64 -w0 "$CRT")"
```
7. As described in [`.env.example`](https://github.com/serverless-dns/serverless-dns/blob/main/.env.example) file, this base64 encoded certificate-key pair need to set as a single environment variable called `TLS_`. Within this variable, the certificate and key encodings needs to be separated by a newline (`\n`) and described by `CRT=` and `KEY=`. On a bash terminal this can be done by following steps continued by by above.
7. As described in [`.env.example`](https://github.com/serverless-dns/serverless-dns/blob/main/.env.example) file, this base64 encoded certificate-key pair need to set as a single environment variable called `TLS_`. Within this variable, the certificate and key encodings needs to be separated by a newline (`\n`) and described by `CRT=` and `KEY=`. On a bash terminal, this can be done by following steps continued by by above.
```bash
# This creates a single file called "FLY_TLS" in the current directory
echo "KEY=$B64NOWRAP_KEY" > FLY_TLS
Expand Down
8 changes: 4 additions & 4 deletions docs/firewall/introduction.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,14 @@ title: Rethink Firewall
slug: /firewall
---

RethinkDNS comes with a companion [**Firewall**](https://en.wikipedia.org/wiki/Firewall_(computing)) app for Android, that lets you monitor and control Internet access to apps installed on your device.
Rethink**DNS** comes with a companion [**Firewall**](https://en.wikipedia.org/wiki/Firewall_(computing)) app for Android, letting you monitor and control Internet access to apps installed on your device.

The app lets you view searchable network log per connection; reveals apps that were blocked and when; Reveals apps that are connected to where and when.
The app lets you view searchable network log per connection; it reveals apps that were blocked and when, and it reveals apps that are connected to where and when.

It also lets you block individual IPs.

You would be able to set rules such as, _block apps by category_, _block when app is in the background_, _block an app when device is locked_, or _block an app forever_.

RethinkDNS Firewall when configured [DNS](dns), you can analyse DNS requests in real-time and read through aggregated reports in the App logs. And it also helps evade Internet censorship as enforced in most countries.
When Rethink**DNS** has [DNS](dns) configured for the firewall, you can analyze DNS requests in real-time and read through aggregated reports in the App logs. It also helps evade Internet censorship enforced in many countries.

Goto [RethinkDNS.com](https://rethinkdns.com/) to download.
Go to [RethinkDNS.com](https://rethinkdns.com/) to download.
12 changes: 6 additions & 6 deletions docs/firewall/orbot.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
title: Orbot Integration
---

RethinkDNS comes with an option to configure Orbot (Tor) to be used along with the RethinkDNS as a Proxy server to change the IP address.
Rethink**DNS** comes with an option to configure Orbot (Tor) to be used as a proxy to hide your IP address.

## Configurations Steps
## Configuration Steps

### Manual Method

Expand All @@ -14,13 +14,13 @@ RethinkDNS comes with an option to configure Orbot (Tor) to be used along with t
4. Enable HTTP Proxy and enter the HTTP port number (as seen in Orbot), if you want just the browsers to use Orbot's Tor bridge.
5. Enable SOCKS5 (TCP) Proxy and enter the port number (from step 2), choose App (as Orbot), optionally enable Block all UDP traffic except DNS to stop leaking UDP (WhatsApp calls, Zoom, Chromecast may stop working; Orbot doesn't support UDP).
6. Note: The IP address field to be set in RethinkDNS is 127.0.0.1 for both those proxies (for Orbot).
7. Visit [dnsleaktest.com](https://dnsleaktest.com/). It shouldn't be able to tell where you're from and not be able to show your actual IP.
7. Visit [dnsleaktest.com](https://dnsleaktest.com/). It shouldn't be able to show your actual IP and location.

### Automatic Method

Starting from Version 0.53c, we have introduced one click setup
Starting from Version 0.53c, we have introduced a one click setup:

1. To use that Open RethinkDNS app and go to Settings Tab by clicking Gear Icon at the bottom menu.
1. To use it, open the Rethink**DNS** app and go to the Settings Tab by clicking Gear Icon at the bottom menu.

<img src="https://user-images.githubusercontent.com/75526985/113891733-efc03700-97f7-11eb-880c-d14551cd75ca.png" width="480" />

Expand All @@ -32,4 +32,4 @@ Starting from Version 0.53c, we have introduced one click setup

<img src="https://user-images.githubusercontent.com/75526985/113891926-1aaa8b00-97f8-11eb-8f8c-c484ea7103d7.png" width="480" />

4. Select the one you like and click on the Orbot icon at top of the drawer to open Orbot app and then start Orbot (tor network). Once you see 100% you are good to go.
4. Select the one you like and click on the Orbot icon at top of the drawer to open Orbot app and then start Orbot (tor network). Once you see 100%, you are good to go.