Shadowsocks-over-WebSockets

Outline Client v1.15.0 trở lên.

Hướng dẫn này cung cấp hướng dẫn chi tiết để giúp bạn triển khai Shadowsocks qua WebSockets, một kỹ thuật hiệu quả để bỏ qua việc kiểm duyệt trong các môi trường mà các kết nối Shadowsocks thông thường bị chặn. Bằng cách đóng gói lưu lượng truy cập Shadowsocks trong WebSocket, bạn có thể ngụy trang lưu lượng truy cập đó dưới dạng lưu lượng truy cập web tiêu chuẩn, tăng cường khả năng phục hồi và khả năng tiếp cận.

Bước 1: Định cấu hình và chạy máy chủ Outline

Tạo tệp config.yaml mới có cấu hình sau:

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

Tải outline-ss-server mới nhất xuống và chạy bằng cấu hình đã tạo:

outline-ss-server -config=config.yaml

Bước 2: Hiển thị máy chủ web

Để cho phép truy cập công khai vào máy chủ web WebSocket, bạn cần hiển thị máy chủ đó trên Internet và định cấu hình TLS. Bạn có một số cách để thực hiện việc này. Bạn có thể sử dụng máy chủ web cục bộ như Caddy, nginx hoặc Apache, đảm bảo máy chủ có chứng chỉ TLS hợp lệ hoặc sử dụng dịch vụ tạo đường hầm như Cloudflare Tunnel hoặc ngrok.

Ví dụ về cách sử dụng TryCloudflare

Trong ví dụ này, chúng ta sẽ minh hoạ cách sử dụng TryCloudflare để tạo một đường hầm nhanh. Đây là một cách thuận tiện và an toàn để hiển thị máy chủ web cục bộ mà không cần mở cổng đến.

  1. Tải xuống và cài đặt cloudflared.

  2. Tạo một đường hầm trỏ đến cổng máy chủ web cục bộ:

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

Cloudflare sẽ cung cấp một miền con (ví dụ: acids-iceland-davidson-lb.trycloudflare.com) để truy cập vào điểm cuối WebSocket và tự động xử lý TLS. Ghi lại miền con này vì bạn sẽ cần đến miền con này sau.

Bước 3: Tạo khoá truy cập động

Tạo tệp YAML khoá truy cập ứng dụng cho người dùng bằng định dạng Cấu hình khoá truy cập và bao gồm các điểm cuối WebSocket đã được định cấu hình trước đó ở phía máy chủ:

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

Sau khi tạo tệp YAML khoá truy cập động, bạn cần cung cấp tệp đó cho người dùng. Bạn có thể lưu trữ tệp trên một dịch vụ lưu trữ web tĩnh hoặc tạo tệp một cách linh động. Tìm hiểu thêm về cách sử dụng Khoá truy cập động.

Bước 4: Kết nối với Ứng dụng Outline

Sử dụng một trong các ứng dụng Outline Client (ứng dụng Outline) chính thức (phiên bản 1.15.0 trở lên) và thêm khoá truy cập động mới tạo làm mục nhập máy chủ. Nhấp vào Connect (Kết nối) để bắt đầu tạo đường hầm đến máy chủ của bạn bằng cấu hình Shadowsocks-over-Websocket.

Sử dụng một công cụ như IPInfo để xác minh rằng bạn hiện đang duyệt Internet thông qua máy chủ Outline.