Exemplo n.º 1
0
        private async Task <Dictionary <string, List <string> > > fetchList(ListConfig listConfig)
        {
            if (ListFetcher == null)
            {
                ListFetcher = new ListFetcher(listConfig);
            }
            else
            {
                ListFetcher.ListConfig = listConfig;
            }

            ListFetcher.Feedback.ErrorAdded  += errorOutputHandler;
            ListFetcher.Feedback.OutputAdded += outputOutputHandler;

//            string saveFile = Environment.GetEnvironmentVariable("HOME") + "/test/emerging_threats.txt";

            Console.WriteLine($"Trying to fetch list from {listConfig.Name} ({listConfig.Url})...");

            Console.WriteLine("Fetching list.");
            Task fetchTask = Task.Run(ListFetcher.FetchAndParse);

            while (!fetchTask.IsCompleted)
            {
                Console.Write(".");
                Thread.Sleep(500);
            }

            Console.WriteLine("Done fetching list.");

            return(ListFetcher.Lists);
        }
Exemplo n.º 2
0
        static async Task Main(string[] args)
        {
            // TODO: Factory or builder pattern -->
            IExecutor    executor    = new NFTablesExecutor(new SshConnector());
            IListFetcher listFetcher = new ListFetcher();

            NFTManager manager = new NFTManager()
            {
                Executor    = executor,
                ListFetcher = listFetcher,
            };
            await manager.ManageLists(null, null, true);

            Console.WriteLine("Finished");
        }