Outline menggunakan konfigurasi berbasis YAML untuk menentukan parameter VPN dan menangani traffic TCP/UDP. Konfigurasi ini mendukung komposisi di beberapa tingkat, yang memungkinkan penyiapan yang fleksibel dan dapat diperluas.
Konfigurasi tingkat teratas menentukan TunnelConfig.
Contoh
Konfigurasi Shadowsocks standar akan terlihat seperti ini:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint: ss.example.com:80
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST " # HTTP request
udp:
$type: shadowsocks
endpoint: ss.example.com:53
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "\u0097\u00a7\u0001\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000" # DNS query
Perhatikan bahwa sekarang kita dapat menjalankan TCP dan UDP di port atau endpoint yang berbeda dan dengan awalan yang berbeda.
Anda dapat menggunakan anchor YAML dan kunci penggabungan <<
untuk menghindari duplikasi:
transport:
$type: tcpudp
tcp:
<<: &shared
$type: shadowsocks
endpoint: ss.example.com:4321
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "
udp: *shared
Sekarang Anda dapat menyusun strategi dan melakukan multi-hop:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint:
$type: dial
address: exit.example.com:4321
dialer:
$type: shadowsocks
address: entry.example.com:4321
cipher: chacha20-ietf-poly1305
secret: ENTRY_SECRET
cipher: chacha20-ietf-poly1305
secret: EXIT_SECRET
udp: *shared
Jika protokol "look-like-nothing" seperti Shadowsocks diblokir, Anda dapat menggunakan Shadowsocks-over-Websockets. Lihat konfigurasi contoh server tentang cara men-deploynya. Konfigurasi klien akan terlihat seperti ini:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/tcp
cipher: chacha20-ietf-poly1305
secret: SS_SECRET
udp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/udp
cipher: chacha20-ietf-poly1305
secret: SS_SECRET
Perhatikan bahwa endpoint Websocket pada gilirannya dapat mengambil endpoint, yang dapat dioptimalkan untuk mengabaikan pemblokiran berbasis DNS:
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/tcp
endpoint: cloudflare.net:443
cipher: chacha20-ietf-poly1305
secret: SS_SECRET
udp:
$type: shadowsocks
endpoint:
$type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/udp
endpoint: cloudflare.net:443
cipher: chacha20-ietf-poly1305
secret: SS_SECRET
Untuk memastikan kompatibilitas di berbagai versi klien Outline, gunakan
opsi first-supported
dalam konfigurasi Anda. Hal ini sangat penting
saat strategi dan fitur baru ditambahkan ke Outline, karena tidak semua pengguna mungkin
telah mengupdate ke software klien terbaru. Dengan menggunakan first-supported
, Anda dapat
memberikan satu konfigurasi yang berfungsi dengan lancar di berbagai platform
dan versi klien, sehingga memastikan kompatibilitas mundur dan pengalaman
pengguna yang konsisten.
transport:
$type: tcpudp
tcp:
$type: shadowsocks
endpoint:
$type: first-supported
options:
- $type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/tcp
- ss.example.com:4321
cipher: chacha20-ietf-poly1305
secret: SS_SECRET
udp:
$type: shadowsocks
endpoint:
$type: first-supported
options:
- $type: websocket
url: wss://legendary-faster-packs-und.trycloudflare.com/SECRET_PATH/udp
- ss.example.com:4321
cipher: chacha20-ietf-poly1305
secret: SS_SECRET