コード例 #1
0
ファイル: VMessUtil.cs プロジェクト: jssycszyj/Netch
        public IEnumerable <Server> ParseUri(string text)
        {
            var data = new VMess();

            string s;

            try
            {
                s = ShareLink.URLSafeBase64Decode(text.Substring(8));
            }
            catch
            {
                return(V2rayUtils.ParseVUri(text));
            }

            V2rayNSharing vmess = JsonSerializer.Deserialize <V2rayNSharing>(s,
                                                                             new JsonSerializerOptions {
                NumberHandling = JsonNumberHandling.WriteAsString | JsonNumberHandling.AllowReadingFromString
            }) !;

            data.Remark           = vmess.ps;
            data.Hostname         = vmess.add;
            data.EncryptMethod    = vmess.scy;
            data.Port             = vmess.port;
            data.UserID           = vmess.id;
            data.AlterID          = vmess.aid;
            data.TransferProtocol = vmess.net;
            data.FakeType         = vmess.type;
            data.ServerName       = vmess.sni;

            if (data.TransferProtocol == "quic")
            {
                data.QUICSecure = vmess.host;
                data.QUICSecret = vmess.path;
            }
            else
            {
                data.Host = vmess.host;
                data.Path = vmess.path;
            }

            data.TLSSecureType = vmess.tls;

            return(new[] { data });
        }
コード例 #2
0
ファイル: VLESSUtil.cs プロジェクト: jssycszyj/Netch
 public IEnumerable <Server> ParseUri(string text)
 {
     return(V2rayUtils.ParseVUri(text));
 }