ru-bypass.sh теперь сохраняет параметры (GATEWAY, DEV, LOCAL_DNS, AMNEZIA_SERVER,
KILL_SWITCH_EXCEPTIONS) в /etc/ru-bypass.conf при каждом запуске, и читает их
оттуда при старте из systemd/NM dispatcher (без env). ENV-переменные имеют приоритет.
setup.sh: read -e -i для KS_EXCEPTIONS - редактирование значения инлайн вместо
показа текущего значения в скобках.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Все лаунчеры (ai-claude, ai-deepseek, ai-kimi, ai-openrouter): промпт
пишется во временный файл через --system-prompt-file вместо аргумента
командной строки. Решает E2BIG при промптах > 128KB (MAX_ARG_STRLEN)
из проектов с большими .md файлами.
- statusline: кешируем rate_limits по model_id (раздельные файлы для
claude/kimi/openrouter). При старте сессии показываем данные из кеша
+ ctx:0%. Убирает пустую статусную строку до первого запроса.
- settings.json: добавляем SessionStart хук при setup, триггерит
вызов statusLine при открытии сессии.
- ai-claude: --model sonnet зафиксирован, убрали exec для корректной
работы trap (cleanup временного файла).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- AMNEZIA_SERVER — только IP/домены серверов Amnezia (для поднятия VPN)
- KILL_SWITCH_EXCEPTIONS — дополнительные исключения (git, etc.)
- Обе переменные поддерживают IP и домены (DNS-резолвинг)
- setup.sh: раздельные промпты в меню
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ru-bypass.sh: добавлен ufw default deny outgoing (раньше нигде не выполнялся)
- ru-bypass.sh: добавлен ufw allow out on amn0 (разрешён трафик через VPN)
- ru-bypass.sh: поддержка AMNEZIA_SERVER — IP добавляется в ipset и маршруты
- ks-on.sh: default deny + allow amn0 при восстановлении kill switch
- setup.sh: меню запрашивает/сохраняет/передаёт AMNEZIA_SERVER
- test_network.sh: DEV читается из конфига вместо жёсткого wl[pi]
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- setup.sh: функция _log(), вызов при каждом пункте меню
- scripts/ru-bypass.sh, ks-on.sh, ks-off.sh: пишут события в лог через USER_HOME
- setup.sh item 5: показывает tail -10 лога в «Последние события»
- USER_HOME передаётся через sudo env в ks-on/ks-off/ru-bypass
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
_handle_api_response и _handle_openai_api_response теперь имеют явный case
для 5xx: предупреждают что сервер временно недоступен и продолжают (_API_RET=0).
Раньше 5xx попадал в wildcard → _API_RET=$code (non-zero) → exit 1.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- scripts/ks-on.sh: перед включением UFW проверяет глобальные IPv6 адреса,
предлагает отключить IPv6 через sysctl если они есть
- setup.sh item 5: показывает статус IPv6 (отключён / активен с предупреждением)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ru-bypass.sh теперь при первом запуске устанавливает ru-bypass.timer
(OnCalendar=daily, Persistent=true). Timer запускает ru-bypass.service
раз в сутки и обновляет ipset + маршруты без ручного вмешательства.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- setup.sh item 2: добавлен вопрос LOCAL_DNS (офисный DNS-сервер для *.loc)
сохраняется в network_<hostname>.conf, передаётся в ru-bypass.sh через env
- scripts/ru-bypass.sh: добавлена переменная LOCAL_DNS, после RFC1918 маршрутов
настраивает resolvectl dns/domain ~loc на интерфейсе DEV
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- все скрипты перенесены в scripts/ (ai-setup.sh, ru-bypass.sh, ks-off.sh, ks-on.sh)
- setup.sh — новый мастер-скрипт с меню: шаги 1-2 отделены от опций 3-4
- пояснения к GATEWAY и DEV при выборе пункта 2
- ai-setup.sh: SCRIPT_DIR поднят на уровень выше (/../) чтобы находить home-configs/
- tests/test_fixes.sh, test_isolated.sh: пути обновлены на scripts/ai-setup.sh
- QUICK_START.md, README.md, home-configs/network/README.md: пути обновлены
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>