refactor(proxy-client): упростить клиент до личного инструмента #1

Merged
ddmitry merged 9 commits from proxy-client-simplify into master 2026-09-28 17:58:39 +03:00
9 Commits
Author SHA1 Message Date
ddadminandClaude Opus 5.5 4e7777527f chore: убрать рабочие заметки перед слиянием в master
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 10:38:35 -04:00
ddadminandClaude Opus 5.5 09f57aa1e7 fix(proxy-client): замечания слепого ревью
- state.json снова хранит адрес и порт: при смене конфига у работающего
  Xray status/env/run отказывают и советуют перезапустить start.
- Ошибки разбора ссылки называют файл профиля.
- Тесты: отказ start при чужой версии Xray, ключи REALITY не попадают
  в вывод, Xray узнаётся после замены файла; машинный конфиг проверяется
  через CLI; тест пути по умолчанию не зависит от доступности Hiddify.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 10:38:35 -04:00
ddadminandClaude Opus 5.5 5ccc75419d docs(scratch): задача на спецификацию и README после упрощения
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 10:19:26 -04:00
ddadminandClaude Opus 5.5 e709c585fa docs(proxy-client): спецификация под упрощённый код, ссылка из README
Спецификация 603 → 220 строк: без описаний снятых защит и без пересказа
кода и README; остались задача, границы, решения с причинами и риски.
В README раздел «Изменение кода» ведёт к спецификации и тестам.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:36:56 -04:00
ddadminandClaude Opus 5.5 a5db265f47 refactor(proxy-client): убрать избыточную защиту из CLI и тестов
- Проверка «тот ли процесс»: /proc/PID/exe для Xray и cmdline для
  супервизора вместо boot_id, времени старта и разбора argv; нет больше
  состояния «не удалось подтвердить, удалите файлы вручную».
- Установка Xray: SHA-256 и атомарная замена остаются; без ограничений
  размера, строгого разбора .dgst и блокировки на время установки.
- Разбор ссылки: extra — обычный json.loads; allowInsecure/insecure
  игнорируются с предупреждением.
- Ошибки о файлах называют полный путь и готовую команду
  (chmod 600 для профиля, rm для битого state.json).
- Тесты: разбор ссылок — табличные без запуска процессов, по одному
  запуску на сценарий управляемого Xray; без подмены внутренних функций.
  Код 1569 → 925 строк, тесты 2479 → 895, прогон 63 → 9 с.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:34:57 -04:00
ddadminandClaude Opus 5.5 06ca4ab0c6 refactor(proxy-client): упростить установщик пакета и shell-тесты
- install.sh ставит три прямые ссылки без Stow; чужие файлы не трогает
  и перечисляет все конфликты сразу; ~/.local и ~/.config могут быть
  ссылками; блок в ~/.bashrc дописывается, если нет маркера.
- proxy_on читает вывод proxy-client env без временного файла.
- Тесты Bash-функций работают через поддельный PROXY_CLIENT_BIN.
- test_proxy_client_full.sh запускает только тесты proxy-client,
  прогон под Python 3.8 — если есть uv.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:28:07 -04:00
ddadminandClaude Opus 5.5 502f828c6f docs(proxy-client): принцип простоты — в спецификацию вместо ADR
Отдельный ADR дублировал спецификацию и оставлял в ней устаревшие места.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:23:13 -04:00
ddadminandClaude Opus 5.5 05a7f1e4fb docs(adr): proxy-client — личный инструмент, простота важнее защиты
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:22:28 -04:00
ddadminandClaude Opus 5.5 fb23b031bc docs(scratch): план упрощения proxy-client
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
2026-09-28 09:21:39 -04:00