V2RayURL class abstract

Base class for parsing and handling V2Ray URLs.

This abstract class provides common functionality for V2Ray URL parsers, including configuration generation, transport settings, and TLS settings. Subclasses should implement outbound1 for specific protocol configurations.

Implementers

Constructors

V2RayURL.new({required String url})
Creates a V2RayURL instance with the provided URL string.

Properties

address String
The server address (default: empty string).
no setter
allowInsecure bool
Whether to allow insecure connections (default: true).
no setter
dns Map<String, dynamic>
DNS configuration.
getter/setter pair
fullConfiguration Map<String, dynamic>
Complete V2Ray configuration combining all settings.
no setter
hashCode int
The hash code for this object.
no setterinherited
inbound Map<String, dynamic>
Inbound configuration for the proxy.
getter/setter pair
level int
The user level for the connection (default: 8).
no setter
log Map<String, dynamic>
Log configuration.
getter/setter pair
network String
The network protocol (default: 'tcp').
no setter
outbound1 Map<String, dynamic>
Abstract getter for the primary outbound configuration. Subclasses must implement this to provide protocol-specific outbound settings.
no setter
outbound2 Map<String, dynamic>
Secondary outbound configuration for direct connections.
getter/setter pair
outbound3 Map<String, dynamic>
Tertiary outbound configuration for blocking connections.
getter/setter pair
port int
The default port for the connection (default: 443).
no setter
remark String
The remark or description (default: empty string).
no setter
routing Map<String, dynamic>
Routing configuration.
getter/setter pair
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
security String
The security method for the connection (default: 'auto').
no setter
streamSetting Map<String, dynamic>
Stream settings for the connection.
getter/setter pair
url String
The original URL string provided during construction.
final

Methods

getFullConfiguration({int indent = 2}) String
Generates the full V2Ray configuration as a formatted JSON string.
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}) → void
Populates the TLS/reality settings for the connection.
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
Populates the stream settings based on transport parameters.
removeNulls(dynamic params) → dynamic
Recursively removes null values from a data structure.
toString() String
A string representation of this object.
inherited

Operators

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