1. 08 Mar, 2026 1 commit
  2. 07 Mar, 2026 1 commit
  3. 05 Mar, 2026 1 commit
    • Vitaly Lipatov's avatar
      route-update: improve volatile detection and add IP validation · bd2a6117
      Vitaly Lipatov authored
      Volatile detection:
      - Remove single-record restriction (count<=1) that missed multi-record
        domains like youtube.com with 4 rotating AAAA records
      - Add diff-resolvers check: domain is volatile if local and extra DNS
        return different IPs (catches cached TTL > threshold cases)
      - expand_volatile_subnets now also processes domains with accumulated
        volatile_ips from prior runs, not only current volatile_domains
        (fixes race where cached TTL > threshold causes empty volatile_domains
        but IPs were already collected)
      
      IP validation:
      - Validate resolved IPs with python3 ipaddress before ip-batch loading
      - Filter out invalid entries (e.g. malformed IPv6) with WARNING log
      - Prevents ip-batch failures from corrupting route tables
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      bd2a6117
  4. 04 Mar, 2026 6 commits
  5. 03 Mar, 2026 1 commit
  6. 02 Mar, 2026 6 commits
  7. 28 Feb, 2026 6 commits
  8. 25 Feb, 2026 17 commits
  9. 24 Feb, 2026 1 commit
    • Vitaly Lipatov's avatar
      router: add web UI for managing bypass/direct route lists · 1e73e6e8
      Vitaly Lipatov authored
      Python web API (route-web-api.py) on port 80 for adding domains to
      egw bypass or dgw direct lists. Runs as unprivileged routeweb user,
      list files are picked up by route-update.sh via symlinks.
      
      Features:
      - Add/remove/move domains between bypass and direct lists
      - Auto-remove from other list when adding (mutual exclusion)
      - "No rule" button to remove from input field
      - Active routes section showing all applied rules from route-update
      - Last update timestamp from all-routes.json mtime
      
      route-update.sh: generate_web_json() exports all list entries
      as JSON for the web UI after each run.
      Co-Authored-By: 's avatarClaude Opus 4.6 <noreply@anthropic.com>
      1e73e6e8