public void InjectStatisticsConfigOnDemand(ref JObject config) { if (!setting.isEnableStatistics) { return; } var freePort = Lib.Utils.GetFreeTcpPort(); if (freePort <= 0) { return; } states.SetStatPort(freePort); var result = cache.tpl.LoadTemplate("statsApiV4Inb") as JObject; result["inbounds"][0]["port"] = freePort; Lib.Utils.CombineConfig(ref result, config); result["inbounds"][0]["tag"] = "agentin"; var statsTpl = cache.tpl.LoadTemplate("statsApiV4Tpl") as JObject; Lib.Utils.CombineConfig(ref result, statsTpl); config = result; }
void OnCoreStateChangedHandler(object sender, EventArgs args) { if (!coreServ.isRunning) { coreStates.SetStatPort(0); } container.InvokeEventOnPropertyChange(); }
void OnCoreStateChangedHandler(object sender, EventArgs args) { if (v2rayCore.isRunning) { container.InvokeEventOnCoreStart(); } else { coreStates.SetStatPort(0); container.InvokeEventOnCoreStop(); } }