Proxy list download - mIRC Firewall
Platform: mIRC
Published Jan 20, 2010
Updated Jan 09, 2011
Updated: The website decided to incorporate some sort of useless encoding of URL's to proxies. This script takes care of that using the decode keys (different per page). Report any problems
Jonesy44
mIRC Script to download a proxy list. Ordered by latest checked working proxys within the last few minutes so they should be A-ok! The list is downloaded to "ProxyList.dat" in your /mIRC folder. Type "//run ProxyList.dat" once downloaded to view it.. or just change the "write" command to do something else with the proxy IP, at this point.
Not really worth uploading any screen shots. But you get a result like this in your ProxyList.dat file;
Quote
58.181.37.238:80
208.43.112.5:808
195.250.20.231:8080
187.6.48.35:3128
95.46.120.215:3128
84.14.229.122:3128
95.46.120.206:3128
200.25.201.125:80
190.36.113.126:8080
200.25.201.75:80
210.123.39.103:3124
174.142.24.201:3128
142.103.2.1:3128
216.48.80.14:3124
174.142.104.57:3128
210.125.84.15:3127
76.22.147.166:8085
This is for educational purposes only - I do not condone malicious use of this script alias ProxyList {
; Syntax: /ProxyList [-pageNo]
; eg. /ProxyList 4
; ----------------
; By Jonesy44
; ----------------
; EDIT THIS NEXT LINE FOR PROXYLIST FILE NAME!
set %ProxyList.FileName ProxyList.dat
; STOP EDITING HERE!
.sockclose ProxyList.1 | .sockclose ProxyList.2 | .sockclose ProxyList.3
.remove %ProxyList.FileName
.timerCompletedCheck 0 1 ProxyList.CompletedCheck
var %n = 1
echo -a 2* ProxyList: Downloading latest proxy list..
while %n <= $iif($1 isnum 1-,$1,3) {
sockopen $+(ProxyList.,%n) samair.ru 80
inc %n
}
}
alias ProxyList.CompletedCheck {
if !$sock(ProxyList.1) || !$sock(ProxyList.2) || !$sock(ProxyList.3) {
echo -a 4Succesfully downloaded $lines(%ProxyList.FileName) proxy addresses. Stored in $qt(%ProxyList.FileName)
.timerCompletedCheck off
unset %ProxyList.*
}
}
alias ProxyList.RemoveHTML return $regsubex($1-,/(^[^<]*>|<[^>]*>|<[^>]*$)|&[^;]+;| /g,$null)
on *:sockopen:ProxyList.*:{
if $sockerr { echo -a Socket error: $sock($sockname).wsmsg }
else {
sockwrite -nt $sockname GET $+(/proxy/time-0,$gettok($sockname,2,46),.htm) HTTP/1.1
sockwrite -nt $sockname Host: samair.ru
sockwrite -nt $sockname $crlf
}
}
on *:sockread:ProxyList.*:{
var %SocketRead
sockread %SocketRead
if !$sockerr {
if $regex(%SocketRead,/(\D=\d)/g) {
var %Index = 1,
while %Index <= $regml(0) {
set %ProxyList.Decode. [ $+ [ $gettok($sockname,2,46) ] ] $+(%ProxyList.Decode. [ $+ [ $gettok($sockname,2,46) ] ],$chr(32),$gettok($regml(%Index),1,61),-,$gettok($regml(%Index),2,61))
inc %Index
}
echo -a 2* ProxyList: Generating decode key for page $gettok($sockname,2,46) -- 3Created key succesfully
}
if $regex(%SocketRead,/<tr><td>.*<\/td><\/tr>/i) {
var %SocketRead = $remove($ProxyList.RemoveHTML(%SocketRead),document.write,$chr(40),+,")
var %Index = 1
while %Index <= $numtok(%SocketRead,41) {
noop $regex($gettok(%SocketRead,%Index,41),/(\d+.\d+.\d+.\d+\:.*)/)
var %Output = $regml(1)
if $regml(1) {
var %SubIndex = 1
while %SubIndex <= $numtok(%ProxyList.Decode. [ $+ [ $gettok($sockname,2,46) ] ],32) {
%Output = $replace(%Output,$gettok($gettok(%ProxyList.Decode. [ $+ [ $gettok($sockname,2,46) ] ],%SubIndex,32),1,45),$gettok($gettok(%ProxyList.Decode. [ $+ [ $gettok($sockname,2,46) ] ],%SubIndex,32),2,45))
inc %SubIndex
}
write %ProxyList.FileName %Output
}
inc %Index 1
}
}
}
else echo -a Socket error: $sock($sockname).wsmsg
}