Esempio n. 1
0
 public void AddProxy(GoProxy proxy)
 {
     lock (Proxies)
     {
         Proxies.Add(proxy);
     }
 }
Esempio n. 2
0
        public GoProxy GetRandomProxy()
        {
            if (Proxies == null)
            {
                return(null);
            }

            List <GoProxy> availableProxies = new List <GoProxy>();

            lock (Proxies)
            {
                availableProxies = Proxies.Where(x =>
                                                 x.MaxConcurrentFails > x.CurrentConcurrentFails &&
                                                 x.MaxAccounts > x.CurrentAccounts &&
                                                 !x.IsBanned).ToList();

                if (availableProxies.Count == 0)
                {
                    return(null);
                }

                GoProxy returnProxy = availableProxies[GetRandom(0, availableProxies.Count)];

                ProxyUsed(returnProxy, true);

                return(returnProxy);
            }
        }
Esempio n. 3
0
 public void MarkProxy(GoProxy proxy, bool isBanned = true)
 {
     lock (proxy)
     {
         proxy.IsBanned = isBanned;
     }
 }
Esempio n. 4
0
 public void IncreaseFailCounter(GoProxy proxy)
 {
     lock (proxy)
     {
         ++proxy.CurrentConcurrentFails;
     }
 }
Esempio n. 5
0
 public void ResetFailCounter(GoProxy proxy)
 {
     lock (proxy)
     {
         proxy.CurrentConcurrentFails = 0;
     }
 }
Esempio n. 6
0
 public void RemoveProxy(GoProxy proxy)
 {
     lock (Proxies)
     {
         Proxies.Remove(proxy);
     }
 }
Esempio n. 7
0
 public bool AddProxy(GoProxy proxy)
 {
     lock (Proxies)
     {
         return(Proxies.Add(proxy));
     }
 }
Esempio n. 8
0
 public void ResetFailCounter(GoProxy proxy)
 {
     if (proxy != null)
     {
         proxy.ClearFailCounter();
     }
 }
Esempio n. 9
0
 public void ProxyUsed(GoProxy proxy, bool addition = true)
 {
     lock (proxy)
     {
         if (addition)
         {
             ++proxy.CurrentAccounts;
         }
         else
         {
             --proxy.CurrentAccounts;
         }
     }
 }
        private void fastObjectListViewProxies_FormatCell(object sender, BrightIdeasSoftware.FormatCellEventArgs e)
        {
            GoProxy proxy = (GoProxy)e.Model;

            if (e.Column == olvColumnCurrentFails)
            {
                if (proxy.CurrentConcurrentFails == 0)
                {
                    e.SubItem.ForeColor = Color.Green;
                }
                else if (proxy.CurrentConcurrentFails > 0)
                {
                    e.SubItem.ForeColor = Color.Yellow;
                }
                else if (proxy.CurrentConcurrentFails >= proxy.MaxConcurrentFails)
                {
                    e.SubItem.ForeColor = Color.Red;
                }
            }
            else if (e.Column == olvColumnTimeOut)
            {
                e.SubItem.ForeColor = proxy.CoolDownTimer.IsRunning ? Color.Red : Color.Green;
            }
            else if (e.Column == olvColumnUsageCount)
            {
                if (proxy.CurrentCreations == 0)
                {
                    e.SubItem.ForeColor = Color.Green;
                }
                else if (proxy.CurrentCreations <= proxy.MaxCreations)
                {
                    e.SubItem.ForeColor = Color.Yellow;
                }
                else
                {
                    e.SubItem.ForeColor = Color.Red;
                }
            }
            else if (e.Column == olvColumnStatu)
            {
                e.SubItem.ForeColor = proxy.GetStatusColor();
            }
        }
Esempio n. 11
0
        public bool AddProxy(string data)
        {
            ProxyEx proxy = null;

            if (!ProxyEx.TryParse(data, out proxy))
            {
                return(false);
            }


            GoProxy goProxy = new GoProxy
            {
                Address  = proxy.Address,
                Password = proxy.Password,
                Port     = proxy.Port,
                Username = proxy.Username
            };

            return(AddProxy(goProxy));
        }