예제 #1
0
 private void btnAdd_Click(object sender, RoutedEventArgs e)
 {
     if (IPTool.ValidateIP(txbIpToAdd.Text))
     {
         if (!addresses.Contains(IPAddress.Parse(txbIpToAdd.Text)))
         {
             addresses.Add(IPAddress.Parse(txbIpToAdd.Text));
             lsbAddresses.Items.Refresh();
             mWhitelist.Ips.Add(txbIpToAdd.Text);
             DaWhitelist.SaveToJson(mWhitelist);
             set = false; active = false;
             FirewallRule.DeleteRules();
             SetIpCount();
             UpdateNotActive();
         }
     }
 }
 private void BtnAdd_Click(object sender, RoutedEventArgs e)
 {
     if (IPTool.ValidateIP(txbIpToAdd.Text))
     {
         IPAddress newIp = IPAddress.Parse(txbIpToAdd.Text);
         if (!_addresses.Contains(newIp))
         {
             _addresses.Add(newIp);
             lsbAddresses.Items.Refresh();
             _settingsLoader.Save();
             _lobbyRulesSet = false; _lobbyRulesActive = false;
             FirewallRule.DeleteRules();
             SetIpCount();
             UpdateNotActive();
         }
     }
 }
        public static List <IPAddress> ReadIPsFromJSON()
        {
            List <IPAddress> addresses = new List <IPAddress>();

            if (!File.Exists(path))
            {
                SaveToJson(new MWhitelist());
            }

            using (StreamReader r = new StreamReader(path))
            {
                string     json      = r.ReadToEnd();
                MWhitelist whitelist = JsonConvert.DeserializeObject <MWhitelist>(json);
                foreach (string address in whitelist.Ips)
                {
                    if (IPTool.ValidateIP(address.ToString()))
                    {
                        addresses.Add(IPAddress.Parse(address));
                    }
                }
            }
            return(addresses);
        }