Exemplo n.º 1
0
        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"));
        }
Exemplo n.º 2
0
        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);
        }