Tüneller (Tunnel)
TunnelConfig
Tünel, bir Outline yapılandırmasındaki en üst düzey nesnedir. VPN'in nasıl yapılandırılması gerektiğini belirtir.
Biçim: ExplicitTunnelConfig | LegacyShadowsocksConfig | LegacyShadowsocksURI
ExplicitTunnelConfig
Biçim: struct
Alanlar:
transport
(TransportConfig): hedef varış noktasıyla paket alışverişi yapmak için kullanılacak araçerror
(struct): hizmet hatası durumunda kullanıcıya iletilecek bilgiler (ör. anahtarın süresi doldu, kota tükendi)message
(string): kullanıcıya gösterilecek açıklayıcı mesajdetails
(string): hata ayrıntılarını açtığında kullanıcıya gösterilecek mesaj (Sorun giderme açısından yararlıdır.)
error
ve transport
alanları aynı anda olamaz.
Başarılı örnek:
transport:
$type: tcpudp
tcp:
... # Stream Dialer for TCP
udp:
... # Packet Listener for UDP
Hatalı örnek:
error:
message: Quota exceeded
details: Used 100GB out of 100GB
Araçlar (Transport)
TransportConfig
Paketlerin hedef varış noktasıyla nasıl değiştirilmesi gerektiğini belirtir.
Biçim: Interface
Desteklenen Interface türleri:
tcpudp
: TCPUDPConfig
TCPUDPConfig
TCPUDPConfig, ayrı TCP ve UDP stratejilerinin ayarlanmasına izin verir.
Biçim: struct
Alanlar:
tcp
(DialerConfig): TCP bağlantıları için kullanılacak akış çeviriciudp
(PacketListenerConfig): UDP paketleri için kullanılacak paket işleyici
Farklı uç noktalara TCP ve UDP gönderme örneği:
tcp:
$type: shadowsocks
endpoint: ss.example.com:80
<<: &cipher
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "
udp:
$type: shadowsocks
endpoint: ss.example.com:53
<<: *cipher
Uç noktalar (Endpoint)
Uç noktalar, sabit bir uç nokta ile bağlantı kurar. Uç noktaya özgü optimizasyonlara izin verdiği için çeviricilerden daha çok tercih edilir. Akış ve paket uç noktaları vardır.
EndpointConfig
Biçim: string | Interface
string uç noktası, seçilen uç noktanın ana makine:bağlantı noktası adresidir. Bağlantı, varsayılan çevirici kullanılarak kurulur.
Akış ve paket uç noktaları için desteklenen Interface türleri:
dial
: DialEndpointConfigfirst-supported
: FirstSupportedConfigwebsocket
: WebsocketEndpointConfigshadowsocks
: ShadowsocksConfig
DialEndpointConfig
Sabit bir adresi çevirerek bağlantı kurar. Çevirici kullanarak stratejilerin birleştirilmesine imkan tanıyabilir.
Biçim: struct
Alanlar:
address
(string): çevrilecek uç nokta adresidialer
(DialerConfig): adresi çevirmek için kullanılacak çevirici
WebsocketEndpointConfig
Akış ve paket bağlantıları ile bir uç nokta arasında Websockets üzerinden tünel açar.
Akış bağlantıları için her yazma işlemi bir Websocket mesajına dönüştürülür. Paket bağlantıları için her paket bir Websocket mesajına dönüştürülür.
Biçim: struct
Alanlar:
url
(string): Websocket uç noktasının URL'si. Şema, TLS kullanılan Websocket bağlantıları içinhttps
veyawss
, şifrelenmemiş Websocket bağlantıları içinhttp
ya daws
şeklinde olmalıdır.endpoint
(EndpointConfig): Bağlanılacak web sunucusu uç noktası. Bu alan yoksa URL'de belirtilen adrese bağlanır.
Çeviriciler
Çeviriciler, belirli bir uç nokta adresiyle bağlantı kurar. Akış ve paket çeviricileri kullanılır.
DialerConfig
Biçim: null | Interface
null (boş) çeviricisi, akış için doğrudan TCP bağlantılarını ve paketler için doğrudan UDP bağlantılarını kullanan varsayılan çevirici anlamına gelir.
Akış ve paket çeviricileri için desteklenen Interface türleri:
first-supported
: FirstSupportedConfigshadowsocks
: ShadowsocksConfig
Paket işleyiciler (PacketListener)
Paket işleyiciler, birden fazla hedefe paket göndermek için kullanılabilecek sınırsız bir paket bağlantısı kurar.
PacketListenerConfig
Biçim: null | Interface
null (boş) paket işleyicisi, bir UDP paket işleyici olan varsayılan paket işleyici anlamına gelir.
Desteklenen Interface türleri:
first-supported
: FirstSupportedConfigshadowsocks
: ShadowsocksPacketListenerConfig
Stratejiler
Shadowsocks
LegacyShadowsocksConfig
LegacyShadowsocksConfig, araç olarak Shadowsocks kullanan bir tüneli temsil eder. Geriye dönük uyumluluk için eski biçimi uygular.
Biçim: struct
Alanlar:
server
(string): bağlanılacak ana makineserver_port
(number): bağlanılacak bağlantı noktası numarasımethod
(string): kullanılacak AEAD şifresipassword
(string): Şifreleme anahtarı oluşturmak için kullanılır.prefix
(string): kullanılacak önek gizleme yöntemi. Akış ve paket bağlantılarında desteklenir.
Örnek:
server: example.com
server_port: 4321
method: chacha20-ietf-poly1305
password: SECRET
prefix: "POST "
LegacyShadowsocksURI
LegacyShadowsocksURI, araç olarak Shadowsocks kullanan bir tüneli temsil eder. Geriye dönük uyumluluk için eski URL biçimini uygular.
Biçim: string
LegacyShadowsocksURI biçimini ve SIP002 URI şemasını inceleyin. Eklentiler desteklenmez.
Örnek:
ss://chacha20-ietf-poly1305:SECRET@example.com:443?prefix=POST%20
ShadowsocksConfig
ShadowsocksConfig, akış veya paket çeviricilerinin yanı sıra Shadowsocks kullanan bir paket işleyici de temsil edebilir.
Biçim: struct
Alanlar:
endpoint
(EndpointConfig): bağlanılacak Shadowsocks uç noktasıcipher
(string): kullanılacak AEAD şifresisecret
(string): Şifreleme anahtarı oluşturmak için kullanılır.prefix
(string, isteğe bağlı): kullanılacak önek gizleme yöntemi. Akış ve paket bağlantılarında desteklenir.
Örnek:
endpoint: example.com:80
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "
Meta tanımlar
FirstSupportedConfig
Uygulama tarafından desteklenen ilk yapılandırmayı kullanır. Bu yöntem, eski yapılandırmalarla geriye dönük uyumludur ve yeni yapılandırmaları dahil eder.
Biçim: struct
Alanlar:
options
(EndpointConfig[] | DialerConfig[] | PacketListenerConfig[]): dikkate alınacak seçenekler listesi
Örnek:
options:
- $type: websocket
url: wss://example.com/SECRET_PATH
- ss.example.com:4321
Interface
Arayüzler birden fazla uygulamadan birinin seçilmesine izin verir. Yapılandırmanın temsil ettiği türü belirtmek için $type
alanını kullanır.
Örnek:
$type: shadowsocks
endpoint: example.com:4321
cipher: chacha20-ietf-poly1305
secret: SECRET