Merge branch 'master' into adlist

This commit is contained in:
yubiuser
2022-07-29 15:13:47 +02:00
committed by GitHub
21 changed files with 45 additions and 39 deletions
-13
View File
@@ -1,7 +1,5 @@
## Group management
Any blocklist or domain on the white-/black-/regex-lists can be managed through groups. This allows not only grouping them to highlight their relationship, but also enabling/disabling them together if one, for instance, wants to visit a specific service only temporarily.
Groups are defined in the `group` table and can have an optional description in addition to the mandatory name of the group.
Label | Type | Uniqueness enforced | Content
@@ -25,14 +23,3 @@ Label | Type | Content
`group_id` | integer | `id` of associated group in the `group` table
Group `Default` (`group_id` `0`) is special as it is automatically assigned to domains and clients not being a member of other groups. Each newly added client or domain gets assigned to group zero when being added.
## Effect of group management
The great flexibility to manage domains in zero, one, or multiple groups may result in unexpected behavior when, e.g., the domains are enabled in some but disabled in other groups. For the sake of convenience, we describe the possible configurations and whether *FTL*DNS uses these domains (✔) or not (✘) in such cases.
- Domain disabled: ✘<br>Note that the domain is never imported by *FTL*DNS, even if it is contained in an enabled group.
- Domain enabled: It depends...
- Not managed by a group: ✔
- Contained in one or more groups (at least one enabled): ✔
- Contained in one or more groups (all disabled): ✘
+8 -2
View File
@@ -125,7 +125,7 @@ TXT: 0.00
Get all queries that FTL has in memory
```text
```text
1525554586 A fonts.googleapis.com 192.168.2.100 3 0 4 6
1525554586 AAAA fonts.googleapis.com 192.168.2.100 3 0 4 5
1525554586 A www.mkdocs.org 192.168.2.100 3 0 4 7
@@ -138,7 +138,13 @@ Get all queries that FTL has in memory
1525554586 AAAA github.com 192.168.2.100 2 0 1 18
```
Variants: `>getallqueries (37)` show (up to) 37 latest entries, `>getallqueries-time 1483964295 1483964312` gets all queries that FTL has in its database in a limited time interval, `>getallqueries-time 1483964295 1483964312 (17)` show matches in the (up to) 17 latest entries, `>getallqueries-domain www.google.com` gets all queries that FTL has in its database for a specific domain name, `>getallqueries-client 2.3.4.5` : gets all queries that FTL has in its database for a specific client name *or* IP
Variants:
- `>getallqueries (37)` show (up to) 37 latest entries,
- `>getallqueries-time 1483964295 1483964312` gets all queries that FTL has in its database in a limited time interval,
- `>getallqueries-time 1483964295 1483964312 (17)` show matches in the (up to) 17 latest entries,
- `>getallqueries-domain www.google.com` gets all queries that FTL has in its database for a specific domain name,
- `>getallqueries-client 2.3.4.5`: gets all queries that FTL has in its database for a specific client name *or* IP
---
@@ -16,7 +16,7 @@ after your database modifications to have FTL flush its internal domain-blocking
The `Default` group has a special meaning and cannot be deleted. All domains, clients, and adlists without a specific group assignment are automatically managed through this group. Disabling this group will disable Pi-hole blocking for all unmanaged devices.
![Adding three groups](example-groups.png)
![Adding three groups](../images/group_management/example-groups.png)
??? "Raw database instructions"
```sql
@@ -29,7 +29,7 @@ after your database modifications to have FTL flush its internal domain-blocking
Add three clients at your will, their IP addresses might differ from the ones in this example.
![Adding three clients](example-clients-1.png)
![Adding three clients](../images/group_management/example-clients-1.png)
??? "Raw database instructions"
```sql
@@ -40,7 +40,7 @@ after your database modifications to have FTL flush its internal domain-blocking
3. **Link the clients to the created groups.**
![Link groups and clients](example-clients-2.png)
![Link groups and clients](../images/group_management/example-clients-2.png)
??? "Raw database instructions"
```sql
@@ -53,7 +53,7 @@ after your database modifications to have FTL flush its internal domain-blocking
**Task:** Exclude client 1 from Pi-hole's blocking by removing client 1 from the `Default` group.
![Change client groups assignment - Overview](example-clients-3.png)
![Change client groups assignment - Overview](../images/group_management/example-clients-3.png)
??? "Raw database instructions"
```sql
@@ -76,7 +76,7 @@ All three clients got automatically assigned to the default (`Default`) group wh
**Task:** Assign adlist with ID 1 to group 1 (in addition to the default assignment to group 0). This results in client `192.168.0.101` using *only this* adlist (we removed the default association in the last step).
![Change blocklist group assignment - Overview](example-adlists-1.png)
![Change blocklist group assignment - Overview](../images/group_management/example-adlists-1.png)
??? "Raw database instructions"
```sql
@@ -103,9 +103,9 @@ Client | Group membership | Domain | Blocked
Add the domain to be blocked
![Add new exact blacklist domain](example-new-black.png)
![Add new exact blacklist domain](../images/group_management/example-new-black.png)
![Resulting row in the list of domains](example-domain-1.png)
![Resulting row in the list of domains](../images/group_management/example-domain-1.png)
??? "Raw database instructions"
```sql
@@ -128,7 +128,7 @@ Note that Pi-hole is *not* blocking this domain for client `192.168.0.101` as we
Assign this domain to group 1
![Assign group to a new domain](example-domain-2.png)
![Assign group to a new domain](../images/group_management/example-domain-2.png)
??? "Raw database instructions"
```sql
@@ -151,7 +151,7 @@ All clients see this domain as being blocked: Client 1 due to a direct assignmen
Remove default assignment to all clients not belonging to a group
![Remove Default group from new domain](example-domain-3.png)
![Remove Default group from new domain](../images/group_management/example-domain-3.png)
??? "Raw database instructions"
```sql
@@ -178,9 +178,9 @@ While client 1 keeps its explicit assignment through group 1, the remaining clie
Add the domain to be whitelisted
![Add a new exact whitelist domain](example-new-white.png)
![Add a new exact whitelist domain](../images/group_management/example-new-white.png)
![Resulting row in the list of domains](example-domain-4.png)
![Resulting row in the list of domains](../images/group_management/example-domain-4.png)
??? "Raw database instructions"
```sql
@@ -202,7 +202,7 @@ Client `192.168.0.101` is not whitelisting this domain as we removed the default
Remove default group assignment
![Remove default group assignment](example-domain-5.png)
![Remove default group assignment](../images/group_management/example-domain-5.png)
??? "Raw database instructions"
```sql
@@ -224,7 +224,7 @@ Requests from all clients are blocked as the new whitelist entry is not associat
Assign this domain to group 2
![Assign group to a new domain](example-domain-6.png)
![Assign group to a new domain](../images/group_management/example-domain-6.png)
??? "Raw database instructions"
```sql
+9
View File
@@ -0,0 +1,9 @@
## Group management
Any blocklist or domain on the white-/black-/regex-lists can be managed through groups. This allows not only grouping them to highlight their relationship, but also enabling/disabling them together if one, for instance, wants to visit a specific service only temporarily.
Group `Default` (`group_id` `0`) is special as it is automatically assigned to domains and clients not being a member of other groups. Each newly added client or domain gets assigned to group zero when being added.
## Effect of group management
The great flexibility to manage domains in zero, one, or multiple groups may result in unexpected behavior when, e.g., the domains are enabled in some but disabled in other groups.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 9.4 KiB

Before

Width:  |  Height:  |  Size: 9.8 KiB

After

Width:  |  Height:  |  Size: 9.8 KiB

Before

Width:  |  Height:  |  Size: 9.7 KiB

After

Width:  |  Height:  |  Size: 9.7 KiB

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 8.7 KiB

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

Before

Width:  |  Height:  |  Size: 9.6 KiB

After

Width:  |  Height:  |  Size: 9.6 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

+5 -1
View File
@@ -98,7 +98,6 @@ nav:
- 'Domain database':
- 'Overview': database/gravity/index.md
- 'Group management': database/gravity/groups.md
- 'Examples': database/gravity/example.md
- 'Database recovery': database/gravity/recovery.md
- 'FTLDNS':
- 'Overview': ftldns/index.md
@@ -120,6 +119,9 @@ nav:
- 'gdb': ftldns/debugging.md
- 'valgrind': ftldns/valgrind.md
- 'In-depth manual': ftldns/in-depth.md
- 'Group management':
- 'Overview': group_management/groups.md
- 'Examples': group_management/example.md
- 'RegEx blocking':
- "Overview": regex/overview.md
- "Testing": regex/testmode.md
@@ -228,3 +230,5 @@ plugins:
'ftldns/regex/index.md': regex/overview.md
'ftldns/regex/overview.md': regex/overview.md
'ftldns/regex/tutorial.md': regex/tutorial.md
'database/gravity/example.md': group_management/example.md
+7 -7
View File
@@ -9,7 +9,7 @@
"version": "1.0.0",
"license": "CC-BY-SA-4.0",
"devDependencies": {
"linkinator": "^4.0.1",
"linkinator": "^4.0.2",
"markdownlint-cli2": "0.4.0"
}
},
@@ -1483,9 +1483,9 @@
}
},
"node_modules/linkinator": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/linkinator/-/linkinator-4.0.1.tgz",
"integrity": "sha512-7z6ldbOsHEe6p8cBNjhIMYBWc+Egx9MQegTN9A3KmJg8E9V2LQHVgKJ/ona63g6Pssxu/kQtOW+Jj/h6k014uw==",
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/linkinator/-/linkinator-4.0.2.tgz",
"integrity": "sha512-PkwPiMx2NsRXaKQiOkTH8uMkkUrN3rh0gI6nFwjme2A7TVVYzlwGfmb00wbDEEdLrO49tDbajUEJGup64swmog==",
"dev": true,
"dependencies": {
"chalk": "^5.0.0",
@@ -3630,9 +3630,9 @@
}
},
"linkinator": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/linkinator/-/linkinator-4.0.1.tgz",
"integrity": "sha512-7z6ldbOsHEe6p8cBNjhIMYBWc+Egx9MQegTN9A3KmJg8E9V2LQHVgKJ/ona63g6Pssxu/kQtOW+Jj/h6k014uw==",
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/linkinator/-/linkinator-4.0.2.tgz",
"integrity": "sha512-PkwPiMx2NsRXaKQiOkTH8uMkkUrN3rh0gI6nFwjme2A7TVVYzlwGfmb00wbDEEdLrO49tDbajUEJGup64swmog==",
"dev": true,
"requires": {
"chalk": "^5.0.0",
+1 -1
View File
@@ -22,7 +22,7 @@
"test": "npm run markdownlint && npm run linkinator"
},
"devDependencies": {
"linkinator": "^4.0.1",
"linkinator": "^4.0.2",
"markdownlint-cli2": "0.4.0"
}
}
+2 -2
View File
@@ -1,5 +1,5 @@
markdown-include==0.6.0
mkdocs==1.3.0
markdown-include==0.7.0
mkdocs==1.3.1
mkdocs-git-revision-date-localized-plugin==1.1.0
mkdocs-material==8.3.9
mkdocs-redirects==1.0.4