示例#1
0
        Tuple <JObject, JToken> VeeToConfig(Models.VeeShareLinks.Obsolete.Socks2a socks)
        {
            if (socks == null)
            {
                return(null);
            }

            var outbSocks = cache.tpl.LoadTemplate("outbVeeSocks");

            outbSocks["streamSettings"] = Comm.GenStreamSetting(cache, socks);
            var node = outbSocks["settings"]["servers"][0];

            node["address"] = socks.address;
            node["port"]    = socks.port;

            if (!string.IsNullOrEmpty(socks.userName) || !string.IsNullOrEmpty(socks.userPassword))
            {
                node["users"] = JToken.Parse(
                    $"[{{user: \"{socks.userName ?? string.Empty}\"," +
                    $"pass:\"{socks.userPassword ?? string.Empty}\"}}]");
            }

            var tpl = cache.tpl.LoadTemplate("tplImportVmess") as JObject;

            tpl["v2raygcon"]["alias"]       = socks.alias;
            tpl["v2raygcon"]["description"] = socks.description;
            return(new Tuple <JObject, JToken>(tpl, outbSocks));
        }
示例#2
0
        public byte[] VeeConfig2Bytes(Models.Datas.VeeConfigs veeConfig)
        {
            var vee = new Models.VeeShareLinks.Obsolete.Socks2a();

            vee.CopyFromVeeConfig(veeConfig);
            return(vee.ToBytes());
        }
示例#3
0
        Models.VeeShareLinks.Obsolete.Socks2a Config2Vee(JObject config)
        {
            var bs = Comm.ExtractBasicConfig(
                config, @"socks", @"servers", out bool isUseV4, out string root);

            if (bs == null)
            {
                return(null);
            }

            var GetStr = Misc.Utils.GetStringByPrefixAndKeyHelper(config);

            var socks          = new Models.VeeShareLinks.Obsolete.Socks2a(bs);
            var userInfoPrefix = root + ".settings.servers.0.users.0";

            socks.userName     = GetStr(userInfoPrefix, "user") ?? string.Empty;
            socks.userPassword = GetStr(userInfoPrefix, "pass") ?? string.Empty;
            return(socks);
        }
示例#4
0
        public Tuple <JObject, JToken> Bytes2Config(byte[] bytes)
        {
            var veeLink = new Models.VeeShareLinks.Obsolete.Socks2a(bytes);

            return(VeeToConfig(veeLink));
        }
示例#5
0
        public Models.Datas.VeeConfigs Bytes2VeeConfig(byte[] bytes)
        {
            var vee = new Models.VeeShareLinks.Obsolete.Socks2a(bytes);

            return(vee.ToVeeConfigs());
        }