XrayJsonConfig class

Full-profile Xray JSON import with limited compatibility normalization.

Unlike share-link generators, this preserves unknown fields, explicit nulls, empty containers and server-provided encryption values. Known transport aliases are normalized and unsupported TLS allowInsecure overrides removed at their schema owners; it is not a byte-for-byte passthrough. Native Core and each platform adapter still validate the final prepared configuration.

Inheritance

Constructors

XrayJsonConfig({required String url})
Imports an Xray object, or the first object of a nonempty JSON array.

Properties

address → String
Remote endpoint host exposed by this importer, or an empty base default.
no setterinherited
allowInsecure → bool
Legacy insecure-TLS hint; the base implementation is always false.
no setterinherited
fullConfiguration → Map<String, dynamic>
Returns rawConfig by reference, including all retained full-profile fields.
no setteroverride
hashCode → int
The hash code for this object.
no setterinherited
level → int
User policy level included in generated inbound and outbound settings.
no setterinherited
network → String
Initial transport network used when creating streamSettingsBuilder.
no setterinherited
outbound1 → Map<String, dynamic>
First imported outbound object, or an empty map after caller removal.
no setteroverride
port → int
Remote server port; share-link implementations use 443 when omitted.
no setterinherited
rawConfig ↔ Map<String, dynamic>
Structurally checked configuration used by fullConfiguration.
latefinal
remark → String
Display name from remarks, remark or ps, falling back to Xray JSON.
no setteroverride
runtimeType → Type
A representation of the runtime type of the object.
no setterinherited
security → String
Default protocol-level cipher selection used by generated user settings.
no setterinherited
streamSetting → Map<String, dynamic>
Current builder settings serialized as the Xray streamSettings object.
no setterinherited
streamSettingsBuilder → XrayStreamSettingsBuilder
Mutable transport builder used when generating the primary outbound.
latefinalinherited
url → String
Original share link or configuration text, which may include credentials.
finalinherited

Methods

buildProxyOutbound({required String protocol, required Map<String, dynamic> settings}) → Map<String, dynamic>
Builds the proxy outbound from protocol, its settings and the current streamSettingsBuilder, with mux disabled.
inherited
decodeXhttpExtra(String? extra) → Map<String, dynamic>?
Decodes the XHTTP extra JSON object from URL query parameters.
inherited
emptyToDefault(String? value, String fallback) → String
Returns fallback when value is null or empty; otherwise returns value.
inherited
getFullConfiguration({int indent = 2}) → String
Serializes the retained full profile using indent spaces per level.
override
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
populateTlsSettings({required String? streamSecurity, required bool allowInsecure, required String? sni, required String? fingerprint, required String? alpns, required String? publicKey, required String? shortId, required String? spiderX, String? pinnedPeerCertSha256, String? verifyPeerCertByName}) → void
Updates the transport builder from TLS/Reality share-link settings.
inherited
populateTransportSettings({required String transport, required String? headerType, required String? host, required String? path, required String? seed, required String? quicSecurity, required String? key, required String? mode, required String? serviceName, String? extra}) → String
Populates Xray streamSettings from VLESS URL query parameters.
inherited
removeNulls(dynamic params) → dynamic
Returns the legacy typed-generator cleanup of params.
inherited
toString() → String
A string representation of this object.
inherited

Operators

operator ==(Object other) → bool
The equality operator.
inherited