コード例 #1
0
        void ProxyService_Registering(RegisterEntiy obj)
        {
            labelOnline.Text          = (++count).ToString();
            richOutPut.SelectionColor = Color.Black;
            richOutPut.AppendText(DateTime.Now.ToShortTimeString() + ":");
            richOutPut.SelectionColor = Color.Green;
            string str = string.Format("{0}已登录\n", obj.Ip);

            richOutPut.AppendText(str);
            list.Add(obj);
        }
コード例 #2
0
        private void LoadListeners()
        {
            string oldip        = IP;
            string oldHttpPort  = httpport.ToString();
            string oldSocksPort = sock5port.ToString();

            IP = GetIP();
            if (IP == string.Empty)
            {
                return;
            }

            int[] arr = getRandomNum(2, 10000, 30000);
            httpport  = arr[0];
            sock5port = arr[1];

            RegisterEntiy entity = new RegisterEntiy();
            // HTTP代理
            Listener listener = null;

            listener = CreateListener("xProxy.Http.HttpListener", string.Format("host:{0};int:{1}", IP, httpport));
            if (listener != null)
            {
                try
                {
                    listener.Start();
                    AddListener(listener);
                    entity.Ip         = IP;
                    entity.HttpPort   = httpport;
                    entity.SocketPort = 0;
                }
                catch (Exception e)
                {
                    Console.WriteLine("HTTP代理启动失败!" + e.Message);
                }
            }
            //socks5 代理
            UserList.Clear();
            string Name = GetRandomStr();
            string Pwd  = getRandomNum(1, 1000, 10000)[0].ToString();

            UserList.AddItem(Name, Pwd);
            listener = CreateListener("xProxy.Socks.SocksListener", string.Format("host:{0};int:{1};authlist", IP, sock5port));
            if (listener != null)
            {
                try
                {
                    listener.Start();
                    AddListener(listener);
                    entity.Ip         = IP;
                    entity.SocketPort = sock5port;
                    entity.UName      = Name;
                    entity.UPwd       = Pwd;
                }
                catch (Exception e)
                {
                    Console.WriteLine("SOCKS5代理启动失败!" + e.Message);
                }
            }
            if (entity.Ip != null)
            {
                try
                {
                    if (!service.RegisterProxy(entity))
                    {
                        Console.WriteLine("向服务器注册代理失败!请重试!");
                    }
                    else
                    {
                        Console.WriteLine("向服务器注册代理成功!");
                    }
                }
                catch (Exception e)
                {
                    Console.WriteLine("注册代理失败:" + e.Message);
                }
            }
        }