public ActionResult Post([FromBody] WhiteList_Req wlist) { string whiltListFilePath = $"{this._config["Settings:WhiteListFolder"]}/" + wlist.domain + this._config["Settings:DomainPostfix"]; try { System.IO.StreamWriter file = new System.IO.StreamWriter(whiltListFilePath); foreach (var ipitem in wlist.ips) { file.WriteLine($"allow {ipitem.ip}; #{ipitem.desc}"); } file.Close(); //string resultStr = "echo Chuchu0116 | sudo nginx -s reload".Bash(); // 改成以下,因使用service方式,root帐号启动 string resultStr = "nginx -s reload".Bash(); if (!String.IsNullOrEmpty(resultStr)) { return(Content(resultStr)); } } catch (Exception ex) { return(Content($"{ex.Message}")); } return(Content("Success")); }
public ActionResult <WhiteList_Req> Get(string domain) { WhiteList_Req resp = new WhiteList_Req() { domain = domain, ips = new List <WhiteList_Req_Data>() }; Regex regex = new Regex(@"^allow\s+([0-9|\.]+);\s*#{0,1}(.*)$"); string line = String.Empty; string result = String.Empty; string whiltListFilePath = $"{this._config["Settings:WhiteListFolder"]}/" + domain + this._config["Settings:DomainPostfix"]; try { System.IO.StreamReader file = new System.IO.StreamReader(whiltListFilePath); while ((line = file.ReadLine()) != null) { var r = regex.Match(line); if (r.Groups.Count > 0) { resp.ips.Add(new WhiteList_Req_Data() { ip = r.Groups[1].Value.Trim(), desc = r.Groups[2].Value.Trim() }); } } file.Close(); } catch (Exception ex) { result = $"{ex.Message}"; } return(resp); }