Commit Graph

25 Commits

Author SHA1 Message Date
9e64088e46 chore: убрать VLESS-прокси, proxychains и fuck-rkn.sh
Пользователь перешёл на Amnezia VPN — встроенный VLESS-прокси (xray + proxychains4)
и отдельный server-installer fuck-rkn.sh (telemt + xray) больше не нужны. Убран
весь код в ai-setup.sh/setup.sh, конфиги с VPN-кредами, неактуальный тест и
упоминания в документации.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-06-30 21:50:50 +03:00
Кокос Артем Николаевич
d250099dc5 Добавлена лицензия MIT и копирайты 2026-06-30 12:12:42 +07:00
Виталий Никитенко
a74597dba6 feat: добавить ai-opencode лаунчер (OpenCode Go + routatic-proxy)
- Новый лаунчер ai-opencode с routatic-proxy на 127.0.0.1:3456
- Автоустановка routatic-proxy под linux/darwin amd64/arm64
- Модели: deepseek-v4-pro (opus/sonnet), kimi-k2.6 (haiku)
- AI_RESET_KEY, OPENCODE_GO_API_KEY env fallback, управление opencode_key
- Документация: EFFORT_MAPPING.md, QUICK_START.md, README.md
- Статус-проверка в setup.sh: ai-opencode, opencode_key, opencode.ai
- Тесты: 4 новых теста для ai-opencode в test_fixes.sh

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-23 08:41:38 +03:00
Виталий Никитенко
c4fea61d74 refactor: пункт 1 больше не трогает сеть, управление VLESS только в пункте 9
Пункты 1/7/8 вызывали AI_SETUP_VLESS=0, что запускало откат сетевых настроек
(stop xray, сброс прокси GNOME, перепись Firefox user.js, IPv6 on), хотя они
относятся только к установке AI-инструментов. Добавлен режим skip (дефолт):
сеть не трогается, лаунчеры синхронизируются с текущим состоянием xray.
Включение/отключение VLESS - только пункт 9.

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-22 14:41:29 +03:00
Виталий Никитенко
3e15729a81 refactor: вынести вопрос про VLESS из пункта 1 в отдельный пункт меню (9)
Пункты 1 (AI-инструменты), 7 (Обновить), 8 (Android CLI) теперь запускают
ai-setup.sh с AI_SETUP_VLESS=0 без вопросов. Пункт 9 (VLESS) спрашивает
включить/отключить и передаёт AI_SETUP_VLESS=1/0 соответственно.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 06:46:14 +03:00
Виталий Никитенко
83a7790235 feat: добавить ai-glm - лаунчер Claude Code через Zhipu AI GLM 5.2
Новый лаунчер ai-glm запускает Claude Code через официальный Anthropic-совместимый
API Zhipu AI (api.z.ai). Модели: glm-5.2 (opus/sonnet), glm-5.2[1m] (haiku).
Обновлены документация, статус, тесты и EFFORT_MAPPING.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 06:41:41 +03:00
2632f4af11 feat: добавить поддержку Google Android CLI и android-cli skill
- Установка android CLI из dl.google.com для linux/mac/windows
- Запуск android init для деплоя skills в агентов
- Кастомный skill android-cli в home-configs/claude/skills/
- Пункт меню 8) Android CLI в setup.sh
- Тесты и документация

Co-Authored-By: Claude <noreply@anthropic.com>
2026-06-14 09:52:26 +03:00
38b5f2710c docs: sync README/QUICK_START/EFFORT_MAPPING with current code
- Update ai-openrouter models in ai-setup.sh output and header
- Fix effort persistence wording (statusbar -> launcher)
- Unify KS_EXCEPTIONS -> KILL_SWITCH_EXCEPTIONS in docs and setup.sh prompt
- Clarify menu item 7 only updates AI launchers
- Add IPv6 note after ks-off.sh
- Scope UFW before.rules insertion to *filter section

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 09:16:37 +03:00
Виталий Никитенко
4ae5ca149a feat: автоопределение BIN_DIR — ~/bin если есть в PATH, иначе ~/.local/bin
- BIN_DIR теперь определяется по наличию ~/bin в PATH (для Mint, где нет .bashrc)
- source путей в генерируемых скриптах заменены на self-referential (через BASH_SOURCE)
- agy_bin подменяется post-generation sed при нестандартном BIN_DIR
- add_path_to_rc() формирует PATH динамически с учётом BIN_DIR
- при миграции на ~/bin старые скрипты из ~/.local/bin удаляются

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 13:39:29 +03:00
Виталий Никитенко
e955c928d3 fix: сохранение конфига в /etc/ru-bypass.conf для systemd/NM dispatcher
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>
2026-06-08 12:14:47 +03:00
Виталий Никитенко
775bca1cee fix: чтение KS_EXCEPTIONS из профиля сети
Ключ при записи KILL_SWITCH_EXCEPTIONS, а при чтении искался KS_EXCEPTIONS —
исключения kill switch не загружались при повторном запуске setup.sh.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-08 09:32:16 +03:00
Виталий Никитенко
beca4de9cd refactor: разделил AMNEZIA_SERVER и KILL_SWITCH_EXCEPTIONS
- AMNEZIA_SERVER — только IP/домены серверов Amnezia (для поднятия VPN)
- KILL_SWITCH_EXCEPTIONS — дополнительные исключения (git, etc.)
- Обе переменные поддерживают IP и домены (DNS-резолвинг)
- setup.sh: раздельные промпты в меню

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-08 07:01:51 +03:00
Виталий Никитенко
398e57c648 fix: kill switch не блокировал не-.ru трафик + Amnezia не могла подключиться
- 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>
2026-06-08 06:51:48 +03:00
2805ade773 feat: issue #10 — whiptail TUI меню с fallback на plain-text
setup.sh: если whiptail доступен — показывает интерактивное меню
со стрелками (стандартный пакет newt, обычно уже установлен).
Если whiptail не найден — прежнее plain-text меню без изменений.
case-блок единый для обоих путей.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 20:20:25 +03:00
2c8ff61968 feat: issue #9 — лог установки в ~/.config/ai-setup/setup.log
- 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>
2026-06-07 20:19:43 +03:00
feb401f4ba feat: issue #8 — именованные профили сети (home/office/hostname)
setup.sh item 2: показывает существующие профили, предлагает ввести имя.
Профиль сохраняется как network_<name>.conf (вместо фиксированного hostname).
Позволяет держать home/office конфиги на одной машине и переключаться явно.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 20:18:09 +03:00
df401ca333 feat: issue #7 — латентность до API провайдеров в пункте 5 «Статус»
Добавлен блок «API доступность» с curl time_connect до api.anthropic.com,
api.deepseek.com, api.openai.com, api.kimi.com, openrouter.ai.
Показывает время соединения или «недоступен» при timeout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 20:17:28 +03:00
71c30b17bc feat: issue #6 — пункт 7 «Обновить» (git pull + перегенерация)
setup.sh: добавлен пункт 7 в меню и case-ветка:
git pull --ff-only + bash scripts/ai-setup.sh для обновления
всех лаунчеров в ~/.local/bin без ручного вмешательства.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 20:16:57 +03:00
3b591766e1 feat: issue #3 — проверка IPv6 leak при включении kill switch
- scripts/ks-on.sh: перед включением UFW проверяет глобальные IPv6 адреса,
  предлагает отключить IPv6 через sysctl если они есть
- setup.sh item 5: показывает статус IPv6 (отключён / активен с предупреждением)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 20:14:23 +03:00
7429802612 feat: issue #1 — DNS для *.loc через LOCAL_DNS + resolvectl
- 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>
2026-06-07 20:13:18 +03:00
b37482312f feat: пункт 6 — проверить сеть (запускает tests/test_network.sh)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 19:37:57 +03:00
c266b64dab feat: пункт 5 — статус (Amnezia, UFW, сервисы, инструменты, ключи)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 19:37:13 +03:00
9e74d53025 feat: сохранение GATEWAY/DEV в ~/.config/ai-setup/network_<hostname>.conf
При повторном запуске пункта 2 параметры загружаются из файла — не нужно
вводить снова. Сохраняется отдельно для каждой машины по hostname.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 19:36:33 +03:00
0ba7416047 feat: автоопределение GATEWAY и DEV из ip route show default
При выборе пункта 2 скрипт сам парсит маршрут по умолчанию и предлагает
найденные значения — пользователь просто жмёт Enter для подтверждения.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 19:36:03 +03:00
805951d920 feat: мастер-скрипт setup.sh + перенос скриптов в scripts/
- все скрипты перенесены в 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>
2026-06-07 10:47:26 +03:00