Skip to content

Save recoverable blocklists and handle DNS and iprange edge cases - #11

Merged
ckcameron merged 1 commit into
mainfrom
feature/recovery-checkpoints
Nov 13, 2026
Merged

ckcameron merged 1 commit into
mainfrom
feature/recovery-checkpoints

Conversation

@ckcameron

Copy link
Copy Markdown
Owner

Save the domain, IPv4, and IPv6 text lists in per-run recovery checkpoints before the main processing stages. Preserve records from already parsed sources on a fatal input error. Each checkpoint can be reused as a feed.

Use forward DNS only. Skip local and reverse DNS names, and ignore answers in local address ranges. Existing input and allowlist rules still apply to explicit feed records.

If iprange fails or its output changes coverage, warn with the reason and use exact Python CIDRs for the affected family. Reproduced IPv6 reduction exit status 1 with iprange 2.1.1 and verified the bundle still completes.

All 37 unit tests passed, including recovery after source, DNS, and optimizer failures.

@ckcameron
ckcameron merged commit c82ad28 into main Nov 13, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant