Exemple #1
0
            public static void AddParameterToGlobal(string key, string value)
            {
                SetCustomFile();
                var type         = Helper.ServiceData.SupposeDataType(value);
                var booleanVerbs = Helper.ServiceData.SupposeBooleanVerbs(value);
                var line         = new LineModel {
                    FilePath     = $"{MntDir}/{AntdNginxFile}",
                    Key          = key,
                    Value        = value,
                    Type         = type,
                    BooleanVerbs = booleanVerbs
                };
                var shares = MapFile.Get().Share;
                var data   = MapFile.Get().Data;

                data.Add(line);
                var nginx = new NginxModel {
                    _Id       = ServiceGuid,
                    Guid      = ServiceGuid,
                    Timestamp = Timestamp.Now,
                    Share     = shares,
                    Data      = data
                };

                DeNSo.Session.New.Set(nginx);
            }
Exemple #2
0
            public static void SaveShareConfig(string fileName, string name, string queryName, List <ServiceNginx> newParameters)
            {
                var data     = MapFile.Get().Data;
                var shares   = MapFile.Get().Share;
                var oldShare = shares.FirstOrDefault(o => o.Name == queryName);

                shares.Remove(oldShare);
                var shareData = newParameters.Select(ConvertData).ToList();
                var newShare  = new ShareModel {
                    FilePath = fileName,
                    Name     = name,
                    Data     = shareData
                };

                shares.Add(newShare);
                var nginx = new NginxModel {
                    _Id       = ServiceGuid,
                    Guid      = ServiceGuid,
                    Timestamp = Timestamp.Now,
                    Share     = shares,
                    Data      = data
                };

                DeNSo.Session.New.Set(nginx);
            }
Exemple #3
0
            public static void Render()
            {
                var shares = new List <ShareModel>();
                var data   = new List <LineModel>();

                foreach (var file in SimpleStructure)
                {
                    if (file.Contains("/share/"))
                    {
                        shares.Add(ReadFileShare(file));
                    }
                    else
                    {
                        var lines = ReadFile(file);
                        foreach (var line in lines)
                        {
                            data.Add(line);
                        }
                    }
                }
                var nginx = new NginxModel {
                    _Id       = ServiceGuid,
                    Guid      = ServiceGuid,
                    Timestamp = Timestamp.Now,
                    Share     = shares,
                    Data      = data
                };

                DeNSo.Session.New.Set(nginx);
            }
Exemple #4
0
 public static NginxModel ParseOptions(NginxModel nginxConfigurationModel, string text)
 {
     nginxConfigurationModel.User      = CaptureGroup(text, "user[\\s]+([\\d\\w]+)");
     nginxConfigurationModel.Group     = CaptureGroup(text, "user[\\s]+[\\d\\w]+[\\s]+([\\d\\w]+);");
     nginxConfigurationModel.Processes = CaptureGroup(text, "worker_processes[\\s]+[\\d]+;");
     nginxConfigurationModel.FileLimit = CaptureGroup(text, "worker_rlimit_nofile[\\s]+[\\d]+;");
     nginxConfigurationModel.ErrorLog  = CaptureGroup(text, "error_log[\\s]+[\\w\\/.\\s\\d]+;");
     return(nginxConfigurationModel);
 }
Exemple #5
0
        //(events[\s]+{[\s]+[\w\s_;]+[\s]+})
        public static NginxModel ParseEventsOptions(NginxModel nginxConfigurationModel, string text)
        {
            var regex         = new Regex("(events[\\s]+{[\\s]+[\\w\\s_;]+[\\s]+})");
            var matchedGroups = regex.Match(text).Groups;
            var capturedText  = matchedGroups[1].Value;

            nginxConfigurationModel.EventsWorkerConnections = CaptureGroup(capturedText, "worker_connections[\\s]+[\\d]+;");
            nginxConfigurationModel.EventsMultiAccept       = CaptureGroup(capturedText, "multi_accept[\\s]+[\\w]+;");
            nginxConfigurationModel.EventsUse         = CaptureGroup(capturedText, "use[\\s]+[\\w]+;");
            nginxConfigurationModel.EventsAcceptMutex = CaptureGroup(capturedText, "accept_mutex[\\s]+[\\w]+;");
            return(nginxConfigurationModel);
        }
Exemple #6
0
            public static void SaveGlobalConfig(List <ServiceNginx> newParameters)
            {
                var shares = MapFile.Get().Share;
                var data   = new List <LineModel>();

                foreach (var parameter in newParameters)
                {
                    data.Add(ConvertData(parameter));
                }
                var nginx = new NginxModel {
                    _Id       = ServiceGuid,
                    Guid      = ServiceGuid,
                    Timestamp = Timestamp.Now,
                    Share     = shares,
                    Data      = data
                };

                DeNSo.Session.New.Set(nginx);
            }
Exemple #7
0
            public static void AddShare(string name, string directory)
            {
                SetShareFile(name);
                var shareData          = new List <LineModel>();
                var defaultParameter00 = new LineModel {
                    FilePath     = $"{MntDir}/share/{name.Replace("", "_")}.conf",
                    Key          = "path",
                    Value        = directory,
                    Type         = ServiceDataType.String,
                    BooleanVerbs = new KeyValuePair <string, string>("", "")
                };

                shareData.Add(defaultParameter00);
                var defaultParameter01 = new LineModel {
                    FilePath     = $"{MntDir}/share/{name.Replace("", "_")}.conf",
                    Key          = "browseable",
                    Value        = "yes",
                    Type         = ServiceDataType.Boolean,
                    BooleanVerbs = new KeyValuePair <string, string>("yes", "no")
                };

                shareData.Add(defaultParameter01);
                var sh = new ShareModel {
                    FilePath = $"{MntDir}/share/{name.Replace("", "_")}.conf",
                    Name     = name,
                    Data     = shareData
                };
                var shares = MapFile.Get().Share;
                var data   = MapFile.Get().Data;

                shares.Add(sh);
                var nginx = new NginxModel {
                    _Id       = ServiceGuid,
                    Guid      = ServiceGuid,
                    Timestamp = Timestamp.Now,
                    Share     = shares,
                    Data      = data
                };

                DeNSo.Session.New.Set(nginx);
            }
Exemple #8
0
        public static void Parse()
        {
            if (!File.Exists(MainFilePath))
            {
                return;
            }
            var content = File.ReadAllText(MainFilePath);
            var model   = new NginxModel {
                Active = false
            };

            model = NginxParser.ParseOptions(model, content);
            model = NginxParser.ParseEventsOptions(model, content);
            var upstreams = NginxParser.ParseUpstream(content);

            model.Upstreams = upstreams;
            var http = NginxParser.ParseHttpProtocol(content);

            model.Http = http;
            var servers = NginxParser.ParseServer(content);

            model.Servers = servers;
            ConsoleLogger.Log("[dhcpd] import existing configuration");
        }