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 مرور می‌کنید.