docs(proxy): помечено, что no_proxy_extra замещает список по умолчанию

- Зачем:
  - машинный конфиг, собранный копированием примера, молча выкидывает
    из обхода .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>
This commit is contained in:
Dmitriy DementievandClaude Opus 5 committed 2026-08-12 17:41:23 +03:00
1 parent 744c4d5fa3
commit 89cdda99ec
4 files changed
+36 -2

No files matched your search

+29
View File
@@ -1 +1,30 @@
# TODO
## proxy-client: список NO_PROXY дублируется на Windows
Источник истины — `DEFAULT_NO_PROXY_EXTRA` в
`proxy-client/.local/bin/proxy-client`. На Linux он расходится автоматически:
`shell.bash` в `proxy_on()` вызывает `proxy-client env` и экспортирует то, что
вернули. На Windows автоматики нет — список продублирован литералом в пяти
файлах:
- `chezmoi/dot_config/powershell/profile.ps1`
- `chezmoi/dot_local/bin/start-claude-proxy.ps1`
- `chezmoi/dot_local/bin/start-codex-proxy.ps1`
- `chezmoi/dot_codex/dot_env` (в двух регистрах)
- `vscode/.vscode-server/server-env-setup`
Связь держится комментарием «список обязан совпадать», а не проверкой:
`tests/test_proxy_launchers.sh` гоняет механику на подставных значениях
(`proxy.test`, `.example.test`) и синхронность копий с источником не утверждает.
Рассинхрон проходит молча и всплывает как оборванное соединение.
Что сделать:
- тест, сравнивающий литералы в пяти файлах с выдачей `proxy-client env` —
закрывает класс целиком, а не отдельный домен;
- решить, должен ли `no_proxy_extra` из машинного конфига **дополнять**
`DEFAULT_NO_PROXY_EXTRA`, а не замещать его (сейчас замещает —
`proxy-client:262`, `environment_values()` клеит только loopback и
`config.no_proxy_extra`). До решения замещение помечено предупреждением в
README и в обоих примерах конфига.
@@ -3,4 +3,6 @@ type = external
name = Hiddify
address = hproxy.local
port = 12334
# Внимание: no_proxy_extra ЗАМЕЩАЕТ DEFAULT_NO_PROXY_EXTRA целиком, а не
# дополняет его — перечисляйте здесь все нужные домены, включая рабочие.
no_proxy_extra = .example.internal,git.example.internal
@@ -3,4 +3,6 @@ type = xray
name = Local Xray
address = 127.0.0.1
port = 12334
# Внимание: no_proxy_extra ЗАМЕЩАЕТ DEFAULT_NO_PROXY_EXTRA целиком, а не
# дополняет его — перечисляйте здесь все нужные домены, включая рабочие.
no_proxy_extra = .example.internal,git.example.internal
+3 -2
View File
@@ -329,8 +329,9 @@ source ~/.config/proxy-client/shell.bash
- `address` — IPv4, IPv6 без квадратных скобок или ASCII DNS-имя без схемы и
порта;
- `port` — TCP-порт локального входа;
- `no_proxy_extra` — дополнительные IP и домены через запятую, значение может
быть пустым.
- `no_proxy_extra` — IP и домены через запятую, значение может быть пустым.
Список **замещает** встроенный `DEFAULT_NO_PROXY_EXTRA` целиком, а не
дополняет его: домены, нужные постоянно, придётся перечислить здесь заново.
Поддержка CIDR в `NO_PROXY` различается между программами, поэтому надёжнее
указывать точные IP и домены. Без машинного файла внешний режим дополнительно