- The app now carries the whole RIPE Database list of address blocks, all five million, small single-customer blocks included, so the provider card and the path can name the block your connection belongs to without a connection to the publisher's server. The downloads are about 25 MB larger for it. - When the publisher's server can't be reached, the provider card still names your network and its block, from the public address your router reports or the one the STUN test sees. - The table is read a small piece at a time, so it takes almost no memory on a phone. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_012CzABvBkbcFqoHdmi8b9WB
18 lines
661 B
Bash
Executable File
18 lines
661 B
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
manifest=http://127.0.0.1:5480/api/knowledge
|
|
for attempt in $(seq 1 240); do
|
|
body=$(curl -fsS "$manifest" 2>/dev/null || true)
|
|
missing=""
|
|
for file in ip2asn.bin networks.bin carriers.json registry.bin; do
|
|
case "$body" in *"\"$file\""*) ;; *) missing="$missing $file" ;; esac
|
|
done
|
|
case "$body" in *'"format":2,'*) ;; *) missing="$missing format-2" ;; esac
|
|
if [ -n "$body" ] && [ -z "$missing" ]; then
|
|
echo "network data ready: $(printf '%s' "$body" | head -c 200)"
|
|
exit 0
|
|
fi
|
|
sleep 10
|
|
done
|
|
echo "::warning::the server's network data still lacks${missing:- everything} after forty minutes; the apps embed what it has"
|