<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-08-27T09:06:55Z</updated>
<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>
<entry>
<title>banip: report the last run timestamp as ISO 8601</title>
<updated>2026-08-06T19:26:44Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-08-06T19:26:44Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=23e2f530fe990b03e5d87bad9a499914caef92ad'/>
<id>urn:sha1:23e2f530fe990b03e5d87bad9a499914caef92ad</id>
<content type='text'>
The runtime status reported the last run as DD/MM/YYYY, which reads as a
different date entirely for anyone used to month first ordering.

Use YYYY-MM-DD instead for the frontpage and the Set reporting.
The new ISO 8601 format is unambiguous regardless of the reader's locale.

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: fix the local uplink lookup of the GeoIP map</title>
<updated>2026-07-26T17:54:08Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-07-26T17:54:08Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=e74adcb2afdf62cb07e17aea7479bc276ba07b4b'/>
<id>urn:sha1:e74adcb2afdf62cb07e17aea7479bc276ba07b4b</id>
<content type='text'>
- better extract Uplink addresses
- the map array anchor was written inside the runtime file branch,
  so a missing runtime file dropped the entire map instead of just the local marker

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.8.10-1</title>
<updated>2026-06-28T21:22:58Z</updated>
<author>
<name>Hauke Mehrtens</name>
</author>
<published>2026-06-27T23:02:21Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=b4616e8060d9e3ee148dfebfa7a8f301906e4e72'/>
<id>urn:sha1:b4616e8060d9e3ee148dfebfa7a8f301906e4e72</id>
<content type='text'>
- fixed log monitor source-IP spoofing (GHSA-r6hx-4f83-vp8m)
  Fix: per-ban_logterm source anchoring — the real source (last IP in the line)
  is used by default; opt-in 'first:' prefix for source-first formats (web-server access logs).
- add f_mem() helper to read MemAvailable from /proc/meminfo
- cap the auto-detected CPU core count by available memory in f_system:
  ban_cores is limited to MemAvailable / 48 (MiB per job), floored to at least 1 core;
  this bounds the number of feeds processed in parallel on constrained devices,
  a user-set ban_cores is still honored as a ceiling (the cap only ever lowers it).
- derive the GNU sort buffer size from available memory, applied only when
  coreutils sort is present; busybox sort is a no-op

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.8.9-2</title>
<updated>2026-06-21T16:46:38Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-06-21T16:43:35Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=f5160c8aa17b9373f1260edd17752fba39995569'/>
<id>urn:sha1:f5160c8aa17b9373f1260edd17752fba39995569</id>
<content type='text'>
default feed updates:
- urlhaus, urlvir, webclient: switched from in to out
  and added a tcp udp 80 443 port limit (destination feeds for LAN-initiated traffic)
- feodo, spamhaus, threat, threatview, proxy, tor, vpn, vpndc: switched from in to inout
- threatview: added url_6, as the source ships IPv4 and IPv6 in a single file
- country / asn: intentionally left on in; documented how to switch them to outbound/both
  for the recurring "block connections to country X" case
- readme update:
  - corrected the feed table to match the above,
  - removed the stale drop row (replaced by spamhaus),
  - and reworked the chain explanation to clarify the inbound-vs-outbound (source-IP vs destination-IP) model
  - significantly expanded the custom-feeds section (all JSON fields, rule parameters, etc.

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: release 1.8.9-1</title>
<updated>2026-06-12T20:28:10Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-06-12T20:28:10Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=6d339c9cd0e36ba6f851d6edcf55de08db80cf46'/>
<id>urn:sha1:6d339c9cd0e36ba6f851d6edcf55de08db80cf46</id>
<content type='text'>
* f_conf: ignore empty UCI option values so they don't override sane defaults
* f_etag: strip CR in ETag header extraction (gsub(/[\r"]/,…)) — fixes empty-but-present etag
* f_fetch: validate ban_fetchretry
* fix feed padding in allowlistonly mode
* readme update

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.8.8-5</title>
<updated>2026-05-29T11:57:31Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-05-29T11:57:31Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=faeecaeb1457039fb9c1a48c90fb12fceee30fac'/>
<id>urn:sha1:faeecaeb1457039fb9c1a48c90fb12fceee30fac</id>
<content type='text'>
* bugfix: only load the configuration once per run: a new `ban_confload`
  guard short-circuits `f_conf()` on subsequent calls, avoiding
  repeated `config_load` invocations
* new: the per-set report now sorts elements by their packet counter in
  descending order before truncating to the top 50, so the report
  shows the most active elements instead of just the first 50 found

Signed-off-by: Dirk Brenken &lt;dev@brenken.org&gt;
</content>
</entry>
<entry>
<title>banip: update 1.8.8-4</title>
<updated>2026-05-18T21:21:43Z</updated>
<author>
<name>Dirk Brenken</name>
</author>
<published>2026-05-18T21:21:19Z</published>
<link rel='alternate' type='text/html' href='https://git.openwrt.org/feed/packages/commit/?id=dc39393c1b9668f0c92560e6566ee64709a6abf6'/>
<id>urn:sha1:dc39393c1b9668f0c92560e6566ee64709a6abf6</id>
<content type='text'>
- f_etag performance optimization: single-pass awk consolidating count+match
- f_report performance optimization: significantly reduce subshell spawning
- f_lookup performance optimization: DNS resolution parallelized per domain via subshells
- LuCI: prevent possible report refresh timeouts

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