Пример #1
0
        void _server_onClientConnected(object sender, ClientEventArgs e)
        {
            //Console.WriteLine("Client connected.");
            //call plugins related to ClientConnectedHandler.
            foreach (ClientConnectedHandler cch in PluginLoader.LoadPlugin(typeof(ClientConnectedHandler)))
            {
                if (cch.Enabled)
                {
                    try
                    {
                        if (!cch.OnConnect(e.Client, (IPEndPoint)e.Client.Sock.RemoteEndPoint))
                        {
                            e.Client.Disconnect();
                            return;
                        }
                    }
                    catch
                    {
                    }
                }
            }
            SocksClient client = new SocksClient(e.Client);

            client.Client.onDataReceived += Client_onDataSent;
            client.Client.onDataSent     += Client_onDataReceived;
            client.onClientDisconnected  += client_onClientDisconnected;
            Clients.Add(client);
            client.Begin(this.PacketSize, this.Timeout);
        }
Пример #2
0
        private void _server_onClientConnected(object sender, ClientEventArgs e)
        {
            //call plugins related to ClientConnectedHandler.
            foreach (ClientConnectedHandler cch in PluginLoader.LoadPlugin(typeof(ClientConnectedHandler)))
            {
                try
                {
                    if (cch.OnConnect(e.Client, (IPEndPoint)e.Client.Sock.RemoteEndPoint))
                    {
                        continue;
                    }

                    e.Client.Disconnect();
                    return;
                }
                catch
                {
                }
            }
            var client = new SocksClient(e.Client);

            client.OnClientDisconnected += client_onClientDisconnected;
            Clients.Add(client);
            client.Begin(OutboundIpAddress, PacketSize, Timeout);
        }
Пример #3
0
 ///<summary>Called when there's an incoming client connection waiting to be accepted.</summary>
 ///<param name="ar">The result of the asynchronous operation.</param>
 public override void OnAccept(IAsyncResult ar)
 {
     try
     {
         Socket NewSocket = ListenSocket.EndAccept(ar);
         if (NewSocket != null)
         {
             SocksClient NewClient = new SocksClient(NewSocket, RemoveClient, AuthList);
             AddClient(NewClient);
             NewClient.StartHandshake();
         }
     }
     catch
     {
     }
     try
     {
         //Restart Listening
         ListenSocket.BeginAccept(new AsyncCallback(OnAccept), ListenSocket);
     }
     catch
     {
         Dispose();
     }
 }
Пример #4
0
 public SocksTunnel(SocksClient p, SocksRequest req, SocksRequest req1, int packetSize, int timeout)
 {
     RemoteClient = new Client(new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp), packetSize);
     Client       = p;
     Req          = req;
     ModifiedReq  = req1;
     Timeout      = timeout;
 }
Пример #5
0
        void _server_onClientConnected(object sender, ClientEventArgs e)
        {
            //Console.WriteLine("Client connected.");
            SocksClient client = new SocksClient(e.Client);

            client.onClientDisconnected += client_onClientDisconnected;
            Clients.Add(client);
            client.Begin(this.PacketSize, this.Timeout);
        }
Пример #6
0
        void ServerClientConnected(object sender, ClientEventArgs e)
        {
#if DEBUG
            Console.WriteLine("New Client :");
#endif
            //call plugins related to ClientConnectedHandler.
            foreach (ClientConnectedHandler cch in PluginLoader.LoadPlugin(typeof(ClientConnectedHandler)))
            {
                if (cch.Enabled)
                {
                    try
                    {
                        if (!cch.OnConnect(e.Client, (IPEndPoint)e.Client.Sock.RemoteEndPoint))
                        {
                            e.Client.Disconnect();
                            return;
                        }
                    }
                    catch
                    {
                    }
                }
            }

            SocksClient client = new SocksClient(e.Client);
            e.Client.onDataReceived     += Client_onDataReceived;
            e.Client.onDataSent         += Client_onDataSent;
            client.onClientDisconnected += client_onClientDisconnected;
            Clients.Add(client);
            try
            {
                client.Start(this.PacketSize, this.Timeout);
            }
            catch (ObjectDisposedException ex)
            {
                Console.WriteLine(ex.Message);
                Clients.Remove(client);
                client.Dispose();
                client = null;
            }
        }
Пример #7
0
 public SocksClientEventArgs(SocksClient client)
 {
     Client = client;
 }