Hi,
I am getting a big list of proxies and i was testing it using a not much faster way.
I need some help: can anybody point me the fastest way to test a big amount of proxies, using threads?
I do not need to test elite proxies, just working proxies (against any webpage).
Im testing public proxies, no password. Just proxie:port on the list. Each new proxy on a new line.
But as my list is huge (4,5 million proxies) i need help to make it faster or it takes forever.
Thanks in advance.
Fastest way to test proxies?
Fastest way to test proxies?
ARGENTINA WORLD CHAMPION
-
- User
- Posts: 74
- Joined: Fri Mar 04, 2005 7:46 pm
- Location: argentina
Re: Fastest way to test proxies?
Perhaps, an easy way to see if they work is to create a small server that listens simply, with a 80 or 8080 listener port, according to the proxies, and send them a web page request, hosted on your own ip, example, if the Ip of the proxy list is 134.54.3.23,
Send the page request information, (your ip) / (ip of the proxy.html) if your ip is, 166.155.22.45
Make the request by means of a GET
(You would have to practice how to do a get from a page)
With your host ip,
166.155.22.45/134.54.3.23.html
On your server listening
The proxy will resend that request.
With the command get complete,
And you should answer if you want a response from Ok.
So you do not wait for the comunicacion.y close it.
Then look for the ip in a list, and mark it as that is alive.
I have seen programs that one copied the lists, or opened a txt, and checked them, but should be able to be done quietly,
You can do a tread, to send, and on another tread or the main go validating the answers.
I had been thinking how to do all that, but I have not started programming anything yet.
A simple way to see what information to send to the proxy, and what answer will give you, is using some proxy, in which you see that it receives and transmits, there are a couple of examples in the forum, if I remember correctly,
With that putting the proxy in the browser, and making the request of your ip (with the proxy ip) to the proxy you use to see what you send and receive, you will see how simple the get command is.
Then you would simply have to arm the structure, according to those ips, and generate a packet to send to all those proxies,
Then connect to the ip / port of each of the proxies and send the request. And go marking the answers
Send the page request information, (your ip) / (ip of the proxy.html) if your ip is, 166.155.22.45
Make the request by means of a GET
(You would have to practice how to do a get from a page)
With your host ip,
166.155.22.45/134.54.3.23.html
On your server listening
The proxy will resend that request.
With the command get complete,
And you should answer if you want a response from Ok.
So you do not wait for the comunicacion.y close it.
Then look for the ip in a list, and mark it as that is alive.
I have seen programs that one copied the lists, or opened a txt, and checked them, but should be able to be done quietly,
You can do a tread, to send, and on another tread or the main go validating the answers.
I had been thinking how to do all that, but I have not started programming anything yet.
A simple way to see what information to send to the proxy, and what answer will give you, is using some proxy, in which you see that it receives and transmits, there are a couple of examples in the forum, if I remember correctly,
With that putting the proxy in the browser, and making the request of your ip (with the proxy ip) to the proxy you use to see what you send and receive, you will see how simple the get command is.
Then you would simply have to arm the structure, according to those ips, and generate a packet to send to all those proxies,
Then connect to the ip / port of each of the proxies and send the request. And go marking the answers
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs.
-
- User
- Posts: 74
- Joined: Fri Mar 04, 2005 7:46 pm
- Location: argentina
Re: Fastest way to test proxies?
I came up with a better idea,
I do not know where you get the list of ips.
But good assuming it is a txt.
You can do a parser, download the pages
And read the ips directly from there.
As the process of listening to see if the proxy asks you for a page, I think a lot and it is impractical.
And as just ping, does not reflect the status of a proxy, since sometimes they change and do not exist,
I came up with a simpler idea
I open the list.
I connect to the proxy one by one,
Although threads can be made
I ask for a page for example google.com
And I only fixed if the proxy responds something coherent
Example I look for the word Server in the answer.
If it exists it is that I am responding well. And is alive.
In that case, I added it to a txt, alias_list
Which should work,
I do not know where you get the list of ips.
But good assuming it is a txt.
You can do a parser, download the pages
And read the ips directly from there.
As the process of listening to see if the proxy asks you for a page, I think a lot and it is impractical.
And as just ping, does not reflect the status of a proxy, since sometimes they change and do not exist,
I came up with a simpler idea
I open the list.
I connect to the proxy one by one,
Although threads can be made
I ask for a page for example google.com
And I only fixed if the proxy responds something coherent
Example I look for the word Server in the answer.
If it exists it is that I am responding well. And is alive.
In that case, I added it to a txt, alias_list
Which should work,
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs.
-
- User
- Posts: 74
- Joined: Fri Mar 04, 2005 7:46 pm
- Location: argentina
Re: Fastest way to test proxies?
Code: Select all
;### sry espaguettinni coding xd
InitNetwork()
Define.i Port = 3128
Define.s IP = "172.16.0.7"
Define.i posted = #False
Define.s post = ""
Define.s stepkey = ""
Define.s fkzd =""
Define.i ConnectionID, memLength, *MemoryID, *memoryLocation
OpenFile(1,"lista.txt")
OpenFile(2,"lista_alive.txt")
For A=1 To 5000
dd$=ReadString(1)
; Debug DD$
If FindString(DD$,".",1)
If CountString( dd$,".")=3
ip$=StringField(dd$,1," ")
port$=StringField(dd$,2," ")
Debug ip$+":"+port$
;Debug DD$
EndIf
EndIf
ip=ip$
port=Val(port$)
Debug ("Conectando a..."+IP+":"+port$)
memLength = 25000;2048
*MemoryID = AllocateMemory(25000)
*memoryLocation = AllocateMemory(memLength)
If ConnectionID <> 0
EndIf
ConnectionID = OpenNetworkConnection(IP, Port, #PB_Network_TCP)
If ConnectionID <> 0
Debug ( "conectado")
EndIf
Debug "CONECTION ID="+Str(connectionID )
If ConnectionID = 0
Debug ( "conecta!")
tiii=Random(2000)
Delay(tiii)
EndIf
ddrx$="google.com"
Delay(10)
;---primero el get
If ConnectionID
Debug "Conectado:"+Str(port)
For cccc=1 To 10
timeout=timeout+1
If timeout=3:
posted=0
timeout=0
Debug("tiempo de espera agotado, reintento!")
Goto reconn:
EndIf
If posted=0
Debug("get")
post = "GET "+ddrx$+" HTTP/1.1" + #CRLF$
post + "Host: Google.com" + #CRLF$
post + "User-Agent: Opera/7.54 (Windows NT 5.1; U) [de]" + #CRLF$
post + "Accept: text/html; charset=ISO-8859-1" + #CRLF$
post + "Referer: google.com" + #CRLF$
post + "Connection: keep-alive" + #CRLF$
post + "Content-Type: application/x-www-form-urlencoded" + #CRLF$+ #CRLF$
post + #CRLF$
SendNetworkString(ConnectionID, post)
posted= #True
EndIf
Define.i estadored, result
Define.s datos
estadored = NetworkClientEvent(ConnectionID)
Select estadored
Case #PB_NetworkEvent_Data
Debug "recibiendo"
result = ReceiveNetworkData(ConnectionID, *memoryLocation, memLength)
datos = PeekS(*memoryLocation, result, #PB_Ascii)
;Debug datos
; OpenFile (2,"get.txt")
; WriteString (2,datos)
; CloseFile (2)
If FindString (datos, "Server",1)
Debug "existe proxy"
WriteStringN(2,ip+":"+port$)
ip=""
port=0
ip$=""
port$=""
Goto yaget:
EndIf
EndSelect
Delay(10)
reconn:
Next
yaget:
FreeMemory(*memoryLocation)
FreeMemory(*Memoryid)
EndIf
Next
;---NETWORK
Code tags added
16.06.2017
RSBasic
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs.
-
- User
- Posts: 74
- Joined: Fri Mar 04, 2005 7:46 pm
- Location: argentina
Re: Fastest way to test proxies?
example lista.txt
190.79.11.205 8080
165.234.102.177 8080
123.30.238.16 3128
190.151.10.226 8080
165.138.124.4 8080
200.29.191.149 3128
190.60.62.100 8080
201.199.134.195 3128
195.110.6.30 8118
218.103.42.102 1080
76.3.249.244 3128
88.146.210.74 8080
202.52.236.126 8080
115.69.214.162 8080
14.139.229.45 8080
223.27.194.66 8080
200.8.9.212 8080
63.150.152.151 8080
190.79.11.205 8080
165.234.102.177 8080
123.30.238.16 3128
190.151.10.226 8080
165.138.124.4 8080
200.29.191.149 3128
190.60.62.100 8080
201.199.134.195 3128
195.110.6.30 8118
218.103.42.102 1080
76.3.249.244 3128
88.146.210.74 8080
202.52.236.126 8080
115.69.214.162 8080
14.139.229.45 8080
223.27.194.66 8080
200.8.9.212 8080
63.150.152.151 8080
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs.