Skip to content

نصب و راه‌اندازی (Installation)

این راهنما بصورت کاملاً عملی و قدم‌به‌قدم نحوه نصب سرور و کلاینت ققنوس را توضیح می‌دهد.

۱. دانلود و نصب سرور (Server Side)

ابتدا باید نسخه Server را بر روی سرور مجازی (VPS) خود دانلود کنید. لطفاً بر اساس سیستم عامل سرور خود، تب مربوطه را انتخاب و دستورات را اجرا کنید.

bash
wget https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-server-linux-amd64.zip
unzip phoenix-server-linux-amd64.zip -d phoenix
cd phoenix
cp example_server.toml server.toml
chmod +x phoenix-server
bash
wget https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-server-linux-arm64.zip
unzip phoenix-server-linux-arm64.zip -d phoenix
cd phoenix
cp example_server.toml server.toml
chmod +x phoenix-server
powershell
Invoke-WebRequest -Uri "https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-server-windows-amd64.zip" -OutFile "phoenix-server.zip"
Expand-Archive -Path "phoenix-server.zip" -DestinationPath "phoenix"
cd phoenix
Copy-Item "example_server.toml" -Destination "server.toml"

نکته مهم

فایل server.toml ایجاد شده است که باید در مرحله بعد (پیکربندی) تنظیم شود. فعلاً برنامه را اجرا نکنید.

پیکربندی اولیه سرور

ویرایشگر فایل لینوکس

برای ویرایش server.toml در محیط ترمینال لینوکس، می‌توانید از دستور nano استفاده کنید:

bash
nano server.toml

برای ذخیره تغییرات، کلید Ctrl+O و سپس Enter را بزنید. برای خروج، Ctrl+X را بزنید.

توجه مهم

شما باید تمام متغیرهای جدول زیر را تنظیم کنید (به‌جز موارد اختیاری مربوط به رمزنگاری).

نکته

در فایل‌های TOML، علامت # در ابتدای خط به معنای توضیحات (Comment) است و آن خط اجرا نمی‌شود.

متغیر (Variable)نوعوضعیتتوضیحات
listen_addrStringاجباریآدرس و پورتی که سرور روی آن گوش می‌دهد (مثال: ":443").
[security]Sectionاجباریشروع بخش تنظیمات امنیتی و پروتکل‌ها.
auth_tokenStringاختیاریتوکن احراز هویت مشترک. تنها کلاینت‌هایی حق ارتباط دارند که این توکن را داشته باشند.
enable_socks5Booleanاجباریآیا کلاینت‌ها اجازه دارند از پروتکل SOCKS5 استفاده کنند؟ (true یا false).
enable_udpBooleanاجباریپشتیبانی از UDP. اکثر سرویس‌های مدرن (یوتیوب، اینستاگرام) به آن نیاز دارند. تنها برای استفاده خاص مثل تلگرام (TLS-only) آن را false کنید.
enable_shadowsocksBooleanاجباریفعال‌سازی پشتیبانی از پروتکل Shadowsocks.
enable_sshBooleanاجباریفعال‌سازی پشتیبانی از تونل SSH.
private_keyStringاختیاریمسیر فایل کلید خصوصی سرور (فقط برای حالت‌های امن).
authorized_clientsArrayاختیاریلیستی از کلیدهای عمومی کلاینت‌های مجاز (فقط برای mTLS).

۲. دانلود و نصب کلاینت (Client Side)

حالا نسخه Client را برای سیستم شخصی خود (ویندوز، لینوکس یا مک) دانلود کنید.

powershell
Invoke-WebRequest -Uri "https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-client-windows-amd64.zip" -OutFile "phoenix-client.zip"
Expand-Archive -Path "phoenix-client.zip" -DestinationPath "phoenix"
cd phoenix
Copy-Item "example_client.toml" -Destination "client.toml"
bash
wget https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-client-linux-amd64.zip
unzip phoenix-client-linux-amd64.zip -d phoenix
cd phoenix
cp example_client.toml client.toml
chmod +x phoenix-client
bash
wget https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-client-darwin-amd64.zip
unzip phoenix-client-darwin-amd64.zip -d phoenix
cd phoenix
cp example_client.toml client.toml
chmod +x phoenix-client
bash
wget https://github.com/Fox-Fig/phoenix/releases/latest/download/phoenix-client-darwin-arm64.zip
unzip phoenix-client-darwin-arm64.zip -d phoenix
cd phoenix
cp example_client.toml client.toml
chmod +x phoenix-client

توجه

فایل client.toml را اجرا نکنید! ابتدا باید آن را تنظیم کنید.

پیکربندی اولیه کلاینت

نکته

فایل client.toml ایجاد شده است. می‌توانید آن را با Notepad یا هر ویرایشگر متنی دیگری باز کنید.

۱. تنظیمات عمومی (Global)

متغیر (Variable)نوعوضعیتتوضیحات
remote_addrStringاجباریآدرس سرور ققنوس (IP یا دامنه) و پورت. مثال: "203.0.113.10:443".
server_public_keyStringاختیاریکلید عمومی سرور (برای One-way TLS و mTLS).
private_keyStringاختیاریمسیر فایل کلید خصوصی کلاینت (فقط برای mTLS).
auth_tokenStringاختیاریتوکن احراز هویت مشترک بین سرور و کلاینت (ساخته شده با -gen-token).
tls_modeStringاختیاریحالت TLS: "system" (برای CDN/کلودفلر) یا "insecure" (سرور مستقیم با سرتیفیکت خودامضا).
fingerprintStringاختیاریجعل اثرانگشت مرورگر: "chrome"، "firefox"، "safari"، "random"

۲. تنظیمات ورودی‌ها ([[inbounds]])

این بخش مشخص می‌کند که کلاینت روی چه پورت‌هایی در کامپیوتر شما گوش دهد. شما می‌توانید چندین ورودی داشته باشید.

آموزش جامع ساخت و مدیریت ورودی‌ها

ققنوس از انواع مختلفی از ورودی‌ها مانند SOCKS5، Shadowsocks و تونل SSH پشتیبانی می‌کند. اگر نیاز به توضیحات بیشتر و آشنایی با نحوه کار هر ورودی (و رمزنگاری‌های آن‌ها) دارید، حتماً صفحه مدیریت خروجی‌ها (Inbounds) را مطالعه کنید!

غیرفعال‌سازی ورودی

اگر می‌خواهید یک ورودی را غیرفعال کنید، کافیست علامت # را در ابتدای خطوط آن قرار دهید تا کامنت شوند.

نکته مهم در مورد پشتیبانی سرور

دقت کنید تنها در صورتی inbound تعریف شده کار می‌کند که سرور از قابلیت مربوطه پشتیبانی کند (مثلاً enable_shadowsocks = true در کانفیگ سرور).

متغیر (Variable)نوعوضعیتتوضیحات
protocolStringاجبارینوع پروتکل ورودی. مقادیر مجاز: "socks5", "shadowsocks", "ssh".
local_addrStringاجباریآدرس و پورتی که روی سیستم شما باز می‌شود. مثال: "127.0.0.1:1080".
enable_udpBooleanاختیاریفعال‌سازی UDP Associate (فقط برای SOCKS5). برای سرویس‌های مدرن (یوتیوب، اینستاگرام) معمولاً true توصیه می‌شود.
authStringاختیاریاطلاعات احراز هویت (مثلاً پسورد Shadowsocks یا مسیر کلید SSH).

اجرای برنامه

هشدار امنیتی

اگر تا این مرحله فقط موارد اجباری را در فایل‌های تنظیمات پر کرده باشید، برنامه کار می‌کند و می‌توانید آن را اجرا کنید؛ اما از هیچ امنیتی برخوردار نیست (Cleartext)!

لذا در صورتی که قصد فعال‌سازی حالت‌های امنیتی (mTLS/One-Way TLS) را دارید، قبل از اجرا به صفحه پیکربندی پیشرفته مراجعه کنید و تنظیمات مربوطه را انجام دهید و سپس برنامه را اجرا نمایید.

برای اجرای برنامه در سرور دستور زیر را بزنید:

bash
./phoenix-server -config server.toml

و در کلاینت برای اجرا:

bash
./phoenix-client -config client.toml

راهنمای فلگ‌ها (Flags)

برای آشنایی با فلگ‌های مختلف برنامه می‌توانید جدول زیر را مطالعه کنید:

فلگ (Flag)برنامهتوضیحات
-configهر دومسیر فایل پیکربندی را مشخص می‌کند. (پیش‌فرض: server.toml یا client.toml)
-gen-keysهر دویک جفت کلید خصوصی و عمومی جدید (Ed25519) تولید می‌کند (برای mTLS/One-Way TLS).
-gen-tokenهر دویک توکن تصادفی امن برای استفاده در auth_token تولید می‌کند.
-get-ssکلاینتدر صورتی که اینباند Shadowsocks داشته باشید، لینک اتصال (ss://) را تولید و چاپ می‌کند.

در صفحه بعد، نحوه پیکربندی (Configuration) را برای سه حالت امنیتی مختلف یاد خواهید گرفت.

تحت مجوز GPLv2 منتشر شده است.