protected void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict);
            _sessionMock = new Mock<ISession>(MockBehavior.Strict);
            _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict);

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Close());
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
            _forwardedPort.Start();

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
                {
                    ReceiveTimeout = 500,
                    SendTimeout = 500,
                    SendBufferSize = 0
                };
            _client.Connect(_endpoint);

            // allow for client socket to establish connection
            Thread.Sleep(50);
        }
Ejemplo n.º 2
0
        protected void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();
            _endpoint          = new IPEndPoint(IPAddress.Loopback, 8122);

            _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict);
            _sessionMock        = new Mock <ISession>(MockBehavior.Strict);
            _channelMock        = new Mock <IChannelDirectTcpip>(MockBehavior.Strict);

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort            = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
            _forwardedPort.Start();

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            {
                ReceiveTimeout = 500,
                SendTimeout    = 500,
                SendBufferSize = 0
            };
            _client.Connect(_endpoint);

            // allow for client socket to establish connection
            Thread.Sleep(50);
        }
        private void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();

            _sessionMock = new Mock<ISession>(MockBehavior.Strict);
            _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict);
            _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict);

            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Close());
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort = new ForwardedPortDynamic(8122);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
            _forwardedPort.Start();

            var endPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _client.Connect(endPoint);
        }
Ejemplo n.º 4
0
        private void SetupData()
        {
            var random = new Random();

            _closingRegister      = new List <EventArgs>();
            _exceptionRegister    = new List <ExceptionEventArgs>();
            _endpoint             = new IPEndPoint(IPAddress.Loopback, 8122);
            _remoteEndpoint       = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
            _bindSleepTime        = TimeSpan.FromMilliseconds(random.Next(100, 500));
            _userName             = random.Next().ToString(CultureInfo.InvariantCulture);
            _channelBindStarted   = new ManualResetEvent(false);
            _channelBindCompleted = new ManualResetEvent(false);

            _forwardedPort            = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            {
                ReceiveTimeout = 100,
                SendTimeout    = 100,
                SendBufferSize = 0
            };
        }
Ejemplo n.º 5
0
        public void ForwardSsh(ref SshClient client, ref ForwardedPortDynamic port)
        {
            var random = new Random();

            do
            {
                try
                {
                    var randomSshClient = sshClients[random.Next(sshClients.Length)];
                    var sshClientInfo   = randomSshClient.Split('|');
                    client = new SshClient(sshClientInfo[0], sshClientInfo[1], sshClientInfo[2]);
                    client.KeepAliveInterval      = new TimeSpan(0, 0, config.IP_Alive_Interval);
                    client.ConnectionInfo.Timeout = new TimeSpan(0, 0, config.IP_Timeout);
                    client.Connect();
                    if (client.IsConnected)
                    {
                        port = new ForwardedPortDynamic("127.0.0.1", 1080);
                        client.AddForwardedPort(port);
                        port.Start();
                        break;
                    }
                }
                catch (Exception ex)
                {
                    File.AppendAllText("Error.txt", ex.ToString());
                }
            } while (true);
        }
Ejemplo n.º 6
0
        public void ForwardedPortDynamicConstructorTest1()
        {
            uint port = 0; // TODO: Initialize to an appropriate value
            ForwardedPortDynamic target = new ForwardedPortDynamic(port);

            Assert.Inconclusive("TODO: Implement code to verify target");
        }
Ejemplo n.º 7
0
 // Token: 0x0600054A RID: 1354 RVA: 0x00032898 File Offset: 0x00030A98
 public static bool SSHForwardToPort(string host, string username, string password, string ipforward, string portforward)
 {
     try
     {
         SshClient sshClient = new SshClient(host, username, password);
         sshClient.KeepAliveInterval      = new TimeSpan(0, 0, 30);
         sshClient.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30);
         sshClient.Connect();
         ForwardedPortDynamic forwardedPortDynamic = new ForwardedPortDynamic(ipforward, Convert.ToUInt32(portforward));
         sshClient.AddForwardedPort(forwardedPortDynamic);
         forwardedPortDynamic.Exception += delegate(object sender1, ExceptionEventArgs e1)
         {
             Console.WriteLine(e1.Exception.ToString());
         };
         forwardedPortDynamic.Start();
     }
     catch (Exception ex)
     {
         bool flag = ex.Message == "Only one usage of each socket address (protocol/network address/port) is normally permitted";
         if (flag)
         {
             throw ex;
         }
         return(false);
     }
     Thread.Sleep(10000000);
     return(true);
 }
Ejemplo n.º 8
0
        public void Connect(string IP, string usernameIP, string passwordIP, string port)
        {
            using (var _client = new SshClient(IP, 22, usernameIP, passwordIP))
            {
                // timeout 30s
                _client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25);
                _client.ErrorOccurred         += (se, ev) => { };
                _client.KeepAliveInterval      = TimeSpan.FromSeconds(60);
                _client.Connect();

                if (_client.IsConnected)
                {
                    var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port));
                    forwarder.Exception += (se, ev) => { };
                    _client.AddForwardedPort(forwarder);

                    forwarder.Start();



                    // ko dung nua thi stop
                    //forwarder.Stop();
                    //client.Disconnect
                    //MessageBox.Show("forwarded");
                    //Thread.Sleep(10 * 60 * 1000);
                }
            }
        }
        private void SetupData()
        {
            var random = new Random();

            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);
            _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
            _bindSleepTime = TimeSpan.FromMilliseconds(random.Next(100, 500));
            _userName = random.Next().ToString(CultureInfo.InvariantCulture);
            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port);
            _sessionException = new Exception();
            _channelBindStarted = new ManualResetEvent(false);
            _channelBindCompleted = new ManualResetEvent(false);

            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
                {
                    ReceiveTimeout = 100,
                    SendTimeout = 100,
                    SendBufferSize = 0
                };
        }
Ejemplo n.º 10
0
        private void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();

            _sessionMock        = new Mock <ISession>(MockBehavior.Strict);
            _channelMock        = new Mock <IChannelDirectTcpip>(MockBehavior.Strict);
            _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict);

            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Close());
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort            = new ForwardedPortDynamic(8122);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
            _forwardedPort.Start();

            var endPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _client.Connect(endPoint);
        }
 public void Cleanup()
 {
     if (_forwardedPort != null)
     {
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
 }
 public void Cleanup()
 {
     if (_forwardedPort != null)
     {
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
 }
Ejemplo n.º 13
0
        public void DisposeTest()
        {
            uint port = 0;                                                // TODO: Initialize to an appropriate value
            ForwardedPortDynamic target = new ForwardedPortDynamic(port); // TODO: Initialize to an appropriate value

            target.Dispose();
            Assert.Inconclusive("A method that does not return a value cannot be verified.");
        }
Ejemplo n.º 14
0
        public void Constructor_Port()
        {
            var port = (uint)new Random().Next(0, int.MaxValue);

            var target = new ForwardedPortDynamic(port);

            Assert.AreSame(string.Empty, target.BoundHost);
            Assert.AreEqual(port, target.BoundPort);
        }
 public void Cleanup()
 {
     if (_forwardedPort != null)
     {
         _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(1));
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
 }
        public void Constructor_Port()
        {
            var port = (uint)new Random().Next(0, int.MaxValue);

            var target = new ForwardedPortDynamic(port);

            Assert.AreSame(string.Empty, target.BoundHost);
            Assert.AreEqual(port, target.BoundPort);
        }
Ejemplo n.º 17
0
 public void Cleanup()
 {
     if (_forwardedPort != null)
     {
         _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(1));
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
 }
        protected void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();

            _forwardedPort = new ForwardedPortDynamic("host", 22);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Dispose();
        }
        protected void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
        }
        protected void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();

            _forwardedPort            = new ForwardedPortDynamic("host", 22);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Dispose();
        }
        public void Constructor_HostAndPort()
        {
            var host = new Random().Next().ToString(CultureInfo.InvariantCulture);
            var port = (uint)new Random().Next(0, int.MaxValue);

            var target = new ForwardedPortDynamic(host, port);

            Assert.AreSame(host, target.BoundHost);
            Assert.AreEqual(port, target.BoundPort);
        }
Ejemplo n.º 22
0
        public void Constructor_HostAndPort()
        {
            var host = new Random().Next().ToString(CultureInfo.InvariantCulture);
            var port = (uint) new Random().Next(0, int.MaxValue);

            var target = new ForwardedPortDynamic(host, port);

            Assert.AreSame(host, target.BoundHost);
            Assert.AreEqual(port, target.BoundPort);
        }
        protected void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();
            _endpoint          = new IPEndPoint(IPAddress.Loopback, 8122);

            _forwardedPort            = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
        }
Ejemplo n.º 24
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            btnConnect.Enabled = false;

            _client = new SshClient(txip.Text.Trim(), txusername.Text.Trim(), txpwd.Text.Trim());
            _client.Connect();
            ForwardedPortDynamic port = new ForwardedPortDynamic("127.0.0.1", 1080);

            _client.AddForwardedPort(port);
            if (_client.IsConnected)
            {
                port.Start();
            }
        }
        protected void Arrange()
        {
            var random = new Random();

            _closingRegister     = new List <EventArgs>();
            _exceptionRegister   = new List <ExceptionEventArgs>();
            _endpoint            = new IPEndPoint(IPAddress.Loopback, 8122);
            _remoteEndpoint      = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
            _expectedElapsedTime = TimeSpan.FromMilliseconds(random.Next(100, 500));
            _userName            = random.Next().ToString(CultureInfo.InvariantCulture);

            _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict);
            _sessionMock        = new Mock <ISession>(MockBehavior.Strict);
            _channelMock        = new Mock <IChannelDirectTcpip>(MockBehavior.Strict);

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);

            Socket handlerSocket = null;

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Open(_remoteEndpoint.Address.ToString(), (uint)_remoteEndpoint.Port, _forwardedPort, It.IsAny <Socket>())).Callback <string, uint, IForwardedPort, Socket>((address, port, forwardedPort, socket) => handlerSocket = socket);
            _channelMock.Setup(p => p.IsOpen).Returns(true);
            _channelMock.Setup(p => p.Bind()).Callback(() =>
            {
                Thread.Sleep(_expectedElapsedTime);
                if (handlerSocket != null && handlerSocket.Connected)
                {
                    handlerSocket.Shutdown(SocketShutdown.Both);
                }
            });
            _channelMock.Setup(p => p.Close());
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
            _forwardedPort.Start();

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
            {
                ReceiveTimeout = 500,
                SendTimeout    = 500,
                SendBufferSize = 0
            };
            EstablishSocks4Connection(_client);
        }
        private void SetupData()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _connectionTimeout = TimeSpan.FromSeconds(5);
            _channelDisposed = new ManualResetEvent(false);
            _forwardedPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _forwardedPort = new ForwardedPortDynamic((uint) _forwardedPortEndPoint.Port);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;

            _client = new Socket(_forwardedPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
        }
Ejemplo n.º 27
0
        private void SetupData()
        {
            _closingRegister       = new List <EventArgs>();
            _exceptionRegister     = new List <ExceptionEventArgs>();
            _connectionTimeout     = TimeSpan.FromSeconds(5);
            _channelDisposed       = new ManualResetEvent(false);
            _forwardedPortEndPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _forwardedPort            = new ForwardedPortDynamic((uint)_forwardedPortEndPoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;

            _client = new Socket(_forwardedPortEndPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
        }
        protected void Arrange()
        {
            var random = new Random();

            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);
            _remoteEndpoint = new IPEndPoint(IPAddress.Parse("193.168.1.5"), random.Next(IPEndPoint.MinPort, IPEndPoint.MaxPort));
            _expectedElapsedTime = TimeSpan.FromMilliseconds(random.Next(100, 500));
            _userName = random.Next().ToString(CultureInfo.InvariantCulture);

            _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict);
            _sessionMock = new Mock<ISession>(MockBehavior.Strict);
            _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict);

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint) _endpoint.Port);

            Socket handlerSocket = null;

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);
            _channelMock.Setup(p => p.Open(_remoteEndpoint.Address.ToString(), (uint) _remoteEndpoint.Port, _forwardedPort, It.IsAny<Socket>())).Callback<string, uint, IForwardedPort, Socket>((address, port, forwardedPort, socket) => handlerSocket = socket);
            _channelMock.Setup(p => p.IsOpen).Returns(true);
            _channelMock.Setup(p => p.Bind()).Callback(() =>
                {
                    Thread.Sleep(_expectedElapsedTime);
                    if (handlerSocket != null && handlerSocket.Connected)
                        handlerSocket.Shutdown(SocketShutdown.Both);
                });
            _channelMock.Setup(p => p.Close());
            _channelMock.Setup(p => p.Dispose());

            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
            _forwardedPort.Start();

            _client = new Socket(_endpoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
                {
                    ReceiveTimeout = 500,
                    SendTimeout = 500,
                    SendBufferSize = 0
                };
            EstablishSocks4Connection(_client);
        }
Ejemplo n.º 29
0
        protected void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();
            _endpoint          = new IPEndPoint(IPAddress.Loopback, 8122);

            _sessionMock        = new Mock <ISession>(MockBehavior.Strict);
            _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict);

            _sessionMock.Setup(p => p.IsConnected).Returns(false);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);

            _forwardedPort            = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
        }
        protected void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _sessionMock = new Mock<ISession>(MockBehavior.Strict);
            _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict);

            _sessionMock.Setup(p => p.IsConnected).Returns(false);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
        }
        private void Arrange()
        {
            SetupData();
            CreateMocks();
            SetupMocks();

            _forwardedPort = new ForwardedPortDynamic(8122);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
            _forwardedPort.Start();

            var endPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _client.Connect(endPoint);
        }
Ejemplo n.º 32
0
        private void Arrange()
        {
            SetupData();
            CreateMocks();
            SetupMocks();

            _forwardedPort            = new ForwardedPortDynamic(8122);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
            _forwardedPort.Start();

            var endPoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _client = new Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
            _client.Connect(endPoint);
        }
        protected void Arrange()
        {
            _closingRegister = new List<EventArgs>();
            _exceptionRegister = new List<ExceptionEventArgs>();
            _endpoint = new IPEndPoint(IPAddress.Loopback, 8122);

            _connectionInfoMock = new Mock<IConnectionInfo>(MockBehavior.Strict);
            _sessionMock = new Mock<ISession>(MockBehavior.Strict);
            _channelMock = new Mock<IChannelDirectTcpip>(MockBehavior.Strict);

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);

            _forwardedPort = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session = _sessionMock.Object;
        }
        protected void Arrange()
        {
            _closingRegister   = new List <EventArgs>();
            _exceptionRegister = new List <ExceptionEventArgs>();
            _endpoint          = new IPEndPoint(IPAddress.Loopback, 8122);

            _connectionInfoMock = new Mock <IConnectionInfo>(MockBehavior.Strict);
            _sessionMock        = new Mock <ISession>(MockBehavior.Strict);
            _channelMock        = new Mock <IChannelDirectTcpip>(MockBehavior.Strict);

            _connectionInfoMock.Setup(p => p.Timeout).Returns(TimeSpan.FromSeconds(15));
            _sessionMock.Setup(p => p.IsConnected).Returns(true);
            _sessionMock.Setup(p => p.ConnectionInfo).Returns(_connectionInfoMock.Object);
            _sessionMock.Setup(p => p.CreateChannelDirectTcpip()).Returns(_channelMock.Object);

            _forwardedPort            = new ForwardedPortDynamic(_endpoint.Address.ToString(), (uint)_endpoint.Port);
            _forwardedPort.Closing   += (sender, args) => _closingRegister.Add(args);
            _forwardedPort.Exception += (sender, args) => _exceptionRegister.Add(args);
            _forwardedPort.Session    = _sessionMock.Object;
        }
Ejemplo n.º 35
0
        // Token: 0x0600054B RID: 1355 RVA: 0x00032964 File Offset: 0x00030B64
        //public static bool SetSSH2(string host, string username, string password, string ipforward, string portforward, ref SshTunnel tunnel)
        //{
        //	try
        //	{
        //		tunnel.StopAccepting(true);
        //		tunnel.CloseTunnel(true);
        //		tunnel = null;
        //		GC.Collect();
        //	}
        //	catch (Exception)
        //	{
        //	}
        //	tunnel = new SshTunnel();
        //	int port = 22;
        //	bool flag = tunnel.Connect(host, port);
        //	bool flag2 = !flag;
        //	bool result;
        //	if (flag2)
        //	{
        //		Console.WriteLine(tunnel.LastErrorText);
        //		result = false;
        //	}
        //	else
        //	{
        //		flag = tunnel.AuthenticatePw(username, password);
        //		bool flag3 = !flag;
        //		if (flag3)
        //		{
        //			Console.WriteLine(tunnel.LastErrorText);
        //			result = false;
        //		}
        //		else
        //		{
        //			tunnel.DynamicPortForwarding = true;
        //			flag = tunnel.BeginAccepting(Convert.ToInt32(portforward));
        //			bool flag4 = !flag;
        //			if (flag4)
        //			{
        //				Console.WriteLine(tunnel.LastErrorText);
        //				result = false;
        //			}
        //			else
        //			{
        //				result = true;
        //			}
        //		}
        //	}
        //	return result;
        //}

        // Token: 0x0600054C RID: 1356 RVA: 0x00032A40 File Offset: 0x00030C40
        public static bool SetSSH1(string host, string username, string password, string ipforward, string portforward, ref SshClient cursshclient)
        {
            SshClient sshClient = null;

            try
            {
                bool flag = cursshclient != null;
                if (flag)
                {
                    foreach (ForwardedPort forwardedPort in cursshclient.ForwardedPorts)
                    {
                        forwardedPort.Stop();
                    }
                    cursshclient.Disconnect();
                }
                sshClient = new SshClient(host, username, password);
                sshClient.KeepAliveInterval      = new TimeSpan(0, 0, 30);
                sshClient.ConnectionInfo.Timeout = new TimeSpan(0, 0, 30);
                sshClient.Connect();
                ForwardedPortDynamic forwardedPortDynamic = new ForwardedPortDynamic(ipforward, Convert.ToUInt32(portforward));
                sshClient.AddForwardedPort(forwardedPortDynamic);
                forwardedPortDynamic.Exception += delegate(object sender1, ExceptionEventArgs e1)
                {
                    Console.WriteLine(e1.Exception.ToString());
                };
                forwardedPortDynamic.Start();
            }
            catch (Exception ex)
            {
                cursshclient = sshClient;
                bool flag2 = ex.Message == "Only one usage of each socket address (protocol/network address/port) is normally permitted";
                if (flag2)
                {
                    MessageBox.Show("Port " + portforward + " đã được sử dụng, hãy đổi sang port khác", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                    return(true);
                }
                return(false);
            }
            cursshclient = sshClient;
            return(true);
        }
Ejemplo n.º 36
0
 private bool Connect_SSH()
 {
     try {
         sshClient   = new SshClient("sol.edu.cc.uec.ac.jp", ID, PW);
         portDynamic = new ForwardedPortDynamic("127.0.0.1", 8080);
         sshClient.Connect();
         sshClient.AddForwardedPort(portDynamic);
         portDynamic.Start();
     } catch (SshConnectionException e) {
         MessageBox.Show($"SSHコネクションが切断されました。\n{e.Message}");
         return(false);
     } catch (SshAuthenticationException e) {
         MessageBox.Show($"SSH認証に失敗しました。\n{e.Message}");
         return(false);
     } catch (SocketException e) {
         MessageBox.Show($"ソケットエラーです。\n多重起動していないか確認してください。\n{e.Message}");
         return(false);
     } catch (Exception e) {
         MessageBox.Show($"不明なSSH接続時のエラーです。\n{e.Message}");
         return(false);
     }
     return(true);
 }
Ejemplo n.º 37
0
 public void Cleanup()
 {
     if (_client != null)
     {
         _client.Dispose();
         _client = null;
     }
     if (_forwardedPort != null)
     {
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
     if (_channelBindStarted != null)
     {
         _channelBindStarted.Dispose();
         _channelBindStarted = null;
     }
     if (_channelBindCompleted != null)
     {
         _channelBindCompleted.Dispose();
         _channelBindCompleted = null;
     }
 }
Ejemplo n.º 38
0
        /// <summary>
        /// </summary>
        /// <param name="ip"></param>
        /// <param name="port"></param>
        /// <param name="socksPort"></param>
        /// <param name="user"></param>
        /// <param name="pass"></param>
        /// <param name="keyFile"></param>
        public Ssh2Socks(IPAddress ip, uint port, uint socksPort, string user, string pass, string keyFile)
        {
            Ip      = ip;
            Port    = port <= 0 ? 22 : port;
            User    = user;
            Pass    = pass;
            KeyFile = keyFile;

            Ssh = KeyFile == null
                ? new SshClient(Ip.ToString(), (int)Port, User, Pass)
                : new SshClient(Ip.ToString(), (int)Port, User, new PrivateKeyFile(KeyFile));
            Ssh.Connect();

            SocksPort = socksPort;
            if (SocksPort <= 0)
            {
                SocksPort = (uint)Helper.GetFreeTcpPort();
            }

            ForwardedPort = new ForwardedPortDynamic("127.0.0.1", SocksPort);
            Ssh.AddForwardedPort(ForwardedPort);
            ForwardedPort.Start();
        }
 public void Cleanup()
 {
     if (_client != null)
     {
         _client.Dispose();
         _client = null;
     }
     if (_forwardedPort != null)
     {
         _forwardedPort.Dispose();
         _forwardedPort = null;
     }
     if (_channelBindStarted != null)
     {
         _channelBindStarted.Dispose();
         _channelBindStarted = null;
     }
     if (_channelBindCompleted != null)
     {
         _channelBindCompleted.Dispose();
         _channelBindCompleted = null;
     }
 }
Ejemplo n.º 40
0
        private void btn_Q2_Click(object sender, EventArgs e)
        {
            sshC = new SshClient("192.168.10.131", "root", "123123");

            sshC.KeepAliveInterval      = new TimeSpan(0, 0, 30);
            sshC.ConnectionInfo.Timeout = new TimeSpan(0, 0, 20);
            sshC.Connect();

            // 动态链接
            ForwardedPortDynamic port = new ForwardedPortDynamic("127.0.0.1", 22);

            sshC.AddForwardedPort(port);
            port.Start();

            ////var fport = new ForwardedPortRemote("192.168.10.131", 22, "127.0.0.1", 22);
            ////sshC.AddForwardedPort(fport);
            ////fport.Start();

            ////string x = sshC.RunCommand("pwd").Result;
            ;
            string x = sshC.RunCommand("pwd").Result;

            ;
        }
Ejemplo n.º 41
0
        void JobLikeProduct(Account account, string port, string userAgent)
        {
            HttpRequest request    = new HttpRequest();
            var         configXNet = new ConfigXNet();

            configXNet.AddUserAgent(ref request, userAgent);

            try
            {
                using (var client = new SshClient(account.IP, 22, account.UsernameIP, account.PasswordIP))
                {
                    // timeout 30s
                    client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25);
                    client.ErrorOccurred         += (se, ev) => { };
                    client.KeepAliveInterval      = TimeSpan.FromSeconds(60);
                    client.Connect();

                    if (client.IsConnected)
                    {
                        var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port));
                        forwarder.Exception += (se, ev) => { };
                        client.AddForwardedPort(forwarder);

                        forwarder.Start();
                        request.Proxy = HttpProxyClient.Parse(ProxyType.Socks5, "127.0.0.1:" + port);

                        var login = new LoginAccount();

                        if (login.IsSuccessful(ref request, account))
                        {
                            if (_removeProduct)
                            {
                                var remove = new RemoveProduct();
                                remove.Remove(ref request);
                            }

                            lock (_fileResultObj)
                            {
                                _randomAccount--;
                                rtxtResult.Text += account.Email + " | " + account.Password + Environment.NewLine;
                            }

                            InteractProducts(ref request, account);
                        }
                        else
                        {
                            var export = new ExportResult();
                            lock (_fileErrorObj)
                            {
                                export.FileResult(_fileErrorPath, account);
                                rtxtResult.Text += account.Email + " | " + account.Password + " | Lỗi không đăng nhập được" + Environment.NewLine;
                            }
                            return;
                        }
                    }
                    else
                    {
                        return;
                    }
                }
            }
            catch
            {
                var export = new ExportResult();
                lock (_fileErrorObj)
                {
                    export.FileResult(_fileErrorPath, account);
                    rtxtResult.Text += account.Email + " | " + account.Password + " | Lỗi không đăng nhập được" + Environment.NewLine;
                }
                return;
            }
        }
Ejemplo n.º 42
0
        //bool Login(Account account, ref HttpRequest request, string port, string useAgent)
        //{

        //    SettingsRequest(ref request, useAgent);

        //    string html = request.Get("https://www.lazada.vn/customer/account/login/").ToString();
        //    var info = new ProductInfo(html);
        //    request.AddParam("FORM_TOKEN", info.FormToken());
        //    request.AddParam("referer", "https://www.lazada.vn/");
        //    request.AddParam("LoginForm[email]", account.Email);
        //    request.AddParam("LoginForm[password]", account.Password);
        //    Thread.Sleep(THREAD_SLEEP_FAST);
        //    html = request.Post("https://www.lazada.vn/customer/account/login/").ToString();
        //    html = request.Get("https://www.lazada.vn/customer/account/").ToString();
        //    if (html.Contains("Quản lý tài khoản"))
        //        return true;
        //    return false;

        //}

        void JobRegister(Account account, string port, string userAgent)
        {
            HttpRequest request    = new HttpRequest();
            var         configXNet = new ConfigXNet();

            configXNet.AddUserAgent(ref request, userAgent);

            try
            {
                using (var client = new SshClient(account.IP, 22, account.UsernameIP, account.PasswordIP))
                {
                    // timeout 30s
                    client.ConnectionInfo.Timeout = TimeSpan.FromSeconds(25);
                    client.ErrorOccurred         += (se, ev) => { };
                    client.KeepAliveInterval      = TimeSpan.FromSeconds(60);
                    client.Connect();

                    if (client.IsConnected)
                    {
                        var forwarder = new ForwardedPortDynamic("127.0.0.1", Convert.ToUInt32(port));
                        forwarder.Exception += (se, ev) => { };
                        client.AddForwardedPort(forwarder);

                        forwarder.Start();
                        request.Proxy = HttpProxyClient.Parse(ProxyType.Socks5, "127.0.0.1:" + port);

                        var register = new RegisterAccount();

                        if (register.IsSuccessful(ref request, account))
                        {
                            lock (_randomAccountObj)
                            {
                                _randomAccount--;
                                var export = new ExportResult();
                                export.FileResult(_fileResultPath, account);
                                rtxtResult.Text += account.Email + " | " + account.Password + Environment.NewLine;
                            }

                            InteractProducts(ref request, account);

                            //Debug.WriteLine(account.Email, "Xong");
                        }
                        else
                        {
                            //Debug.WriteLine(account.Email, "Lỗi");
                            var export = new ExportResult();
                            lock (_fileErrorObj)
                                export.FileResult(_fileErrorPath, account);
                        }
                    }
                    else
                    {
                        //Debug.WriteLine(account.Email, "Lỗi SSH");
                        var export = new ExportResult();
                        lock (_fileErrorObj)
                            export.FileResult(_fileErrorPath, account);
                    }
                }
            }
            catch
            {
                //Debug.WriteLine(account.Email, "Lỗi SSH");
                var export = new ExportResult();
                lock (_fileErrorObj)
                    export.FileResult(_fileErrorPath, account);
            }
        }
Ejemplo n.º 43
0
        public bool LoginFakeIP(string profile, string mail)
        {
            var                  status = false;
            ChromeDriver         driver = null;
            ForwardedPortDynamic port   = null;
            SshClient            client = null;

            ForwardSsh(ref client, ref port);
            var email = string.Empty;

            try
            {
                var mails = mail.Split((char[])null, StringSplitOptions.RemoveEmptyEntries);
                if (mails.Length < 3)
                {
                    throw new Exception("Wrong email, password, email recovery format");
                }
                email = mails[0];
                string password      = mails[1];
                string recoveryEmail = mails[2];

                string profile_path = Path.GetDirectoryName(profile);
                string profile_name = Path.GetFileName(profile);
                var    service      = ChromeDriverService.CreateDefaultService();
                service.HideCommandPromptWindow = true;
                var options = new ChromeOptions();
                options.AddArguments("--user-data-dir=" + profile_path);
                options.AddArguments("--profile-directory=" + profile_name);
                options.AddArguments("--proxy-server=socks5://127.0.0.1:1080");
                options.AddArguments("disable-infobars");
                options.AddArguments("start-maximized");

                driver = new ChromeDriver(service, options);
                driver.Navigate().GoToUrl("https://accounts.google.com/signin/v2/identifier");
                Thread.Sleep(config.Page_Load);

                var elements = driver.FindElements(By.XPath("//*/div[@id='profileIdentifier']")).Where(x => x.Displayed);
                if (elements.Count() == 0)
                {
                    var mailInput = driver.FindElement(By.XPath("//*/input[@id='identifierId']"));
                    mailInput.SendKeys(Keys.Control + "a");
                    mailInput.SendKeys(email);
                    Thread.Sleep(config.Wait_Enter);
                    mailInput.SendKeys(Keys.Enter);
                    Thread.Sleep(config.Page_Load);
                }

                var passwordInput = driver.FindElementsByTagName("input").First(x => x.GetAttribute("name") == "password");
                passwordInput.SendKeys(Keys.Control + "a");
                passwordInput.SendKeys(password);
                Thread.Sleep(config.Wait_Enter);
                passwordInput.SendKeys(Keys.Enter);
                Thread.Sleep(config.Page_Load);

                var confirmRecoveryEmailOptionButtons = driver.FindElementsByClassName("vdE7Oc").Where(x => x.Displayed).ToArray();
                var numOptions = confirmRecoveryEmailOptionButtons.Length;

                if (numOptions > 0)
                {
                    IWebElement confirmRecoveryEmailOptionButton = null;
                    if (numOptions == 1)
                    {
                        confirmRecoveryEmailOptionButton = confirmRecoveryEmailOptionButtons[0];
                        confirmRecoveryEmailOptionButton.Click();
                        Thread.Sleep(config.Page_Load);
                    }
                    else
                    {
                        try
                        {
                            confirmRecoveryEmailOptionButton = confirmRecoveryEmailOptionButtons[numOptions - 2];
                            confirmRecoveryEmailOptionButton.Click();
                            Thread.Sleep(config.Page_Load);
                            var secretQuestionResponses = driver.FindElementsByTagName("input").Where(x => x.GetAttribute("name") == "knowledgePreregisteredEmailResponse").Where(x => x.Displayed);
                            if (secretQuestionResponses.Count() == 0)
                            {
                                var otherMethodButton = driver.FindElement(By.XPath("//*/div[@class='daaWTb']/div[@class='U26fgb O0WRkf oG5Srb HQ8yf C0oVfc nDKKZc NpwL8d NaOGkc']/content[@class='CwaK9']/span[@class='RveJvd snByac']"));
                                otherMethodButton.Click();
                                Thread.Sleep(config.Page_Load);
                                confirmRecoveryEmailOptionButtons = driver.FindElementsByClassName("vdE7Oc").Where(x => x.Displayed).ToArray();
                                confirmRecoveryEmailOptionButton  = confirmRecoveryEmailOptionButtons[numOptions - 3];
                                confirmRecoveryEmailOptionButton.Click();
                                Thread.Sleep(config.Page_Load);
                            }
                        }
                        catch (Exception ex)
                        {
                            using (StreamWriter writer = new StreamWriter("Error.txt", true))
                            {
                                writer.WriteLine("Email: " + email + "|" + ex.ToString());
                            }
                        }
                    }
                }

                var recoveryMailInputs = driver.FindElementsByTagName("input").Where(x => x.GetAttribute("name") == "knowledgePreregisteredEmailResponse");
                if (recoveryMailInputs.Count() > 0)
                {
                    var recoveryMailInput = recoveryMailInputs.First();
                    recoveryMailInput.SendKeys(Keys.Control + "a");
                    recoveryMailInput.SendKeys(recoveryEmail);
                    Thread.Sleep(config.Wait_Enter);
                    recoveryMailInput.SendKeys(Keys.Enter);
                    Thread.Sleep(config.Page_Load);
                }
                driver.Navigate().GoToUrl("https://mail.google.com/mail/u/0/#inbox");
                Thread.Sleep(config.Page_Load);

                status = true;
            }
            catch (Exception e)
            {
                using (StreamWriter writer = new StreamWriter("Error.txt", true))
                {
                    writer.WriteLine("Profile: " + Path.GetFileName(profile) + "|Email: " + email + "|" + e.ToString());
                }
            }

            if (driver != null)
            {
                driver.Close();
                driver.Quit();
            }

            if (port != null)
            {
                port.Stop();
            }

            if (client != null)
            {
                client.Disconnect();
            }

            return(status);
        }
Ejemplo n.º 44
0
        void SSHConnect(object sender, DoWorkEventArgs e)
        {
            if (_MainForm.textBox1.Text == string.Empty)
            {
                MessageBox.Show("No hostname specified"); return;
            }
            if (_MainForm.textBox2.Text == string.Empty)
            {
                MessageBox.Show("No username specified");
            }
            if (!_MainForm.radioButton1.Checked && !_MainForm.radioButton2.Checked)
            {
                MessageBox.Show("No authentication specified"); return;
            }
            try
            {
                using (var client = new SshClient(_MainForm.textBox1.Text, _MainForm.textBox2.Text, _MainForm.getAuth()))
                {
                    var ProxyPort = new ForwardedPortDynamic("127.0.0.1", 1080);
                    _MainForm.WriteLog("Attempting connection to " + _MainForm.textBox1.Text);
                    client.Connect();
                    if (client.IsConnected)
                    {
                        //Connect
                        isConnected = true;
                        _MainForm.WriteLog("Connected");
                        _MainForm.WriteLog("Adding SOCKS port: " + ProxyPort.BoundHost + ":" + ProxyPort.BoundPort);
                        client.AddForwardedPort(ProxyPort);
                        ProxyPort.Start();
                        _MainForm.WriteLog("Ready for connections");
                        _MainForm.ConnectionButton.Text = "Disconnect";
                        _MainForm.textBox1.ReadOnly     = true;
                        _MainForm.textBox2.ReadOnly     = true;
                        _MainForm.textBox3.ReadOnly     = true;
                        _MainForm.radioButton1.Enabled  = false;
                        _MainForm.radioButton2.Enabled  = false;
                        _MainForm.textBox4.ReadOnly     = true;
                        _MainForm.textBox5.ReadOnly     = true;
                        _MainForm.button3.Enabled       = false;
                        _MainForm.WriteLog("Setting windows proxy");
                        _MainForm.WriteLog("Connected");
                        RegistryKey registry = Registry.CurrentUser.OpenSubKey("Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", true);
                        registry.SetValue("ProxyEnable", 1);
                        registry.SetValue("ProxyServer", "socks=127.0.0.1:1080");
                        settingsReturn           = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
                        refreshReturn            = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
                        ConnectionButton.Enabled = true;

                        while (isConnected)
                        {
                            Thread.Sleep(1000);
                        }
                        //Disconnect
                        _MainForm.WriteLog("Setting windows proxy to default values");
                        WriteLog("Disconnecting");
                        registry.SetValue("ProxyEnable", 0);
                        registry.DeleteValue("ProxyServer");
                        settingsReturn = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_SETTINGS_CHANGED, IntPtr.Zero, 0);
                        refreshReturn  = InternetSetOption(IntPtr.Zero, INTERNET_OPTION_REFRESH, IntPtr.Zero, 0);
                        ProxyPort.Stop();
                        client.RemoveForwardedPort(ProxyPort);
                        client.Disconnect();
                        Thread.Sleep(500);
                        WriteLog("Disconnected");
                        _MainForm.textBox1.ReadOnly     = false;
                        _MainForm.textBox2.ReadOnly     = false;
                        _MainForm.textBox3.ReadOnly     = false;
                        _MainForm.radioButton1.Enabled  = true;
                        _MainForm.radioButton2.Enabled  = true;
                        _MainForm.textBox4.ReadOnly     = false;
                        _MainForm.textBox5.ReadOnly     = false;
                        _MainForm.button3.Enabled       = true;
                        ConnectionButton.Enabled        = true;
                        _MainForm.ConnectionButton.Text = "Connect";
                    }
                }
            } catch (Exception ex)
            {
                _MainForm.WriteLog(ex.Message);
                MessageBox.Show(ex.Message);
                _MainForm.textBox1.ReadOnly     = false;
                _MainForm.textBox2.ReadOnly     = false;
                _MainForm.textBox3.ReadOnly     = false;
                _MainForm.radioButton1.Enabled  = true;
                _MainForm.radioButton2.Enabled  = true;
                _MainForm.textBox4.ReadOnly     = false;
                _MainForm.textBox5.ReadOnly     = false;
                _MainForm.button3.Enabled       = true;
                ConnectionButton.Enabled        = true;
                _MainForm.ConnectionButton.Text = "Connect";
            }
        }
Ejemplo n.º 45
0
        public bool LoginByCookieFakeIP(string profile, string allCookies)
        {
            var                  status = false;
            ChromeDriver         driver = null;
            var                  email  = string.Empty;
            ForwardedPortDynamic port   = null;
            SshClient            client = null;

            ForwardSsh(ref client, ref port);
            try
            {
                string profile_path = Path.GetDirectoryName(profile);
                string profile_name = Path.GetFileName(profile);
                var    service      = ChromeDriverService.CreateDefaultService();
                service.HideCommandPromptWindow = true;
                var options = new ChromeOptions();
                options.AddArguments("--user-data-dir=" + profile_path);
                options.AddArguments("--profile-directory=" + profile_name);
                options.AddArguments("--proxy-server=socks5://127.0.0.1:1080");
                options.AddArguments("disable-infobars");
                options.AddArguments("start-maximized");
                driver = new ChromeDriver(service, options);

                driver.Navigate().GoToUrl("https://www.youtube.com");
                var cookies = allCookies.Split(';');
                foreach (var cookie in cookies)
                {
                    var pair = cookie.Split('=');
                    if (pair.Count() == 2)
                    {
                        driver.Manage().Cookies.AddCookie(new OpenQA.Selenium.Cookie(pair[0].Trim(), pair[1].Trim()));
                    }
                }
                driver.Navigate().Refresh();

                Thread.Sleep(config.Page_Load);

                status = true;
            }
            catch (Exception e)
            {
                using (StreamWriter writer = new StreamWriter("Error.txt", true))
                {
                    writer.WriteLine("Profile: " + Path.GetFileName(profile) + "|Email: " + email + "|" + e.ToString());
                }
            }

            if (driver != null)
            {
                driver.Close();
                driver.Quit();
            }

            if (port != null)
            {
                port.Stop();
            }

            if (client != null)
            {
                client.Disconnect();
            }

            return(status);
        }