<feed xmlns='http://www.w3.org/2005/Atom'>
<title>packages/net/banip, branch master</title>
<subtitle>Mirror of packages feed</subtitle>
<id>https://git.openwrt.org/feed/packages/atom?h=master</id>
<link rel='self' href='https://git.openwrt.org/feed/packages/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/'/>
<updated>2026-10-17T13:10:28Z</updated>
<entry>
<title>banip: update 1.9.1-2</title>
<updated>2026-10-17T13:10:28Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-10-17T13:10:28Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=681b4179a3ca463c879153cad403a25707b9983e'/>
<id>urn:sha1:681b4179a3ca463c879153cad403a25707b9983e</id>
<content type='text'>
- use the GNU regex matchers with gawk &gt;= 5.4;
  gawk 5.4 switched its default regex engine to MinRX, this
  slows down the ip validation a lot (~35x slower)

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.9.1-1</title>
<updated>2026-10-15T15:06:18Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-10-15T15:06:18Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=d5545ad20d449e1e853e043c72a07853f50ccd05'/>
<id>urn:sha1:d5545ad20d449e1e853e043c72a07853f50ccd05</id>
<content type='text'>
- faster IPv4 validation in f_chkip (~2-3 × faster)
- avoid full nft element fetches in the following functions:
  f_actual, f_down (reload &amp; count) and f_search

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.9.0-3</title>
<updated>2026-09-27T19:00:39Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-09-27T19:00:39Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=5e6d78f6d547694973848e45d77be4513d405dda'/>
<id>urn:sha1:5e6d78f6d547694973848e45d77be4513d405dda</id>
<content type='text'>
* optimized the default download parameters for curl/wget
* optimized the rdap range recognition
* readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.9.0-2</title>
<updated>2026-09-25T21:11:37Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-09-25T21:11:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=4a69a0b76759dcd6e2164c81d7260b5280d833c1'/>
<id>urn:sha1:4a69a0b76759dcd6e2164c81d7260b5280d833c1</id>
<content type='text'>
* use RDAP startAddress/endAddress as a single interval element (one nft call per lookup)
* validate RDAP ranges, block nft command and log line injection
* always restart the procd instance (unique nonce via env)
* restart the log monitor if the log reader terminates (e.g. logd restart)
* f_rmpid clears the pidfile before killing child processes
* EXIT trap: route unexpected service exits through f_log "err"
* readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.9.0</title>
<updated>2026-09-19T17:50:03Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-09-19T17:50:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=72e4f90d756b0cf9da01e7b955ad48279df0578c'/>
<id>urn:sha1:72e4f90d756b0cf9da01e7b955ad48279df0578c</id>
<content type='text'>
- add the trigger interfaces to the runtime status
- support url templates for the country and asn feeds;
  the readme contains an example of how to use an alternative
  MaxMind source as country feed
- fix the fallback handling of the custom feed file
- disable the curl url globbing
- drop the unsupported 'w' nft expiry unit
- LuCI: show the trigger interfaces, label the board model
- LuCI: drop the unsupported 'w' expiry unit
- LuCI: fix the custom feed file handling
- readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.8.13-2</title>
<updated>2026-09-10T18:02:03Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-09-10T18:02:03Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=b9e0cefee0866381c146b32da2e1e81dbeffb368'/>
<id>urn:sha1:b9e0cefee0866381c146b32da2e1e81dbeffb368</id>
<content type='text'>
- cap the GeoIP lookup at 15 batch requests per report run (ip-api.com rate limit)
- reuse the map data for 60 seconds instead of querying the service again
- log batch requests without geo data
- limit the parallel background jobs exactly to `ban_cores (same as adblock)
- LuCI:  fix the GeoIP map description
- readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.8.13</title>
<updated>2026-09-08T15:58:17Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-09-08T15:58:17Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=aca7007595f4a5d468938cf8e1fea889ba7b5067'/>
<id>urn:sha1:aca7007595f4a5d468938cf8e1fea889ba7b5067</id>
<content type='text'>
- f_getup() collects the wan state in one pass and diffs the uplink against
  the local allowlist
- new f_refresh() patches only the changed allowlist Set elements
   in a single atomic nft transaction, without touching the running instance
- the procd trigger calls start refresh, start_service() picks the path, a manual start is unaffected
- wan6 in ban_trigger is supported now
- updatted the README and moved to the package root
- LuCI: reworked the feed editor, get rid of custom css

Signed-off-by: Dirk Brenken dev@brenken.org
Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: replace the CARTO basemap with local outlines</title>
<updated>2026-08-27T09:06:55Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-08-27T09:06:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=de6ca754b19118b2b28d0bc0a683edd19cb0ebee'/>
<id>urn:sha1:de6ca754b19118b2b28d0bc0a683edd19cb0ebee</id>
<content type='text'>
CARTO now requires an API key for the raster basemaps at basemaps.cartocdn.com and watermarks every unauthenticated tile request, so the GeoIP map currently renders "API KEY REQUIRED" across the whole viewport.
Therefore in luci-app-banip the basemap is now drawn from country outlines that ship with the package: Natural Earth 1:110m, public domain, all attributes stripped, simplified to 36 kB (~10 kB in the apk).

readme changes in the base package only

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.8.12-1</title>
<updated>2026-08-21T19:47:17Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-08-21T19:46:55Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=dd7b85bb24480ffd9d717c4fb3b23ccbb0987c58'/>
<id>urn:sha1:dd7b85bb24480ffd9d717c4fb3b23ccbb0987c58</id>
<content type='text'>
* new option ban_monitorallowed: in allowlist-only mode
  the log monitor only honours the local allowlist, so attackers
  from an explicitly allowed segment can be banned (fixes openwrt/luci#8950)
* adds the allowlist.local.v4/.v6 Sets, built from /etc/banip/banip.allowlist only,
  referenced by no rule
* allowlist-only mode: skip only those external feeds whose direction is
  fully covered by the allowlist, instead of skipping all or none — split Sets included
* f_lookup keeps the monitor Set in sync with resolved domains
* f_restore: no more bogus per-proto restore attempts for the allowlist
* f_report: batched and deduplicated geo lookups, correct Set names in the report
* readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: fix cpu core calculation</title>
<updated>2026-08-10T17:36:15Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-08-10T17:35:56Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=b1334f27cadc77701748b1832ce55f905293ebc6'/>
<id>urn:sha1:b1334f27cadc77701748b1832ce55f905293ebc6</id>
<content type='text'>
- only cap the cpu core count by available memory if it was auto-detected,
  a manually set 'ban_cores' is now authoritative and no longer lowered
- readme update: clarify that the auto-cap does not apply to a manually
  set core count

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
</feed>
