Skip to content

Commit 7897c47

Browse files
authored
Merge branch 'master' into import_pihole_toml
2 parents 5c4a05a + 69fb881 commit 7897c47

30 files changed

+184
-157
lines changed

.devcontainer/devcontainer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
"GIT_EDITOR": "nano"
2121
},
2222
"mounts": [
23-
"type=bind,source=/home/${localEnv:USER}/.ssh,target=/home/node/.ssh,readonly"
23+
"type=bind,source=${localEnv:HOME}/.ssh,target=/home/node/.ssh,readonly"
2424
],
2525
"forwardPorts": [8000]
2626
}

.github/CODEOWNERS

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# see https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/about-code-owners#codeowners-syntax
2+
3+
# These owners will be the default owners for everything in
4+
# the repo. Unless a later match takes precedence,
5+
* @pi-hole/docs-maintainers

.github/dependabot.yml

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,6 @@ updates:
99
target-branch: master
1010
open-pull-requests-limit: 10
1111
versioning-strategy: increase
12-
reviewers:
13-
- "pi-hole/docs-maintainers"
1412
groups:
1513
npm-dependencies:
1614
patterns:
@@ -26,8 +24,6 @@ updates:
2624
allow:
2725
- dependency-type: direct
2826
- dependency-type: indirect
29-
reviewers:
30-
- "pi-hole/docs-maintainers"
3127
groups:
3228
pip-dependencies:
3329
patterns:
@@ -38,57 +34,8 @@ updates:
3834
interval: weekly
3935
day: saturday
4036
time: "10:00"
41-
reviewers:
42-
- "pi-hole/docs-maintainers"
4337
groups:
4438
github_action-dependencies:
4539
patterns:
4640
- "*"
4741
target-branch: master
48-
49-
# As above, but for development-v6
50-
- package-ecosystem: npm
51-
directory: "/"
52-
schedule:
53-
interval: weekly
54-
day: saturday
55-
time: "10:00"
56-
target-branch: release/v6.0
57-
open-pull-requests-limit: 10
58-
versioning-strategy: increase
59-
reviewers:
60-
- "pi-hole/docs-maintainers"
61-
groups:
62-
npm-dependencies:
63-
patterns:
64-
- "*"
65-
- package-ecosystem: pip
66-
directory: "/"
67-
schedule:
68-
interval: weekly
69-
day: saturday
70-
time: "10:00"
71-
target-branch: release/v6.0
72-
open-pull-requests-limit: 10
73-
allow:
74-
- dependency-type: direct
75-
- dependency-type: indirect
76-
reviewers:
77-
- "pi-hole/docs-maintainers"
78-
groups:
79-
pip-dependencies:
80-
patterns:
81-
- "*"
82-
- package-ecosystem: "github-actions"
83-
directory: "/"
84-
schedule:
85-
interval: weekly
86-
day: saturday
87-
time: "10:00"
88-
reviewers:
89-
- "pi-hole/docs-maintainers"
90-
groups:
91-
github_action-dependencies:
92-
patterns:
93-
- "*"
94-
target-branch: release/v6.0

.github/workflows/calibreapp-image-actions.yml

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ name: Compress Images
33
on:
44
pull_request:
55
paths:
6-
- '**.jpg'
7-
- '**.jpeg'
8-
- '**.png'
9-
- '**.webp'
6+
- "**.jpg"
7+
- "**.jpeg"
8+
- "**.png"
9+
- "**.webp"
1010

1111
jobs:
1212
build:
@@ -15,8 +15,10 @@ jobs:
1515
name: calibreapp/image-actions
1616
runs-on: ubuntu-latest
1717
steps:
18-
- name: Checkout Repo
18+
- name: Clone repository
1919
uses: actions/checkout@v4.2.2
20+
with:
21+
persist-credentials: false
2022

2123
- name: Compress Images
2224
uses: calibreapp/image-actions@1.1.0 # TODO: if they start using a tag like v1, switch to that

.github/workflows/ci.yml

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,21 @@ jobs:
1717
test:
1818
runs-on: ubuntu-latest
1919
steps:
20-
- uses: actions/checkout@v4.2.2
20+
- name: Clone repository
21+
uses: actions/checkout@v4.2.2
2122
with:
23+
persist-credentials: false
2224
fetch-depth: 0
2325

2426
- name: Set up Python
25-
uses: actions/setup-python@v5.4.0
27+
uses: actions/setup-python@v5.6.0
2628
with:
2729
python-version: "${{ env.PYTHON_VERSION }}"
2830
architecture: "x64"
2931
cache: pip
3032

3133
- name: Set up Node.js
32-
uses: actions/setup-node@v4.2.0
34+
uses: actions/setup-node@v4.4.0
3335
with:
3436
node-version: "${{ env.NODE }}"
3537
cache: npm
@@ -40,8 +42,5 @@ jobs:
4042
- name: Install npm dependencies
4143
run: npm ci
4244

43-
- name: Build docs
44-
run: mkdocs build --strict
45-
46-
- name: Test
45+
- name: Build and test
4746
run: npm test

.github/workflows/codespell.yml

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -8,12 +8,13 @@ jobs:
88
if: github.event.pull_request.draft == false
99
runs-on: ubuntu-latest
1010
steps:
11-
-
12-
name: Checkout repository
13-
uses: actions/checkout@v4.2.2
14-
-
15-
name: Spell-Checking
16-
uses: codespell-project/actions-codespell@master
17-
with:
18-
ignore_words_file: .codespellignore
19-
skip: ./docs/routers/fritzbox-de.md,./mkdocs.yml,./package.json,./package-lock.json,./.markdownlint.json,./requirements.txt, ./MathJax-es5/*
11+
- name: Clone repository
12+
uses: actions/checkout@v4.2.2
13+
with:
14+
persist-credentials: false
15+
16+
- name: Spell-Checking
17+
uses: codespell-project/actions-codespell@master
18+
with:
19+
ignore_words_file: .codespellignore
20+
skip: ./docs/routers/fritzbox-de.md,./mkdocs.yml,./package.json,./package-lock.json,./.markdownlint.json,./requirements.txt, ./MathJax-es5/*

.github/workflows/editorconfig-checker.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,9 @@ jobs:
99
name: editorconfig-checker
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v4.2.2
12+
- name: Clone repository
13+
uses: actions/checkout@v4.2.2
14+
with:
15+
persist-credentials: false
1316
- uses: editorconfig-checker/action-editorconfig-checker@main
1417
- run: editorconfig-checker

.github/workflows/stale_pr.yml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,11 @@ name: Close stale PR
55

66
on:
77
schedule:
8-
- cron: '0 10 * * *'
8+
- cron: "0 10 * * *"
99
workflow_dispatch:
1010

1111
jobs:
1212
stale:
13-
1413
runs-on: ubuntu-latest
1514
permissions:
1615
issues: write
@@ -27,9 +26,9 @@ jobs:
2726
# Close PRs immediately, after marking them 'stale'
2827
days-before-pr-close: 0
2928
# only run the action on merge conflict PR
30-
any-of-labels: 'Merge Conflict'
31-
exempt-pr-labels: 'Internal, Never Stale, On Hold, WIP'
29+
any-of-labels: "Merge Conflict"
30+
exempt-pr-labels: "Internal, Never Stale, On Hold, WIP"
3231
exempt-all-pr-assignees: true
3332
operations-per-run: 300
34-
stale-pr-message: ''
35-
close-pr-message: 'Existing merge conflicts have not been addressed. This PR is considered abandoned.'
33+
stale-pr-message: ""
34+
close-pr-message: "Existing merge conflicts have not been addressed. This PR is considered abandoned."

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ Please make sure you fork the repo and change the clone URL in the example below
4242
pip3 install -r requirements.txt
4343
```
4444

45-
- Enter the virtual enviorment (if exited):
45+
- Enter the virtual environment (if exited):
4646

4747
```bash
4848
source .venv/bin/activate

docs/abbreviations.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
*[API]: Application Programming Interface (a set of subroutine definitions, protocols, and tools for building application software)
44
*[CSRF]: Cross-site request forgery
55
*[DNS]: Domain Name Service (decentralized naming system for computers, services, or other resources connected to the Internet)
6-
*[DnyDNS]: Dynamic DNS record pointing to a frequently changing IP address
6+
*[DynDNS]: Dynamic DNS record pointing to a frequently changing IP address
77
*[DHCP]: Dynamic Host Configuration Protocol (network management protocol for configuring Internet Protocol version 4 (IPv4) hosts with IP addresses)
88
*[DHCPv6]: Dynamic Host Configuration Protocol version 6 (a network protocol for configuring Internet Protocol version 6 (IPv6) hosts with IP addresses)
99
*[FTL]: Pi-hole's Faster Than Light daemon

docs/docker/configuration.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@ Set your [timezone](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
4444

4545
To set a specific password for the web interface, use the environment variable `FTLCONF_webserver_api_password` (per the quick-start example). If this variable is not detected, and you have not already set one previously inside the container via `pihole setpassword` or `pihole-FTL --config webserver.api.password`, then a random password will be assigned on startup, and will be printed to the log. You can find this password with the command `docker logs pihole | grep random password` on your host to find this password. See [Notes On Web Interface Password](#notes-on-web-interface-password) below for usage examples.
4646

47+
!!! note
48+
To _explicitly_ set no password, set `FTLCONF_webserver_api_password: ''`<br/><br/>
49+
Using `pihole setpassword` for the purpose of setting an empty password will not persist between container restarts
50+
4751
#### `FTLCONF_dns_upstreams` (Default: `8.8.8.8;8.8.4.4`)
4852

4953
- Upstream DNS server(s) for Pi-hole to forward queries to, separated by a semicolon

docs/docker/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@ docker run --name pihole -p 53:53/tcp -p 53:53/udp -p 80:80/tcp -p 443:443/tcp -
5555

5656
## Note On Capabilities
5757

58-
[FTLDNS](https://docs.pi-hole.net/ftldns/in-depth/#linux-capabilities) expects to have the following capabilities available:
58+
[FTLDNS](https://docs.pi-hole.net/ftldns/) expects to have the following capabilities available:
5959

6060
- `CAP_NET_BIND_SERVICE`: Allows FTLDNS binding to TCP/UDP sockets below 1024 (specifically DNS service on port 53)
6161
- `CAP_NET_RAW`: use raw and packet sockets (needed for handling DHCPv6 requests, and verifying that an IP is not in use before leasing it)

docs/ftldns/dnsmasq_warn.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ Warnings commonly seen in `dnsmasq`'s log file (`/var/log/pihole/pihole.log`) an
179179

180180
!!! warning "LOUD WARNING: listening on `ADDRESS` may accept requests via interfaces other than `IFNAME`"
181181

182-
When using `bind-interfaces`, the only access control is the addresses `dnsmasq` is listening on. There's nothing to avoid a query to the address of an internal interface arriving via an external interface where we don't want to accept queries, except that in the usual case the addresses of internal interfaces are RFC1918. When `bind-interfaces` in use, and we listen on an address that looks like it's probably globally routeable, this warning is printed.
182+
When using `bind-interfaces`, the only access control is the addresses `dnsmasq` is listening on. There's nothing to avoid a query to the address of an internal interface arriving via an external interface where we don't want to accept queries, except that in the usual case the addresses of internal interfaces are RFC1918. When `bind-interfaces` in use, and we listen on an address that looks like it's probably globally routable, this warning is printed.
183183

184184
!!! warning "LOUD WARNING: use --bind-dynamic rather than --bind-interfaces to avoid DNS amplification attacks via these interface(s)"
185185

docs/ftldns/signals.md

Lines changed: 10 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -33,15 +33,13 @@ When FTL receives a `SIGHUP`, it clears the entire DNS cache, and then
3333

3434
While `SIGHUP` updates/flushes almost everything, such a massive operation is often not necessary. Hence, we added several small real-time signals available for fine-grained control of what FTL does. When you see `SIGHUP` as a "big gun", the real-time signals are rather the "scalpel" to serve rather specific needs.
3535

36-
Real-time signals are not guaranteed to have the same number on all operating systems. FTL will adapt accordingly. For the signals described below, we will always specify them with the real-time signal ID and the *typical* signal number in parentheses.
37-
38-
Real-time signal can always be executed relative to the first (= minimum) real-time signal just like (for real-time signal 0):
36+
Real-time signals are not guaranteed to have the same number on all operating systems as the value of the constant `SIGRTMIN` may vary. For the signals described below, we recommend using the exact signal number described in the parentheses, e.g., real-time signal 0 (35) can be sent like:
3937

4038
```bash
41-
sudo pkill -SIGRTMIN+0 pihole-FTL
39+
sudo pkill -SIG35 pihole-FTL
4240
```
4341

44-
## Real-time signal 0
42+
## Real-time signal 0 (35)
4543

4644
This signal does:
4745

@@ -55,30 +53,30 @@ The most important difference to `SIGHUP` is that the DNS cache itself is **not*
5553

5654
This is the preferred signal to be used after manipulating the `gravity.db` database manually as it reloads only what is needed in this case.
5755

58-
## Real-time signal 1
56+
## Real-time signal 1 (36)
5957

6058
*Reserved* - Currently ignored
6159

62-
## Real-time signal 2
60+
## Real-time signal 2 (37)
6361

6462
*Reserved* - Used for internal signaling that a fork or thread crashed and needs to inform the main process to shut down, storing the last (valid) queries still into the long-term database.
6563

66-
## Real-time signal 3
64+
## Real-time signal 3 (38)
6765

6866
Reimport alias-clients from the database and recompute affected client statistics.
6967

70-
## Real-time signal 4
68+
## Real-time signal 4 (39)
7169

7270
Re-resolve all clients and forward destination hostnames. This forces refreshing hostnames as in that the usual "resolve only recently active clients" condition is ignored. The re-resolution adheres to the specified `REFRESH_HOSTNAMES` config option meaning that this option may not try to resolve all hostnames.
7371

74-
## Real-time signal 5
72+
## Real-time signal 5 (40)
7573

7674
Re-parse ARP/neighbour-cache now to update the Network table now
7775

78-
## Real-time signal 6
76+
## Real-time signal 6 (41)
7977

8078
*reserved* - Signal used internally to terminate the embedded `dnsmasq`. Please do not use this signal to prevent misbehaviour.
8179

82-
## Real-time signal 7
80+
## Real-time signal 7 (42)
8381

8482
Scan binary search lookup tables for hash collisions and report if any are found. This is a debugging signal and not meaningful production. Scanning the lookup tables is a time-consuming operation and may stall DNS resolution for a while on low-end devices.

docs/guides/dns/unbound.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,13 @@ server:
145145
private-address: 10.0.0.0/8
146146
private-address: fd00::/8
147147
private-address: fe80::/10
148+
149+
# Ensure no reverse queries to non-public IP ranges (RFC6303 4.2)
150+
private-address: 192.0.2.0/24
151+
private-address: 198.51.100.0/24
152+
private-address: 203.0.113.0/24
153+
private-address: 255.255.255.255/32
154+
private-address: 2001:db8::/32
148155
```
149156
150157
Start your local recursive server and test that it's operational:

docs/guides/dns/upstream-dns-providers.md

Lines changed: 1 addition & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
1-
The Pi-hole setup offers 10 options for an upstream DNS provider during the initial setup.
1+
The Pi-hole setup offers nine options for an upstream DNS provider during the initial setup.
22

33
```text
44
Google
55
OpenDNS
66
Level3
77
Comodo
8-
DNS.WATCH
98
Quad9
109
Quad9 (unfiltered)
1110
Quad9 (ECS)
@@ -64,17 +63,6 @@ SecureDNS references a real-time block list (RBL) of harmful websites (i.e. phis
6463

6564
[More information on Comodo Secure DNS](https://www.comodo.com/secure-dns/)
6665

67-
### DNS.WATCH
68-
69-
DNS.WATCH offers Fast, free and uncensored DNS resolution.
70-
71-
- 84.200.69.80
72-
- 84.200.70.40
73-
- 2001:1608:10:25::1c04:b12f (IPv6)
74-
- 2001:1608:10:25::9249:d69b (IPv6)
75-
76-
[More information on DNS.WATCH](https://dns.watch/)
77-
7866
### Quad9
7967

8068
Quad9 is a free, recursive, anycast DNS platform that provides end users robust security protections, high-performance, and privacy.

docs/guides/misc/all_settings.png

18.6 KB
Loading

0 commit comments

Comments
 (0)