- Зачем: прокси для агента — выбор конкретной машины. Автоматическая
правка ~/.codex/.env и ~/.claude/settings.json оказалась слишком
навязчивой.
- Что: шаблоны перенесены в proxy-client/.config/proxy-client/examples/
(codex.env, claude-settings.json) и попадают на машину вместе с
остальными примерами. install.sh больше не трогает настройки Codex и
Claude, его тесты на это удалены. Инструкция по копированию — в README
proxy-client.
- Проверка: tests/test_install.sh и tests/test_proxy_client_install.sh
проходят.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Зачем: профиль XHTTP с x_padding_bytes и пустым host не запускался.
Что: Xray обновлён до 26.10.10; добавлены параметры TLS, REALITY и XHTTP,
значения по умолчанию и преобразование старых названий сессии XHTTP.
Обновлены документация и регрессионные тесты.
Проверка: 59 тестов на Python 3.14 и 3.8, Bash-функции и установщик;
16 тестов разбора после уточнения проверки SHA-256. Настоящий Xray
проверил конфигурацию и выполнил HTTPS-запрос через профиль с HTTP 200.
Пользователь подтвердил работу proxy-client start.
Спецификация 603 → 220 строк: без описаний снятых защит и без пересказа
кода и README; остались задача, границы, решения с причинами и риски.
В README раздел «Изменение кода» ведёт к спецификации и тестам.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Проверка «тот ли процесс»: /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>
Новые ссылки Hiddify пишут «/» перед параметрами, используют
VLESS-шифрование mlkem768x25519plus и flow=xtls-rprx-vision поверх XHTTP.
Разбор принимает эти ссылки; прежние форматы работают как раньше.
Vision поверх XHTTP разрешён только вместе с шифрованием.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
- Зачем:
- машинный конфиг, собранный копированием примера, молча выкидывает
из обхода .concept-software.ru и Gitea, а обрыв всплывает как TLS-ошибка.
- Что:
- в README уточнено, что no_proxy_extra замещает DEFAULT_NO_PROXY_EXTRA
целиком, а не дополняет его.
- предупреждение продублировано в обоих примерах конфига, рядом с полем.
- в TODO.md записано дублирование списка в пяти windows-файлах и
отсутствие теста синхронности с источником.
- Проверка:
- bash tests/test_proxy_launchers.sh — 8 проверок пройдено.
- configparser читает оба примера, значение no_proxy_extra не изменилось.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
- Зачем:
- домашний Gitea стал рабочим репозиторием и трекером вместо
заблокированного GitHub, а через прокси соединение с ним рвётся на TLS.
- Что:
- в DEFAULT_NO_PROXY_EXTRA добавлены dementev.space и .dementev.space
(две формы, так как программы читают список по-разному).
- тот же домен внесён в копии списка: profile.ps1, запускалки
claude/codex, .codex/.env и server-env-setup для VS Code.
- Проверка:
- proxy-client env | grep -i no_proxy — домен виден в обеих переменных.
- python3 tests/test_proxy_client.py (54 OK), bash tests/test_proxy_launchers.sh (8 PASS).
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
- Зачем:
- README смешивал пакетный и корневой установщики и оставлял неполные шаги для отдельных сценариев.
- Что:
- выстроен цельный путь установки и настройки для standalone и полного dotfiles.
- дополнена подсказка --no-shell-setup и добавлена регрессионная проверка.
- закрыты критерии приёмки тикета и указана дата завершения.
- Проверка:
- bash tests/test_proxy_client_install.sh.
- bash tests/test_install.sh.
- Зачем:
- пакет должен устанавливаться отдельно от dotfiles без ручной раскладки и опасных замен.
- Что:
- добавлен безопасный установщик со Stow и прямыми симлинками.
- добавлены идемпотентная настройка Bash и защита машинных файлов.
- обновлены инструкция и полный набор интеграционных проверок.
- Проверка:
- env XDG_STATE_HOME=<временный каталог> bash tests/test_proxy_client_full.sh.
- Зачем:
- свежая установка могла превратить ~/.local в ссылку на пакет и записать Xray в репозиторий.
- Что:
- перед Stow теперь гарантируются настоящие ~/.local/bin и ~/.config/proxy-client без раскрытия посторонних ссылок.
- добавлены регрессионные проверки свежего HOME и посторонней ссылки ~/.local.
- README перестроены вокруг установки, выбора режима и ежедневного использования.
- Проверка:
- bash tests/test_install.sh.
- bash tests/test_proxy_launchers.sh.
- bash -n install.sh tests/test_install.sh.
- git diff --cached --check.
- Зачем:
- прежнее имя выпячивало Xray, хотя клиент поддерживает также внешний прокси, а два каталога конфигурации были неочевидны.
- Что:
- пакет, CLI, конфигурация, состояние, тесты и документация переименованы в proxy-client.
- машинный конфиг, профиль и два явных примера собраны в одном пользовательском каталоге.
- свежая установка защищена от сворачивания каталога конфигурации внутрь репозитория.
- Проверка:
- bash tests/test_proxy_client_full.sh.
- bash tests/test_install.sh.
- ручные start, status и xray run -test; незавершённая сетевая приёмка записана в handoff.