feat(chatgpt): добавлен отдельный запуск через прокси

- Зачем:
  - приложение должно явно работать через прокси и сохранять настройку после обновлений.
- Что:
  - добавлены отдельный ярлык ChatGPT Proxy и запускатель на основе proxy-client.
  - исключено смешение прямого и проксированного режимов существующего процесса.
  - установка, документация и автоматические проверки дополнены новым Stow-пакетом.
- Проверка:
  - bash tests/test_chatgpt_proxy_launcher.sh.
  - bash tests/test_proxy_launchers.sh.
  - bash tests/test_install.sh.
This commit is contained in:
ddadmin committed 2026-08-17 01:09:59 +03:00
1 parent 039cf29b95
commit cb600bcaa8
8 files changed
+462 -3

No files matched your search

+10 -2
View File
@@ -36,9 +36,9 @@ setup_fixture() {
# дерева. Локальные данные инструментов внутри пакетов (vscode/.vscode-server,
# zed/.config/opencode и т.п.) весят гигабайты, переполняют /tmp и ломают
# stow конфликтами, поэтому в тестовое дерево не попадает.
git -C "$REPO_ROOT" ls-files -z --cached -- \
git -C "$REPO_ROOT" ls-files -z --cached --others --exclude-standard -- \
install.sh bash tmux vim zed kitty wezterm vscode agents opencode codex gemini \
claude proxy-client scripts \
claude proxy-client chatgpt scripts \
| tar -C "$REPO_ROOT" --null -T - -cf - \
| tar -xf - -C "$repo_root"
@@ -102,6 +102,14 @@ test_fresh_install_uses_home_target() {
[ -d "$home_dir/.local/bin" ] || fail "Expected ~/.local/bin directory"
[ ! -L "$home_dir/.local/bin" ] || fail "Expected ~/.local/bin to stay a real directory"
[ -x "$home_dir/.local/bin/proxy-client" ] || fail "Expected executable proxy-client CLI in HOME"
[ -x "$home_dir/.local/bin/start-chatgpt-proxy" ] || fail "Expected ChatGPT proxy launcher in HOME"
[ -f "$home_dir/.local/share/applications/chatgpt-proxy.desktop" ] \
|| fail "Expected ChatGPT Proxy desktop entry in HOME"
[ -d "$home_dir/.local/share" ] || fail "Expected ~/.local/share directory"
[ ! -L "$home_dir/.local/share" ] || fail "Expected ~/.local/share to stay a real directory"
[ -d "$home_dir/.local/share/applications" ] || fail "Expected applications directory"
[ ! -L "$home_dir/.local/share/applications" ] \
|| fail "Expected applications directory to stay real"
[ -d "$home_dir/.config/proxy-client" ] || fail "Expected proxy-client config directory"
[ ! -L "$home_dir/.config/proxy-client" ] || fail "Expected proxy-client config to stay outside the repository"
[ -f "$home_dir/.config/proxy-client/shell.bash" ] || fail "Expected proxy-client shell module"