You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+15-5Lines changed: 15 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,8 @@ A Python desktop app that fetches, parses, and deduplicates multiple Pi-hole blo
17
17
- Progress bar and per-source status during combine
18
18
- Save combined lists to a local library organized in folders
19
19
- Load saved lists back into the combiner to merge with new sources
20
-
-**Serve List** — hosts the combined list over HTTP on your LAN so Pi-hole can pull it directly via gravity
20
+
-**Serve List** — hosts combined lists over HTTP on your LAN so Pi-hole can pull them directly via gravity; name each served file (e.g. `general.txt`, `tvs.txt`) so multiple lists can be served simultaneously at different URLs for Pi-hole group management
21
+
-**Serve from Library** — serve any saved list directly from the Library tab without re-combining
@@ -45,13 +46,16 @@ The app opens with three tabs:
45
46
### Pushing to Pi-hole
46
47
47
48
1. Build your combined list in the Combine tab
48
-
2. Click **Serve List** — the `●` indicator turns green and a URL appears (e.g. `http://YOUR.IP.GO.HERE:8765/blocklist.txt`)
49
-
3. Copy the URL and paste it into Pi-hole's **Adlists** page
50
-
4. Run **Update Gravity** in Pi-hole — it fetches and caches the list
51
-
5. Click **Stop Serving** or close the app — Pi-hole retains the list from its gravity cache
49
+
2. Optionally type a filename (e.g. `general`) — leave blank for the default `blocklist.txt`
50
+
3. Click **Serve List** — the `●` indicator turns green and a URL appears (e.g. `http://YOUR.IP.GO.HERE:8765/general.txt`)
51
+
4. Copy the URL and paste it into Pi-hole's **Adlists** page
52
+
5. Run **Update Gravity** in Pi-hole — it fetches and caches the list
53
+
6. Click **Stop Serving** or close the app — Pi-hole retains the list from its gravity cache
52
54
53
55
> Pi-hole and your PC just need to be on the same local network. The server defaults to port **8765**.
54
56
57
+
> **Tip:** To use Pi-hole's group management, build separate lists (e.g. one for general devices, one for smart TVs) and serve each with a different filename. Each URL is a separate adlist entry in Pi-hole that can be assigned to different groups.
58
+
55
59
### Output format
56
60
57
61
When you click *Combine All*, the app produces a plain-text file with a short comment header followed by one domain per line, sorted alphabetically:
@@ -106,6 +110,7 @@ tests/
106
110
test_fetcher.py
107
111
test_combiner.py
108
112
test_database.py
113
+
test_server.py
109
114
```
110
115
111
116
## Data storage
@@ -135,6 +140,11 @@ pytest tests/
135
140
136
141
## Recent updates
137
142
143
+
**v1.7.0**
144
+
-**Multi-path serving** — the HTTP server now supports serving multiple lists simultaneously at different URL paths; enables Pi-hole group management with separate lists per device group
145
+
-**Custom serve filename** — name the served file in the Combine tab (e.g. `general` → `/general.txt`) instead of the fixed `/blocklist.txt`
146
+
-**Serve from Library** — serve any saved list directly from the Library tab with its own URL, without needing to re-combine
147
+
138
148
**v1.6.0**
139
149
-**Settings persistence** — port and Blocklist/Allowlist choice now saved to the local database; restored automatically on next launch
140
150
-**Source metadata** — when saving a combined list to the library, the source URLs are stored alongside it; loading the list back into the Combine tab restores the individual URLs (not just the content blob) so you can see where it came from and re-fetch fresh data
0 commit comments