Skip to content

AltBypassLab/Aura

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 

Repository files navigation

✨ Aura

Version License Platform

مدیریت آسان و حرفه‌ای تانل Phoenix

🚀 نصب سریع📖 راهنما🔒 امنیت📞 پشتیبانی


🌟 ویژگی‌ها

نصب خودکار - دانلود و نصب Phoenix با یک کلیک
🤖 تشخیص خودکار معماری - AMD64 یا ARM64 به صورت اتوماتیک تشخیص داده می‌شود
🖥️ پشتیبانی از سرور و کلاینت - نصب Server (Kharej) یا Client (Iran)
🎯 پروتکل‌های متعدد - SOCKS5, SSH, Shadowsocks (همزمان)
🔐 پشتیبانی کامل از mTLS - بالاترین سطح امنیت
🎭 Fingerprint Spoofing - دور زدن DPI با جعل fingerprint مرورگر
🔑 انتخاب نوع کلید - Ed25519 (سریع) یا ECDSA (سازگار با fingerprint)
📊 نمایش اطلاعات کامل - IP، پورت، نوع کلید و راهنمای کانفیگ
🔄 تولید مجدد کلیدها - با پشتیبان‌گیری خودکار
🧪 تست اتصال - بررسی IP، کشور و پینگ
🎨 رابط کاربری زیبا - منوی رنگی و کاربرپسند
⚙️ مدیریت سرویس - کنترل کامل سرویس systemd
📈 نمایش لاگ زنده - مشاهده لحظه‌ای وضعیت تانل
🔄 تغییر نام نمونه - امکان تغییر نام سرور و کلاینت
🔗 لینک Shadowsocks - تولید خودکار لینک اتصال
🌐 پشتیبانی از CDN - تنظیمات خاص برای Cloudflare
🚀 Port Forward با Gost - فورواد پورت‌ها به سرورهای خارجی (SSH, MySQL, X-ray و...)
📊 مدیریت چند Port Forward - نصب و مدیریت چندین فورواد همزمان
🔍 لاگ Real-time - مشاهده لحظه‌ای ترافیک Port Forward


🚀 نصب سریع

دستور تک‌خطی (نصب و اجرا):

bash <(curl -fsSL https://raw.githubusercontent.com/AltBypassLab/Aura/main/aura.sh)

یا با wget:

bash <(wget -qO- https://raw.githubusercontent.com/AltBypassLab/Aura/main/aura.sh)

نصب دستی:

# دانلود اسکریپت
wget https://raw.githubusercontent.com/AltBypassLab/Aura/main/aura.sh

# اجازه اجرا
chmod +x aura.sh

# اجرای اسکریپت
sudo ./aura.sh

⚡ راهنمای سریع

🎯 سناریو 1: دور زدن DPI (برای ایران)

هدف: استفاده از Fingerprint Spoofing برای دور زدن فیلترینگ

نصب سرور (5 دقیقه)

  1. اجرای اسکریپت روی VPS خارج
  2. انتخاب: 1) Server (Kharej)
  3. انتخاب: 1) Install / Reinstall Server
  4. وارد کردن پورت (پیش‌فرض: 443)
  5. انتخاب پروتکل‌ها (SOCKS5 + UDP توصیه می‌شود)
  6. سوال مهم: Enable Fingerprint Support? → y
  7. انتخاب امنیت: 2) One-Way TLS
  8. سرور با کلید ECDSA P256 نصب می‌شه

نصب کلاینت (5 دقیقه)

  1. اجرای اسکریپت روی سرور ایران
  2. انتخاب: 2) Client (Iran)
  3. انتخاب: 1) Install / Reinstall Client
  4. انتخاب پروتکل: SOCKS5
  5. نوع اتصال: 1) Direct connection
  6. انتخاب امنیت: 2) Insecure TLS
  7. وارد کردن IP و پورت سرور
  8. انتخاب Fingerprint: 1) Chrome
  9. تست: curl -x socks5h://127.0.0.1:1080 https://ifconfig.me

نتیجه: ✅ رمزنگاری + دور زدن DPI


🎯 سناریو 4: Port Forward (X-ray Tunnel)

هدف: تانل کردن X-ray از طریق Phoenix

پیش‌نیاز:

  • Phoenix Client نصب شده روی سرور ایران
  • X-ray نصب شده روی سرور خارج

نصب Port Forward (5 دقیقه)

  1. اجرای اسکریپت روی سرور ایران
  2. انتخاب: 2) Client (Iran)
  3. انتخاب: 2) Client Management
  4. انتخاب: 12) Port Forward Management
  5. انتخاب: 1) Add New Port Forward
  6. تنظیمات:
    • Local listen port: 10000
    • Destination IP: xxx.xxx.xxx.xxx (IP سرور خارج)
    • Destination port: 10000
    • Name: xray

استفاده

در کانفیگ X-ray کلاینت:

{
  "outbounds": [{
    "settings": {
      "vnext": [{
        "address": "yyy.yyy.yyy.yyy",  // IP سرور ایران
        "port": 10000
      }]
    }
  }]
}

نتیجه: ✅ X-ray از طریق Phoenix + IP ایران


🔒 سناریو 2: بالاترین امنیت (بدون Fingerprint)

هدف: استفاده از mTLS برای بالاترین سطح امنیت

نصب سرور

  1. اجرای اسکریپت
  2. انتخاب پورت و پروتکل‌ها
  3. سوال مهم: Enable Fingerprint Support? → n
  4. انتخاب امنیت: 3) mTLS
  5. کپی کردن کلید عمومی سرور
  6. وارد کردن کلید عمومی کلاینت

نصب کلاینت

  1. اجرای اسکریپت
  2. انتخاب پروتکل: SOCKS5
  3. نوع اتصال: 1) Direct connection
  4. انتخاب امنیت: 4) mTLS
  5. وارد کردن IP، پورت و کلید عمومی سرور
  6. کپی کردن کلید عمومی کلاینت و افزودن به سرور

نتیجه: ✅ احراز هویت دوطرفه + Anti-probing


🌐 سناریو 3: استفاده از Cloudflare CDN

هدف: استفاده از دامنه با Cloudflare

پیش‌نیاز:

  • دامنه (مثلاً example.com)
  • Cloudflare proxy فعال (ابر نارنجی)

نصب سرور

  1. اجرای اسکریپت
  2. نصب عادی سرور (با یا بدون fingerprint)
  3. تنظیم Cloudflare برای forward کردن به IP سرور

نصب کلاینت

  1. اجرای اسکریپت
  2. نوع اتصال: 2) Yes - Using domain with Cloudflare
  3. وارد کردن دامنه (نه IP): your-domain.com:443
  4. انتخاب Fingerprint (اختیاری)

نتیجه: ✅ مخفی شدن IP سرور + CDN


🆕 امکانات جدید نسخه v1.0.2

🚀 Port Forward با Gost

یکی از مهم‌ترین امکانات نسخه v1.0.2 قابلیت Port Forward است که به شما اجازه می‌دهد پورت‌های سرور خارج را از طریق سرور ایران در دسترس قرار دهید.

چرا مهم است؟

  • امکان تانل کردن سرویس‌های مختلف (SSH, MySQL, X-ray) از طریق Phoenix
  • دسترسی به سرورهای خارجی با IP ایران
  • مدیریت چندین Port Forward همزمان
  • لاگ Real-time برای هر فورواد
  • جدید: فوروارد چند پورت با یک تانل (کارآمدتر)

کاربردها:

  • 🔐 SSH Forward - دسترسی به SSH سرورهای خارجی
  • 💾 Database Forward - اتصال به MySQL, PostgreSQL, MongoDB
  • 🌐 X-ray/V2ray Tunnel - تانل کردن پروکسی‌های دیگر
  • 🎮 Multi-Service Forward - فوروارد چند سرویس با یک تانل
  • 📡 هر سرویس TCP دیگری

ویژگی‌ها:

  • ✅ نصب و راه‌اندازی آسان از طریق منو
  • ✅ پشتیبانی از تک پورت یا چند پورت همزمان
  • ✅ مدیریت چندین فورواد همزمان
  • ✅ systemd service برای هر فورواد
  • ✅ لاگ Real-time برای مانیتورینگ
  • ✅ شروع خودکار بعد از ریبوت
  • ✅ انتخاب mapping پورت‌ها (یکسان یا سفارشی)

📊 بهبود رابط کاربری

منوی Port Forward Management:

  • اضافه کردن فورواد جدید با راهنمای گام‌به‌گام
  • نمایش لیست کامل فورواردها با جزئیات
  • مدیریت آسان (Start/Stop/Remove)
  • مشاهده لاگ‌های لحظه‌ای

نمایش اطلاعات بهتر:

  • جداول ساختاریافته برای لیست فورواردها
  • نمایش وضعیت (Active/Inactive)
  • اطلاعات کامل هر فورواد (پورت، مقصد، نام)

🔧 بهبودهای فنی

Gost Integration:

  • استفاده از Gost برای Port Forward
  • اتصال از طریق SOCKS5 موجود Phoenix
  • پشتیبانی از TCP forwarding
  • عملکرد بهینه و پایدار

مدیریت سرویس:

  • هر Port Forward یک systemd service مستقل
  • امکان کنترل جداگانه هر فورواد
  • لاگ‌های جداگانه برای هر سرویس
  • شروع خودکار بعد از ریبوت سیستم

🆕 امکانات جدید نسخه v1.0.1

🎭 پشتیبانی کامل از TLS Fingerprint Spoofing

یکی از مهم‌ترین امکانات جدید Phoenix v1.0.2 قابلیت Fingerprint Spoofing است که به شما اجازه می‌دهد اتصالات خود را شبیه مرورگرهای واقعی کنید.

چرا مهم است؟

  • ISP‌ها و فایروال‌های پیشرفته می‌توانند TLS handshake را تحلیل کنند
  • اتصالات VPN/Proxy الگوهای خاصی دارند که قابل تشخیص هستند
  • با جعل fingerprint مرورگر، اتصال شما عادی به نظر می‌رسد

مرورگرهای پشتیبانی شده:

  • 🟢 Chrome 120
  • 🔵 Firefox 120
  • 🔵 Safari
  • 🎲 Random (هر بار متفاوت)

🔑 انتخاب هوشمند نوع کلید

اسکریپت Aura حالا قبل از نصب از شما می‌پرسد که آیا به fingerprint نیاز دارید یا نه:

اگر بله (y):

  • سرور با کلید ECDSA P256 نصب می‌شود
  • سازگار با تمام fingerprint‌ها
  • مناسب برای ایران و کشورهای تحت سانسور

اگر خیر (n):

  • سرور با کلید Ed25519 نصب می‌شود
  • سریع‌تر و امن‌تر
  • مناسب برای mTLS و امنیت بالا

🛡️ 5 حالت TLS در کلاینت

نسخه جدید 5 حالت مختلف TLS را پشتیبانی می‌کند:

  1. NO TLS (h2c) - بدون رمزنگاری (فقط تست)
  2. Insecure TLS - رمزنگاری کامل + بهترین برای fingerprint
  3. One-Way TLS - رمزنگاری + key pinning
  4. mTLS - احراز هویت دوطرفه
  5. System TLS - برای CDN/Cloudflare

هر حالت توضیحات کامل، مزایا و معایب خود را دارد.

📊 نمایش کامل اطلاعات سرور

گزینه "Show Server Info & Keys" حالا اطلاعات جامعی نمایش می‌دهد:

┌── Server Connection Details ──────────────────────────────┐
  Server IP:      xxx.xxx.xxx.xxx
  Phoenix Port:   443
  Connection:     xxx.xxx.xxx.xxx:443
└────────────────────────────────────────────────────────────┘

┌── Server Key Information ─────────────────────────────────┐
  Key Type:                ECDSA P256 (Fingerprint Compatible)
  Fingerprint Compatible:  ✅ YES
  Key File:                server.private.key
└────────────────────────────────────────────────────────────┘

┌── Client Configuration Recommendation ────────────────────┐
  For Fingerprint Spoofing (DPI Bypass):
  remote_addr = "xxx.xxx.xxx.xxx:443"
  tls_mode = "insecure"
  fingerprint = "chrome"  # Recommended
└────────────────────────────────────────────────────────────┘

🌐 پشتیبانی بهبود یافته از CDN

حالا می‌توانید به راحتی سرور خود را پشت Cloudflare قرار دهید:

  • تشخیص خودکار نوع اتصال (مستقیم یا CDN)
  • راهنمای گام‌به‌گام برای تنظیم Cloudflare
  • پشتیبانی از fingerprint با System TLS

🎨 رابط کاربری بهبود یافته

  • منوهای ساختاریافته‌تر با توضیحات کامل
  • رنگ‌بندی بهتر برای تشخیص سریع
  • جداول اطلاعاتی واضح
  • پیام‌های راهنما در هر مرحله

🔧 ابزارهای جدید

1. پیکربندی Fingerprint (گزینه 9 در کلاینت)

  • تغییر fingerprint بدون نصب مجدد
  • نمایش fingerprint فعلی
  • توضیحات هر گزینه

2. تولید کلید دستی (گزینه 8)

  • تولید کلید بدون تغییر کانفیگ
  • مفید برای تست یا کلاینت‌های جدید

3. تست اتصال پیشرفته (گزینه 10)

  • نمایش IP و کشور
  • اندازه‌گیری latency
  • تست چند سایت مختلف

📖 راهنمای کامل

🖥️ نصب سرور (Kharej)

مرحله 1: تشخیص خودکار معماری

  • معماری سیستم (AMD64/ARM64) به صورت خودکار تشخیص داده می‌شود
  • نیازی به انتخاب دستی نیست

مرحله 2: تنظیم پورت

  • پورت پیش‌فرض: 443
  • می‌توانید هر پورت دلخواه دیگری وارد کنید
  • توصیه: از پورت 443 برای عبور بهتر از فایروال‌ها استفاده کنید

مرحله 3: پیکربندی پروتکل

انتخاب پروتکل‌هایی که کلاینت‌ها می‌توانند استفاده کنند:

  • SOCKS5 - پروکسی جهانی (توصیه می‌شود)
  • UDP - برای سرویس‌های مدرن (YouTube, Instagram)
  • SSH - تونل SSH
  • Shadowsocks - پروتکل Shadowsocks

می‌توانید چند پروتکل را همزمان فعال کنید.

مرحله 4: پشتیبانی از Fingerprint Spoofing

این مرحله بسیار مهم است! قبل از انتخاب حالت امنیتی، باید تصمیم بگیرید که آیا به قابلیت Fingerprint Spoofing نیاز دارید یا نه.

چیست Fingerprint Spoofing؟

  • اتصالات کلاینت را شبیه مرورگرهای واقعی (Chrome/Firefox/Safari) می‌کند
  • برای دور زدن DPI (Deep Packet Inspection) استفاده می‌شود
  • به ویژه در کشورهای تحت سانسور (ایران، چین) مفید است

مزایا:

  • ✅ دور زدن فیلترینگ DPI
  • ✅ تشخیص سخت‌تر به عنوان VPN/Proxy
  • ✅ مناسب برای شبکه‌های تحت سانسور

معایب:

  • ❌ نیاز به کلید ECDSA (کمی کندتر از Ed25519)
  • ❌ نمی‌توان از key pinning استفاده کرد
  • ❌ کلاینت باید از tls_mode="insecure" استفاده کند

انتخاب نوع کلید:

  • اگر بله (y) را انتخاب کنید: سرور با کلید ECDSA P256 نصب می‌شود
  • اگر خیر (n) را انتخاب کنید: سرور با کلید Ed25519 نصب می‌شود

مرحله 5: انتخاب حالت امنیتی

1) NO TLS (h2c)

  • بدون رمزنگاری
  • سریع‌ترین حالت
  • ❌ ISP می‌تواند تمام ترافیک را ببیند
  • استفاده: فقط برای تست یا شبکه‌های داخلی

2) One-Way TLS

  • رمزنگاری کامل + تایید کلید سرور
  • مانند HTTPS عمل می‌کند
  • کلاینت باید کلید عمومی سرور را داشته باشد
  • ⚠️ با Ed25519 fingerprint کار نمی‌کند
  • استفاده: امنیت خوب بدون fingerprint

3) mTLS (Mutual TLS) - توصیه می‌شود

  • احراز هویت دوطرفه (سرور و کلاینت)
  • محافظت در برابر probing
  • بالاترین سطح امنیت
  • ⚠️ با Ed25519 fingerprint کار نمی‌کند
  • استفاده: حداکثر امنیت، بدون نیاز به fingerprint

مرحله 6: کپی کلید عمومی

اگر ECDSA انتخاب کردید:

  • نیازی به کپی کلید عمومی نیست
  • کلاینت باید از tls_mode="insecure" استفاده کند
  • می‌توانید fingerprint را فعال کنید

اگر Ed25519 انتخاب کردید:

  • کلید عمومی سرور نمایش داده می‌شود
  • این کلید را کپی کنید و در client.toml قرار دهید
  • ❌ fingerprint با این کلید کار نمی‌کند

🛡️ نصب کلاینت (Iran)

مرحله 1: تشخیص خودکار معماری

  • معماری سیستم (AMD64/ARM64) به صورت خودکار تشخیص داده می‌شود

مرحله 2: انتخاب پروتکل‌های ورودی

کلاینت از 3 نوع پروتکل پشتیبانی می‌کند:

1. SOCKS5 (توصیه می‌شود):

  • پروکسی جهانی
  • پشتیبانی از UDP
  • سازگار با تمام برنامه‌ها
  • پورت پیش‌فرض: 1080

2. SSH Tunnel:

  • تونل SSH
  • برای اتصالات SSH
  • پورت پیش‌فرض: 2022

3. Shadowsocks:

  • پروکسی Shadowsocks
  • نیاز به تنظیم رمز و روش رمزنگاری
  • پورت پیش‌فرض: 8388

می‌توانید یک یا چند پروتکل را همزمان فعال کنید.

مرحله 3: نوع اتصال

1) اتصال مستقیم (Direct Connection)

  • اتصال مستقیم به IP سرور
  • برای اکثر موارد مناسب است

2) استفاده از CDN/Cloudflare

  • اتصال از طریق دامنه با Cloudflare
  • نیاز به دامنه و فعال بودن Cloudflare proxy
  • IP سرور مخفی می‌ماند

مرحله 4: انتخاب حالت TLS (برای اتصال مستقیم)

1) NO TLS (h2c)

  • بدون رمزنگاری
  • فقط برای تست
  • ❌ ISP می‌تواند ترافیک را ببیند

2) Insecure TLS - توصیه برای ایران

  • رمزنگاری کامل TLS
  • بدون تایید certificate
  • ✅ بهترین گزینه برای Fingerprint Spoofing
  • ✅ با کلیدهای ECDSA و Ed25519 کار می‌کند
  • استفاده: دور زدن DPI + امنیت خوب

3) One-Way TLS

  • رمزنگاری + key pinning
  • نیاز به کلید عمومی سرور
  • ⚠️ fingerprint ممکن است مشکل داشته باشد
  • استفاده: امنیت خوب بدون fingerprint

4) mTLS

  • احراز هویت دوطرفه
  • محافظت در برابر probing
  • ⚠️ fingerprint ممکن است مشکل داشته باشد
  • استفاده: حداکثر امنیت

5) System TLS (فقط برای CDN)

  • استفاده از certificate authorities سیستم
  • برای اتصال از طریق Cloudflare
  • ✅ با fingerprint کار می‌کند

مرحله 5: پیکربندی Fingerprint Spoofing

بعد از انتخاب حالت TLS، می‌توانید fingerprint را فعال کنید:

گزینه‌های Fingerprint:

  • Chrome - Chrome 120 (توصیه می‌شود)
  • Firefox - Firefox 120
  • Safari - مرورگر Safari
  • Random - هر بار مرورگر متفاوت
  • None - بدون fingerprint

توصیه‌ها:

  • با Insecure TLS: همه fingerprint‌ها کار می‌کنند ✅
  • با One-Way TLS/mTLS + Ed25519: fingerprint ممکن است خطا دهد ⚠️
  • با System TLS (CDN): fingerprint کار می‌کند ✅

مرحله 6: اطلاعات سرور

  • IP یا Domain سرور
  • پورت سرور (مثلاً 443)
  • کلید عمومی سرور (فقط برای One-Way TLS و mTLS)

مرحله 7: mTLS (در صورت انتخاب)

  • کلید کلاینت به صورت خودکار تولید می‌شود
  • کلید عمومی کلاینت نمایش داده می‌شود
  • این کلید را باید در سرور به authorized_clients اضافه کنید

🔐 راهنمای جامع TLS و Fingerprint

📊 جدول مقایسه حالت‌های TLS

حالت TLS رمزنگاری تایید Certificate Key Pinning Fingerprint با ECDSA Fingerprint با Ed25519 امنیت سرعت استفاده
NO TLS ❌ خیر ❌ خیر ❌ خیر ❌ بی‌معنی ❌ بی‌معنی ⭐ خیلی کم ⭐⭐⭐⭐⭐ سریع تست فقط
Insecure TLS ✅ بله ❌ خیر ❌ خیر ✅ کار می‌کند ✅ کار می‌کند ⭐⭐⭐ خوب ⭐⭐⭐⭐ سریع ایران (DPI)
One-Way TLS ✅ بله ✅ بله ✅ بله ❌ کار نمی‌کند ❌ کار نمی‌کند ⭐⭐⭐⭐ عالی ⭐⭐⭐ متوسط امنیت بدون fingerprint
mTLS ✅ بله ✅ بله ✅ بله ❌ کار نمی‌کند ❌ کار نمی‌کند ⭐⭐⭐⭐⭐ عالی ⭐⭐⭐ متوسط حداکثر امنیت
System TLS ✅ بله ✅ بله ❌ خیر ✅ کار می‌کند ✅ کار می‌کند ⭐⭐⭐⭐ عالی ⭐⭐⭐ متوسط CDN/Cloudflare

⚠️ نکته مهم درباره Fingerprint

Fingerprint فقط با Insecure TLS و System TLS کار می‌کند!

چرا؟ چون:

  • One-Way TLS و mTLS نیاز به key pinning دارند
  • Key pinning با fingerprint spoofing سازگار نیست
  • مرورگرها (Chrome/Firefox/Safari) از Ed25519 در fingerprint پشتیبانی نمی‌کنند
  • حتی با ECDSA، key pinning fingerprint را خراب می‌کند

🎭 Fingerprint Spoofing چیست؟

تعریف: Fingerprint Spoofing یک تکنیک است که TLS handshake شما را شبیه مرورگرهای واقعی (Chrome, Firefox, Safari) می‌کند تا از تشخیص توسط DPI (Deep Packet Inspection) جلوگیری کند.

چگونه کار می‌کند؟

  1. هر مرورگر یک "اثر انگشت" منحصر به فرد در TLS handshake دارد
  2. ISP‌ها می‌توانند این fingerprint را بخوانند و VPN/Proxy را تشخیص دهند
  3. Phoenix می‌تواند fingerprint مرورگرهای واقعی را جعل کند
  4. ISP فکر می‌کند شما در حال مرور عادی وب هستید

مزایا:

  • ✅ دور زدن فیلترینگ DPI در ایران
  • ✅ تشخیص سخت‌تر به عنوان VPN/Proxy
  • ✅ عبور بهتر از فایروال‌های پیشرفته
  • ✅ کاهش احتمال مسدود شدن

معایب:

  • ❌ نیاز به ECDSA key در سرور (اگر از key pinning استفاده می‌کنید)
  • ❌ با Ed25519 + key pinning کار نمی‌کند
  • ❌ کمی پیچیده‌تر در تنظیم

🔑 مقایسه ECDSA vs Ed25519

ویژگی ECDSA P256 Ed25519
سرعت متوسط سریع‌تر
امنیت عالی عالی‌تر
اندازه کلید 256 بیت 256 بیت
سازگاری با Fingerprint ✅ بله ❌ خیر (با key pinning)
پشتیبانی مرورگرها همه همه
استفاده در Phoenix برای fingerprint پیش‌فرض

چه زمانی از ECDSA استفاده کنیم؟

  • ✅ وقتی می‌خواهید از fingerprint spoofing استفاده کنید
  • ✅ وقتی در ایران یا کشورهای تحت سانسور هستید
  • ✅ وقتی DPI مشکل اصلی شماست

چه زمانی از Ed25519 استفاده کنیم؟

  • ✅ وقتی حداکثر امنیت و سرعت می‌خواهید
  • ✅ وقتی از mTLS استفاده می‌کنید
  • ✅ وقتی fingerprint نیاز ندارید

🎯 ترکیبات توصیه شده

1️⃣ برای ایران (دور زدن DPI)

# سرور
Enable Fingerprint Support? → y (ECDSA key)
Security Mode → Insecure TLS (فقط گزینه 2 نمایش داده می‌شود)

# کلاینت
remote_addr = "SERVER_IP:443"
tls_mode = "insecure"
fingerprint = "chrome"

چرا این ترکیب؟

  • رمزنگاری کامل دارید
  • DPI را دور می‌زنید
  • ساده و کارآمد است
  • نکته: وقتی fingerprint فعال است، سرور فقط NO TLS و Insecure TLS نشان می‌دهد

2️⃣ برای حداکثر امنیت (بدون fingerprint)

# سرور
Enable Fingerprint Support? → n (Ed25519 key)
Security Mode → 3) mTLS

# کلاینت
remote_addr = "SERVER_IP:443"
server_public_key = "..."
private_key = "client.private.key"
# بدون fingerprint

چرا این ترکیب؟

  • احراز هویت دوطرفه
  • محافظت در برابر probing
  • سریع‌ترین کلید (Ed25519)
  • نکته: fingerprint با mTLS کار نمی‌کند

3️⃣ برای CDN/Cloudflare

# سرور
هر تنظیماتی (با یا بدون fingerprint)

# کلاینت
remote_addr = "your-domain.com:443"
tls_mode = "system"
fingerprint = "chrome"  # اختیاری

چرا این ترکیب؟

  • IP سرور مخفی می‌ماند
  • از CDN Cloudflare استفاده می‌کنید
  • fingerprint کار می‌کند

⚠️ ترکیبات که کار نمی‌کنند

ECDSA + One-Way TLS + Fingerprint

# سرور: ECDSA key
# کلاینت:
server_public_key = "..."  # Key pinning
fingerprint = "chrome"

خطا: Key pinning با fingerprint سازگار نیست!

Ed25519 + One-Way TLS + Fingerprint

# سرور: Ed25519 key
# کلاینت:
server_public_key = "ed25519_key"
fingerprint = "chrome"

خطا: peer doesn't support signature algorithms

Ed25519 + mTLS + Fingerprint

# سرور: Ed25519 key + mTLS
# کلاینت:
server_public_key = "..."
private_key = "client.private.key"
fingerprint = "chrome"

خطا: peer doesn't support signature algorithms

NO TLS + Fingerprint

# این بی‌معنی است!
# بدون TLS نیست
fingerprint = "chrome"

دلیل: fingerprint فقط برای TLS handshake است

✅ ترکیبات صحیح

ECDSA + Insecure TLS + Fingerprint (توصیه برای ایران)

# سرور
Enable Fingerprint Support? → y (ECDSA key)
Security Mode → Insecure TLS (option 2)

# کلاینت
remote_addr = "SERVER_IP:443"
tls_mode = "insecure"
fingerprint = "chrome"

نتیجه: ✅ رمزنگاری + دور زدن DPI

Ed25519 + Insecure TLS + Fingerprint

# سرور
Enable Fingerprint Support? → n (Ed25519 key)
Security Mode → Insecure TLS (option 2)

# کلاینت
remote_addr = "SERVER_IP:443"
tls_mode = "insecure"
fingerprint = "chrome"

نتیجه: ✅ رمزنگاری + دور زدن DPI (بدون key pinning)

Ed25519 + mTLS بدون Fingerprint (توصیه برای امنیت)

# سرور
Enable Fingerprint Support? → n (Ed25519 key)
Security Mode → mTLS (option 3)

# کلاینت
remote_addr = "SERVER_IP:443"
server_public_key = "..."
private_key = "client.private.key"
# بدون fingerprint

نتیجه: ✅ حداکثر امنیت + سرعت بالا

System TLS + Fingerprint (برای CDN)

# کلاینت
remote_addr = "your-domain.com:443"
tls_mode = "system"
fingerprint = "chrome"

نتیجه: ✅ CDN + دور زدن DPI

حالت One-Way TLS (گزینه 2)

این حالت مانند HTTPS عمل می‌کند:

  1. اسکریپت کلید سرور را تولید می‌کند
  2. کلید عمومی سرور را کپی کنید
  3. در فایل client.toml خود اضافه کنید:
server_public_key = "کلید_عمومی_سرور"

حالت mTLS (گزینه 3) - پیشنهادی ⭐

بالاترین سطح امنیت با احراز هویت دوطرفه:

روی سرور (VPS):

اسکریپت به صورت خودکار:

  • کلید سرور را تولید می‌کند
  • کلید عمومی سرور را نمایش می‌دهد

تنظیم client.toml:

# Phoenix Client Configuration
remote_addr = "IP_SERVER:443"

# Server's public key for secure connection
server_public_key = "کلید_عمومی_سرور"

# Client's private key (only for mTLS)
private_key = "client.private.key"

# Local SOCKS5 Proxy
[[inbounds]]
protocol = "socks5"
local_addr = "127.0.0.1:1080"
enable_udp = true

تنظیم server.toml:

کلید عمومی کلاینت را در اسکریپت وارد کنید یا دستی به server.toml اضافه کنید:

authorized_clients = [
  "کلید_عمومی_کلاینت"
]

⚙️ مدیریت سرویس

مدیریت سرور (Kharej)

از منوی اصلی، گزینه Server (Kharej) > Server Management را انتخاب کنید

گزینه‌های مدیریت سرور:

  1. Service Status - نمایش وضعیت سرویس
  2. Show Server Info & Keys - نمایش IP، پورت و کلید عمومی سرور
  3. Real-time Logs - مشاهده لاگ‌های زنده
  4. Restart Service - راه‌اندازی مجدد
  5. Edit Config - ویرایش server.toml
  6. Add Client Public Key (mTLS) - افزودن کلید عمومی کلاینت
  7. Regenerate Server Keys - تولید مجدد کلیدهای سرور
  8. Generate New Server Keys Manually - تولید کلید جدید بدون تغییر کانفیگ
  9. Rename Instance - تغییر نام نمونه سرور
  10. Uninstall - حذف کامل

مدیریت کلاینت (Iran)

از منوی اصلی، گزینه Client (Iran) > Client Management را انتخاب کنید

گزینه‌های مدیریت کلاینت:

  1. Service Status - نمایش وضعیت سرویس
  2. Show Client Info & Keys - نمایش تنظیمات، پورت‌ها و کلیدها
  3. Real-time Logs - مشاهده لاگ‌های زنده
  4. Restart Service - راه‌اندازی مجدد
  5. Edit Config - ویرایش client.toml
  6. Update Server Public Key - به‌روزرسانی کلید عمومی سرور
  7. Regenerate Client Keys (mTLS) - تولید مجدد کلیدهای کلاینت
  8. Generate New Client Keys Manually - تولید کلید جدید بدون تغییر کانفیگ
  9. Configure TLS Fingerprint - تنظیم fingerprint برای دور زدن DPI
  10. Test Proxy Connection - تست اتصال پروکسی
  11. Get Shadowsocks Link - دریافت لینک Shadowsocks
  12. Port Forward Management - مدیریت فورواد پورت‌ها (SSH, MySQL, X-ray و...)
  13. Rename Instance - تغییر نام نمونه کلاینت
  14. Uninstall - حذف کامل

🧪 تست اتصال پروکسی

گزینه تست کامل پروکسی:

اطلاعات نمایش داده شده:

  • ✅ وضعیت پورت Socks5
  • 🌍 IP Address خروجی
  • 🗺️ کشور و کد کشور
  • ⏱️ میانگین Latency (پینگ)
  • 📊 کیفیت اتصال

نحوه استفاده:

  1. در منوی مدیریت کلاینت، گزینه 9 را انتخاب کنید
  2. اسکریپت به صورت خودکار:
    • پورت Socks5 را از کانفیگ می‌خواند
    • اتصال را تست می‌کند
    • اطلاعات IP و لوکیشن را نمایش می‌دهد
    • 3 بار پینگ می‌زند و میانگین را محاسبه می‌کند

🔧 دستورات دستی

مدیریت سرویس سرور:

# شروع سرویس
systemctl start phoenix

# توقف سرویس
systemctl stop phoenix

# راه‌اندازی مجدد
systemctl restart phoenix

# وضعیت سرویس
systemctl status phoenix

# مشاهده لاگ‌ها
journalctl -u phoenix -f

مدیریت سرویس کلاینت:

# شروع سرویس
systemctl start phoenix-client

# توقف سرویس
systemctl stop phoenix-client

# راه‌اندازی مجدد
systemctl restart phoenix-client

# وضعیت سرویس
systemctl status phoenix-client

# مشاهده لاگ‌ها
journalctl -u phoenix-client -f

ویرایش تنظیمات:

# سرور
nano /root/phoenix/server.toml
systemctl restart phoenix

# کلاینت
nano /root/phoenix/client.toml
systemctl restart phoenix-client

📁 ساختار فایل‌ها

سرور (Kharej):

/root/phoenix/
├── phoenix-server           # باینری سرور
├── server.toml              # فایل پیکربندی سرور
└── server.private.key       # کلید خصوصی سرور (mTLS)

/etc/systemd/system/
└── phoenix.service          # فایل سرویس systemd

کلاینت (Iran):

/root/phoenix/
├── phoenix-client           # باینری کلاینت
├── client.toml              # فایل پیکربندی کلاینت
└── client.private.key       # کلید خصوصی کلاینت (mTLS)

/etc/systemd/system/
└── phoenix-client.service   # فایل سرویس systemd


🔧 عیب‌یابی و رفع مشکلات

❌ مشکلات رایج Fingerprint

1. خطای "TLS handshake failed"

utls handshake failed: tls: first record does not look like a TLS handshake

علت: سرور NO TLS است ولی کلاینت TLS می‌خواهد

راه حل:

  • سرور را با One-Way TLS یا mTLS نصب کنید
  • یا کلاینت را بدون TLS تنظیم کنید (توصیه نمی‌شود)

2. خطای "peer doesn't support signature algorithms"

tls: peer doesn't support any of the certificate's signature algorithms

علت: سرور Ed25519 دارد ولی fingerprint فعال است

راه حل:

# گزینه 1: غیرفعال کردن fingerprint
sed -i '/^fingerprint = /d' /root/phoenix/client.toml
systemctl restart phoenix-client

# گزینه 2: استفاده از Insecure TLS
# در client.toml:
tls_mode = "insecure"
fingerprint = "chrome"
# حذف خط server_public_key

3. خطای "bad certificate"

tls: bad certificate

علت: کلید عمومی سرور اشتباه است

راه حل:

# در سرور، کلید عمومی را ببینید:
cat /root/phoenix/server_public.key

# در کلاینت، کلید را به‌روز کنید:
nano /root/phoenix/client.toml
# server_public_key = "کلید_صحیح"
systemctl restart phoenix-client

🔍 مشکلات اتصال

1. سرویس شروع نمی‌شود

# بررسی لاگ‌ها
journalctl -u phoenix -n 50
# یا
journalctl -u phoenix-client -n 50

# بررسی فایل کانفیگ
nano /root/phoenix/server.toml
# یا
nano /root/phoenix/client.toml

مشکلات رایج:

  • پورت اشغال است: ss -tuln | grep :443
  • فایل کلید وجود ندارد: ls -la /root/phoenix/*.key
  • سینتکس اشتباه در TOML

2. کلاینت به سرور وصل نمی‌شود

# تست اتصال
curl -x socks5h://127.0.0.1:1080 https://ifconfig.me

# اگر خطا داد:
# 1. بررسی سرور
systemctl status phoenix

# 2. بررسی فایروال سرور
ufw status
ufw allow 443/tcp

# 3. بررسی IP و پورت در client.toml
grep remote_addr /root/phoenix/client.toml

3. SOCKS5 کار نمی‌کند

# بررسی پورت
ss -tuln | grep :1080

# اگر خالی بود، سرویس کلاینت مشکل دارد
systemctl restart phoenix-client
journalctl -u phoenix-client -f

🛠️ ابزارهای Debug

اسکریپت تست اتصال

# تست کامل پروکسی
# در منوی کلاینت: گزینه 10) Test Proxy Connection

این اسکریپت بررسی می‌کند:

  • ✅ پورت SOCKS5 فعال است؟
  • ✅ اتصال به سرور برقرار است؟
  • ✅ IP خروجی چیست؟
  • ✅ کشور و latency

بررسی دستی

# تست با curl
curl -x socks5h://127.0.0.1:1080 https://api.myip.com

# تست DNS
curl -x socks5h://127.0.0.1:1080 https://www.google.com

# تست سرعت
time curl -x socks5h://127.0.0.1:1080 -o /dev/null -s https://www.google.com

📝 لاگ‌های مفید

سرور

# لاگ زنده
journalctl -u phoenix -f

# 100 خط آخر
journalctl -u phoenix -n 100

# لاگ‌های امروز
journalctl -u phoenix --since today

کلاینت

# لاگ زنده
journalctl -u phoenix-client -f

# فقط خطاها
journalctl -u phoenix-client -p err

# با فیلتر
journalctl -u phoenix-client | grep "Error"

🔄 راه‌حل‌های سریع

نصب مجدد سرور

# در اسکریپت Aura:
# 1) Server (Kharej)
# 1) Install / Reinstall Server
# فایل‌های قبلی backup می‌شوند

تغییر نوع کلید سرور

# اگر می‌خواهید از Ed25519 به ECDSA تغییر دهید:
cd /root/phoenix

# Backup
mv server.private.key server.private.key.ed25519

# تولید ECDSA
openssl ecparam -genkey -name prime256v1 -noout -out temp.key
openssl pkcs8 -topk8 -nocrypt -in temp.key -out server.private.key
rm temp.key

# ذخیره نوع
echo "ECDSA_P256" > server_key_type.txt

# Restart
systemctl restart phoenix

ریست کامل کلاینت

# حذف کامل
systemctl stop phoenix-client
systemctl disable phoenix-client
rm -rf /root/phoenix
rm -f /etc/systemd/system/phoenix-client.service
systemctl daemon-reload

# نصب مجدد با اسکریپت Aura


❓ سوالات متداول (FAQ)

عمومی

Q: چگونه می‌توانم چند پروتکل را همزمان فعال کنم؟ A: در هنگام نصب کلاینت، به سوالات پروتکل‌ها y پاسخ دهید:

  • SOCKS5: y
  • SSH: y
  • Shadowsocks: y

Q: آیا می‌توانم سرور و کلاینت را روی یک سیستم نصب کنم؟ A: بله! اسکریپت از نصب همزمان پشتیبانی می‌کند. هر instance نام و دایرکتوری جداگانه دارد.

Q: چگونه کلید عمومی سرور را ببینم؟ A: در منوی مدیریت سرور → 2) Show Server Info & Keys

Q: چگونه کلیدها را تغییر دهم؟ A:

  • سرور: گزینه 7) Regenerate Server Keys
  • کلاینت: گزینه 7) Regenerate Client Keys

Q: چگونه پروکسی را تست کنم؟ A: در منوی کلاینت → 10) Test Proxy Connection

Q: آیا از Oracle Cloud پشتیبانی می‌شود؟ A: بله! معماری ARM64 به صورت خودکار تشخیص داده می‌شود.

Fingerprint Spoofing

Q: Fingerprint چیست و چرا به آن نیاز دارم؟ A: Fingerprint Spoofing اتصال شما را شبیه مرورگرهای واقعی می‌کند تا از تشخیص توسط DPI جلوگیری کند. در ایران و کشورهای تحت سانسور بسیار مفید است.

Q: چه زمانی باید fingerprint را فعال کنم؟ A:

  • ✅ اگر در ایران یا کشور تحت سانسور هستید
  • ✅ اگر ISP شما DPI دارد
  • ✅ اگر اتصال شما مسدود می‌شود
  • ❌ اگر فقط امنیت می‌خواهید (از mTLS استفاده کنید)

Q: کدام fingerprint را انتخاب کنم؟ A: Chrome را انتخاب کنید. بهترین سازگاری را دارد.

Q: چرا fingerprint با Ed25519 کار نمی‌کند؟ A: مرورگرها (Chrome/Firefox/Safari) از الگوریتم امضای Ed25519 در TLS fingerprint پشتیبانی نمی‌کنند. این محدودیت مرورگرهاست، نه Phoenix.

Q: آیا می‌توانم با ECDSA از mTLS استفاده کنم؟ A: خیر! حتی با ECDSA، fingerprint با One-Way TLS و mTLS کار نمی‌کند چون key pinning با fingerprint spoofing سازگار نیست. فقط Insecure TLS و System TLS با fingerprint کار می‌کنند.

Q: کدام حالت TLS با fingerprint کار می‌کند؟ A: فقط این دو حالت:

  • Insecure TLS (tls_mode="insecure") - توصیه می‌شود
  • System TLS (tls_mode="system") - برای CDN
  • One-Way TLS - کار نمی‌کند (key pinning)
  • mTLS - کار نمی‌کند (key pinning)
  • NO TLS - بی‌معنی است (بدون TLS نیست)

Q: fingerprint روی سرعت تاثیر می‌گذارد؟ A: خیر، تاثیر قابل توجهی ندارد. فقط TLS handshake را تغییر می‌دهد.

Q: آیا می‌توانم بعد از نصب fingerprint را فعال کنم؟ A: بله! در منوی کلاینت → 9) Configure TLS Fingerprint ولی توجه کنید که اگر سرور شما One-Way TLS یا mTLS دارد، fingerprint کار نمی‌کند.

Q: اگر سرور من mTLS دارد، چطور fingerprint فعال کنم؟ A: نمی‌توانید! باید یکی را انتخاب کنید:

  • یا mTLS (حداکثر امنیت، بدون fingerprint)
  • یا Insecure TLS + Fingerprint (دور زدن DPI) نمی‌توان هر دو را همزمان داشت.

TLS و امنیت

Q: کدام حالت TLS را انتخاب کنم؟ A: بستگی به نیاز شما دارد:

  • Insecure TLS: برای ایران + fingerprint
  • mTLS: برای حداکثر امنیت
  • System TLS: برای CDN/Cloudflare

Q: تفاوت Insecure TLS و NO TLS چیست؟ A:

  • NO TLS: هیچ رمزنگاری ندارد (خطرناک)
  • Insecure TLS: رمزنگاری کامل دارد ولی certificate را تایید نمی‌کند (امن)

Q: mTLS چیست؟ A: Mutual TLS یعنی هم سرور و هم کلاینت باید کلید داشته باشند. بالاترین سطح امنیت و محافظت در برابر probing.

Q: چرا باید از ECDSA برای fingerprint استفاده کنم؟ A: چون مرورگرها فقط از ECDSA پشتیبانی می‌کنند. Ed25519 سریع‌تر است ولی با fingerprint کار نمی‌کند.

کانفیگ و تنظیمات

Q: چگونه پورت SOCKS5 را تغییر دهم؟ A: فایل client.toml را ویرایش کنید:

nano /root/phoenix/client.toml
# تغییر local_addr در بخش [[inbounds]]
# مثلاً: local_addr = "127.0.0.1:2080"
systemctl restart phoenix-client

Q: چگونه لاگ‌ها را ببینم؟ A:

# سرور
journalctl -u phoenix -f

# کلاینت
journalctl -u phoenix-client -f

Q: چگونه نام instance را تغییر دهم؟ A: در منوی مدیریت:

  • سرور: گزینه 9) Rename Instance
  • کلاینت: گزینه 12) Rename Instance

Q: چگونه چند سرور یا کلاینت داشته باشم؟ A: هر بار که نصب می‌کنید، یک نام متفاوت انتخاب کنید:

  • سرور: phoenix-de, phoenix-us, phoenix-uk
  • کلاینت: phoenix-iran1-client, phoenix-tehran-client

مشکلات رایج

Q: خطای "Port is occupied" می‌گیرم A: پورت اشغال است:

ss -tuln | grep :443
# پورت دیگری انتخاب کنید یا سرویس قبلی را stop کنید

Q: خطای "TLS handshake failed" می‌گیرم A: احتمالاً سرور NO TLS است ولی کلاینت TLS می‌خواهد. یا برعکس.

Q: خطای "bad certificate" می‌گیرم A: کلید عمومی سرور در کلاینت اشتباه است. کلید را دوباره کپی کنید.

Q: SOCKS5 کار نمی‌کند A:

# بررسی سرویس
systemctl status phoenix-client

# بررسی پورت
ss -tuln | grep :1080

# تست
curl -x socks5h://127.0.0.1:1080 https://ifconfig.me

Q: سرعت کند است A:

  1. سرور را نزدیک‌تر انتخاب کنید
  2. از UDP استفاده کنید (enable_udp = true)
  3. از Ed25519 به جای ECDSA استفاده کنید (اگر fingerprint نمی‌خواهید)

CDN و Cloudflare

Q: چگونه از Cloudflare استفاده کنم؟ A:

  1. دامنه را به Cloudflare اضافه کنید
  2. یک A record به IP سرور اضافه کنید
  3. Proxy را فعال کنید (ابر نارنجی)
  4. در کلاینت: Connection Type → 2) Yes - Using domain
  5. آدرس: your-domain.com:443

Q: آیا fingerprint با Cloudflare کار می‌کند؟ A: بله! با tls_mode = "system" کار می‌کند.

Q: چرا باید از CDN استفاده کنم؟ A:

  • IP سرور مخفی می‌ماند
  • محافظت در برابر DDoS
  • سرعت بهتر (در برخی موارد)

پیشرفته

Q: چگونه لینک Shadowsocks بگیرم؟ A: در منوی کلاینت → 11) Get Shadowsocks Link

Q: چگونه کلید دستی تولید کنم؟ A: در منوی مدیریت:

  • سرور: 8) Generate New Server Keys Manually
  • کلاینت: 8) Generate New Client Keys Manually

Q: چگونه کلاینت جدید به mTLS اضافه کنم؟ A:

  1. روی کلاینت جدید کلید تولید کنید
  2. کلید عمومی را کپی کنید
  3. در سرور: منو → 6) Add Client Public Key
  4. کلید را paste کنید

Q: چگونه instance را حذف کنم؟ A: در منوی مدیریت:

  • سرور: 10) Uninstall Phoenix
  • کلاینت: 14) Uninstall Client

Q: فایل‌های کانفیگ کجا هستند؟ A:

  • سرور: /root/phoenix/phoenix-INSTANCE_NAME/server.toml
  • کلاینت: /root/phoenix/phoenix-INSTANCE_NAME-client/client.toml
  • کلیدها: در همان دایرکتوری با پسوند .key

Port Forward

Q: Port Forward چیست و چه کاربردی دارد؟ A: Port Forward به شما اجازه می‌دهد پورت‌های سرور خارج را از طریق سرور ایران در دسترس قرار دهید. مثلاً SSH، MySQL، یا X-ray سرور خارج را از طریق IP ایران استفاده کنید.

Q: Port Forward را کجا نصب کنم؟ A: فقط روی سرور ایران! Port Forward باید روی سرور ایران (جایی که Phoenix Client نصب است) نصب شود، نه سرور خارج.

Q: چگونه Port Forward اضافه کنم؟ A:

bash aura.sh
# 2) Client (Iran)
# 2) Client Management
# 12) Port Forward Management
# 1) Add New Port Forward

Q: چند Port Forward می‌توانم داشته باشم؟ A: نامحدود! می‌توانید چندین پورت را همزمان فورواد کنید. هر کدام یک systemd service جداگانه دارند.

Q: آیا می‌توانم چند پورت را با یک تانل فوروارد کنم؟ (جدید در v1.0.2) A: بله! هنگام اضافه کردن Port Forward، گزینه "Multiple ports forward" را انتخاب کنید و پورت‌ها را با کاما جدا کنید (مثلاً 9090,9091,9092). این روش کارآمدتر است چون از یک تانل SOCKS5 مشترک استفاده می‌کند.

Q: Port Forward بعد از ریبوت فعال می‌ماند؟ A: بله، همه port forwardها با systemd مدیریت می‌شوند و بعد از ریبوت خودکار شروع می‌شوند.

Q: چگونه Port Forward را حذف کنم؟ A: در منوی Port Forward Management → 6) Remove Port Forward

Q: Port Forward کار نمی‌کند، چه کنم؟ A: بررسی کنید:

  1. Phoenix Client فعال است: systemctl status phoenix-*-client
  2. SOCKS5 کار می‌کند: curl -x socks5h://127.0.0.1:1080 https://api.myip.com
  3. سرویس مقصد روی سرور خارج فعال است
  4. فایروال سرور خارج پورت را باز کرده است

Q: آیا می‌توانم UDP را فورواد کنم؟ A: خیر، در حال حاضر فقط TCP پشتیبانی می‌شود.

Q: چگونه لاگ Port Forward را ببینم؟ A:

journalctl -u gost-pf-NAME -f
# یا از منو: 5) View Port Forward Logs

Q: آیا می‌توانم X-ray را از طریق Phoenix تانل کنم؟ A: بله! X-ray را روی سرور خارج نصب کنید، سپس پورت آن را با Port Forward به سرور ایران متصل کنید. در کانفیگ X-ray کلاینت، IP سرور ایران را وارد کنید.

Q: Port Forward روی سرعت تاثیر می‌گذارد؟ A: بله، چون ترافیک از طریق دو سرور عبور می‌کند. ولی برای بیشتر کاربردها (SSH، Database) قابل قبول است.

Q: چگونه Port Forward را فقط برای localhost محدود کنم؟ A: فایل service را ویرایش کنید و 0.0.0.0 را به 127.0.0.1 تغییر دهید:

nano /etc/systemd/system/gost-pf-NAME.service
systemctl daemon-reload
systemctl restart gost-pf-NAME

🚀 Port Forward با Gost

📖 معرفی

قابلیت Port Forward به شما اجازه می‌دهد که پورت‌های مختلف را از سرور ایران به سرورهای خارجی فورواد کنید. این قابلیت با استفاده از Gost و از طریق تانل SOCKS5 موجود Phoenix کار می‌کند.

🎯 کاربردها

  • 🔐 SSH Forward: دسترسی به SSH سرورهای خارجی از طریق IP ایران
  • 💾 Database Forward: اتصال به دیتابیس‌های خارجی (MySQL, PostgreSQL, MongoDB)
  • 🌐 Web Services: دسترسی به سرویس‌های وب داخلی
  • 🎮 Game Servers: فورواد پورت برای سرورهای بازی
  • X-ray/V2ray Tunnel: تانل کردن پروکسی‌های دیگر از طریق Phoenix
  • �📡 هر سرویس TCP دیگری

🏗️ معماری

کامپیوتر شما
    ↓
سرور ایران (Port Forward با Gost)
    ↓ (از طریق Phoenix SOCKS5)
سرور خارج (سرویس مقصد)

مهم: Port Forward باید روی سرور ایران نصب شود، نه سرور خارج!

🚀 نحوه استفاده

مرحله 1: دسترسی به منو

# روی سرور ایران:
bash aura.sh

# انتخاب:
# 2) Client (Iran)
# 2) Client Management
# 12) Port Forward Management (Gost)

مرحله 2: اضافه کردن Port Forward

گزینه 1) Add New Port Forward را انتخاب کنید.

📝 مثال‌های کاربردی

مثال 1: فورواد SSH

دسترسی به SSH سرور خارجی از طریق IP ایران:

Local listen port: 2222
Destination IP: xxx.xxx.xxx.xxx  (IP سرور خارج)
Destination port: 22
Name: ssh-server

استفاده:

# از کامپیوتر خودتون:
ssh root@yyy.yyy.yyy.yyy -p 2222

# یا اگر سرور ایران دامنه داره:
ssh root@iran-server.com -p 2222

مثال 2: فورواد MySQL

اتصال به MySQL سرور خارجی:

Local listen port: 3306
Destination IP: xxx.xxx.xxx.xxx
Destination port: 3306
Name: mysql-db

استفاده:

# از کامپیوتر خودتون:
mysql -h yyy.yyy.yyy.yyy -P 3306 -u username -p

# یا در کد PHP:
$host = "yyy.yyy.yyy.yyy";
$port = 3306;

مثال 3: فورواد X-ray/V2ray

تانل کردن X-ray از طریق Phoenix:

Local listen port: 10000
Destination IP: xxx.xxx.xxx.xxx
Destination port: 10000
Name: xray

استفاده:

// کانفیگ X-ray کلاینت:
{
  "outbounds": [{
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "yyy.yyy.yyy.yyy",  // IP سرور ایران
        "port": 10000,
        "users": [...]
      }]
    }
  }]
}

مثال 4: فورواد چند پورت همزمان (جدید در v1.0.2)

فورواد چندین پورت با یک تانل:

Port Forward Mode: 2) Multiple ports forward
Local ports: 9090,9091,9092
Destination IP: xxx.xxx.xxx.xxx
Destination Port Mapping: 1) Same ports
Name: multi-services

نتیجه:

  • پورت 9090 → xxx.xxx.xxx.xxx:9090
  • پورت 9091 → xxx.xxx.xxx.xxx:9091
  • پورت 9092 → xxx.xxx.xxx.xxx:9092

استفاده:

# دسترسی به سرویس اول
curl http://yyy.yyy.yyy.yyy:9090

# دسترسی به سرویس دوم
curl http://yyy.yyy.yyy.yyy:9091

# دسترسی به سرویس سوم
curl http://yyy.yyy.yyy.yyy:9092

مزایا:

  • ✅ یک سرویس systemd برای همه پورت‌ها
  • ✅ یک تانل SOCKS5 مشترک (کارآمدتر)
  • ✅ مدیریت آسان‌تر
  • ✅ مصرف منابع کمتر

مثال 5: فورواد Web Panel

دسترسی به پنل مدیریت سرور خارج:

Local listen port: 8080
Destination IP: xxx.xxx.xxx.xxx
Destination port: 80
Name: web-panel

استفاده:

مرورگر: http://yyy.yyy.yyy.yyy:8080

⚙️ گزینه‌های مدیریت

گزینه توضیحات
1) Add New Port Forward اضافه کردن فورواد جدید
2) List Port Forwards نمایش لیست همه فورواردها با جزئیات
3) Stop Port Forward توقف موقت یک فورواد
4) Start Port Forward شروع مجدد فورواد متوقف شده
5) View Port Forward Logs مشاهده لاگ‌های real-time
6) Remove Port Forward حذف کامل فورواد

🔍 بررسی وضعیت

# لیست همه port forwardها:
systemctl list-units 'gost-pf-*'

# وضعیت یک port forward خاص:
systemctl status gost-pf-xray

# مشاهده لاگ:
journalctl -u gost-pf-xray -f

# بررسی پورت:
ss -tuln | grep :10000

🛡️ نکات امنیتی

⚠️ هشدار مهم

پورت‌های فورواد شده به صورت پیش‌فرض روی 0.0.0.0 listen می‌کنند، یعنی از همه IP‌ها قابل دسترسی هستند!

محدود کردن به localhost

اگر فقط می‌خواهید از خود سرور ایران استفاده کنید:

nano /etc/systemd/system/gost-pf-NAME.service

# تغییر این خط:
ExecStart=/usr/local/bin/gost -L=tcp://0.0.0.0:PORT/...

# به:
ExecStart=/usr/local/bin/gost -L=tcp://127.0.0.1:PORT/...

# ذخیره و ریستارت:
systemctl daemon-reload
systemctl restart gost-pf-NAME

محدود کردن با فایروال

# فقط از IP خاص اجازه دسترسی:
ufw allow from zzz.zzz.zzz.zzz to any port 10000

# یا محدود کردن به رنج IP:
ufw allow from zzz.zzz.0.0/16 to any port 10000

🐛 عیب‌یابی

مشکل: Port Forward کار نمی‌کند

1. بررسی Phoenix Client:

systemctl status phoenix-*-client
journalctl -u phoenix-*-client -n 50

2. تست SOCKS5:

curl -x socks5h://127.0.0.1:1080 https://api.myip.com

3. بررسی Gost:

systemctl status gost-pf-NAME
journalctl -u gost-pf-NAME -n 50

4. بررسی سرور مقصد:

# روی سرور خارج:
ss -tuln | grep :PORT

مشکل: اتصال برقرار میشه ولی بلافاصله قطع میشه

علت: سرویس روی سرور خارج اجرا نمیشه یا فایروال بلاک کرده.

راه‌حل:

# روی سرور خارج:
# بررسی سرویس:
systemctl status SERVICE_NAME

# بررسی فایروال:
ufw allow PORT/tcp

مشکل: خطای "connection refused"

علت: پورت مقصد روی سرور خارج بسته است.

راه‌حل:

# روی سرور خارج:
# باز کردن پورت:
ufw allow PORT/tcp

# یا غیرفعال کردن موقت فایروال:
ufw disable

📊 مثال واقعی (X-ray Tunnel)

سناریو:

  • سرور خارج: xxx.xxx.xxx.xxx (X-ray روی پورت 10000)
  • سرور ایران: yyy.yyy.yyy.yyy (Phoenix Client + Port Forward)
  • کامپیوتر شما: zzz.zzz.zzz.zzz

مراحل:

1. روی سرور خارج:

# نصب و راه‌اندازی X-ray روی پورت 10000
# باز کردن پورت:
ufw allow 10000/tcp

2. روی سرور ایران:

bash aura.sh
# Client Management → Port Forward Management
# Add New Port Forward:
# Local: 10000
# Destination: xxx.xxx.xxx.xxx
# Port: 10000
# Name: xray

3. روی کامپیوتر شما:

// کانفیگ X-ray:
{
  "outbounds": [{
    "protocol": "vmess",
    "settings": {
      "vnext": [{
        "address": "yyy.yyy.yyy.yyy",  // IP سرور ایران
        "port": 10000
      }]
    }
  }]
}

4. تست:

# روی سرور ایران:
journalctl -u gost-pf-xray -f

# باید لاگ‌های اتصال رو ببینید:
# [tcp] YOUR_IP:PORT <-> xxx.xxx.xxx.xxx:10000

💡 نکات مهم

  1. Port Forward باید روی سرور ایران نصب شود
  2. Phoenix Client باید فعال و متصل باشد
  3. سرویس مقصد باید روی سرور خارج اجرا شود
  4. فایروال سرور خارج باید پورت را باز کند
  5. ⚠️ از پورت‌های privileged (زیر 1024) با احتیاط استفاده کنید
  6. ⚠️ برای امنیت بیشتر، دسترسی را محدود کنید

📚 راهنمای کامل

برای اطلاعات بیشتر، مثال‌های پیشرفته و عیب‌یابی کامل، فایل PORT_FORWARD_GUIDE.md را مطالعه کنید.


🤝 مشارکت

از مشارکت شما استقبال می‌کنیم!

نحوه مشارکت:

  1. Fork کردن پروژه
  2. ایجاد Branch جدید (git checkout -b feature/AmazingFeature)
  3. Commit کردن تغییرات (git commit -m 'Add some AmazingFeature')
  4. Push به Branch (git push origin feature/AmazingFeature)
  5. باز کردن Pull Request

گزارش باگ:

اگر باگی پیدا کردید، لطفاً یک Issue باز کنید با:

  • توضیحات کامل مشکل
  • مراحل بازتولید باگ
  • نسخه سیستم عامل و اسکریپت
  • لاگ‌های مربوطه

📞 پشتیبانی

لینک‌های مفید:

🔗 پروژه Phoenix: github.com/Fox-Fig/phoenix
💻 ریپازیتوری: github.com/AltBypassLab/Aura
📚 مستندات Phoenix: fox-fig.github.io/phoenix

راه‌های ارتباطی:


❤️ حمایت از پروژه

اگر این پروژه برای شما مفید بوده و دوست دارید از توسعه آن حمایت کنید، می‌توانید از طریق کریپتو کمک مالی انجام دهید.

💰 حمایت با کریپتو (NowPayments)

Donate with Crypto via NOWPayments

📊 آمار پروژه

  • خطوط کد: 2300+
  • توابع: 25+
  • پشتیبانی از: Linux (AMD64, ARM64)
  • زبان: Bash
  • نسخه فعلی: 1.0.2
  • امکانات جدید v1.0.2: Port Forward با Gost, Fingerprint Spoofing, ECDSA Support, 5 TLS Modes

📝 لایسنس

این پروژه تحت لایسنس MIT منتشر شده است.


🙏 تشکر

  • Phoenix Project - تانل قدرتمند HTTP/2
  • جامعه AltBypassLab - حمایت و بازخورد
  • تمام کسانی که در توسعه این پروژه مشارکت کرده‌اند

ساخته شده با ✨ توسط Aura

⭐ اگر این پروژه برایتان مفید بود، یک ستاره بدهید!

GitHub stars GitHub forks

Packages

 
 
 

Contributors

Languages