ไคลเอ็นต์ Outline เวอร์ชัน 1.15.0 ขึ้นไป
บทแนะนำนี้จะอธิบายคำแนะนำแบบละเอียดทีละขั้นเพื่อช่วยคุณติดตั้งใช้งาน Shadowsocks-over-WebSockets ซึ่งเป็นเทคนิคที่มีประสิทธิภาพในการหลบเลี่ยงการเซ็นเซอร์ในสภาพแวดล้อมที่มีการบล็อกการเชื่อมต่อ Shadowsocks แบบปกติ การห่อหุ้มข้อมูลการเข้าชม Shadowsocks ภายใน WebSocket จะทำให้คุณปลอมแปลงการเข้าชมดังกล่าวเป็นการเข้าชมเว็บมาตรฐานได้ ซึ่งจะช่วยเพิ่มความยืดหยุ่นและการเข้าถึง
ขั้นตอนที่ 1: กำหนดค่าและเรียกใช้เซิร์ฟเวอร์ 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
ขั้นตอนที่ 2: เปิดใช้งานเว็บเซิร์ฟเวอร์
หากต้องการให้เว็บเซิร์ฟเวอร์ WebSocket เข้าถึงได้แบบสาธารณะ คุณจะต้องเปิดใช้งานเว็บดังกล่าวบนอินเทอร์เน็ตและกำหนดค่า TLS โดยมีตัวเลือกหลายวิธีในการดำเนินการดังกล่าว คุณสามารถใช้เว็บเซิร์ฟเวอร์ในเครื่อง เช่น Caddy, nginx หรือ Apache โดยตรวจสอบว่าเว็บเซิร์ฟเวอร์มีใบรับรอง TLS ที่ถูกต้อง หรือใช้บริการการสร้างอุโมงค์เสมือน เช่น Cloudflare Tunnel หรือ ngrok
ตัวอย่างการใช้ TryCloudflare
ในตัวอย่างนี้ เราจะสาธิตการใช้ TryCloudflare เพื่อสร้างอุโมงค์ข้อมูลอย่างรวดเร็ว ซึ่งเป็นวิธีที่สะดวกและปลอดภัยในการเปิดใช้งานเว็บเซิร์ฟเวอร์ในเครื่องโดยไม่ต้องเปิดพอร์ตขาเข้า
ดาวน์โหลดและติดตั้ง
cloudflared
สร้างอุโมงค์ข้อมูลที่ชี้ไปยังพอร์ตเว็บเซิร์ฟเวอร์ในเครื่อง โดยทำดังนี้
cloudflared tunnel --url http://127.0.0.1:WEB_SERVER_PORT
Cloudflare จะจัดหาโดเมนย่อย (เช่น
acids-iceland-davidson-lb.trycloudflare.com
) เพื่อเข้าถึงปลายทาง WebSocket และจัดการ TLS โดยอัตโนมัติ โปรดจดโดเมนย่อยนี้ไว้เนื่องจากคุณจะต้องใช้ในภายหลัง
ขั้นตอนที่ 3: สร้างคีย์การเข้าถึงแบบไดนามิก
สร้างไฟล์ 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 ของคีย์การเข้าถึงแบบไดนามิกแล้ว คุณต้องส่งไฟล์ดังกล่าวให้ผู้ใช้ โดยสามารถฝากไฟล์ไว้ในบริการเว็บโฮสติ้งแบบคงที่หรือจะสร้างไฟล์แบบไดนามิกก็ได้ โปรดดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้คีย์การเข้าถึงแบบไดนามิก
ขั้นตอนที่ 4: เชื่อมต่อกับไคลเอ็นต์ Outline
ใช้แอปพลิเคชันไคลเอ็นต์ Outline แบบทางการ (เวอร์ชัน 1.15.0 ขึ้นไป) และเพิ่มคีย์การเข้าถึงแบบไดนามิกที่สร้างขึ้นใหม่เป็นรายการเซิร์ฟเวอร์ คลิกเชื่อมต่อเพื่อเริ่มการสร้างอุโมงค์เสมือนไปยังเซิร์ฟเวอร์โดยใช้การกำหนดค่า Shadowsocks ผ่าน WebSocket
ใช้เครื่องมืออย่าง IPInfo เพื่อยืนยันว่าคุณกำลังท่องอินเทอร์เน็ตผ่านเซิร์ฟเวอร์ Outline