خروجیهای کلاینت (Inbounds)
وقتی کلاینت ققنوس به سرور متصل میشود، یک «تونل» امن بین سیستم شما و سرور ایجاد میکند. حالا برای اینکه برنامههای سیستم شما (مثل تلگرام، مرورگر وب، یا سایر ابزارها) بتوانند اطلاعات خود را از داخل این تونل عبور دهند، کلاینت ققنوس پورتهایی را روی سیستم شما باز میکند.
به این پورتهای محلی Inbounds (ورودیها) گفته میشود.
سیستم ققنوس از چندین پروتکل مختلف پشتیبانی میکند و شما میتوانید بسته به نیاز خود، یک یا چند inbound را به صورت همزمان فعال کنید.
ساختار کلی Inbounds در کلاینت
در فایل client.toml بخشی وجود دارد به نام [[inbounds]]. شما میتوانید با تکرار این بخش، چندین پورت مختلف باز کنید. نکته بسیار مهم: دقت کنید که هر inbound در کلاینت، فقط در صورتی کار میکند که قابلیت مربوطه در server.toml فعال شده باشد.
# نمونه یک Inbound برای SOCKS5
[[inbounds]]
protocol = "socks5"
local_addr = "127.0.0.1:1080"
enable_udp = true۱. خروجی SOCKS5 (پروکسی استاندارد)
معمولترین و پرکاربردترین خروجی، استاندارد SOCKS5 است. تقریباً تمام برنامههای مدرن (تلگرام، مرورگرها از طریق افزونه، ابزارهایی مثل Proxifier یا V2rayNG در ویندوز/موبایل) از پروکسی SOCKS5 پشتیبانی میکنند.
تنظیمات کلاینت:
[[inbounds]]
protocol = "socks5"
local_addr = "127.0.0.1:1080"
enable_udp = true # پیشنهاد میشود true باشدتنظیمات سرور (server.toml):
برای کار کردن این خروجی، باید در سرور متغیرهای زیر فعال باشند:
[security]
enable_socks5 = true
enable_udp = trueچرا UDP مهم است؟
ترافیک بسیاری از سرویسهای جدید (مثل تماسهای صوتی تلگرام، ویدیوهای یوتیوب با استاندارد QUIC، بازیهای آنلاین) بر بستر پروتکل UDP منتقل میشود. روشن بودن enable_udp به کلاینت اجازه میدهد این نوع ترافیک را هم از تونل عبور دهد.
۲. خروجی Shadowsocks (پروکسی محلی)
با فعالسازی این inbound، کلاینت ققنوس تبدیل به یک سرور محلی Shadowsocks در سیستم شما میشود.
چه کاربردی دارد؟
توسعه این بخش در ققنوس الزاماً به این معنی نیست که باید از آن در موبایل خود استفاده کنید. برخی کاربران اپلیکیشنهای یا روترهایی دارند که تنها کلاینتهای Shadowsocks (و نه SOCKS5) را پشتیبانی میکنند، یا ترجیح میدهند اینترنت را در شبکه خانگی خود روی شبکههای محلی (LAN) پخش کنند. با فعالسازی این مورد، ققنوس تبدیل به یک هاب یا نقطه اتصال Shadowsocks میشود.
تنظیمات کلاینت:
یک بخش جدید با پروتکل shadowsocks به client.toml اضافه کنید:
[[inbounds]]
protocol = "shadowsocks"
# پورتی که میخواهید روی سیستم باز شود
local_addr = "127.0.0.1:8388"
# احراز هویت با ساختار: "رمزنگاری:رمزعبور"
auth = "aes-256-gcm:my-secret-password"تنظیمات سرور (server.toml):
پشتیبانی از Shadowsocks را در سرور روشن کنید:
[security]
enable_shadowsocks = trueرمزنگاریهای پشتیبانیشده (Ciphers)
برای بخش auth در کانفیگ کلاینت، میتوانید از رمزنگاریهای زیر استفاده کنید:
aes-256-gcm(پرکاربرد، سازگاری عالی)aes-128-gcm(سریعتر)chacha20-ietf-poly1305(عملکرد بهتر در پردازندههای موبایل و روترها - بسیار بهینه)
استخراج لینک اتصال (ss://)
اگر میخواهید کلاینت یا اپلیکیشن Shadowsocks را تنظیم کنید، میتوانید از خود ققنوس بخواهید که لینک مخصوص را برای شما تولید کند. پس از تنظیم client.toml، این دستور را در سیستم خود اجرا کنید:
./phoenix-client -conf client.toml -get-ssخروجی شبیه به این خواهد بود:
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTp5b3VyLXBhc3N3b3Jk@127.0.0.1:8388شما میتوانید این لینک را در اپلیکیشنهای کلاینت (مثل Outline، v2rayNG، Shadowrocket و غیره) وارد کنید تا اپلیکیشن به خروجی محلی ققنوس روی سیستم شما متصل شود!
۳. خروجی SSH (تونل SSH)
یکی دیگر از قابلیتهای پیشرفته Inboundها در ققنوس، توانایی عبور امن تونل SSH روی بستر ققنوس (و مخفیسازی آن در دل ترافیک HTTP/2) است. این خروجی برای مدیران سرور که نیاز به مدیریت امن و دور از چشم رادارهای DPI دارند استفاده میشود.
تنظیمات کلاینت:
[[inbounds]]
protocol = "ssh"
local_addr = "127.0.0.1:2022"
# مسیر کلید خصوصی (private key) که برای اتصال به سرور از آن استفاده میکنید
auth = "/home/user/.ssh/id_rsa"تنظیمات سرور (server.toml):
[security]
enable_ssh = trueبا این کار، شما روی پورت ۲۰۲۲ لوکال خود خروجی SSH خواهید داشت و میتوانید به راحتی دستور ssh root@127.0.0.1 -p 2022 را بزنید و ققنوس ترافیک را از داخل تونل خود برای سرور اصلی هدایت میکند.
