From 0b300d2e2601ebd1453bcf7e54e48ed363ad8de5 Mon Sep 17 00:00:00 2001 From: Dmitry Dementiev Date: Sun, 26 Jul 2026 22:25:24 +0300 Subject: [PATCH] =?UTF-8?q?feat(proxy):=20=D1=81=D0=B2=D0=BE=D0=B9=20Gitea?= =?UTF-8?q?=20git.dementev.space=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20=D0=B2=20=D0=BE=D0=B1=D1=85=D0=BE=D0=B4=20=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D0=BA=D1=81=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - домашний 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 --- chezmoi/dot_codex/dot_env | 4 ++-- chezmoi/dot_config/powershell/profile.ps1 | 2 +- chezmoi/dot_local/bin/start-claude-proxy.ps1 | 4 ++-- chezmoi/dot_local/bin/start-codex-proxy.ps1 | 2 +- proxy-client/.local/bin/proxy-client | 8 +++++++- proxy-client/README.md | 3 ++- vscode/.vscode-server/server-env-setup | 2 +- 7 files changed, 16 insertions(+), 9 deletions(-) diff --git a/chezmoi/dot_codex/dot_env b/chezmoi/dot_codex/dot_env index 1c23086..aca3123 100644 --- a/chezmoi/dot_codex/dot_env +++ b/chezmoi/dot_codex/dot_env @@ -1,12 +1,12 @@ HTTP_PROXY=http://hproxy.local:12334 HTTPS_PROXY=http://hproxy.local:12334 ALL_PROXY=socks5://hproxy.local:12334 -NO_PROXY=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru +NO_PROXY=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru,dementev.space,.dementev.space http_proxy=http://hproxy.local:12334 https_proxy=http://hproxy.local:12334 all_proxy=socks5://hproxy.local:12334 -no_proxy=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru +no_proxy=hproxy.local,localhost,127.0.0.1,::1,[::1],.concept-software.ru,dementev.space,.dementev.space WSLENV=HTTP_PROXY/u:HTTPS_PROXY/u:ALL_PROXY/u:NO_PROXY/u:http_proxy/u:https_proxy/u:all_proxy/u:no_proxy/u NODE_USE_ENV_PROXY=1 diff --git a/chezmoi/dot_config/powershell/profile.ps1 b/chezmoi/dot_config/powershell/profile.ps1 index ee72e94..96a418a 100644 --- a/chezmoi/dot_config/powershell/profile.ps1 +++ b/chezmoi/dot_config/powershell/profile.ps1 @@ -80,7 +80,7 @@ function Get-ProxyEndpoint { @{ ProxyHost = 'hproxy.local' Port = 12334 - NoProxy = 'hproxy.local,localhost,127.0.0.1,.concept-software.ru' + NoProxy = 'hproxy.local,localhost,127.0.0.1,.concept-software.ru,dementev.space,.dementev.space' } } diff --git a/chezmoi/dot_local/bin/start-claude-proxy.ps1 b/chezmoi/dot_local/bin/start-claude-proxy.ps1 index d36886c..615f716 100644 --- a/chezmoi/dot_local/bin/start-claude-proxy.ps1 +++ b/chezmoi/dot_local/bin/start-claude-proxy.ps1 @@ -4,8 +4,8 @@ $ProxyHostName = 'hproxy.local' $ProxyPort = 12334 $HttpProxy = "http://${ProxyHostName}:${ProxyPort}" $SocksProxy = "socks5://${ProxyHostName}:${ProxyPort}" -$NoProxy = "${ProxyHostName},localhost,127.0.0.1,::1,[::1],.concept-software.ru" -$ProxyBypassList = "${ProxyHostName};localhost;127.0.0.1;[::1];*.concept-software.ru" +$NoProxy = "${ProxyHostName},localhost,127.0.0.1,::1,[::1],.concept-software.ru,dementev.space,.dementev.space" +$ProxyBypassList = "${ProxyHostName};localhost;127.0.0.1;[::1];*.concept-software.ru;dementev.space;*.dementev.space" function Set-ProxyEnvironment { $env:HTTP_PROXY = $HttpProxy diff --git a/chezmoi/dot_local/bin/start-codex-proxy.ps1 b/chezmoi/dot_local/bin/start-codex-proxy.ps1 index 5e2b3bf..8c170fa 100644 --- a/chezmoi/dot_local/bin/start-codex-proxy.ps1 +++ b/chezmoi/dot_local/bin/start-codex-proxy.ps1 @@ -3,7 +3,7 @@ $ErrorActionPreference = 'Stop' $ProxyHostName = 'hproxy.local' $ProxyPort = 12334 $HttpProxy = "http://${ProxyHostName}:${ProxyPort}" -$ProxyBypassList = "${ProxyHostName};localhost;127.0.0.1;[::1];*.concept-software.ru" +$ProxyBypassList = "${ProxyHostName};localhost;127.0.0.1;[::1];*.concept-software.ru;dementev.space;*.dementev.space" function Get-CodexApplication { $Package = Get-AppxPackage -Name 'OpenAI.Codex' -ErrorAction SilentlyContinue | diff --git a/proxy-client/.local/bin/proxy-client b/proxy-client/.local/bin/proxy-client index 2103ac2..a2e305e 100755 --- a/proxy-client/.local/bin/proxy-client +++ b/proxy-client/.local/bin/proxy-client @@ -38,7 +38,13 @@ CONFIG_KEYS = {"type", "name", "address", "port", "no_proxy_extra"} DEFAULT_NAME = "Hiddify" DEFAULT_ADDRESS = "hproxy.local" DEFAULT_PORT = 12334 -DEFAULT_NO_PROXY_EXTRA = (".concept-software.ru",) +DEFAULT_NO_PROXY_EXTRA = ( + ".concept-software.ru", + # Свой Gitea: домен пишем в двух видах, потому что программы читают список + # по-разному — где-то запись с точкой покрывает только поддомены. + "dementev.space", + ".dementev.space", +) XRAY_VERSION = "26.3.27" VERSION_LINE = re.compile( r"^Xray ({0})(?: .*)?$".format(re.escape(XRAY_VERSION)) diff --git a/proxy-client/README.md b/proxy-client/README.md index 4058a08..1166da2 100644 --- a/proxy-client/README.md +++ b/proxy-client/README.md @@ -334,7 +334,8 @@ source ~/.config/proxy-client/shell.bash Поддержка CIDR в `NO_PROXY` различается между программами, поэтому надёжнее указывать точные IP и домены. Без машинного файла внешний режим дополнительно -включает `.concept-software.ru` в `NO_PROXY`. Для `type = xray` адрес обязан +включает `.concept-software.ru`, `dementev.space` и `.dementev.space` в +`NO_PROXY`. Для `type = xray` адрес обязан быть адресом обратной петли, например `127.0.0.1` или `::1`. ### Поддерживаемые профили diff --git a/vscode/.vscode-server/server-env-setup b/vscode/.vscode-server/server-env-setup index b000fee..73b7596 100755 --- a/vscode/.vscode-server/server-env-setup +++ b/vscode/.vscode-server/server-env-setup @@ -25,7 +25,7 @@ if getent hosts hproxy.local >/dev/null 2>&1; then export HTTP_PROXY="$proxy_url" export HTTPS_PROXY="$proxy_url" export ALL_PROXY="socks5://hproxy.local:12334" - export NO_PROXY="hproxy.local,localhost,127.0.0.1,.concept-software.ru" + export NO_PROXY="hproxy.local,localhost,127.0.0.1,.concept-software.ru,dementev.space,.dementev.space" # Дублируем в нижнем регистре для лучшей совместимости с инструментами export http_proxy="$HTTP_PROXY"