گردش کار Proxy ترمینال برای توسعه‌دهندگان
FreeGuard CLI ترمینال شما را با مسیریابی ترافیک از طریق تونل‌های رمزنگاری‌شده VPN به یک محیط توسعه امن تبدیل می‌کند. چه در حال کلون‌کردن repositoryها از شبکه‌های محدود باشید، چه در حال دیباگ کردن APIها بین مناطق مختلف، یا استقرار containerها از طریق کانال‌های امن، این CLI با ابزارهایی که همین حالا هم استفاده می‌کنید یکپارچه می‌شود — git، ssh، curl، docker و موارد دیگر.

گردش کار Proxy ترمینال برای توسعه‌دهندگان

FreeGuard CLI ترمینال شما را با مسیریابی ترافیک از طریق تونل‌های رمزنگاری‌شده VPN به یک محیط توسعه امن تبدیل می‌کند. چه در حال کلون‌کردن repositoryها از شبکه‌های محدود باشید، چه در حال دیباگ کردن APIها بین مناطق مختلف، یا استقرار containerها از طریق کانال‌های امن، این CLI با ابزارهایی که همین حالا هم استفاده می‌کنید یکپارچه می‌شود — git، ssh، curl، docker و موارد دیگر.

چرا توسعه‌دهندگان به Proxy ترمینال نیاز دارند

بسیاری از کارهای توسعه شامل دسترسی شبکه‌ای هستند که از حفاظت VPN بهره می‌برند:

  • دسترسی به APIهای داخلی از کافی‌شاپ‌ها یا فرودگاه‌ها
  • آزمایش سرویس‌های محدودشده بر اساس جغرافیا در طول توسعه
  • ارسال کد از طریق شبکه‌هایی که ترافیک git را محدود یا بررسی می‌کنند
  • اتصال به سرورهای راه دور از طریق فایروال‌های محدودکننده
  • نگه‌داشتن اعتبارنامه‌های CI/CD به‌صورت رمزنگاری‌شده در حین انتقال

FreeGuard CLI همه این موارد را بدون ترک ترمینال شما مدیریت می‌کند.


Git از طریق VPN

مشکل

شبکه‌های سازمانی، Wi‑Fi عمومی و برخی ISPها عملیات git را محدود یا مسدود می‌کنند. اتصال‌های git مبتنی بر SSH ممکن است توسط deep packet inspection علامت‌گذاری شوند. cloneهای HTTPS ممکن است توسط Proxyهای شفاف رهگیری شوند.

راه‌حل

پیش از عملیات git به FreeGuard متصل شوید:

freeguard connect --server us-east

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

freeguard disconnect

برای رویکردی خودکارتر، آن را در یک 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 تضمین می‌کند که حتی اگر script در میانه کار ناموفق شود، اتصال VPN قطع می‌شود.

Git آگاه از Proxy

FreeGuard CLI همچنین می‌تواند یک Proxy محلی SOCKS5 یا HTTP را در دسترس قرار دهد. 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 Tunneling با 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]

Port Forwarding

پورت‌های راه دور را از طریق تونل VPN forward کنید:

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 clientها از آن بهره می‌برند:

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 Containers + VPN

ترافیک container از طریق VPN

ترافیک containerهای 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 را به stack توسعه خود اضافه کنید:

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

ساخت imageها پشت شبکه‌های محدودکننده

وقتی docker build نیاز دارد بسته‌هایی را از registryهایی دانلود کند که مسدود یا کند هستند:

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

یکپارچه‌سازی CI/CD

GitHub Actions

از FreeGuard CLI در pipeline CI خود استفاده کنید تا در طول buildها به منابع محدودشده بر اساس جغرافیا دسترسی داشته باشید:

- 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

خروجی مناسب برای script

هر فرمان FreeGuard CLI از --json برای خروجی قابل‌خواندن توسط ماشین و از --no-color برای فایل‌های log تمیز پشتیبانی می‌کند:

# 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 از کدهای خروج استانداردی استفاده می‌کند که scriptها می‌توانند بررسی کنند:

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 aliasalias vpn="freeguard connect" و alias vpnoff="freeguard disconnect" را به shell profile خود اضافه کنید.
  2. اتصال خودکار — اگر همیشه می‌خواهید VPN روشن باشد، freeguard connect را به .zshrc یا .bashrc خود اضافه کنید.
  3. بوکمارک‌های سرور — از freeguard config set default-server us-east استفاده کنید تا از flag --server صرف‌نظر شود.
  4. وضعیت در promptfreeguard status --json را parse کنید تا وضعیت VPN در shell prompt شما نمایش داده شود.

مراحل بعدی

آخرین به‌روزرسانی: March 2026