VB.NET-Quellcode
- Imports System.Threading
- Imports System.Net
- Imports System.Net.Sockets
- Imports System.Text
- Imports System.IO
- Public Class Form1
- Dim blacklist As String 'listbox1....
- Dim bytes As Integer
- Dim messagefromclient As String 'Ich hoffe, dass ist die Variable, wo ich das "Protokoll" auslesen kann
- Private clientSocket As Socket
- Private read As [Byte]() = New Byte(1023) {}
- Private Buffer As [Byte]() = Nothing
- Private ASCII As Encoding = Encoding.ASCII
- Const HTTP_VERSION As String = "HTTP/1.0"
- Const CRLF As String = vbCr & vbLf
- Private RecvBytes As [Byte]() = New [Byte](4095) {}
- Dim start As New Thread(AddressOf proxy_start) 'Ohne->Programm friert ein
- Sub proxy_start()
- Main()
- End Sub
- Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
- ListBox1.Items.Remove(ListBox1.SelectedItem)
- End Sub
- Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
- ListBox1.Items.Clear()
- End Sub
- Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
- If TextBox1.Text = "" Then
- MsgBox("Keine Eingabe!", MsgBoxStyle.Critical, "Fehler")
- ElseIf ListBox1.Items.Contains(TextBox1.Text) Then
- MsgBox("Die Blacklist beinhaltet den Eintrag bereits!", MsgBoxStyle.Critical, "Fehler")
- TextBox1.Text = ""
- Else
- ListBox1.Items.Add(TextBox1.Text)
- TextBox1.Text = ""
- End If
- End Sub
- Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
- Panel1.BackColor = Color.Lime
- start.Start()
- End Sub
- Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
- Panel1.BackColor = Color.Red
- MsgBox(messagefromclient)
- End Sub
- Public Sub neu(ByVal socket As Socket)
- Me.clientSocket = socket
- End Sub
- Public Sub run()
- Dim clientmessage As [String] = " ", sURL As [String] = " "
- Dim bytes As Integer = readmessage(read, clientSocket, clientmessage)
- If bytes = 0 Then
- Return
- End If
- Dim index1 As Integer = clientmessage.IndexOf(" "c)
- Dim index2 As Integer = clientmessage.IndexOf(" "c, index1 + 1)
- If (index1 = -1) OrElse (index2 = -1) Then
- Throw New IOException()
- End If
- Dim part1 As String = clientmessage.Substring(index1 + 1, index2 - index1)
- Dim index3 As Integer = part1.IndexOf("/"c, index1 + 8)
- Dim index4 As Integer = part1.IndexOf(" "c, index1 + 8)
- Dim index5 As Integer = index4 - index3
- sURL = part1.Substring(index1 + 4, (part1.Length - index5) - 8)
- Try
- Dim IPHost As IPHostEntry = Dns.GetHostEntry(sURL)
- Dim aliases As String() = IPHost.Aliases
- Dim address As IPAddress() = IPHost.AddressList
- Dim sEndpoint As New IPEndPoint(address(0), 80)
- Dim IPsocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
- IPsocket.Connect(sEndpoint)
- If IPsocket.Connected Then
- End If
- Dim [GET] As String = clientmessage
- Dim ByteGet As [Byte]() = ASCII.GetBytes([GET])
- IPsocket.Send(ByteGet, ByteGet.Length, 0)
- Dim rBytes As Int32 = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0)
- Dim strRetPage As [String] = Nothing
- strRetPage = strRetPage & ASCII.GetString(RecvBytes, 0, rBytes)
- While rBytes > 0
- rBytes = IPsocket.Receive(RecvBytes, RecvBytes.Length, 0)
- strRetPage = strRetPage & ASCII.GetString(RecvBytes, 0, rBytes)
- End While
- IPsocket.Shutdown(SocketShutdown.Both)
- IPsocket.Close()
- sendmessage(clientSocket, strRetPage)
- Catch exc2 As Exception
- End Try
- End Sub
- Private Function readmessage(ByVal ByteArray As Byte(), ByRef s As Socket, ByRef clientmessage As [String]) As Integer
- bytes = s.Receive(ByteArray, 1024, 0)
- messagefromclient = Encoding.ASCII.GetString(ByteArray)
- clientmessage = DirectCast(messagefromclient, [String])
- Return bytes
- End Function
- Private Sub sendmessage(ByVal s As Socket, ByVal message As String)
- Buffer = New [Byte](message.Length) {}
- Dim length As Integer = ASCII.GetBytes(message, 0, message.Length, Buffer, 0)
- s.Send(Buffer, length, 0)
- End Sub
- Private Shared Sub Main()
- Const port As Integer = 3128
- Dim tcplistener As New TcpListener(IPAddress.Any, port)
- tcplistener.Start()
- While True
- Dim socket As Socket = tcplistener.AcceptSocket()
- End While
- End Sub
- End Class
Diesmal mein ganzer Sourcecode
Also in den Proxyeinstellungen von Windoof trage ich "localhost" und "3128" ein, aber wenn ich dann mit chrome auf i-eine Website gehe(vb-paradise.de) passiert nichts :(, was mache ich falsch?
Der Code ist von VBP,verstanden habe ich den Code ja, aber den sche*ß Fehler finde ich nicht.
DANKE!