پرش به مطلب اصلی

Shadowsocks-over-WebSockets

کارخواه Outline نسخه ۱.۱۵.۰ به بالا.

این آموزش گام‌به‌گام راهنمایی مشروح مرحله‌به‌مرحله‌ای را ارائه می‌دهد تا به شما کمک کند Shadowsocks-over-WebSockets را، تکنیک قدرتمندی برای دور زدن سانسور در محیط‌هایی که اتصال‌های معمول Shadowsocks مسدود است، اجرا کنید. با بسته‌بندی کردن ترافیک Shadowsocks درون WebSockets، می‌توانید آن را به‌عنوان ترافیک وب استاندارد مخفی کنید و تاب‌آوری و دسترس‌پذیری را بهبود دهید.

مرحله ۱: پیکربندی و اجرای سرور Outline

فایل config.yaml جدیدی را با پیکربندی‌های زیر بسازید:

web:
servers:
- id: server1
listen: 127.0.0.1:<WEB_SERVER_PORT>

services:
- listeners:
- type: websocket-stream
web_server: server1
path: /<TCP_PATH>
- type: websocket-packet
web_server: server1
path: /<UDP_PATH>
keys:
- id: 1
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

جدیدترین outline-ss-server را بارگیری کنید و آن را بااستفاده از پیکربندی ساخته‌شده اجرا کنید:

outline-ss-server -config=config.yaml

مرحله ۲: افشا کردن سرور وب

برای اینکه سرور وب WebSocket شما دردسترس عموم قرار گیرد، باید آن را در اینترنت افشا کنید و امنیت لایه انتقال (TLS) را پیکربندی کنید. برای دست‌یافتن به این امر چندین گزینه دارید. می‌توانید از سرور وب محلی‌ای مثل Caddy،‏ nginx، یا Apache استفاده کنید تا مطمئن شوید دارای گواهینامه «امنیت لایه انتقال» معتبری است، یا از سرویس تونل‌زنی مثل تونل Cloudflare یا ngrok استفاده کنید.

نمونه استفاده از TryCloudflare

برای این نمونه، بااستفاده از TryCloudflare ساختن تونل سریع را نمایش می‌دهیم. این کار روشی راحت و ایمن را ارائه می‌کند تا سرور وب محلی‌تان بدون اینکه درگاه‌های ورودی‌اش باز شود افشا شود.

  1. بارگیری و نصب cloudflared.

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

cloudflared tunnel --url http://127.0.0.1:<WEB_SERVER_PORT>

‫Cloudflare زیردامنه‌ای را ارائه می‌دهد (برای نمونه، acids-iceland-davidson-lb.trycloudflare.com) تا به نقطه پایانی WebSocket دسترسی پیدا کند و به «امنیت لایه انتقال» به‌طور خودکار رسیدگی شود. این زیردامنه را یادداشت کنید زیرا بعداً به آن نیاز خواهید داشت.

مرحله ۳: ساختن کلید دسترسی پویا

بااستفاده از قالب پیکربندی کلید دسترسی، فایل YAML مربوط به کلید دسترسی کارخواه را برای کاربرانتان تولید کنید و نقطه‌های پایانی WebSocket را که قبلاً در سمت سرور پیکربندی شده است به آن اضافه کنید:

transport:
$type: tcpudp

tcp:
$type: shadowsocks

endpoint:
$type: websocket
url: wss://<DOMAIN>/<TCP_PATH>
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

udp:
$type: shadowsocks

endpoint:
$type: websocket
url: wss://<DOMAIN>/<UDP_PATH>
cipher: chacha20-ietf-poly1305
secret: <SHADOWSOCKS_SECRET>

پس‌از تولید فایل YAML مربوط به کلید دسترسی پویا، باید آن را به کاربرانتان بدهید. این فایل را می‌توانید در سرویس میزبانی وب ثابت میزبانی کنید یا آن را به‌صورت پویا تولید کنید. درباره چگونگی استفاده از کلیدهای دسترسی پویا بیشتر بدانید.

مرحله ۴: اتصال با کارخواه Outline

از یکی از برنامه‌های کارخواه Outline (نسخه ۱.۱۵.۰ یا بالاتر) رسمی استفاده کنید و کلید دسترسی پویایی را که به‌تازگی ساخته‌اید به‌عنوان ورودی سرور اضافه کنید. روی اتصال کلیک کنید تا تونل زدن به سرور خود را بااستفاده از پیکربندی Shadowsocks-over-Websocket آغاز کنید.

از ابزاری مثل IPInfo استفاده کنید تا تأیید کنید اکنون اینترنت را با سرور Outline مرور می‌کنید.