Jump to content

Proxy list checker


zeffy
 Share

Recommended Posts

I wrote this at 1AM last night out of boredom, it does take about 16 mins to finish (to make it faster, lower the ping timeout to ~600, but keep in mind if you do that, it may skip working proxies.

#Include <File.au3>

InetGet("http://www.textproxylists.com/proxy.php?allproxy", "proxies.dat")
$iLines = _FileCountLines("proxies.dat")

Local $n = 9, $sList ; $n is set to 9 to skip the comments at the beginning of the file
Do
    $sProxy = FileReadLine("proxies.dat", $n)
    $sSplit = StringSplit($sProxy, ":")
    Ping($sSplit[1], 1000)
    If Not @error Then
        $sList &= $sProxy & @CRLF
    EndIf
    $n += 1
Until $n = $iLines

FileWrite("proxy_list.txt", $sList)
ShellExecute("proxy_list.txt")
Edited by zeffy
Link to comment
Share on other sites

kinda off topic, but do you know any good proxy software that allows you to run a software behind a proxy?

Yes, there is Proxifier (Shareware) which is the best one IMO, and AdvancedTor (Open source) which can force an application to use the Tor network. There's also FreeCap (Freeware).

Anyone have any thoughts on the script, like ways I could improve it? 120 views and only 2 replies :c

Edited by zeffy
Link to comment
Share on other sites

Anyone have any thoughts on the script, like ways I could improve it? 120 views and only 2 replies :c

Hi,

I downloaded your script and slightly modified/improved it. I'll post my code later today when I'm at home.

What I basically did is, use _FileReadToArray so that you only have 1 file access instead of 1000+ and

I included the response time and sorted the responding proxies accordingly.

I also included the port in the output, but I guess you use the list.txt for another Proxy-Tool in which you process them again.

You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time. Abraham Lincoln - http://www.ae911truth.org/ - http://www.freedocumentaries.org/
Link to comment
Share on other sites

#include <Array.au3>
#include <File.au3>

Local Const $iSteps = 50    ; gives possibility to break after every $iSteps of Proxies checked

InetGet("http://www.textproxylists.com/proxy.php?allproxy", "proxies.dat")

Local $aProxies
_FileReadToArray("proxies.dat", $aProxies)

Local $iProxyCount = UBound($aProxies)-11
Local $aOnline[$iProxyCount][2]

Local $sList = "", $iFound = 0
For $i = 9 To UBound($aProxies)-3
    $sIP=StringLeft($aProxies[$i], StringInStr($aProxies[$i], ":")-1)
    $sTime=Ping($sIP, 500)
    If Not @error Then
        $aOnline[$i-9][0] = $aProxies[$i]
        $aOnline[$i-9][1] = $sTime
        $iFound += 1
    EndIf
    If Int(($i-8)/$iSteps) >= 1 And Mod($i-8, $iSteps) = 0 Then
        If MsgBox(4,"continue?","go for the next "&$iSteps&"?"&@CRLF&@CRLF&" responded: "&$iFound&"/"&$i-8&"  |  left: "&$iProxyCount-($i-8)&"/"&$iProxyCount) <> 6 Then ExitLoop
    EndIf
Next
$aProxies = 0

_ArraySort($aOnline, 0, 0, 0, 1)

For $i = $iProxyCount-$iFound To UBound($aOnline)-1
    $sList &= $aOnline[$i][0] & @CRLF
Next

_ArrayDisplay($aOnline, "Proxies / Response Time")
$aOnline = 0

$hFile = FileOpen("proxy_list.txt", 2)
If $hFile <> -1 Then
    FileWrite($hFile, $sList)
    FileClose($hFile)
    ShellExecute("proxy_list.txt")
EndIf

let me know what you think.

You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time. Abraham Lincoln - http://www.ae911truth.org/ - http://www.freedocumentaries.org/
Link to comment
Share on other sites

#include <Array.au3>
#include <File.au3>

Local Const $iSteps = 50    ; gives possibility to break after every $iSteps of Proxies checked

InetGet("http://www.textproxylists.com/proxy.php?allproxy", "proxies.dat")

Local $aProxies
_FileReadToArray("proxies.dat", $aProxies)

Local $iProxyCount = UBound($aProxies)-11
Local $aOnline[$iProxyCount][2]

Local $sList = "", $iFound = 0
For $i = 9 To UBound($aProxies)-3
    $sIP=StringLeft($aProxies[$i], StringInStr($aProxies[$i], ":")-1)
    $sTime=Ping($sIP, 500)
    If Not @error Then
        $aOnline[$i-9][0] = $aProxies[$i]
        $aOnline[$i-9][1] = $sTime
        $iFound += 1
    EndIf
    If Int(($i-8)/$iSteps) >= 1 And Mod($i-8, $iSteps) = 0 Then
        If MsgBox(4,"continue?","go for the next "&$iSteps&"?"&@CRLF&@CRLF&" responded: "&$iFound&"/"&$i-8&"  |  left: "&$iProxyCount-($i-8)&"/"&$iProxyCount) <> 6 Then ExitLoop
    EndIf
Next
$aProxies = 0

_ArraySort($aOnline, 0, 0, 0, 1)

For $i = $iProxyCount-$iFound To UBound($aOnline)-1
    $sList &= $aOnline[$i][0] & @CRLF
Next

_ArrayDisplay($aOnline, "Proxies / Response Time")
$aOnline = 0

$hFile = FileOpen("proxy_list.txt", 2)
If $hFile <> -1 Then
    FileWrite($hFile, $sList)
    FileClose($hFile)
    ShellExecute("proxy_list.txt")
EndIf

let me know what you think.

Very nice, thanks. Could you also improve my CheckProxyList UDF? I really like what you did with this one, but sadly I don't know enough about some of the functions you used to be able to implement it myself D: Edited by zeffy
Link to comment
Share on other sites

I'm glad you like it.

A UDF is something different though.

You'd have to put everything in a function, and use #include-once,

so that one can #include "your-udf.au3" in his/her scripts and start it with f.e. _SaveTextProxyList("...", "...", "...").

I believe that's what people in this forum understand under the short-term UDF, at least I do. ;-)

You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time. Abraham Lincoln - http://www.ae911truth.org/ - http://www.freedocumentaries.org/
Link to comment
Share on other sites

Very nice, thanks. Could you also improve my CheckProxyList UDF? I really like what you did with this one, but sadly I don't know enough about some of the functions you used to be able to implement it myself D:

Well, what don't you understand? Do you use Scite as your Script-Editor? Do you know you can doubleclick a function to mark it and then press F1 for the Help to immediately jump to the info for that specific function?

REALLY useful ;-)

Oh, and sorry for explaining the UDF term, I see you already knew that. Didn't mean to offend you or anything!

You can fool some of the people all of the time, and all of the people some of the time, but you can not fool all of the people all of the time. Abraham Lincoln - http://www.ae911truth.org/ - http://www.freedocumentaries.org/
Link to comment
Share on other sites

I'm glad you like it.

A UDF is something different though.

You'd have to put everything in a function, and use #include-once,

so that one can #include "your-udf.au3" in his/her scripts and start it with f.e. _SaveTextProxyList("...", "...", "...").

I believe that's what people in this forum understand under the short-term UDF, at least I do. ;-)

lol, I know, as you can see in the topic I linked to :)

Well, what don't you understand? Do you use Scite as your Script-Editor? Do you know you can doubleclick a function to mark it and then press F1 for the Help to immediately jump to the info for that specific function?

REALLY useful ;-)

Oh, and sorry for explaining the UDF term, I see you already knew that. Didn't mean to offend you or anything!

Yes, I use SciTE and I know how to press F1, but I don't understand some advanced commands, or how they work together. :idea:

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...