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());
}
}
}
Comments