/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (Global.reloadV2ray) { var item = ConfigHandler.GetDefaultServer(ref config); if (item == null) { ShowMsg(false, ResUI.CheckServerSettings); return; } if (SetCore(config, item) != 0) { ShowMsg(false, ResUI.CheckServerSettings); return; } string fileName = Utils.GetPath(v2rayConfigRes); if (V2rayConfigHandler.GenerateClientConfig(item, fileName, false, out string msg) != 0) { ShowMsg(false, msg); } else { ShowMsg(true, msg); V2rayRestart(); } } }
/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (config.coreType == ECoreType.v2fly_core) { lstV2ray = new List <string> { "wv2ray", "v2ray" }; coreUrl = Global.v2flyCoreUrl; } else { lstV2ray = new List <string> { "xray" }; coreUrl = Global.xrayCoreUrl; } if (Global.reloadV2ray) { var item = ConfigHandler.GetDefaultServer(ref config); string fileName = Utils.GetPath(v2rayConfigRes); if (V2rayConfigHandler.GenerateClientConfig(item, fileName, false, out string msg) != 0) { ShowMsg(false, msg); } else { ShowMsg(true, msg); V2rayRestart(); } } }
/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (Global.reloadV2ray) { string fileName = Utils.GetPath(v2rayConfigRes); if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out string msg) != 0) { ShowMsg(false, msg); } else { ShowMsg(true, msg); V2rayRestart(); } } }
/// <summary> /// 载入V2ray /// </summary> public Task LoadV2ray(Config config) { return(Task.Run(() => { if (!Global.reloadV2ray) { return; } string fileName = Utils.GetPath(v2rayConfigRes); bool bOk = V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out string msg) == 0; ShowMsg(bOk, msg); if (bOk) { V2rayRestart(); } })); }
/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (Global.reloadV2ray) { var item = ConfigHandler.GetDefaultServer(ref config); if (item == null) { ShowMsg(false, ResUI.CheckServerSettings); return; } if (SetCore(config, item) != 0) { ShowMsg(false, ResUI.CheckServerSettings); return; } string fileName = Utils.GetPath(v2rayConfigRes); if (V2rayConfigHandler.GenerateClientConfig(item, fileName, out string msg, out string content) != 0) { ShowMsg(false, msg); } else { ShowMsg(false, msg); ShowMsg(true, $"[{config.GetGroupRemarks(item.groupId)}] {item.GetSummary()}"); V2rayRestart(); } //start a socks service if (item.configType == EConfigType.Custom && item.preSocksPort > 0) { var itemSocks = new VmessItem() { configType = EConfigType.Socks, address = Global.Loopback, port = item.preSocksPort }; if (V2rayConfigHandler.GenerateClientConfig(itemSocks, null, out string msg2, out string configStr) == 0) { processId = V2rayStartNew(configStr); } } }
/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (Global.reloadV2ray) { string fileName = Utils.GetPath(v2rayConfigRes); if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out string msg) != 0) { ShowMsg(false, msg); } else { var vmessSelected = config.vmess[config.index]; var isTrojan = vmessSelected.configType == (int)EConfigType.Trojan; // construct trojan config file before start if (isTrojan) { TrojanConfigCli cfg = new TrojanConfigCli { remote_addr = vmessSelected.address, remote_port = vmessSelected.port, password = new List <string>() { vmessSelected.id }, local_port = config.inbound[0].localPort }; if (config.allowLANConn) { cfg.local_addr = "0.0.0.0"; } Utils.ToJsonFile(cfg, Utils.GetPath("config.json")); } ShowMsg(true, msg); V2rayRestart(config.vmess[config.index].configType == (int)EConfigType.Trojan); } } }
/// <summary> /// 载入V2ray /// </summary> public void LoadV2ray(Config config) { if (Global.reloadV2ray) { string msg = string.Empty; string fileName = Utils.GetPath(v2rayConfigRes); string overtureMsg = string.Empty; string otFileName = Utils.GetPath(overtureConfigRes); if (V2rayConfigHandler.GenerateClientConfig(config, fileName, false, out msg) != 0 || OvertureHandler.GenerateOvertureConfig(config, otFileName, out overtureMsg) != 0) { ShowMsg(false, msg); } else { ShowMsg(true, msg); V2rayRestart(); } } }