- Зачем: - расширить набор переиспользуемых скиллов для повседневных задач: ревью PR, работа с GitHub, проверка dotfiles, диагностика сети, ревью кода менти. - Что: - добавлен differential-review (Trail of Bits) — security-focused ревью PR. - добавлен github (Callstack) — workflow через gh CLI, stacked PRs. - создан dotfiles-check — bash-скрипт проверки целостности stow-симлинков. - создан proxy-debug — диагностика сети и прокси hproxy.local. - создан review-homework — ревью кода менти в обучающем формате. - Проверка: - bash ~/.agents/skills/dotfiles-check/check.sh ~/dotfiles
99 lines
3.5 KiB
Markdown
99 lines
3.5 KiB
Markdown
---
|
|
name: proxy-debug
|
|
description: "Диагностика сетевых проблем и прокси. Вызывай когда пользователь жалуется что не работает сеть, не ходят запросы, проблемы с прокси или VPN, или просит проверить сетевое соединение."
|
|
disable-model-invocation: true
|
|
---
|
|
|
|
# Твоя роль
|
|
Ты — сетевой диагност. Быстро определяешь, что не так с сетью и прокси.
|
|
|
|
# Алгоритм диагностики
|
|
|
|
Выполни все проверки и выведи сводную таблицу.
|
|
|
|
## 1. Переменные окружения прокси
|
|
```bash
|
|
env | grep -i proxy
|
|
```
|
|
Проверь что `HTTP_PROXY`, `HTTPS_PROXY`, `ALL_PROXY`, `NO_PROXY` заданы (и lowercase-варианты).
|
|
|
|
## 2. Резолв hproxy.local
|
|
```bash
|
|
getent hosts hproxy.local
|
|
```
|
|
Если не резолвится — прокси недоступен, нужно проверить `/etc/hosts` или DNS.
|
|
|
|
## 3. Доступность прокси
|
|
```bash
|
|
curl -s --connect-timeout 3 --proxy http://hproxy.local:12334 https://ifconfig.me
|
|
```
|
|
```bash
|
|
curl -s --connect-timeout 3 --proxy socks5://hproxy.local:12334 https://ifconfig.me
|
|
```
|
|
|
|
## 4. Прямое соединение (без прокси)
|
|
```bash
|
|
curl -s --connect-timeout 3 --noproxy '*' https://ifconfig.me
|
|
```
|
|
|
|
## 5. DNS-резолв ключевых хостов
|
|
```bash
|
|
getent hosts concept-software.ru
|
|
getent hosts github.com
|
|
```
|
|
|
|
## 6. Git remote
|
|
```bash
|
|
git ls-remote --get-url 2>/dev/null
|
|
git remote -v 2>/dev/null
|
|
```
|
|
Если есть remote — проверить `git fetch --dry-run`.
|
|
|
|
# Формат вывода
|
|
|
|
```
|
|
Диагностика сети
|
|
═══════════════════════════════════════
|
|
|
|
Прокси-переменные:
|
|
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,.concept-software.ru
|
|
⚠️ http_proxy (lowercase) не задан
|
|
|
|
Резолв hproxy.local:
|
|
✅ 172.20.0.1
|
|
|
|
Прокси HTTP:
|
|
✅ работает, внешний IP: 203.0.113.42
|
|
|
|
Прокси SOCKS5:
|
|
✅ работает, внешний IP: 203.0.113.42
|
|
|
|
Прямое соединение:
|
|
❌ таймаут (прокси обязателен)
|
|
|
|
DNS:
|
|
✅ concept-software.ru → 10.0.1.50 (внутренний)
|
|
✅ github.com → 140.82.121.3
|
|
|
|
Git remote:
|
|
✅ git fetch --dry-run OK
|
|
|
|
Итого: сеть работает через прокси. Прямого выхода нет.
|
|
```
|
|
|
|
# Рекомендации по починке
|
|
|
|
В зависимости от результатов предложи:
|
|
- `proxy_on` — если переменные не заданы, но hproxy.local резолвится
|
|
- Проверить `/etc/hosts` — если hproxy.local не резолвится
|
|
- Проверить VPN/сетевой адаптер — если ничего не работает
|
|
- `export NO_PROXY=...` — если внутренний ресурс идёт через прокси когда не должен
|
|
|
|
# Правила
|
|
- Все команды — только чтение и диагностика
|
|
- Таймауты запросов — не более 3 секунд
|
|
- Не модифицируй конфигурацию, только предлагай
|