پرش به محتویات

سرور

این آموزش راهنمای سریعی برای راه‌اندازی سرور Hysteria با تنظیمات پیشنهادی ارائه می‌دهد. توجه داشته باشید که Hysteria بسیار انعطاف‌پذیر است و گزینه‌های ارائه‌شده در اینجا تنها بخشی از امکانات موجود هستند. برای سفارشی‌سازی بیشتر، به پیکربندی کامل سرور مراجعه کنید.

مراحل در محیط لینوکس انجام شده‌اند، اما در سایر پلتفرم‌ها مشابه هستند.

پیش‌نیازها

  • سروری با آدرس IP عمومی (هم IPv4 و هم IPv6 مناسب است)
  • یک نام دامنه که به آدرس IP سرور اشاره می‌کند (هم دامنه سطح بالا و هم زیردامنه مناسب است)

ایجاد فایل پیکربندی

فرض بر این است که فایل اجرایی پلتفرم خود را در یک دایرکتوری دانلود کرده‌اید، مثلاً hysteria-linux-amd64-avx. یک فایل config.yaml در همان دایرکتوری ایجاد کنید.

بسته به اینکه می‌خواهید از ACME برای دریافت خودکار گواهی TLS دامنه استفاده کنید یا گواهی خودتان را به کار ببرید، یکی از قالب‌های زیر را استفاده کنید.

حتماً مقادیر (به‌خصوص رمز عبور) را با مقادیر خودتان جایگزین کنید.

# listen: :443 (1)

acme:
  domains:
    - your.domain.net # (2)!
  email: [email protected] # (3)!

auth:
  type: password
  password: Se7RAuFZ8Lzg # (4)!

masquerade: # (5)!
  type: proxy
  proxy:
    url: https://news.ycombinator.com/ # (6)!
    rewriteHost: true
  1. سرور به‌طور پیش‌فرض روی پورت 443 گوش می‌دهد. این خط را uncomment کنید اگر می‌خواهید پورت را تغییر دهید. اگر فقط شماره پورت مشخص شود (بدون آدرس)، سرور روی IPv4 و IPv6 گوش می‌دهد. برای فقط IPv4 از 0.0.0.0:443 و برای فقط IPv6 از [::]:443 استفاده کنید.
  2. با نام دامنه خود جایگزین کنید
  3. با ایمیل خود جایگزین کنید
  4. با یک رمز عبور قوی جایگزین کنید
  5. برای اطلاعات بیشتر درباره استتار به بخش زیر مراجعه کنید
  6. با URL وب‌سایتی که می‌خواهید به‌عنوان آن ظاهر شوید جایگزین کنید
# listen: :443 (1)

tls:
  cert: your_cert.crt # (2)!
  key: your_key.key # (3)!

auth:
  type: password
  password: Se7RAuFZ8Lzg # (4)!

masquerade: # (5)!
  type: proxy
  proxy:
    url: https://news.ycombinator.com/ # (6)!
    rewriteHost: true
  1. سرور به‌طور پیش‌فرض روی پورت 443 گوش می‌دهد. این خط را uncomment کنید اگر می‌خواهید پورت را تغییر دهید. اگر فقط شماره پورت مشخص شود (بدون آدرس)، سرور روی IPv4 و IPv6 گوش می‌دهد. برای فقط IPv4 از 0.0.0.0:443 و برای فقط IPv6 از [::]:443 استفاده کنید.
  2. با مسیر فایل گواهی جایگزین کنید
  3. با مسیر فایل کلید جایگزین کنید
  4. با یک رمز عبور قوی جایگزین کنید
  5. برای اطلاعات بیشتر درباره استتار به بخش زیر مراجعه کنید
  6. با URL وب‌سایتی که می‌خواهید به‌عنوان آن ظاهر شوید جایگزین کنید

استتار (Masquerade)

یکی از کلیدهای مقاومت Hysteria در برابر سانسور، قابلیت استتار به‌عنوان ترافیک استاندارد HTTP/3 است. این بدان معناست که نه‌تنها بسته‌ها برای واسطه‌ها مانند HTTP/3 به نظر می‌رسند، بلکه سرور نیز مانند یک وب‌سرور معمولی به درخواست‌های HTTP پاسخ می‌دهد. با این حال، این به این معنی است که سرور شما باید واقعاً محتوایی ارائه دهد تا برای سانسورگران بالقوه معتبر به نظر برسد.

برای این منظور، مثال ما از حالت پروکسی معکوس برای «قرض گرفتن» محتوا از وب‌سایت دیگری استفاده می‌کند. حتماً URL را به وب‌سایتی که می‌خواهید تقلید کنید تغییر دهید. Hysteria حالت‌های دیگری نیز برای ارائه محتوا دارد؛ برای اطلاعات بیشتر به بخش استتار در پیکربندی کامل سرور مراجعه کنید.

اگر سانسور برای شما نگرانی نیست، می‌توانید بخش masquerade را کاملاً از فایل پیکربندی حذف کنید. در این صورت Hysteria همیشه «404 Not Found» را برای تمام درخواست‌های HTTP برمی‌گرداند.

اجرای سرور

از آنجا که Hysteria به‌طور پیش‌فرض روی پورت 443 گوش می‌دهد، ممکن است نیاز باشد آن را با قابلیت cap_net_bind_service یا به‌عنوان root اجرا کنید.

دستور زیر قابلیت لازم را به فایل اجرایی می‌دهد:

sudo setcap cap_net_bind_service=+ep ./hysteria-linux-amd64-avx

سرور را با دستور زیر شروع کنید:

./hysteria-linux-amd64-avx server
./hysteria-linux-amd64-avx server -c whatever.yaml

اگر پیام لاگ «server up and running» را بدون خطا مشاهده کردید، تبریک 🎉! سرور Hysteria با موفقیت راه‌اندازی شد.

سپس می‌توانید به آموزش کلاینت بروید تا کلاینت را تنظیم کنید.