Analysis console for system administrators

IP List Optimizer

Aggregate fragmented blocks, strip duplicates and covered entries, spot near-complete parents.

POST/api/ip-optimize
liste girin — hesaplama tarayıcı dışına çıkar ama kota harcamaz
Seçenekler

Liste optimizasyonu

Aynı bloğun parçalanmış hâllerini birleştirir, tekrarları ve zaten kapsanan kayıtları ayıklar, bir adım kalmış blokları önerir. ⌘⏎ ile çalıştırın.

About

What is IP List Optimizer?

The IP List Optimizer tidies a blocklist that grew by hand: it finds repeated entries, rows already covered by a wider block, and adjacent blocks that were entered separately. Where four consecutive /24s are really one /22, it collapses them to a single line.

Aggregation is lossless — the output covers exactly the same addresses as the input, with none added or removed. Every run reports the covered address count so you can change the list with confidence.

When a block is one piece short of collapsing (three of four /24s listed, one missing), that's reported separately: which piece is missing, how many blocks it would save, and how many extra addresses it would cover. Applying it is left to you, because widening coverage means blocking addresses the list never named.

Rows with a dropped prefix (anything ending in .0, like 185.91.127.0) are read as /24 by default, CIDRs with host bits set (186.67.112.1/24) are rounded to the network address, and label or comment lines are skipped. A shorter list means fewer firewall rules and cheaper matching.

Frequently Asked Questions

7 questions
How does the optimizer shorten a list?

In four steps: identical ranges collapse to one, entries inside another block are dropped, adjacent and overlapping ranges merge, and the merged range is re-split into the smallest possible set of CIDR blocks. So 10.0.0.0/24 + 10.0.1.0/24 + 10.0.2.0/24 + 10.0.3.0/24 becomes a single 10.0.0.0/22.

Does aggregation block extra addresses?

No. The default run is lossless: the output covers exactly the same address set as the input, and the covered count is shown above the result. Coverage only widens if you enable "fill gaps", and then the added address count and the applied blocks are reported explicitly.

What does "one piece short" mean?

When three of a parent's four sub-blocks are listed and one is missing, it's reported as a suggestion with the missing piece, the number of blocks you'd save and the addresses you'd add. The call is yours: apply it if you really want the missing piece blocked, otherwise the list stays as it is.

What happens to prefix-less rows like 185.91.127.0?

Rows ending in .0 with no prefix are read as /24 by default, since that's usually a dropped suffix; each one is listed in the "fixed rows" table. Turn the option off and the row is treated as a single address (/32) instead.

What about malformed CIDRs like 186.67.112.1/24?

A CIDR with host bits set is rounded to its network address (186.67.112.1/24 → 186.67.112.0/24) and the fix is recorded. That matches how ipset and ip route behave — the block already means the whole /24.

How are label lines and IPv6 entries handled?

Group headers like esxi_attacker and # comments are skipped and listed separately. IPv6 entries stay out of the maths but are preserved verbatim at the end of the output — nothing disappears silently.

Why does a shorter list matter?

In firewalls, ipsets and routing tables the rule count is memory and match cost, and a short list is one a human can still read. Going from 200 rows to 170 also helps maintenance: fragmented entries stop being updated one by one.