• Stefy Lanza (nextime / spora )'s avatar
    refactor: unify Israeli blocking into GenocidalBlockingMiddleware with server-IP check · 8c57873a
    Stefy Lanza (nextime / spora ) authored
    Replace DashboardBlockingMiddleware + APIBlockingMiddleware with a single
    GenocidalBlockingMiddleware that blocks ALL routes (not just dashboard or API)
    under any of three conditions:
    
    1. Server's own public IP resolves to Israel — detected once at startup via
       api.ipify.org + geolocation lookup, stored in _server_ip_blocked flag
    2. Host header domain ends with .il (port stripped before check)
    3. Connecting client IP resolves to Israel (per-request geolocation lookup)
    
    /blocked is always allowed through to avoid redirect loops.
    API/MCP routes return JSON 403; all other routes redirect to /blocked.
    8c57873a
Name
Last commit
Last update
aisbf Loading commit data...
config Loading commit data...
docs Loading commit data...
static Loading commit data...
templates Loading commit data...
tests Loading commit data...
.gitignore Loading commit data...
AI.PROMPT Loading commit data...
API_EXAMPLES.md Loading commit data...
BUILD_DEPLOY.md Loading commit data...
CHANGELOG.md Loading commit data...
DEBUG_GUIDE.md Loading commit data...
DOCUMENTATION.md Loading commit data...
ENDPOINTS.md Loading commit data...
KILO_OAUTH2.md Loading commit data...
LICENSE.txt Loading commit data...
MANIFEST.in Loading commit data...
PYPI.md Loading commit data...
QUICK_START_PAYMENT.md Loading commit data...
README.md Loading commit data...
SUBSCRIPTION_PRICING_FEATURE.md Loading commit data...
TODO.md Loading commit data...
TORRC_SETUP.md Loading commit data...
aisbf.sh Loading commit data...
build.sh Loading commit data...
chatgpt-api-implementation-guide.md Loading commit data...
clean.sh Loading commit data...
cli.py Loading commit data...
codex-oauth-implementation-guide.md Loading commit data...
main.py Loading commit data...
pyproject.toml Loading commit data...
requirements.txt Loading commit data...
screenshot.png Loading commit data...
setup.py Loading commit data...
start_proxy.sh Loading commit data...
verify_release.sh Loading commit data...