Commit Graph

20 Commits

Author SHA1 Message Date
fcf810fd75 feat: ru-bypass — .ru трафик напрямую мимо Amnezia, всё остальное через VPN
- ipset ru-direct + маршруты через 192.168.1.1 для всех RU IP-блоков (RIPE)
- kill switch (UFW) остаётся: не-.ru трафик при отвале Amnezia блокируется
- ru-ipset-restore.service стартует до UFW — исправляет проблему перезагрузки
- ru-bypass.service стартует после network-online — обновляет RIPE и маршруты
- NM dispatcher авто-перезапускает при reconnect amn0
- python3 summarize_address_range для корректной обработки невыровненных блоков RIPE
- tests/test_network.sh — автотесты маршрутизации и связности

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 08:41:16 +03:00
0b0d51b77c feat: обновить цвета статусной строки
- путь и ветка: светло-серый (37), как хинты Claude Code
- модель: приглушённый лососевый (173), фирменный цвет Claude
- лимиты и ctx: единая функция pct_color (зелёный/жёлтый/красный)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 00:28:49 +03:00
c9db0be030 feat: скорректировать пороги цветов ctx
зелёный <40%, жёлтый 40-60%, красный >=60% (совпадает с порогом звука)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 23:58:12 +03:00
a21a77723c fix: оставить только один звуковой сигнал при ctx=60%
timeout возвращает код 124 при обрезке, что запускало fallback-цепочку.
Заменил || на ; true чтобы подавить код выхода timeout.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 15:57:37 +03:00
ac64bb1505 feat: раскрасить ctx по уровням и добавить звуковой сигнал при 60%
- зелёный <30%, жёлтый 30-50%, красный 50%+
- однократный звуковой сигнал (alarm-clock-elapsed.oga, 1s) при первом достижении 60%
- сброс флага алерта когда ctx опускается ниже 50%

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 13:13:34 +03:00
bae481172f fix: добавить exit 0 в конец statusline скрипта
Без него [ -n "$ctx_pct" ] && ... возвращал exit 1 когда ctx пустой,
и Claude Code прятал всю строку статуса.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 13:01:33 +03:00
01b69c341b feat: показывать заполнение контекста в статусной строке для всех моделей
ctx:35% отображается серым в конце строки у всех провайдеров.
Для Kimi (нет rate limits) это единственная полезная метрика.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:58:57 +03:00
08be1dfc08 feat: показывать оба лимита в статусной строке (5ч и 7д)
Вместо одного показываются оба: "4ч20м:1% 5д3ч:4%".
Для недельного добавлен формат дней: "5д3ч".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:48:26 +03:00
6b80364344 fix: показывать реальное время до сброса лимита в статусной строке
Вместо захардкоженного "5h" теперь считается оставшееся время
из resets_at timestamp: "4ч40м:25%", "58м:80%" и т.д.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 12:47:00 +03:00
dfaf835cb6 chore: удалить недоработанные скрипты ru-direct
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 11:45:33 +03:00
17c456ed4f feat: добавить скрипты управления сетью и kill switch
- ks-off.sh — временно отключить UFW kill switch перед сёрфингом без VPN
- ks-on.sh — восстановить kill switch (с проверкой что amn0 поднят)
- ru-direct.sh — роутинг всех российских IP напрямую через провайдера, минуя Amnezia
- ru-direct-undo.sh — откат ru-direct.sh, возврат к "всё через VPN"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 11:44:40 +03:00
2f48d038bd fix: убрать имя и хост из статусной строки, сократить путь до ~
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 10:21:18 +03:00
3dfd7ff034 feat: добавить настройку статусной строки Claude Code
Шаг 6.7 - копирует statusline-command.sh и прописывает statusLine
в settings.json. Показывает user@host, путь, git-ветку, модель и usage%.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-06 10:17:13 +03:00
6120f34199 feat: добавить TZ и документацию для skill'ов el-review
- Установить часовую зону Europe/Helsinki в ai-api-helpers.sh
- Добавить примеры вызова обоих skill'ов
- Документировать обработку ошибок (отсутствие веток, пустой дифф)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-06 08:45:36 +03:00
Виталий Никитенко
14b800e6fb feat: новый VLESS сервер EURO-Reality-PQ (45.43.91.139:853)
xhttp + reality + post-quantum encryption, порт 853

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 13:44:37 +07:00
Виталий Никитенко
a8f651056b fix: обработка последней строки без \n в servers.conf
while read ломается на последней строке без переноса — loop body не выполняется.
Добавлен || [[ -n "$line" ]] для обработки EOF без trailing newline.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 13:21:16 +07:00
Виталий Никитенко
5148ff29ca feat: новый VLESS сервер + поддержка tcp/vision flow
- Добавлен сервер 202.148.54.122 (AmneziaVPN) с flow=xtls-rprx-vision
- Парсер VLESS URL: автоопределение типа транспорта (xhttp/tcp)
  - Если flow указан → тип по умолчанию tcp
  - Если flow пустой → тип по умолчанию xhttp
- Генератор конфига: xhttpSettings только для xhttp-транспорта
- Поле flow в users теперь берётся из URL (ранее было пустым)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 13:17:59 +07:00
Виталий Никитенко
a8d11a3f9f feat: multi-VLESS server selection + direct mode (stop xray)
- Добавлен home-configs/vless/servers.conf с двумя VLESS серверами
- При выборе Y: интерактивное меню выбора сервера (IP + имя)
- Парсер vless:// URL через python3 (извлекает все поля)
- Конфиг xray генерируется динамически, а не копируется статический
- При выборе N: xray стопается и дизейблится (systemctl stop+disable)
- Автоотключение IPv6 (sysctl + persist), автонастройка Firefox SOCKS5
- Автонастройка системного прокси через gsettings
- Зачистка старых drop-in оверрайдов и дефолтных конфигов xray

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 11:54:59 +07:00
8979313467 feat: optional built-in vless/xray with proxychains4 toggle
- ai-setup.sh now asks interactive Y/n prompt for vless mode
- On Y: installs xray + proxychains-ng, deploys configs, enables proxychains4 in all ai-* launchers
- On N: generates plain ai-* scripts without proxychains
- Templates moved to home-configs/xray/ and home-configs/proxychains/

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-05 08:38:03 +07:00
Виталий Никитенко
81a7b024ee feat: add home-configs with auto-deployed Claude skills
- Move GLOBAL_RULES.md to home-configs/ as single source of truth
- Add el-review and el-review-heavy skills for GitLab-style branch diff review
- Update ai-setup.sh to deploy skills to ~/.claude/skills/
- Update README and tests for new paths
2026-06-04 19:02:37 +07:00