• tested-20260727-0125-0066b1c 0066b1c6a0

    -237 commits to feat/bootstrap since this tag

    The allowlist is managed in the console, which is fine until the address you
    manage it from changes — and then the page that would fix the problem is the
    page the problem blocks. Every gate needs a door that does not depend on
    itself, and on a server that door is a shell:

    php artisan clupilot:console-access show
    php artisan clupilot:console-access allow 203.0.113.7
    php artisan clupilot:console-access open

    The address check moved to RestrictConsoleNetwork::isNetwork() so the command
    and the console apply the same rule. Codex caught the version that did not: a
    typo like 203.0.113.9/99 was stored, reported as success, and matched nothing —
    leaving whoever was recovering still locked out, now believing they were not.

    Co-Authored-By: Claude Opus 5 noreply@anthropic.com

    Downloads