twitchyliquid64 Posted July 13, 2011 Share Posted July 13, 2011 (edited) Scans a textfile (@ScriptDir & "/proxylist.txt") for addresses and checks to see if the proxy at that address still works. Addresses in this file are placed in the format <ipaddress>:<port> and addresses are separated by lines.Credit to Zatorg - his Asynchronous sockets UDF is used (included)expandcollapse popup#include <GUIConstantsEx.au3> #include <file.au3> #include <array.au3> #Include <GuiListView.au3> Opt("GUIOnEventMode", 1) global $PROXY_LIST[1][5] TCPStartup() Global $hWs2_32 = -1 ;Create the GUI $win = GUICreate( "Proxy Scanner", 400, 400) GUISetOnEvent($GUI_EVENT_CLOSE, "CLOSEClicked") $list = GUICtrlCreateListView( "# | IP | Port | Status", 10, 10, 380, 330) Readin_Proxies() GUISetState() Global Const $__TCP_WINDOW = GUICreate("Async Sockets UDF") ;Set the status of each proxy. For $x = 0 to UBound($PROXY_LIST)-2 step 1 Test_Connection( $x) Sleep(100) Next While 1 Sleep(20) WEnd Func CLOSEClicked() Exit EndFunc Func Readin_Proxies() ProgressOn( "Proxy Scanner", "Loading...Please Wait.", "populating lists...") local $linecount = _FileCountLines( @ScriptDir & "/proxylist.txt") ReDim $PROXY_LIST[$linecount][5] $filehnd = FileOpen( @ScriptDir & "/proxylist.txt") For $x = 0 to $linecount step 1 ProgressSet( ($x/$linecount)*100) $Line = "" While 1 ;Collect the entire line into a variable. $character = FileRead( $filehnd, 1) if @error = -1 then ExitLoop 2 if $character = @CR Then ExitLoop if $character = @LF then ContinueLoop $Line &= $character WEnd $spl = StringSplit( $Line, ":", 1) $PROXY_LIST[$x][0] = $spl[1] if $spl[0] >= 2 Then $PROXY_LIST[$x][1] = $spl[2] Else $PROXY_LIST[$x][1] = 80 EndIf $PROXY_LIST[$x][2] = GUICtrlCreateListViewItem( $x&"|"&$spl[1]&"|"&$PROXY_LIST[$x][1]&"|Unknown", $list) GUICtrlSetBkColor( $PROXY_LIST[$x][2], 0xFFFFAA) Next FileClose( $filehnd) ProgressOff() EndFunc Func Test_Connection( $arrayslot) local $SocketID = ___ASocket() ___ASockSelect( $SocketID, $__TCP_WINDOW, 0x401 + $arrayslot, BitOR( 1, 2, 16, 32)) GUIRegisterMsg( 0x401 + $arrayslot, "Opensocket_data_" ) ___ASockConnect( $SocketID, $PROXY_LIST[$arrayslot][0], $PROXY_LIST[$arrayslot][1]) $PROXY_LIST[$arrayslot][3] = $SocketID EndFunc Func Opensocket_data_( $hWnd, $iMsgID, $WParam, $LParam ) Local $iError = ___HiWord( $LParam ) Local $iEvent = ___LoWord( $LParam ) Abs($hWnd) local $Array_Slot = $iMsgID-0x0401 ;No more loops to slow down message delievery! local $x = $Array_Slot Switch $iEvent Case 16 If $iError Then ;FAILED CONNECTION GUICtrlSetData( $PROXY_LIST[$x][2], $x&"|"&$PROXY_LIST[$x][0]&"|"&$PROXY_LIST[$x][1]&"|OFFLINE") GUICtrlSetBkColor( $PROXY_LIST[$x][2], 0xEEEEAA) Else GUICtrlSetData( $PROXY_LIST[$x][2], $x&"|"&$PROXY_LIST[$x][0]&"|"&$PROXY_LIST[$x][1]&"|ONLINE") GUICtrlSetBkColor( $PROXY_LIST[$x][2], 0x00FF00) EndIf ___ASockShutdown($PROXY_LIST[$x][3]) TCPCloseSocket($PROXY_LIST[$x][2]) EndSwitch EndFunc ;================================================================================================================== ; ; Zatorg's Asynchronous Sockets UDF Starts from here. ; ;================================================================================================================== Func ___ASocket($iAddressFamily = 2, $iType = 1, $iProtocol = 6) If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) Local $hSocket = DllCall($hWs2_32, "uint", "socket", "int", $iAddressFamily, "int", $iType, "int", $iProtocol) If @error Then SetError(1, @error) Return -1 EndIf If $hSocket[ 0 ] = -1 Then SetError(2, ___WSAGetLastError()) Return -1 EndIf Return $hSocket[ 0 ] EndFunc ;==>_ASocket Func ___ASockShutdown($hSocket) If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) Local $iRet = DllCall($hWs2_32, "int", "shutdown", "uint", $hSocket, "int", 2) If @error Then SetError(1, @error) Return False EndIf If $iRet[ 0 ] <> 0 Then SetError(2, ___WSAGetLastError()) Return False EndIf Return True EndFunc ;==>_ASockShutdown Func ___ASockClose($hSocket) If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) Local $iRet = DllCall($hWs2_32, "int", "closesocket", "uint", $hSocket) If @error Then SetError(1, @error) Return False EndIf If $iRet[ 0 ] <> 0 Then SetError(2, ___WSAGetLastError()) Return False EndIf Return True EndFunc ;==>_ASockClose Func ___ASockSelect($hSocket, $hWnd, $uiMsg, $iEvent) If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) Local $iRet = DllCall( _ $hWs2_32, _ "int", "WSAAsyncSelect", _ "uint", $hSocket, _ "hwnd", $hWnd, _ "uint", $uiMsg, _ "int", $iEvent _ ) If @error Then SetError(1, @error) Return False EndIf If $iRet[ 0 ] <> 0 Then SetError(2, ___WSAGetLastError()) Return False EndIf Return True EndFunc ;==>_ASockSelect ; Note: you can see that $iMaxPending is set to 5 by default. ; IT DOES NOT MEAN THAT DEFAULT = 5 PENDING CONNECTIONS ; 5 == SOMAXCONN, so don't worry be happy Func ___ASockListen($hSocket, $sIP, $uiPort, $iMaxPending = 5); 5 == SOMAXCONN => No need to change it. Local $iRet Local $stAddress If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) $stAddress = ___SockAddr($sIP, $uiPort) If @error Then SetError(@error, @extended) Return False EndIf $iRet = DllCall($hWs2_32, "int", "bind", "uint", $hSocket, "ptr", DllStructGetPtr($stAddress), "int", DllStructGetSize($stAddress)) If @error Then SetError(3, @error) Return False EndIf If $iRet[ 0 ] <> 0 Then $stAddress = 0; Deallocate SetError(4, ___WSAGetLastError()) Return False EndIf $iRet = DllCall($hWs2_32, "int", "listen", "uint", $hSocket, "int", $iMaxPending) If @error Then SetError(5, @error) Return False EndIf If $iRet[ 0 ] <> 0 Then $stAddress = 0; Deallocate SetError(6, ___WSAGetLastError()) Return False EndIf Return True EndFunc ;==>_ASockListen Func ___ASockConnect($hSocket, $sIP, $uiPort) Local $iRet Local $stAddress If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) $stAddress = ___SockAddr($sIP, $uiPort) If @error Then SetError(@error, @extended) Return False EndIf $iRet = DllCall($hWs2_32, "int", "connect", "uint", $hSocket, "ptr", DllStructGetPtr($stAddress), "int", DllStructGetSize($stAddress)) If @error Then SetError(3, @error) Return False EndIf $iRet = ___WSAGetLastError() If $iRet = 10035 Then; WSAEWOULDBLOCK Return True; Asynchronous connect attempt has been started. EndIf SetExtended(1); Connected immediately Return True EndFunc ;==>_ASockConnect ; A wrapper function to ease all the pain in creating and filling the sockaddr struct Func ___SockAddr($sIP, $iPort, $iAddressFamily = 2) Local $iRet Local $stAddress If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) $stAddress = DllStructCreate("short; ushort; uint; char[8]") If @error Then SetError(1, @error) Return False EndIf DllStructSetData($stAddress, 1, $iAddressFamily) $iRet = DllCall($hWs2_32, "ushort", "htons", "ushort", $iPort) DllStructSetData($stAddress, 2, $iRet[ 0 ]) $iRet = DllCall($hWs2_32, "uint", "inet_addr", "str", $sIP) If $iRet[ 0 ] = 0xffffffff Then; INADDR_NONE $stAddress = 0; Deallocate SetError(2, ___WSAGetLastError()) Return False EndIf DllStructSetData($stAddress, 3, $iRet[ 0 ]) Return $stAddress EndFunc ;==>__SockAddr Func ___WSAGetLastError() If $hWs2_32 = -1 Then $hWs2_32 = DllOpen( "Ws2_32.dll" ) Local $iRet = DllCall($hWs2_32, "int", "WSAGetLastError") If @error Then ;if $console_out = True then ConsoleWrite("+> _WSAGetLastError(): WSAGetLastError() failed. Script line number: " & @ScriptLineNumber & @CRLF) SetExtended(1) Return 0 EndIf Return $iRet[ 0 ] EndFunc ;==>_WSAGetLastError ; Got these here: ; http://www.autoitscript.com/forum/index.php?showtopic=5620&hl=MAKELONG Func ___MakeLong($LoWord, $HiWord) Return BitOR($HiWord * 0x10000, BitAND($LoWord, 0xFFFF)); Thanks Larry EndFunc ;==>_MakeLong Func ___HiWord($Long) Return BitShift($Long, 16); Thanks Valik EndFunc ;==>_HiWord Func ___LoWord($Long) Return BitAND($Long, 0xFFFF); Thanks Valik EndFunc ;==>_LoWord ;----------------------------------OTHER AUTOIT INBUILT FUNCS----## ;=============================================================================== ; ; Function Name: _GetIP() ; Description: Get public IP address of a network/computer. ; Parameter(s): None ; Requirement(s): Internet access. ; Return Value(s): On Success - Returns the public IP Address ; On Failure - -1 and sets @ERROR = 1 ; Author(s): Larry/Ezzetabi & Jarvis Stubblefield ; ;=============================================================================== Func _Get_IP() Local $ip, $t_ip If InetGet("http://checkip.dyndns.org/?rnd1=" & Random(1, 65536) & "&rnd2=" & Random(1, 65536), @TempDir & "\~ip.tmp") Then $ip = FileRead(@TempDir & "\~ip.tmp", FileGetSize(@TempDir & "\~ip.tmp")) FileDelete(@TempDir & "\~ip.tmp") $ip = StringTrimLeft($ip, StringInStr($ip, ":") + 1) $ip = StringTrimRight($ip, StringLen($ip) - StringInStr($ip, "/") + 2) $t_ip = StringSplit($ip, '.') If $t_ip[0] = 4 And StringIsDigit($t_ip[1]) And StringIsDigit($t_ip[2]) And StringIsDigit($t_ip[3]) And StringIsDigit($t_ip[4]) Then Return $ip EndIf EndIf If InetGet("http://www.whatismyip.com/?rnd1=" & Random(1, 65536) & "&rnd2=" & Random(1, 65536), @TempDir & "\~ip.tmp") Then $ip = FileRead(@TempDir & "\~ip.tmp", FileGetSize(@TempDir & "\~ip.tmp")) FileDelete(@TempDir & "\~ip.tmp") $ip = StringTrimLeft($ip, StringInStr($ip, "Your ip is") + 10) $ip = StringLeft($ip, StringInStr($ip, " ") - 1) $ip = StringStripWS($ip, 8) $t_ip = StringSplit($ip, '.') If $t_ip[0] = 4 And StringIsDigit($t_ip[1]) And StringIsDigit($t_ip[2]) And StringIsDigit($t_ip[3]) And StringIsDigit($t_ip[4]) Then Return $ip EndIf EndIf SetError(1) Return -1 EndFunc ;==>_Get_IPSome Proxies to get you started:expandcollapse popup118.96.94.36:8080 69.125.128.138:27977 114.129.97.46:8080 124.195.18.119:80 62.75.145.245:9100 98.183.251.11:27977 173.196.50.100:27977 221.12.61.214:8080 222.186.43.82:1080 69.33.181.42:80 114.129.100.35:8080 64.76.188.126:80 114.129.97.101:8080 212.58.10.10:80 77.241.165.114:8080 159.226.234.7:80 114.59.80.243:8080 190.94.1.195:80 118.182.20.242:8080 41.234.207.197:8080 98.155.37.249:47793 79.125.28.242:8080 24.126.55.101:27977 193.188.125.173:80 124.193.109.15:80 109.203.196.121:808 80.239.243.18:80 218.6.13.35:80 69.136.47.4:27977 216.104.161.208:80 24.179.18.15:12378 189.1.162.4:8080 195.97.254.137:80 117.28.232.186:80 41.215.177.206:8080 110.138.211.56:8080 66.193.15.82:80 124.225.57.10:8080 112.169.94.143:8088 70.44.61.7:1233 204.15.147.149:8080 114.129.98.35:8080 76.18.96.186:27977 180.241.98.194:8080 72.13.94.164:80 209.237.236.110:80 41.205.110.85:8080 91.210.104.104:80 121.14.104.244:80 68.199.165.7:3697 122.70.156.157:80 174.129.133.21:8000 114.129.98.236:8080 75.73.231.37:27977 118.137.65.154:8080 200.167.162.203:8080 187.45.232.176:8080 115.69.216.98:80 70.163.50.203:27977 112.95.238.199:808 193.87.7.65:80 95.0.211.186:8080 182.48.43.12:80 114.129.98.108:8080 222.247.48.221:808 182.48.23.77:8090 69.244.133.182:1168 78.93.242.7:80 114.129.97.49:8080 114.129.98.66:8080 67.192.11.165:80 63.130.248.252:80 210.23.76.200:8080 196.202.83.129:8000 65.32.56.224:1083 68.84.169.216:27977 208.110.220.133:8080 198.12.16.170:80 69.124.240.221:37701 85.214.50.156:8118 222.188.10.1:1080 183.62.24.34:808 114.129.100.143:8080 98.183.9.251:1137 218.19.119.99:8080 203.186.62.125:8080 91.200.171.245:8080 202.4.155.234:808 212.33.237.113:80 163.152.133.22:8080 88.85.125.78:8080 64.4.98.119:27977 89.188.141.51:80 212.51.207.126:80 118.174.36.190:8080 200.82.126.87:80 212.85.146.236:80 96.240.2.237:42863 120.136.22.154:8080 111.67.80.116:80 61.4.234.216:8080 66.119.43.37:80 122.227.22.214:63000 114.129.98.231:8080 80.239.242.225:80 82.160.44.55:8080 72.3.245.248:80 222.124.25.74:80 119.235.53.131:80 98.199.27.21:27977 85.254.213.163:80 61.4.219.6:8080 93.189.5.138:8080 195.189.142.69:80 212.209.194.144:80 202.159.8.74:8080 118.97.13.60:8080 88.87.215.114:81 67.84.134.22:27977 114.129.98.37:8080 116.55.19.96:1080 203.142.72.107:80 175.111.89.16:8080 99.248.60.100:1939 63.130.248.251:80 62.129.243.242:8080 200.242.222.139:80 114.129.98.212:8080 193.160.201.95:80 202.212.166.90:8080 189.47.194.196:8080 114.129.99.161:8080 114.129.97.136:8080 59.77.17.24:8080 98.109.59.184:1797 114.129.100.77:8080 114.129.99.254:8080 98.222.69.66:27977 201.75.73.131:8080 24.90.235.196:27977 98.208.56.122:10971 201.234.133.41:1080 46.0.203.7:80 67.184.98.250:27977 92.61.188.141:8080 65.34.150.112:27977 112.216.29.245:80 114.129.98.10:8080 67.249.168.198:8085 188.40.173.106:80 83.170.116.143:80 61.4.219.10:8080 66.65.70.65:1252 159.226.251.180:83 80.239.242.242:80 76.100.17.159:27977 209.62.20.171:80 193.28.52.145:80 203.130.195.193:8080 189.200.240.68:80 68.62.73.13:1733 180.243.86.215:8080 118.96.142.61:80 92.63.52.73:8080 88.250.70.208:80 95.168.181.219:8080 118.97.83.245:8090 75.125.143.84:80 189.17.0.35:8000 178.213.33.129:443 24.234.67.140:27977 209.235.218.83:80 119.40.100.113:8080 114.129.98.142:8080 76.31.62.106:27977 202.77.107.34:80 189.3.160.42:80 114.129.97.42:8080 87.226.106.203:8080 64.34.213.148:80 190.40.28.83:8080 201.67.138.98:80 82.117.192.227:8080 193.252.48.31:8080 92.61.189.129:8080 209.62.20.196:80 118.98.216.27:8080 41.73.2.35:8080 66.92.169.250:80 194.170.16.75:8080 173.212.195.196:1337 58.246.182.60:8088 65.23.156.161:80 134.37.254.27:80 68.111.211.98:27977 77.78.3.83:9090 190.41.192.210:8080 87.250.129.151:80 62.176.18.25:80 174.134.42.74:80 220.227.100.59:8080 217.91.32.16:8080 91.194.246.49:8080 218.242.254.74:1080 200.20.0.246:80 119.235.53.130:80 67.63.92.33:27977 180.246.179.34:8080 110.137.40.102:8080 58.246.200.114:80 68.38.24.73:48397 195.189.142.132:80 69.123.91.137:27977 221.1.96.22:443 71.174.102.72:80 125.162.32.222:80 66.119.43.36:80 68.39.144.196:1385 221.215.106.82:1337 119.15.86.20:8080 68.118.109.226:27977 70.158.130.208:8080 125.40.181.247:8080 114.129.99.111:8080 117.41.228.6:2 210.48.147.36:80 67.53.116.252:80 24.109.239.138:80 114.129.99.72:8080 211.100.4.71:80 218.21.91.214:80 58.241.40.228:1080 200.88.125.4:8008 187.111.11.72:8080 118.122.88.7:8080 187.11.250.175:8080 114.129.99.144:8080 196.23.152.220:80 148.235.153.178:8080 91.194.247.234:8080 165.228.212.223:80 80.82.235.179:80 187.111.223.10:8080 202.181.164.100:80 216.40.33.31:80 195.162.130.20:8080 188.94.228.46:8080 202.147.198.69:80 202.212.166.124:8080 222.35.137.220:80 114.129.98.241:8080 41.73.15.211:8080 114.129.98.175:8080 188.40.173.101:80 98.110.80.191:1734 213.29.63.62:8080 114.129.98.146:8080 114.129.99.125:8080 60.191.232.230:80 115.124.66.30:8080 180.241.106.54:80 202.117.35.249:80 114.129.98.99:8080 190.1.137.130:8080 114.129.100.237:8080 81.217.6.239:80 196.214.141.221:8080 98.255.196.232:1590 68.49.201.216:27977 122.52.117.92:8080 202.143.148.61:80 222.70.137.238:80 222.124.136.103:8080 187.85.160.3:80 189.73.221.49:80 64.120.166.23:1080 114.129.100.55:8080 87.197.42.171:8080 180.246.114.66:8080 119.36.138.131:1080 67.223.227.21:80 221.233.134.87:8080 94.195.11.147:80 71.72.30.250:28052 209.226.31.160:80 74.197.10.24:27977 209.200.46.108:80 8.4.59.117:80 109.74.202.89:80 119.40.100.9:8080 200.63.71.225:8080 110.138.51.76:8080 203.172.167.8:8080 82.177.67.1:8080 77.67.17.17:8080 76.188.219.178:4458 221.229.119.186:80 81.0.235.172:80 216.104.161.120:80 110.138.211.56:80 212.177.17.74:80 186.24.13.125:8080 118.97.129.74:8080 80.239.242.223:80 114.129.99.83:8080 114.129.99.210:8080 202.4.155.234:1080 67.159.52.76:8080 68.192.216.10:1337 219.235.228.182:1080 118.98.215.10:8080 200.81.59.101:80 202.143.149.36:8080 195.49.188.226:80 123.125.156.92:80 92.61.191.17:8080 201.208.100.167:8080 68.169.183.117:27977 112.105.69.163:80 61.4.11.193:8080 122.72.20.218:80 200.148.135.234:8080 203.199.9.4:80 74.114.116.101:80 122.144.1.212:8080 97.65.164.214:8080 200.171.25.203:8000 41.134.81.234:80 119.235.53.130:8080 125.165.125.83:8080 160.79.35.27:80 24.0.213.12:8008 24.0.82.254:58029 91.90.120.40:1080 218.61.196.69:8080 114.129.99.243:8080 114.129.98.131:8080 70.174.29.174:27977 114.129.98.211:8080 202.51.107.34:8080 61.207.158.6:8088 122.248.213.39:80 84.22.27.4:80 110.136.207.37:80 77.66.25.53:80 98.200.72.55:1908 119.110.81.226:8080 85.214.61.55:80 202.44.53.94:80 75.69.78.108:1405 194.187.110.72:80 118.96.94.45:80 200.85.79.22:80 75.64.57.44:57907 203.142.71.149:8080 202.146.129.133:8080 67.165.33.228:27977 202.191.122.239:80 202.99.27.3:8080 61.4.253.175:8080 218.28.233.214:9000 114.129.97.51:8080 114.129.100.252:8080 63.134.178.211:27977 87.119.213.25:80 109.254.88.136:1080 66.235.245.150:80 212.118.224.151:80 80.206.48.100:80 67.182.241.56:27977 24.242.167.123:8080 210.8.224.2:80 114.129.100.86:8080 77.27.27.65:16589 210.94.189.210:8080 195.117.121.2:1080 92.63.96.135:8080 210.31.160.55:9 212.49.64.3:80 98.198.54.147:27977 220.113.15.220:8081 195.89.37.91:80 59.39.67.158:8080 218.92.252.38:8080 122.155.13.18:80 202.103.67.98:80 189.72.173.220:80 24.228.100.186:27977 76.16.165.171:1091 87.120.166.182:88 189.22.150.34:80 174.142.125.161:80 187.4.118.221:80 114.129.98.129:8080 83.36.60.252:80 112.175.251.56:8080 208.45.143.104:80 217.20.163.72:80 61.185.143.178:8080 188.142.49.254:8080 193.179.209.200:80 91.90.122.1:1080 209.62.20.239:80 64.255.180.31:80 67.205.67.45:80 222.124.5.82:8080 80.239.242.112:80 98.200.64.178:1174 75.190.141.203:27977 174.129.195.8:8123 87.106.197.98:443 195.248.250.142:80 114.129.98.73:8080 85.214.152.105:1337 68.52.107.181:27977 74.213.164.188:80 114.129.100.249:8080 200.125.243.122:8080 219.83.100.204:8080 64.211.66.142:80 62.216.165.131:8080 175.41.151.200:80 180.246.116.28:80 221.204.246.161:80 201.75.71.33:8080 24.16.196.237:1907 168.176.5.223:80 61.4.11.19:8080 61.6.245.46:80 98.212.102.97:1628 190.144.55.147:8080 120.136.21.131:80 222.69.91.144:63000 216.6.202.27:80 193.255.195.72:80 213.192.85.98:8080 189.22.105.205:8080 193.190.145.92:80 184.22.251.43:80 204.12.250.147:64616 118.96.78.2:8080 108.36.100.249:14925 119.82.239.62:8080 219.117.212.126:8080 200.206.175.108:8080 79.106.1.83:8080 173.203.102.80:8080 193.255.192.190:80 63.166.247.31:80 187.12.229.178:8080 174.108.120.102:3390 75.126.176.161:80 118.96.78.16:8080 24.215.22.136:3969 72.55.130.45:80 178.165.55.79:8008 114.129.99.131:8080 66.7.124.203:27977 117.102.83.218:80 196.28.237.43:8080 24.230.247.138:29505 202.69.33.143:8080 61.4.251.243:8080 58.20.41.168:1080 111.67.80.84:80 114.113.228.202:1080 180.249.131.31:80 112.95.238.199:1080 218.29.89.203:8080 213.41.80.7:80 200.37.204.93:8080 201.23.107.11:8080 114.129.97.73:8080 80.237.156.177:80 184.22.248.124:8080 190.145.116.22:80 120.29.157.234:8080 118.96.30.11:8080 82.99.211.50:8080 114.129.98.127:8080 72.167.202.24:8000 202.212.165.205:8080 75.102.3.18:80 97.81.175.62:1414 222.237.79.140:80 111.68.100.8:8080 210.48.147.82:80 200.97.9.234:8080 92.61.188.41:8080 75.125.242.146:80 61.191.187.23:8080 24.0.68.158:1355 58.59.31.82:1337 211.239.121.249:43565 186.136.72.41:80 118.96.94.45:8080 200.181.30.37:8080 173.22.82.104:13229 118.98.202.123:8080 85.185.105.26:8080 66.75.93.204:8088 190.147.197.35:8080 70.185.184.141:11331 111.68.28.27:8080 216.104.161.205:80 122.48.31.74:80 114.129.100.126:8080 173.217.173.248:27977 222.124.144.178:80 180.247.218.28:8080 114.129.99.129:8080 114.129.98.159:8080 72.218.74.95:27977 116.90.162.147:80 112.65.216.174:1080 221.2.144.135:1080 118.69.192.62:8088 202.74.65.69:8080 122.48.31.73:80 196.202.41.254:80 202.64.130.236:80 114.129.97.66:8080 210.166.221.61:8080 196.3.182.146:80 202.65.122.226:8080 118.122.88.44:80 58.221.129.158:1337 118.96.136.76:80 61.166.144.29:80 189.31.180.236:80 114.129.100.238:8080 202.43.74.66:8080 117.102.226.142:80 124.225.55.30:8080 115.236.98.109:80 203.251.21.105:80 69.195.207.230:7257 190.77.30.109:8080 115.124.65.94:8080 116.205.127.43:8080 216.249.85.43:27977 118.97.224.2:8080 110.139.180.151:8080 118.97.84.20:80 222.124.218.164:8080 180.244.211.224:8080 66.229.95.87:8085 110.138.207.144:8080 187.4.82.68:8080 115.124.75.36:80 200.63.71.54:8080 98.209.176.218:1565 200.181.109.20:80 115.124.73.166:80 115.124.64.241:8080 202.149.90.234:8080 24.46.89.172:1147 187.4.104.99:8080 125.164.72.200:8080 98.222.112.179:27977 24.3.70.138:27977 180.243.231.55:8080 74.109.211.64:1564 220.237.25.106:1087 8080 78.188.153.229:8080 210.48.147.52:80 208.64.176.157:80 69.125.100.96:27977 58.96.134.22:8000 24.139.43.249:8085 184.72.55.152:443 114.129.100.80:8080 119.109.115.149:8909 67.167.89.121:14073 71.82.96.242:1421 109.87.143.120:9 173.74.178.23:31779 68.144.41.195:17719 71.234.200.202:37373 24.13.125.182:2003 66.27.207.82:27977 72.240.34.23:80 182.48.167.10:8080EDIT: All the Proxies in this list are legal, public Proxies so dont get any ideas! Edited July 13, 2011 by hyperzap TomasRedwewZembews 1 ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search Link to comment Share on other sites More sharing options...
DavidLago Posted July 14, 2011 Share Posted July 14, 2011 Amazing job. Doesn't work on my Enterprise, though. The Firewall is a bitch here Link to comment Share on other sites More sharing options...
guinness Posted July 14, 2011 Share Posted July 14, 2011 The _GetIP() you have will fail if dyndns.org is down (see new beta's & _GetIP in my signature) & some of the Functions you've included are already in the WinAPI.au3 UDF e.g. _WinAPI_LoWord()/_WinAPI_HiWord(). It's only a little bit of advice I can understand if you don't like <Include> files but then you're using Functions like _FileCountLines() so I can't see why you wouldn't use WinAPI. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
twitchyliquid64 Posted July 14, 2011 Author Share Posted July 14, 2011 The _GetIP() you have will fail if dyndns.org is down (see new beta's & _GetIP in my signature) & some of the Functions you've included are already in the WinAPI.au3 UDF e.g. _WinAPI_LoWord()/_WinAPI_HiWord(). It's only a little bit of advice I can understand if you don't like <Include> files but then you're using Functions like _FileCountLines() so I can't see why you wouldn't use WinAPI. _GetIP() isnt used in this script; its a relic from one of my other scripts that the async handling was taken from. ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search Link to comment Share on other sites More sharing options...
twitchyliquid64 Posted July 14, 2011 Author Share Posted July 14, 2011 Amazing job.Doesn't work on my Enterprise, though. The Firewall is a bitch here I think the problem is mainly due to how newer versions of windows handle async sockets. I have had experience where the system has failed entirely. ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search Link to comment Share on other sites More sharing options...
guinness Posted July 14, 2011 Share Posted July 14, 2011 _GetIP() isnt used in this script; its a relic from one of my other scripts that the async handling was taken from.OK, I didn't check in the Script to see if it was used. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
twitchyliquid64 Posted July 19, 2011 Author Share Posted July 19, 2011 Hmmm. It appears that only 40 connections can be pending at one time. Does anyone know If this is a limitation of windows? Or is it avoidable? ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search Link to comment Share on other sites More sharing options...
Frogserv Posted August 31, 2011 Share Posted August 31, 2011 (edited) I have an issue with your script.Each time, on every list, the last proxy keeps on Unknown.Have you an idea? Edited August 31, 2011 by Frogserv Link to comment Share on other sites More sharing options...
twitchyliquid64 Posted September 1, 2011 Author Share Posted September 1, 2011 windows doesnt like having too many pending connections. its not meant to be perfect, just so you know, i only spent half an hour on this script. ongoing projects:-firestorm: Largescale P2P Social NetworkCompleted Autoit Programs/Scripts: Variable Pickler | Networked Streaming Audio (in pure autoIT) | firenet p2p web messenger | Proxy Checker | Dynamic Execute() Code Generator | P2P UDF | Graph Theory Proof of Concept - Breadth First search Link to comment Share on other sites More sharing options...
James Posted May 9, 2012 Share Posted May 9, 2012 This isn't too old to pull back up; but I just wanted to say that after a few modifications I was able to get this to do what I wanted. At work we have these crawler which use proxies and a lot of them fail quickly, but I'm too lazy to remove them from the list. This has found all of the duff connections and I've since removed them!Thanks Blog - Seriously epic web hosting - Twitter - GitHub - Cachet HQ Link to comment Share on other sites More sharing options...
incepator Posted May 28, 2014 Share Posted May 28, 2014 Hello and thank you!I need, if I can help someone ...I made a simple script and try to adjust it, but I find it hard to understand this UDF.If anyone can help ... thank you so much! expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <ListViewConstants.au3> #include <WindowsConstants.au3> #include <File.au3> #region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 380, 246, 320, 249) $ListView1 = GUICtrlCreateListView("IP|Port", 8, 48, 346, 150) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 0, 200) GUICtrlSendMsg(-1, $LVM_SETCOLUMNWIDTH, 1, 80) $Button1 = GUICtrlCreateButton("Add Proxy List (IP:PROXY)", 8, 8, 243, 25) $Button2 = GUICtrlCreateButton("Check Proxy", 8, 208, 147, 25) GUISetState(@SW_SHOW) #endregion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 $Add = FileOpenDialog("", @DesktopDir & "\", "Txt(*.txt)", 1) If Not @error Then $open_list = FileOpen($Add, 0) For $q = 1 To _FileCountLines($Add) $read = FileReadLine($open_list, $q) $split = StringSplit($read, ":", 1) If IsArray($split) Then GUICtrlCreateListViewItem($split[1] & "|" & $split[2], $ListView1) EndIf Next FileClose($Add) EndIf Case $Button2 ;..... EndSwitch WEnd proxylist.txt Link to comment Share on other sites More sharing options...
ProxyXII Posted May 16, 2016 Share Posted May 16, 2016 amazing script! but i would like to add colon with the ping , but really i can't understand where exactly to put the command Ping()... can someone help me with it??? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now