Outline ให้บริการคีย์การเข้าถึง 2 ประเภท ได้แก่ แบบคงที่และแบบไดนามิก คีย์แบบคงที่จะเข้ารหัสข้อมูลการเชื่อมต่อทั้งหมดภายในตัวคีย์เอง ในขณะที่คีย์แบบไดนามิกจะเข้ารหัสตำแหน่งของข้อมูลการเชื่อมต่อ ช่วยให้คุณสามารถจัดเก็บข้อมูลดังกล่าวจากระยะไกลและเปลี่ยนแปลงข้อมูลได้หากจำเป็น ซึ่งหมายความว่าคุณสามารถอัปเดตการกำหนดค่าเซิร์ฟเวอร์ได้โดยไม่ต้องสร้างและแจกจ่ายคีย์ใหม่ให้กับผู้ใช้ เอกสารนี้จะอธิบายวิธีการใช้คีย์การเข้าถึงแบบไดนามิกเพื่อให้จัดการเซิร์ฟเวอร์ Outline ได้อย่างยืดหยุ่นและมีประสิทธิภาพมากขึ้น
การระบุข้อมูลการเข้าถึงเพื่อให้คีย์การเข้าถึงแบบไดนามิกนำไปใช้มี 3 รูปแบบ ดังนี้
ใช้ลิงก์ ss://
ไคลเอ็นต์ Outline เวอร์ชัน 1.8.1 ขึ้นไป
คุณสามารถใช้ลิงก์ ss://
ที่มีอยู่ได้โดยตรง วิธีนี้เหมาะอย่างยิ่งหากคุณไม่จำเป็นต้องเปลี่ยนเซิร์ฟเวอร์ พอร์ต หรือวิธีการเข้ารหัสบ่อยๆ แต่ยังต้องการความยืดหยุ่นในการอัปเดตที่อยู่เซิร์ฟเวอร์
ตัวอย่าง
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1
ใช้ออบเจ็กต์ JSON
ไคลเอ็นต์ Outline เวอร์ชัน 1.8.0 ขึ้นไป
วิธีนี้ช่วยเพิ่มความยืดหยุ่นในการจัดการการเชื่อมต่อ Outline ของผู้ใช้ในทุกๆ ด้าน คุณสามารถอัปเดตเซิร์ฟเวอร์ พอร์ต รหัสผ่าน และวิธีการเข้ารหัสได้ด้วยวิธีนี้
ตัวอย่าง
{
"server": "outline-server.example.com",
"server_port": 8388,
"password": "example",
"method": "chacha20-ietf-poly1305"
}
- server: โดเมนหรือที่อยู่ IP ของเซิร์ฟเวอร์ VPN ของคุณ
- server_port: หมายเลขพอร์ตที่เซิร์ฟเวอร์ VPN ของคุณกำลังทำงานอยู่
- password: รหัสผ่านที่ต้องใช้ในการเชื่อมต่อกับ VPN
- method: วิธีการเข้ารหัสที่ VPN ใช้ โปรดดูการเข้ารหัส AEAD ที่ Shadowsocks รองรับ
ใช้ออบเจ็กต์ YAML
ไคลเอ็นต์ Outline เวอร์ชัน 1.15.0 ขึ้นไป
วิธีนี้คล้ายกับวิธี JSON ก่อนหน้า แต่เพิ่มความยืดหยุ่นมากยิ่งขึ้นโดยใช้ประโยชน์จากรูปแบบการกำหนดค่าขั้นสูงของ Outline คุณจึงสามารถอัปเดตเซิร์ฟเวอร์ พอร์ต รหัสผ่าน วิธีการเข้ารหัส และอื่นๆ ได้อีกมากมาย
ตัวอย่าง
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint: outline-server.example.com:8388
cipher: chacha20-ietf-poly1305
secret: example
udp:
$type: shadowsocks
endpoint: outline-server.example.com:8388
cipher: chacha20-ietf-poly1305
secret: example
- transport: กำหนดโปรโตคอลการรับส่งที่จะใช้ (TCP และ UDP ในกรณีนี้)
- tcp/udp: ระบุการกำหนดค่าสำหรับแต่ละโปรโตคอล
- $type: ระบุประเภทของการกำหนดค่า ในที่นี้คือ shadowsocks
- endpoint: โดเมนหรือที่อยู่ IP และพอร์ตของเซิร์ฟเวอร์ VPN ของคุณ
- secret: รหัสผ่านที่ต้องใช้ในการเชื่อมต่อกับ VPN
- cipher: วิธีการเข้ารหัสที่ VPN ใช้ โปรดดูการเข้ารหัส AEAD ที่ Shadowsocks รองรับ
ไปที่หัวข้อการกำหนดค่าคีย์การเข้าถึงเพื่อดูรายละเอียดเกี่ยวกับวิธีการทั้งหมดที่คุณสามารถใช้กำหนดค่าการเข้าถึงเซิร์ฟเวอร์ Outline ได้ ซึ่งรวมถึง Transport, Endpoint, Dialer และ Packet Listener
ดึงข้อมูลการเข้าถึงจากคีย์แบบคงที่
หากมีคีย์การเข้าถึงแบบคงที่อยู่แล้ว คุณสามารถดึงข้อมูลออกมาเพื่อสร้างคีย์การเข้าถึงแบบไดนามิกในรูปแบบ JSON หรือ YAML ได้ โดยคีย์การเข้าถึงแบบคงที่จะเป็นไปตามรูปแบบต่อไปนี้
SS-URI = "ss://" userinfo "@" hostname ":" port [ "/" ] [ "#" tag ]
userinfo = websafe-base64-encode-utf8(method ":" password)
method ":" password
ตัวอย่าง
ss://Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl@outline-server.example.com:8388/?outline=1
- เซิร์ฟเวอร์:
outline-server.example.com
- พอร์ตของเซิร์ฟเวอร์:
8388
ข้อมูลผู้ใช้:
Y2hhY2hhMjAtaWV0Zi1wb2x5MTMwNTpleGFtcGxl
ถอดรหัสเป็น base64 โดยใช้เครื่องมืออย่าง กล่องเครื่องมือของ Google Admin สำหรับเข้ารหัส/ถอดรหัส- เมธอด:
chacha20-ietf-poly1305
- รหัสผ่าน:
example
- เมธอด:
เลือกแพลตฟอร์มโฮสติ้ง
เมื่อเข้าใจวิธีการสร้างคีย์การเข้าถึงแบบไดนามิกแล้ว สิ่งสำคัญคือต้องเลือกแพลตฟอร์มโฮสติ้งที่เหมาะสมสำหรับการกำหนดค่าคีย์การเข้าถึงของคุณ เมื่อถึงเวลาต้องเลือก โปรดพิจารณาปัจจัยต่างๆ เช่น ความน่าเชื่อถือ ความปลอดภัย ความสะดวกในการใช้งาน และการป้องกันการเซ็นเซอร์ของแพลตฟอร์ม อีกทั้งต้องพิจารณาว่าแพลตฟอร์มจะให้บริการข้อมูลคีย์การเข้าถึงของคุณอย่างสม่ำเสมอโดยไม่ต้องหยุดทำงานหรือไม่ แพลตฟอร์มมีมาตรการรักษาความปลอดภัยที่เหมาะสมเพื่อปกป้องการกำหนดค่าของคุณหรือไม่ การจัดการข้อมูลคีย์การเข้าถึงบนแพลตฟอร์มทำได้ง่ายเพียงใด และแพลตฟอร์มเข้าถึงได้ในภูมิภาคที่มีการเซ็นเซอร์อินเทอร์เน็ตหรือไม่
ในกรณีที่การเข้าถึงข้อมูลอาจถูกจำกัด ให้พิจารณาโฮสติ้งบนแพลตฟอร์มที่ป้องกันการเซ็นเซอร์ เช่น Google ไดรฟ์, pad.riseup.net, Amazon S3 (พร้อมการเข้าถึงแบบเส้นทาง), Netlify หรือ GitHub secret gists ประเมินความต้องการเฉพาะในการใช้งานของคุณและเลือกแพลตฟอร์มที่สอดคล้องกับข้อกำหนดสำหรับการเข้าถึงและความปลอดภัย