Fastest way to test proxies?

Just starting out? Need help? Post your questions and find answers here.
ricardo
Addict
Addict
Posts: 2402
Joined: Fri Apr 25, 2003 7:06 pm
Location: Argentina

Fastest way to test proxies?

Post by ricardo »

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.
ARGENTINA WORLD CHAMPION
zefiro_flashparty
User
User
Posts: 74
Joined: Fri Mar 04, 2005 7:46 pm
Location: argentina

Re: Fastest way to test proxies?

Post by zefiro_flashparty »

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
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs. 8)
zefiro_flashparty
User
User
Posts: 74
Joined: Fri Mar 04, 2005 7:46 pm
Location: argentina

Re: Fastest way to test proxies?

Post by zefiro_flashparty »

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,
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs. 8)
zefiro_flashparty
User
User
Posts: 74
Joined: Fri Mar 04, 2005 7:46 pm
Location: argentina

Re: Fastest way to test proxies?

Post by zefiro_flashparty »

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. 8)
zefiro_flashparty
User
User
Posts: 74
Joined: Fri Mar 04, 2005 7:46 pm
Location: argentina

Re: Fastest way to test proxies?

Post by zefiro_flashparty »

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
Amd Vishera fx8350 ,16Gbram, Gtx650 ti, 2gb,Win 10pro. 13tbs. 8)
Post Reply