Terminalproxy-arbetsflöde för utvecklare
FreeGuard CLI förvandlar din terminal till en säker utvecklingsmiljö genom att dirigera trafik genom krypterade VPN-tunnlar. Oavsett om du klonar repositories från begränsade nätverk, felsöker APIs över regioner eller distribuerar containers via säkra kanaler, integreras CLI i de verktyg du redan använder — git, ssh, curl, docker och fler.
Varför utvecklare behöver en terminalproxy
Många utvecklingsuppgifter involverar nätverksåtkomst som gynnas av VPN-skydd:
- Åtkomst till interna APIs från kaféer eller flygplatser
- Test av geografiskt begränsade tjänster under utveckling
- Push av kod över nätverk som stryper eller inspekterar git-trafik
- Anslutning till fjärrservrar genom restriktiva brandväggar
- Hålla CI/CD-uppgifter krypterade under överföring
FreeGuard CLI hanterar allt detta utan att du lämnar terminalen.
Git över VPN
Problemet
Företagsnätverk, offentligt Wi-Fi och vissa ISPs stryper eller blockerar git-operationer. SSH-baserade git-anslutningar kan flaggas av djup paketinspektion. HTTPS-kloner kan avlyssnas av transparenta proxys.
Lösningen
Anslut till FreeGuard innan dina git-operationer:
freeguard connect --server us-east
git clone [email protected]:your-org/private-repo.git
git fetch --all
git push origin feature-branch
freeguard disconnect
För ett mer automatiserat tillvägagångssätt, kapsla in det i ett script:
#!/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 säkerställer att VPN kopplas ned även om scriptet misslyckas halvvägs.
Proxy-medveten Git
FreeGuard CLI kan också exponera en lokal SOCKS5- eller HTTP-proxy. Konfigurera git att använda den:
# 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
Ta bort proxy-konfigurationen när du är klar:
git config --global --unset http.proxy
git config --global --unset https.proxy
SSH-tunnling med VPN
Åtkomst till fjärrserver
När du behöver SSH:a in på servrar från opålitliga nätverk lägger VPN till ett krypteringslager innan din SSH-trafik ens lämnar din maskin:
freeguard connect --server us-west
ssh [email protected]
ProxyJump via VPN
Kombinera FreeGuard med SSH ProxyJump för åtkomst via flera hopp:
# Anslut till VPN först
freeguard connect
# Hoppa sedan via en bastion host
ssh -J [email protected] [email protected]
Portvidarekoppling
Vidarekoppla fjärrportar genom VPN-tunneln:
freeguard connect --server eu-west
ssh -L 5432:db.internal:5432 [email protected]
# Anslut nu till localhost:5432 för att nå den fjärranslutna databasen
API-utveckling
Testning med curl
Dirigera dina API-begäranden genom VPN för att testa från olika regioner:
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"
Använda httpie
httpie fungerar på samma sätt. FreeGuard CLI arbetar på systemnivå, så alla HTTP-klienter drar nytta av det:
freeguard connect --server uk-london
http GET https://api.example.com/v1/pricing Accept:application/json
Proxy-läge för selektiv dirigering
Om du bara vill att vissa begäranden ska gå genom VPN, använd den lokala proxyn:
# 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-containers + VPN
Container-nätverk genom VPN
Dirigera Docker-containertrafik genom FreeGuard:
# Anslut värden till VPN
freeguard connect --server us-east
# Containers using host network will route through VPN
docker run --network host my-app:latest
Docker Compose-integration
Lägg till VPN-anslutning i din utvecklingsstack:
#!/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"
Bygga images bakom restriktiva nätverk
När docker build behöver ladda ner paket från registries som är blockerade eller långsamma:
freeguard connect --server us-west
docker build --network host -t my-app:latest .
freeguard disconnect
CI/CD-integration
GitHub Actions
Använd FreeGuard CLI i din CI-pipeline för att komma åt geografiskt begränsade resurser under byggen:
- 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
Scriptvänlig utdata
Varje FreeGuard CLI-kommando stöder --json för maskinläsbar utdata och --no-color för rena loggfiler:
# 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'
Exit-koder
CLI använder standardiserade exit-koder som scripts kan kontrollera:
| 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
Tips för daglig användning
- Shell-alias — Lägg till
alias vpn="freeguard connect"ochalias vpnoff="freeguard disconnect"i din shell-profil. - Auto-anslutning — Lägg till
freeguard connecti din.zshrceller.bashrcom du alltid vill ha VPN på. - Serverbokmärken — Använd
freeguard config set default-server us-eastför att hoppa över flaggan--server. - Status i prompten — Tolka
freeguard status --jsonför att visa VPN-status i din shell-prompt.
Nästa steg
- FreeGuard CLI — installation och fullständig kommandoöversikt
- CLI command documentation — detaljerad referens för varje kommando och flagga
- Deploy on headless servers — kör FreeGuard CLI som en systemtjänst
- Pricing — utvecklarvänliga planer
Senast uppdaterad: March 2026