سير عمل Terminal Proxy للمطورين
تحوّل FreeGuard CLI الطرفية لديك إلى بيئة تطوير آمنة عبر توجيه الحركة المرورية من خلال نفق VPN مشفّر. سواء كنت تستنسخ المستودعات من شبكات مقيّدة، أو تصحّح أخطاء API عبر مناطق مختلفة، أو تنشر الحاويات عبر قنوات آمنة، فإن CLI يندمج مع الأدوات التي تستخدمها بالفعل — git وssh وcurl وdocker والمزيد.
لماذا يحتاج المطورون إلى Terminal Proxy
تتضمن العديد من مهام التطوير الوصول إلى الشبكة الذي يستفيد من حماية VPN:
- الوصول إلى API الداخلية من المقاهي أو المطارات
- اختبار الخدمات المقيّدة جغرافيًا أثناء التطوير
- دفع الشيفرة عبر شبكات تفرض قيودًا على حركة git أو تفحصها
- الاتصال بالخوادم البعيدة عبر جدران نارية تقييدية
- إبقاء بيانات اعتماد CI/CD مشفّرة أثناء النقل
يتعامل FreeGuard CLI مع كل ذلك دون مغادرة الطرفية.
Git عبر VPN
المشكلة
تفرض الشبكات المؤسسية وWi-Fi العامة وبعض مزوّدي خدمة الإنترنت قيودًا على عمليات git أو تحظرها. قد يتم تمييز اتصالات git المعتمدة على SSH بواسطة فحص الحزم العميق. وقد تتعرض عمليات الاستنساخ عبر HTTPS للاعتراض بواسطة الوكلاء الشفافين.
الحل
اتصل بـ 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
لنهج أكثر أتمتة، يمكنك تضمينه في 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 قطع اتصال VPN حتى إذا فشل script في منتصف التنفيذ.
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]
إعادة توجيه المنافذ
قم بإعادة توجيه المنافذ البعيدة عبر نفق 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 إلى تنزيل الحزم من registries محظورة أو بطيئة:
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
مخرجات مناسبة للـ Script
يدعم كل أمر من أوامر 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 رموز خروج قياسية يمكن للـ 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
نصائح للاستخدام اليومي
- Shell alias — أضف
alias vpn="freeguard connect"وalias vpnoff="freeguard disconnect"إلى shell profile الخاص بك. - Auto-connect — أضف
freeguard connectإلى.zshrcأو.bashrcإذا كنت تريد أن يكون VPN مفعّلًا دائمًا. - Server bookmarks — استخدم
freeguard config set default-server us-eastلتجاوز الوسيط--server. - Status in prompt — حلّل
freeguard status --jsonلإظهار حالة VPN في shell prompt.
الخطوات التالية
- FreeGuard CLI — التثبيت والمرجع الكامل للأوامر
- CLI command documentation — مرجع تفصيلي لكل أمر وعلم
- Deploy on headless servers — تشغيل FreeGuard CLI كخدمة نظام
- Pricing — خطط مناسبة للمطورين
Last updated: March 2026