Blocky Setup Guide (#9600)

**Description**
Add Blocky Setup Guide

⚒️ Fixes  #

**⚙️ Type of change**

- [ ] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code

**🧪 How Has This Been Tested?**


**📃 Notes:**

**✔️ Checklist:**

- [ ] ⚖️ My code follows the style guidelines of this project
- [ ] 👀 I have performed a self-review of my own code
- [ ] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [ ] ⬆️ I increased versions for any altered app according to semantic
versioning

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [ ] 🪞 I have opened a PR on
[truecharts/containers](https://github.com/truecharts/containers) adding
the container to TrueCharts mirror repo.
- [ ] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`

---

_Please don't blindly check all the boxes. Read them and only check
those that apply.
Those checkboxes are there for the reviewer to see what is this all
about and
the status of this PR with a quick glance._

---------

Signed-off-by: kqmaverick <121722567+kqmaverick@users.noreply.github.com>
This commit is contained in:
kqmaverick 2023-06-13 00:53:15 -07:00 committed by GitHub
parent 894b86917c
commit e1e0b6a0f5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 75 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,75 @@
# Blocky Setup Guide
This will guide you through the basic setup of Blocky which is the preferred DNS solution for TrueCharts. This guide will cover basic setup options which will get you up and running and is not all inclusive.
## Upstream DNS
Blocky has multiple DNS entries configured by default these can be overridden to your personal preferences or left as default.
Blocky supports 3 methods for upstream DNS.
UDP - Basic DNS
DoT - DNS over TLS
DoH - DNS over HTTPS
While UDP provides no security for DNS both DoT and DoH will encrypt DNS request. DoH has the added benefit of privacy since DNS traffic will appear as HTTPS traffic.
### UDP DNS Setup
Google DNS: `8.8.8.8` `8.8.4.4`
Cloudflare DNS: `1.1.1.1` `1.0.0.1`
![blocky-udp-upstream-google](./img/blocky-udp-upstream-google.png)
### DoT DNS Setup
Google DNS ([Bootstrap DNS Required](#bootstrap-dns)): `tcp-tls:dns.google:853`
Cloudflare DNS: `tcp-tls:1.1.1.1:853` `tcp-tls:1.0.0.1:853`
![blocky-dot-upstream-google](./img/blocky-dot-upstream-google.png)
### DoH Upstream
Google DNS ([Bootstrap DNS Required](#bootstrap-dns)): `https://dns.google/dns-query`
Cloudflare DNS: `https://1.1.1.1/dns-query` `https://1.0.0.1/dns-query`
![blocky-doh-upstream-google](./img/blocky-doh-upstream-google.png)
## Bootstrap DNS
For DNS providers that do not use an IP address for DoT or DoH a bootstrap DNS provider is needed to resolve the DoT or DoH address. This provider can be any UDP upstream DNS. In the below example I am using Google DNS.
![blocky-bootstrap-google](./img/blocky-bootstrap-google.png)
## DNS Blacklists
DNS Blacklists are used to prevent DNS resolution of advertisement, malware, trackers and adult sites domains. This is completed with public maintained blocklists. A good source for these is [firebog.net](https://firebog.net).
:::warning Warning
While publicly maintained blocklists usually do a good job of allowing legitimate traffic they can sometimes be too broad and catch traffic that you wish to allow. You may need to disable certain blocklists if you find legitimate traffic being blocked.
:::
1. Pick a Group Name for your blocklists.
2. Add List entries for each blocklist by URL.
![blocky-blacklist](./img/blocky-blacklist.png)
3. Add a Clients Group Block and set Client Group Name to `default`
4. Under Groups Entry enter the Group name you used above.
![blocky-blacklist-group](./img/blocky-blacklist-group.png)
## k8s-Gateway Configuration
k8s-Gateway will automatically provide split DNS for your local domain. This will allow you to resolve all ingress configured subdomains locally. All that is required for setup is to add your root domain in the Domain name block.
![blocky-k8s-gateway](./img/blocky-k8s-gateway.png)
## Prometheus/Grafana
TBD