parseFromURL static method
Parses a V2Ray URL string and returns the corresponding V2RayURL object.
url
is the V2Ray share link (e.g., 'vmess://', 'vless://', etc.).
Throws an ArgumentError if the URL scheme is invalid.
Returns a V2RayURL instance based on the scheme (e.g., VmessURL, VlessURL).
Implementation
static V2RayURL parseFromURL(String url) {
switch (url.split('://')[0].toLowerCase()) {
case 'vmess':
return VmessURL(url: url);
case 'vless':
return VlessURL(url: url);
case 'trojan':
return TrojanURL(url: url);
case 'ss':
return ShadowSocksURL(url: url);
case 'socks':
return SocksURL(url: url);
default:
throw ArgumentError('url is invalid');
}
}