fullConfiguration property
Full generated configuration with a local SOCKS input and proxy, direct and blackhole outputs.
Native VPN adapters add their managed authenticated input during preparation. Raw-JSON importers override this getter to retain the imported configuration.
Implementation
Map<String, dynamic> get fullConfiguration {
final proxyOutbound = outbound1;
final document = XrayConfigDocument(
log: const XrayLog(),
// Keep the generated caller input in the document. Native VPN
// preparation adds its own private authenticated packet adapter.
inbounds: [XrayInbound.localSocksTunnel(userLevel: level)],
outbounds: [
XrayOutbound(
tag: proxyOutbound['tag'] as String? ?? 'proxy',
protocol: proxyOutbound['protocol'] as String? ?? '',
settings: (proxyOutbound['settings'] as Map).cast<String, dynamic>(),
streamSettings: _streamSettingsFromOutbound(proxyOutbound),
proxySettings:
(proxyOutbound['proxySettings'] as Map?)?.cast<String, dynamic>(),
sendThrough: proxyOutbound['sendThrough'] as String?,
mux: (proxyOutbound['mux'] as Map?)?.cast<String, dynamic>(),
),
XrayOutbound.direct(),
XrayOutbound.blackhole(),
],
// Keep the generated Core routing strategy deterministic. Native VPN
// preparation plans transport endpoint bootstrap separately from caller
// DNS selection and domain-routing rules.
routing: const XrayRouting(),
);
return document.toJson();
}