Workflow terminalowego Proxy dla deweloperów
FreeGuard CLI zamienia Twój terminal w bezpieczne środowisko deweloperskie, kierując ruch przez zaszyfrowane tunele VPN. Niezależnie od tego, czy klonujesz repozytoria z sieci o ograniczonym dostępie, debugujesz API w różnych regionach, czy wdrażasz kontenery przez bezpieczne kanały, CLI integruje się z narzędziami, których już używasz — git, ssh, curl, docker i innymi.

Workflow terminalowego Proxy dla deweloperów

FreeGuard CLI zamienia Twój terminal w bezpieczne środowisko deweloperskie, kierując ruch przez zaszyfrowane tunele VPN. Niezależnie od tego, czy klonujesz repozytoria z sieci o ograniczonym dostępie, debugujesz API w różnych regionach, czy wdrażasz kontenery przez bezpieczne kanały, CLI integruje się z narzędziami, których już używasz — git, ssh, curl, docker i innymi.

Dlaczego deweloperzy potrzebują terminalowego Proxy

Wiele zadań deweloperskich wymaga dostępu sieciowego, który korzysta z ochrony VPN:

  • Uzyskiwanie dostępu do wewnętrznych API z kawiarni lub lotnisk
  • Testowanie usług z ograniczeniami geograficznymi podczas rozwoju
  • Wysyłanie kodu przez sieci, które ograniczają lub inspekcjonują ruch git
  • Łączenie się z zdalnymi serwerami przez restrykcyjne zapory sieciowe
  • Utrzymywanie poświadczeń CI/CD zaszyfrowanych podczas przesyłu

FreeGuard CLI obsługuje to wszystko bez opuszczania terminala.


Git przez VPN

Problem

Sieci firmowe, publiczne Wi‑Fi oraz niektórzy dostawcy Internetu ograniczają lub blokują operacje git. Połączenia git oparte na SSH mogą zostać oznaczone przez głęboką inspekcję pakietów. Klony HTTPS mogą być przechwytywane przez transparentne Proxy.

Rozwiązanie

Połącz się z FreeGuard przed operacjami 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

Dla bardziej zautomatyzowanego podejścia umieść to w skrypcie:

#!/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 zapewnia rozłączenie VPN nawet wtedy, gdy skrypt zakończy się niepowodzeniem w połowie.

Git świadomy Proxy

FreeGuard CLI może również udostępniać lokalne Proxy SOCKS5 lub HTTP. Skonfiguruj git, aby z niego korzystał:

# Ustaw Proxy dla git globalnie
git config --global http.proxy socks5://127.0.0.1:1080
git config --global https.proxy socks5://127.0.0.1:1080

# Albo dla pojedynczego repozytorium
git config http.proxy socks5://127.0.0.1:1080

Usuń konfigurację Proxy po zakończeniu:

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

Tunelowanie SSH z VPN

Dostęp do zdalnego serwera

Gdy musisz łączyć się przez SSH z serwerami z niezaufanych sieci, VPN dodaje warstwę szyfrowania, zanim ruch SSH opuści Twoją maszynę:

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

ProxyJump przez VPN

Połącz FreeGuard z SSH ProxyJump, aby uzyskać dostęp wieloetapowy:

# Najpierw połącz się z VPN
freeguard connect

# Następnie przeskocz przez bastion host
ssh -J [email protected] [email protected]

Przekierowanie portów

Przekieruj zdalne porty przez tunel VPN:

freeguard connect --server eu-west
ssh -L 5432:db.internal:5432 [email protected]
# Teraz połącz się z localhost:5432, aby uzyskać dostęp do zdalnej bazy danych

Tworzenie API

Testowanie z curl

Kieruj żądania API przez VPN, aby testować z różnych regionów:

freeguard connect --server jp-tokyo

# Testuj odpowiedzi API specyficzne dla regionu
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"

Używanie httpie

httpie działa tak samo. FreeGuard CLI działa na poziomie systemu, więc wszystkie klienty HTTP korzystają z jego działania:

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

Tryb Proxy dla selektywnego routingu

Jeśli chcesz, aby tylko niektóre żądania przechodziły przez VPN, użyj lokalnego Proxy:

# Uruchom FreeGuard z lokalnym Proxy
freeguard connect

# Kieruj konkretne żądania przez Proxy
curl --proxy socks5://127.0.0.1:1080 https://api.example.com/endpoint

# Bezpośrednie żądania omijają VPN
curl https://internal.company.com/api

Kontenery Docker + VPN

Ruch sieciowy kontenerów przez VPN

Kieruj ruch kontenerów Docker przez FreeGuard:

# Połącz host z VPN
freeguard connect --server us-east

# Kontenery używające sieci hosta będą kierowane przez VPN
docker run --network host my-app:latest

Integracja Docker Compose

Dodaj łączność VPN do swojego stosu deweloperskiego:

#!/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"

Budowanie obrazów za restrykcyjnymi sieciami

Gdy docker build musi pobierać pakiety z rejestrów, które są blokowane lub wolne:

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

Integracja CI/CD

GitHub Actions

Użyj FreeGuard CLI w potoku CI, aby uzyskać dostęp do zasobów z ograniczeniami geograficznymi podczas buildów:

- 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

Wyjście przyjazne skryptom

Każde polecenie FreeGuard CLI obsługuje --json dla wyjścia czytelnego maszynowo oraz --no-color dla czystych plików logów:

# Pobierz status połączenia jako JSON
freeguard status --json
# {"connected": true, "server": "us-east-1", "protocol": "hysteria2", "uptime": 3600}

# Wyświetl serwery jako JSON do programowego wyboru
freeguard servers --json --region us | jq '.[0].id'

Kody zakończenia

CLI używa standardowych kodów zakończenia, które skrypty mogą sprawdzać:

Exit Code Znaczenie
0 Sukces
1 Błąd ogólny
2 Wymagane uwierzytelnienie
3 Połączenie nie powiodło się
4 Nie znaleziono serwera
freeguard connect --server us-east
if [ $? -eq 0 ]; then
  echo "VPN connected, starting deployment..."
  ./deploy.sh
fi

Wskazówki do codziennego użycia

  1. Alias powłoki — Dodaj alias vpn="freeguard connect" oraz alias vpnoff="freeguard disconnect" do profilu swojej powłoki.
  2. Automatyczne łączenie — Dodaj freeguard connect do .zshrc lub .bashrc, jeśli zawsze chcesz mieć włączony VPN.
  3. Zakładki serwerów — Użyj freeguard config set default-server us-east, aby pominąć flagę --server.
  4. Status w prompt — Parsuj freeguard status --json, aby pokazywać status VPN w promptcie powłoki.

Następne kroki

Ostatnia aktualizacja: March 2026