Shadowsocks-over-WebSockets

Aplikasi Outline v1.15.0+.

Tutorial ini memberikan panduan mendetail untuk membantu Anda menerapkan Shadowsocks-over-WebSockets, teknik yang efektif untuk mengakali penyensoran di lingkungan tempat koneksi Shadowsocks reguler diblokir. Dengan mengenkapsulasi traffic Shadowsocks dalam WebSocket, Anda dapat menyamarkannya sebagai traffic web standar, sehingga meningkatkan ketahanan dan aksesibilitas.

Langkah 1: Mengonfigurasi dan Menjalankan Server Outline

Buat file config.yaml baru dengan konfigurasi berikut:

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

Download outline-ss-server terbaru dan jalankan menggunakan konfigurasi yang dibuat:

outline-ss-server -config=config.yaml

Langkah 2: Mengekspos Server Web

Agar server web WebSocket dapat diakses secara publik, Anda harus mengeksposnya ke internet dan mengonfigurasi TLS. Anda memiliki beberapa opsi untuk melakukannya. Anda dapat menggunakan server web lokal seperti Caddy, nginx, atau Apache, yang memastikan server memiliki sertifikat TLS yang valid, atau menggunakan layanan tunneling seperti Cloudflare Tunnel atau ngrok.

Contoh penggunaan TryCloudflare

Untuk contoh ini, kita akan menunjukkan penggunaan TryCloudflare untuk membuat tunnel cepat. Hal ini memberikan cara yang mudah dan aman untuk mengekspos server web lokal Anda tanpa membuka port masuk.

  1. Download dan instal cloudflared.

  2. Buat tunnel yang mengarah ke port server web lokal Anda:

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

Cloudflare akan menyediakan subdomain (misalnya, acids-iceland-davidson-lb.trycloudflare.com) untuk mengakses endpoint WebSocket Anda dan menangani TLS secara otomatis. Catat subdomain ini karena Anda akan memerlukannya nanti.

Langkah 3: Buat Kunci Akses Dinamis

Buat file YAML kunci akses klien untuk pengguna menggunakan format Konfigurasi Kunci Akses dan sertakan endpoint WebSocket yang sebelumnya dikonfigurasi di sisi server:

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

Setelah membuat file YAML kunci akses dinamis, Anda harus mengirimkannya kepada pengguna. Anda dapat menghosting file di layanan hosting web statis atau membuatnya secara dinamis. Pelajari lebih lanjut cara menggunakan Kunci Akses Dinamis.

Langkah 4: Terhubung dengan Klien Outline

Gunakan salah satu aplikasi Outline Client resmi (versi 1.15.0+) dan tambahkan kunci akses dinamis yang baru dibuat sebagai entri server. Klik Connect untuk mulai melakukan tunneling ke server Anda menggunakan konfigurasi Shadowsocks-over-Websocket.

Gunakan alat seperti IPInfo untuk memverifikasi bahwa Anda sekarang menjelajahi internet melalui server Outline.