Рабочий процесс Terminal Proxy для разработчиков
FreeGuard CLI превращает ваш терминал в защищённую среду разработки, направляя трафик через зашифрованные VPN-туннели. Независимо от того, клонируете ли вы репозитории из сетей с ограниченным доступом, отлаживаете ли API между регионами или разворачиваете контейнеры через защищённые каналы, CLI интегрируется с уже используемыми вами инструментами — git, ssh, curl, docker и другими.

Рабочий процесс Terminal Proxy для разработчиков

FreeGuard CLI превращает ваш терминал в защищённую среду разработки, направляя трафик через зашифрованные VPN-туннели. Независимо от того, клонируете ли вы репозитории из сетей с ограниченным доступом, отлаживаете ли API между регионами или разворачиваете контейнеры через защищённые каналы, CLI интегрируется с уже используемыми вами инструментами — git, ssh, curl, docker и другими.

Почему разработчикам нужен Terminal Proxy

Многие задачи разработки связаны с сетевым доступом, которому полезна защита VPN:

  • Доступ к внутренним API из кафе или аэропортов
  • Тестирование сервисов с географическими ограничениями во время разработки
  • Отправка кода через сети, которые замедляют или проверяют трафик git
  • Подключение к удалённым серверам через ограничивающие межсетевые экраны
  • Шифрование учётных данных CI/CD при передаче

FreeGuard CLI справляется со всем этим, не покидая ваш терминал.


Git через VPN

Проблема

Корпоративные сети, публичный Wi-Fi и некоторые ISP замедляют или блокируют операции git. SSH-подключения git могут быть помечены глубокой проверкой пакетов. Клонирование по HTTPS может перехватываться прозрачными Proxy.

Решение

Подключитесь к FreeGuard перед операциями git:

freeguard connect --server us-east

git clone [email protected]:your-org/private-repo.git
git fetch --all
git push origin feature-branch

freeguard disconnect

Для более автоматизированного подхода оберните это в скрипт:

#!/bin/bash
freeguard connect --server us-east --json | jq -r '.status'
trap "freeguard disconnect" EXIT

git pull origin main
npm run build
git push origin main

trap гарантирует отключение VPN даже если скрипт завершится с ошибкой в середине выполнения.

Git с учётом Proxy

FreeGuard CLI также может предоставлять локальный SOCKS5 или HTTP Proxy. Настройте git для его использования:

# Set proxy for git globally
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

# Or per-repository
git config http.proxy socks5://127.0.0.1:1080

Удалите настройки Proxy после завершения:

git config --global --unset http.proxy
git config --global --unset https.proxy

SSH-туннелирование с VPN

Доступ к удалённому серверу

Когда нужно подключаться по SSH к серверам из недоверенных сетей, VPN добавляет слой шифрования ещё до того, как трафик SSH покинет вашу машину:

freeguard connect --server us-west
ssh [email protected]

ProxyJump через VPN

Сочетайте FreeGuard с SSH ProxyJump для многопереходного доступа:

# Connect to VPN first
freeguard connect

# Then jump through a bastion host
ssh -J [email protected] [email protected]

Перенаправление портов

Перенаправляйте удалённые порты через VPN-туннель:

freeguard connect --server eu-west
ssh -L 5432:db.internal:5432 [email protected]
# Now connect to localhost:5432 to reach the remote database

Разработка API

Тестирование с curl

Направляйте запросы к API через VPN, чтобы тестировать из разных регионов:

freeguard connect --server jp-tokyo

# Test geo-specific API responses
curl -s https://api.example.com/v1/content | jq '.region'
# Output: "ap-northeast-1"

freeguard connect --server de-frankfurt
curl -s https://api.example.com/v1/content | jq '.region'
# Output: "eu-central-1"

Использование httpie

httpie работает так же. FreeGuard CLI действует на системном уровне, поэтому все HTTP-клиенты получают преимущество:

freeguard connect --server uk-london
http GET https://api.example.com/v1/pricing Accept:application/json

Режим Proxy для выборочной маршрутизации

Если вы хотите, чтобы через VPN проходили только определённые запросы, используйте локальный Proxy:

# Start FreeGuard with local proxy
freeguard connect

# Route specific requests through the proxy
curl --proxy socks5://127.0.0.1:1080 https://api.example.com/endpoint

# Direct requests bypass VPN
curl https://internal.company.com/api

Контейнеры Docker + VPN

Сетевой трафик контейнеров через VPN

Направляйте трафик контейнеров Docker через FreeGuard:

# Connect host to VPN
freeguard connect --server us-east

# Containers using host network will route through VPN
docker run --network host my-app:latest

Интеграция Docker Compose

Добавьте подключение к VPN в ваш стек разработки:

#!/bin/bash
# dev-start.sh
freeguard connect --server us-east --json | jq -r '.status'
docker compose up -d
echo "Development stack is running through VPN"

Сборка образов в сетях с ограничениями

Когда docker build должен загружать пакеты из реестров, которые заблокированы или работают медленно:

freeguard connect --server us-west
docker build --network host -t my-app:latest .
freeguard disconnect

Интеграция CI/CD

GitHub Actions

Используйте FreeGuard CLI в вашем CI-пайплайне для доступа к ресурсам с географическими ограничениями во время сборок:

- name: Connect VPN
  run: |
    curl -fsSL https://cli.freeguard.com/install.sh | bash
    freeguard login --method token --token ${{ secrets.FREEGUARD_TOKEN }}
    freeguard connect --server us-east --json

Вывод, удобный для скриптов

Каждая команда FreeGuard CLI поддерживает --json для вывода, пригодного для машинной обработки, и --no-color для чистых лог-файлов:

# Get connection status as JSON
freeguard status --json
# {"connected": true, "server": "us-east-1", "protocol": "hysteria2", "uptime": 3600}

# List servers as JSON for programmatic selection
freeguard servers --json --region us | jq '.[0].id'

Коды выхода

CLI использует стандартные коды выхода, которые могут проверять скрипты:

Exit Code Meaning
0 Success
1 General error
2 Authentication required
3 Connection failed
4 Server not found
freeguard connect --server us-east
if [ $? -eq 0 ]; then
  echo "VPN connected, starting deployment..."
  ./deploy.sh
fi

Советы для ежедневного использования

  1. Shell alias — Добавьте alias vpn="freeguard connect" и alias vpnoff="freeguard disconnect" в профиль вашей оболочки.
  2. Автоподключение — Добавьте freeguard connect в ваш .zshrc или .bashrc, если вы всегда хотите, чтобы VPN был включён.
  3. Закладки серверов — Используйте freeguard config set default-server us-east, чтобы не указывать флаг --server.
  4. Статус в prompt — Разберите freeguard status --json, чтобы показывать статус VPN в prompt вашей оболочки.

Дальнейшие шаги

  • FreeGuard CLI — установка и полный справочник команд
  • CLI command documentation — подробная справка по каждой команде и флагу
  • Deploy on headless servers — запуск FreeGuard CLI как системной службы
  • Pricing — планы, удобные для разработчиков

Last updated: March 2026