Passa al contenuto principale

Config

Tunnel​

TunnelConfig​

Tunnel è l'oggetto di livello superiore in una configurazione Outline. Specifica come deve essere configurata la VPN.

Formato: ExplicitTunnelConfig | LegacyShadowsocksConfig | LegacyShadowsocksURI

ExplicitTunnelConfig​

Formato: struct

Campi:

  • transport (TransportConfig): il Transport da utilizzare per scambiare i pacchetti con la destinazione target.

  • error (struct): informazioni da comunicare all'utente in caso di errore del servizio (ad es. chiave scaduta, quota esaurita).

    • message (string): messaggio semplice da mostrare all'utente.

    • details (string): messaggio da mostrare quando l'utente apre i dettagli dell'errore. Utile per la risoluzione dei problemi.

I campi error e transport si escludono a vicenda.

Esempio riuscito:

transport:
$type: tcpudp
tcp:
... # Stream Dialer for TCP
udp:
... # Packet Listener for UDP

Esempio di errore:

error:
message: Quota exceeded
details: Used 100GB out of 100GB

Transport​

TransportConfig​

Specifica come i pacchetti devono essere scambiati con la destinazione target.

Formato: Interface

Tipi di Interface supportati:

TCPUDPConfig​

TCPUDPConfig consente di impostare strategie TCP e UDP separate.

Formato: struct

Campi:

Esempio di invio di TCP e UDP a endpoint diversi:

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

Endpoint​

Gli endpoint stabiliscono connessioni con un endpoint fisso. Sono preferibili ai dialer poiché consentono ottimizzazioni specifiche per gli endpoint. Esistono Stream Endpoint e Packet Endpoint.

EndpointConfig​

Formato: string | Interface

L'endpoint string è l'indirizzo host:porta dell'endpoint selezionato. La connessione viene stabilita tramite il dialer predefinito.

Tipi di Interface supportati per Stream Endpoint e Packet Endpoint:

DialEndpointConfig​

Stabilisce connessioni componendo un indirizzo fisso. Può essere dotato di un dialer, che consente la composizione delle strategie.

Formato: struct

Campi:

  • address (string): l'indirizzo dell'endpoint da comporre.

  • dialer (DialerConfig): il dialer da utilizzare per comporre l'indirizzo.

WebsocketEndpointConfig​

Connessioni Stream e Packet dei Tunnel verso un endpoint tramite Websocket.

Per le connessioni Stream, ogni scrittura viene trasformata in un messaggio Websocket. Per le connessioni Packet, ogni pacchetto viene convertito in un messaggio Websocket.

Formato: struct

Campi:

  • url (string): l'URL per l'endpoint Websocket. Lo schema deve essere https o wss per Websocket su TLS e http o ws per Websocket con testo non crittografato.

  • endpoint (EndpointConfig): l'endpoint del server web a cui connettersi. Se assente, si connette all'indirizzo specificato nell'URL.

Dialer​

I dialer stabiliscono connessioni in base all'indirizzo di un endpoint. Esistono Stream Dialer e Packet Dialer.

DialerConfig​

Formato: null | Interface

Il dialer null (assente) indica il dialer predefinito, che utilizza connessioni TCP dirette per Stream e connessioni UDP dirette per Packet.

Tipi di Interface supportati per Stream Dialer e Packet Dialer:

Packet Listener​

Un Packet Listener stabilisce una connessione Packet illimitata che può essere utilizzata per inviare pacchetti a più destinazioni.

PacketListenerConfig​

Formato: null | Interface

Il Packet Listener null (assente) indica il Packet Listener predefinito, che è un Packet Listener UDP.

Tipi di Interface supportati:

Strategie​

Shadowsocks​

LegacyShadowsocksConfig​

LegacyShadowsocksConfig rappresenta un Tunnel che utilizza Shadowsocks come Transport. Implementa il formato legacy per la compatibilità con le versioni precedenti.

Formato: struct

Campi:

Esempio:

server: example.com
server_port: 4321
method: chacha20-ietf-poly1305
password: SECRET
prefix: "POST "

LegacyShadowsocksURI​

LegacyShadowsocksURI rappresenta un Tunnel che utilizza Shadowsocks come Transport. Implementa il formato URL legacy per la compatibilità con le versioni precedenti.

Formato: string

Consulta Formato LegacyShadowsocksURI e Schema URI SIP002. Non supportiamo i plug-in.

Esempio:

ss://chacha20-ietf-poly1305:SECRET@example.com:443?prefix=POST%20

ShadowsocksConfig​

ShadowsocksConfig può rappresentare uno Stream Dialer o un Packet Dialer, così come un Packet Listener che utilizza Shadowsocks.

Formato: struct

Campi:

Esempio:

endpoint: example.com:80
cipher: chacha20-ietf-poly1305
secret: SECRET
prefix: "POST "

Meta definizioni​

FirstSupportedConfig​

Utilizza la prima configurazione supportata dall'applicazione. Questo è un modo per incorporare le nuove configurazioni mantenendo la compatibilità con quelle precedenti.

Formato: struct

Campi:

Esempio:

options:
- $type: websocket
url: wss://example.com/SECRET_PATH
- ss.example.com:4321

Interface​

Interface consente di scegliere una tra più implementazioni. Utilizza il campo $type per specificare il tipo rappresentato da Config.

Esempio:

$type: shadowsocks
endpoint: example.com:4321
cipher: chacha20-ietf-poly1305
secret: SECRET