Make group management more prominent

Signed-off-by: Christian König <ckoenig@posteo.de>
This commit is contained in:
Christian König
2022-07-13 13:07:20 +02:00
parent f8294bd19d
commit 57cafa2c38
17 changed files with 25 additions and 27 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): ✘
@@ -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

+3 -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