using System; using System.Text; using System.Text.RegularExpressions; using System.IO; using System.Net; using System.Net.Sockets; using System.Threading; using System.Windows.Forms; class injek { const string server_ip = "10.19.19.19"; //const string server_ip = "49.213.22.154"; //dari a.buzzmechat.com const int server_port = 8080; public static Socket GayClient = null; //dari TcpListener public static Socket GayServer = null; // static string _replace(string text) { string[] pola = new string[] { "HTTP/1.1 402 Forbidden", "HTTP/1.1 403 Forbidden", "HTTP/1.0 402 Bad Request", "HTTP/1.1 402 Bad Request", "HTTP/1.0 403 Bad request", "HTTP/1.1 400 Bad Request", "HTTP/1.0 502 Gateway Timeout", "HTTP/1.1 502 Internal Server Error", "HTTP/1.1 402 not authenticated", "HTTP/1.1 100 Connection established" }; foreach (string cok in pola) { text = Regex.Replace(text, cok, "HTTP/1.1 200 OK"); } return text; } public static void konekServer(string rawurl) { Socket Gay = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { //string request = "GET http://a.buzzmechat.com/ HTTP/1.1\r\nHost: a.buzzmechat.com" +"\r\nConnection: keep-alive"+ //"\r\n\r\n\r\n"+"CONNECT " + rawurl + " HTTP/1.0\r\n";' string netdata = "CONNECT " + rawurl + " HTTP/1.0\r\n\r\n"; netdata+= "GET http://z022.fma.fb.me HTTP/1.1\r\n\r\n"; netdata+= "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0 Host : z022.fma.fb.me\r\n\r\n"; netdata+= "CONNECT " + rawurl + " HTTP/1.0\r\n\r\n"; netdata+= "GET http://z022.fma.fb.me HTTP/1.1\r\n\r\n"; netdata+= "User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:14.0) Gecko/20100101 Firefox/14.0 Host : z022.fma.fb.me\r\n\r\n\r\n"; //netdata+= "Connection: Keep-Alive\r\nHost: m.skype.com\r\nX-Online-Host: m.skype.com\r\n\r\n"; //Byte[] bytesSent = Encoding.ASCII.GetBytes(request); Byte[] bytesSent = Encoding.ASCII.GetBytes(netdata); Byte[] bytesReceived = new Byte[1028]; Gay.Connect(new IPEndPoint(IPAddress.Parse(server_ip), server_port)); if(Gay.Connected) { Console.WriteLine("Konek sukses"); Gay.Send(bytesSent); }else { Console.WriteLine("Gak Konek"); GayClient.Shutdown(SocketShutdown.Both); GayClient.Close(); } GayServer = Gay; homo(); } catch(Exception e) { Console.WriteLine(e.ToString()); } } public static void cek(Socket sk) { GayClient = sk; Byte[] recv = new Byte[1028]; int len; len = sk.Receive(recv); string clientmsg = Encoding.ASCII.GetString(recv); string cmd = clientmsg.Split(' ')[0].Trim(); string rawurl = clientmsg.Split(' ')[1].Trim(); Console.WriteLine("Data dari client : < "+len+" > "+clientmsg); if(cmd == "CONNECT") { Console.WriteLine("Konek server : < "+len+" > "+clientmsg); konekServer(rawurl); //homo(); } else { MessageBox.Show("Jembot"); Console.WriteLine("Mbuh : < "+len+" > "+clientmsg); konekServer(rawurl); //gay2(); } } public static void homo() { while(true) { try { string page = null; Byte[] recv = new Byte[1028]; Byte[] send = new Byte[1028]; //int len = GayServer.Receive(recv); int len = GayServer.Receive(recv, recv.Length, SocketFlags.None); if(len == 0) { MessageBox.Show("break cok", "GayServer"); Console.WriteLine("\r\nData dari server : <"+len+"> "+ Encoding.ASCII.GetString(recv)); //break; }else { page = Encoding.ASCII.GetString(recv); page = _replace(page); send = Encoding.ASCII.GetBytes(page); Console.WriteLine("\r\nData dari server : <"+len+"> "+ page); MessageBox.Show(page, "From Server"); GayClient.Send(send, len, SocketFlags.None); } len = GayClient.Receive(recv, recv.Length, SocketFlags.None); if(len == 0) { MessageBox.Show("break jancok", "GayClient"); //break; }else { page = Encoding.ASCII.GetString(recv); page = _replace(page); Console.WriteLine("\r\nData dari client : <"+len+"> "+page); MessageBox.Show(page, "From Client"); send = Encoding.ASCII.GetBytes(page); GayServer.Send(send, len, SocketFlags.None); } } catch(Exception e) { MessageBox.Show(e.ToString()); } } try { GayServer.Shutdown(SocketShutdown.Both); GayClient.Shutdown(SocketShutdown.Both); GayServer.Close(); GayClient.Close(); } catch(Exception e) { Console.WriteLine(e.ToString()); } } public static void Main() { try { TcpListener listen = new TcpListener(new IPEndPoint(IPAddress.Parse("127.0.0.1"), 668)); listen.Start(); Socket sk; while(true) { try { Console.WriteLine("Ngenteni cok.."); sk = listen.AcceptSocket(); cek(sk); //new Thread(() => { //}).Start(); } catch(Exception e) { Console.WriteLine(e.ToString()); } } } catch(Exception e) { Console.WriteLine(e.ToString()); } } }