Board logo

标题: p-proxy v2.0.cmd [http代理查找、设置、验证器] [打印本页]

作者: vkill     时间: 2006-12-26 06:15    标题: p-proxy v2.0.cmd [http代理查找、设置、验证器]



    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    :: p-proxy.cmd V2.0 by:vkill 2007/01/01
    :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
    @echo off
    :000
    call :happy
    cls
    call :help_
    echo (以后可以/?查看帮助)
    echo.
    set var=
    set/p var= 下次运行是否继续显示此帮助:
    if /i %var%*==* goto 000
    if /i %var%*==Y* goto start
    if /i %var%*==N* goto 写第一行
    goto 000
    :写第一行
    cd.>>%0 ||(echo 你没有本目录的写入权限&pause>nul&goto :eof)
    echo %~p0|find /i "Rar$">nul &&(echo 请把本程序解压到文件夹下使用&pause>nul&goto :eof)
    for /f "tokens=*" %%a in ('echo goto start^&more^<%0') do (
    if not defined vk (>%0 echo %%a&set vk=vkill) else >>%0 echo %%a
    )
    cls
    echo 跳过帮助已设置完毕,重新运行本程序生效,任意键退出
    pause>nul
    goto :eof
    :start
    @echo off
    if %~1*==/?* goto h
    if %~1*==-?* goto h
    if %~1*==/h* goto h
    if %~1*==-h* goto h
    goto start_2
    :h
    call :help_
    puase>nul
    goto :eof
    :start_2
    ::conf
    ::是否需要网络支持
    set "net_on=y"
    set "search_url=http://www.baidu.com/s?wd="
    set "search_关键字=代理ip"
    set "tools_url=http://www.vkill.net/tools/"
    set "tools_name=wget.exe;sed.exe;gawk.exe;HtoX32c.exe"
    set "txts=ip-port.txt;url.txt;awk.conf"
    ::下载baidu搜索到前1-10个页面
    set "top=10"
    set "temp=test.tx"
    cls
    ::test
    echo %~p0|find /i "Rar$">nul &&(echo 请把本程序解压到文件夹下使用&pause>nul&goto :eof)
    if not %temp%*==* (cd.>>%0 ||(echo 你没有本目录的写入权限&pause>nul&goto :eof))
    for %%? in (%txts%) do (if not exist %%? (echo 缺少文件%%?&pause>nul&goto :eog))
    if %net_on%*==y* (ping -n 1 www.baidu.com>nul 2>nul||(echo 网络不通,请先检查网络&pause>nul&goto :eof))
    md %temp%>nul 2>nul
    PUSHD %temp%
    call :del_
    :down_tools
    title 依赖文件完整性检查开始 by:vkill
    set "down_ok=y"
    if not "%tools_name%*"=="*" (
    for %%? in (%tools_name%) do (
    if *%%~$PATH:?==* if not exist ..\%%? (
    set "down_ok=n"
    echo 程序所依赖文件%%?缺失,已自动开始下载
    if not exist iget.vbs call :iget.vbs_
    iget.vbs "%tools_url%%%?" "..\%%?"
    move "..\%%?" %windir%>nul 2>nul
    echo 文件%%?下载完毕
    )
    )
    )
    if == goto down_tools
    ::参数
    if /i == (set "var_1=..\url.txt"&goto acquisition_s)
    if /i == (if ==
  • (set "var_2=..\ip-port.txt"&goto validate_s) else (goto validate_o))
    :acquisition_s
    title 获取代理地址开始 by:vkill
    cls
    echo 请稍候......
    if ==
  • set "var_1=b%temp%"
    if == if not exist %var_1% (echo 缺少文件%var_1%&pause>nul&goto :eof)
    if ==
  • (
    :down_index
    wget -q -O "a%temp%" "%search_url%%search_关键字%"
    :find_top
    sed -n "/<DIV id=ScriptDiv><\/DIV>/,/<br clear=all>/p" a%temp%|sed "s/this.href,/\n/g"|sed "s/.*)\x22 href=\x22//;s/\x22 target=\x22.*//"|sed "/^http:\/\//!d"|more>%var_1%
    )
    :down_top
    md htmls>nul 2>nul
    set n=1
    setlocal enabledelayedexpansion
    for /f "eol=; tokens=*" %%? in (%var_1%) do (
    if !n!==%top% goto end_down_top
    echo 正在获取代理地址页面!n!
    wget -q -t 1 --directory-prefix=htmls "%%?"
    set/a "n=n+1"
    )
    :end_down_top
    endlocal
    ::htm2txt
    HtoX32c.exe /ip htmls\*.*>c%temp%
    gawk "/*\.*\.*\./" c%temp%|gawk -f ..\awk.conf|more>d%temp%
    goto validate_s
    :validate_s
    title 验证多个代理地址开始 by:vkill
    cls
    if /i == (set var_2=d%temp%)
    if ==
  • (set var_2=d%temp%)
    if == if not exist %var_2% (echo 缺少文件%var_2%&pause>nul&goto :eof)
    for /f "eol=; tokens=1,2 delims= " %%a in (%var_2%) do (
    set/p=正在验证%%a:%%b <nul
    wget -q -T 3 -t 1 -e "http_proxy=%%a:%%b" http://www.baidu.com -O - >nul 2>nul &&(echo %%a:%%b>>e%temp%&set/p=→ok <nul)
    echo.
    )
    goto :shezhi
    :validate_o
    title 验证单个代理地址开始 by:vkill
    cls
    echo %~2|findstr "^*\.*\.*\.*\:*$">nul||(echo 待测试的%~2不是有效的代理地址&pause>nul&goto :eof)
    set/p=正在验证%~2 <nul
    wget -q -T 3 -t 1 -e "http_proxy=%~2" http://www.baidu.com -O - >nul 2>nul &&(echo %~2>>e%temp%&set/p=→ok <nul)
    echo.
    )
    goto :shezhi
    :shezhi
    title 设置、修改、删除代理 by:vkill
    cls
    findstr . e%temp%>nul 2>nul ||(echo 没有有效的代理&pause>nul&goto :end)
    findstr /N . e%temp%>..\proxy.txt
    call :del_
    copy /Y ..\proxy.txt proxy.txt>nul 2>nul
    sed -n $= proxy.txt|more>%temp%
    set/p max_n=<%temp%
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"|findstr /i " Proxyserver " |sed "s///g"|more>%temp%
    findstr . %temp%>nul &&(set/p y_proxy=<%temp%) ||(set y_proxy=空)
    reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"|findstr /i " ProxyEnable " |sed "s/.* 0x1 //;s/*//g"|more>%temp%
    findstr . %temp%>nul &&(set y_on=关闭)||(set y_on=打开)
    set/a "ye=%max_n%/10"
    set/a "ye=%ye%+1"
    set n1=1
    :liebiao
    if %n1% lss 1 set "n1=1"
    set/a n2=%n1%+9
    cls
    echo.
    echo 当前代理设置情况:
    echo ________________________________________________________________________________
    echo 检测完有效的代理列表如下(行号-地址)
    echo.
    sed "%n1%,%n2%!d;s/^/ /;s/:/-/" proxy.txt
    echo.
    set/p= <nul
    if lss (set/p=上一页 <nul ) else (set/p= <nul )
    set/p=共%ye%页 <nul
    if not lss (set/p=下一页 <nul) else (set/p= <nul)
    echo.
    echo ________________________________________________________________________________
    set xz=
    set /p xz= 请输入操作代码或你要设置为当前ie代理的行号:
    echo.
    if "%xz%"=="" (echo 无效动作 & pause>nul && goto liebiao)
    if /i "%xz%"=="u" (set/a "n1=%n1%-10" &goto liebiao)
    if /i "%xz%"=="n" (set/a "n1=%n1%+10" &(if %max_n% lss %n1% (set/a "n1=%n1%-10"))&goto liebiao)
    echo %xz%|findstr "^*$" >nul||(echo 无效动作 & pause>nul && goto liebiao)
    findstr "^%xz%:" ..\proxy.txt>nul||(echo 不是有效的行数 & pause>nul && goto liebiao)
    :xz_ok
    sed "/^%xz%:/!d;s/^%xz%://" ..\proxy.txt|more>%temp%
    set/p proxy_ip=<%temp%
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 1 /f
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v Proxyserver /d %proxy_ip% /f
    :hxz
    cls
    echo ________________________________________________________________________________
    echo 你已经成功将%proxy_ip%设置为当前ie的代理地址
    echo.
    echo 重新打开ie生效
    echo.
    echo a 重新选择 ; b 取消当前代理设置 ; c 保存退出
    echo ________________________________________________________________________________
    set hxz=
    set /p hxz= 请输入操作代码:
    if "%hxz%"=="" echo 无效动作 & pause && goto hxz
    if "%hxz%"=="a" goto shezhi
    if "%hxz%"=="c" goto end
    if "%hxz%"=="b" goto quxiao
    goto hxz
    :quxiao
    @reg add "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v ProxyEnable /t REG_DWORD /d 0 /f
    @reg delete "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings" /v Proxyserver /f
    echo 取消当前代理设置成功,重新打开ie生效,按任意键退出&pause>nul
    :end
    call :del_
    :end
    popd
    goto :eof
    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    ::所有call
    :help_
    title help
    mode con lines=30
    echo ________________________________________________________________________________
    echo 用途:
    echo http代理查找、设置、验证器 by:vkill
    echo.
    echo 使用方法:(推荐使用-u)
    echo 1.无参数
    echo 将自动查找到"baidu"关键词"代理ip"前^<10位的页面中所有代理的地址并验证其可用性
    echo 2.-v
    echo 将验证ip-port.txt文件中所有代理地址其可用性
    echo 3.-v 1.1.1.1:80
    echo 将验证1.1.1.1:80代理地址其可用性
    echo 4.-u
    echo 将验证url.txt文件中所有网页中的代理地址的其可用性,请按需求自行修改网页
    echo.
    echo 程序依赖文件:(详细用法http://www.vkill.net/tools.html页面下载相应文件)
    echo 1.wget.exe 1.10.2 验证代理,下载网页
    echo 2.sed.exe 4.0.7x 文本文字处理
    echo 3.gawk.exe 3.1.5 文本文字处理
    echo 4.HtoX32c 1.7.3 htm2txt
    echo.
    echo
    echo ________________________________________________________________________________
    goto :eof
    :echo_test
    goto :eof
    :del_
    del /f/q *.*>nul 2>nul
    del /f/q htmls\*.*>nul 2>nul
    goto :eof
    :iget.vbs_
    >iget.vbs echo x=LCase(WScript.Arguments(1))
    >>iget.vbs echo y=LCase(WScript.Arguments(0))
    >>iget.vbs echo Set xPost=CreateObject("Microsoft.XMLHTTP")
    >>iget.vbs echo xPost.Open "GET",y,0
    >>iget.vbs echo xPost.Send()
    >>iget.vbs echo Set sGet=CreateObject("ADODB.Stream")
    >>iget.vbs echo sGet.Mode=3
    >>iget.vbs echo sGet.Type=1
    >>iget.vbs echo sGet.Open()
    >>iget.vbs echo sGet.Write(xPost.responseBody)
    >>iget.vbs echo sGet.SaveToFile x,2
    goto :eof
    :happy
    echo happy new year !!!
    ping -n 2 127.1>nul 2>nul
    goto :eof




Last edited by vkill on 2007-1-3 at 10:56 PM ]
附件 1: p-proxy v1.0.rar (2006-12-26 06:15, 2.81 KiB, 下载附件所需积分 1点 ,下载次数: 133)
附件 2: p-proxy v2.0.rar (2007-1-2 04:55, 3.91 KiB, 下载附件所需积分 1点 ,下载次数: 180)

作者: 9527     时间: 2006-12-26 06:18
可见兄研究这个P已经很长时间啦,呵呵,这么晚才放出来,哈哈哈,顶,不错,加分

作者: vkill     时间: 2006-12-26 06:20
呵呵,9527,测试下,看是否好用,我2003测试ok

作者: electronixtar     时间: 2006-12-26 06:27
顶!~~

作者: electronixtar     时间: 2006-12-26 06:27
建议改标题,把帖子内容说明白点

作者: vkill     时间: 2006-12-26 06:32
Originally posted by electronixtar at 2006-12-26 06:27:
建议改标题,把帖子内容说明白点

ok ,改了

作者: vkill     时间: 2006-12-26 06:45
要是把sed的都改为gawk就可以少个外部工具了,可惜gawk我还不熟,希望无奈何斑竹来看看

作者: lxmxn     时间: 2006-12-26 06:54


因为第一次使用需要iget.vbs,所以如果开了杀毒最好关闭使用

  果然,一下载卡巴就出来狂叫了……
附件 1: proxy.BMP (2006-12-26 06:54, 363.33 KiB, 下载附件所需积分 1点 ,下载次数: 10)



作者: ccwan     时间: 2006-12-26 06:57
这可是圣诞大餐了,也会报有毒。^_^

作者: HUNRYBECKY     时间: 2006-12-26 23:08
太牛了,几天没有来,真是最好的圣诞礼物。谢谢你这个圣诞老人。

作者: vkill     时间: 2006-12-27 07:03
Originally posted by ccwan at 2006-12-26 06:57:
这可是圣诞大餐了,也会报有毒。^_^

晕啊~不是有毒,iget.vbs这东东都抱,也没有办法了

作者: ccwan     时间: 2007-1-3 02:11
楼主已更新了!大家试试2.0版的效果如何好吗?

作者: flamey     时间: 2007-1-3 04:42
非常好!

卡巴太烂了,换个杀毒软件吧!(注:经常的误报,是病毒的不报,不是病毒的就报,就象我们单位的防盗器!)

作者: 雨露     时间: 2007-1-3 09:12
楼主的程序依赖文件:(详细用法http://www.vkill.net/tools.html页面下载相应文件)
1.wget.exe 1.10.2 验证代理,下载网页
2.sed.exe 4.0.7x 文本文字处理
3.gawk.exe 3.1.5 文本文字处理
4.HtoX32c 1.7.3 htm2txt
下载解压后发现gsed_4.0.7x和wget_1.10.2文件夹内含有-----隐藏的系统属性的_desktop.ini文件,不会是楼主曾经中过维金病毒吧?

作者: 雨露     时间: 2007-1-3 09:15
Originally posted by flamey at 2007-1-3 04:42:
非常好!

卡巴太烂了,换个杀毒软件吧!(注:经常的误报,是病毒的不报,不是病毒的就报,就象我们单位的防盗器!)



瑞星2007也报毒!Trojan.DL.VBS.Agent.c

作者: vkill     时间: 2007-1-3 22:57
Originally posted by 雨露 at 2007-1-3 09:12:
楼主的程序依赖文件:(详细用法http://www.vkill.net/tools.html页面下载相应文件)
1.wget.exe 1.10.2 验证代理,下载网页
2.sed.exe 4.0.7x 文本文字夠...

可能吧,不过报是iget.vbs的问题

作者: lixinwu     时间: 2007-1-26 08:06
如果那几个工具不复制到windows目录下就更好了,我喜欢绿色版

作者: zouzhxi     时间: 2007-1-27 04:17
卡巴斯基反病毒6.0
The requested URL http://www.cn-dos.net/forum/attachment.php?aid=2659&checkid=ffc58&download=1 is infected with Trojan-Downloader.JS.gen virus

作者: 3391617     时间: 2007-3-10 04:01
~。~

Last edited by 3391617 on 2007-3-9 at 04:17 PM ]

作者: bobyang     时间: 2007-3-19 07:15
谢谢,是个好东西呀!

作者: shanice     时间: 2007-3-27 05:43
asdasd

作者: bjsh     时间: 2007-3-27 09:04



@echo off
if %~1*==/?* goto h
if %~1*==-?* goto h
if %~1*==/h* goto h
if %~1*==-h* goto h

问为啥 用 %~1 而不是%1 什么意思啊?有什么效果啊

作者: bjsh     时间: 2007-3-27 22:17
顶到答案出来

作者: wydos     时间: 2007-3-27 23:46
好东西,收藏

作者: peterdocter     时间: 2007-3-27 23:54
本论坛不是用有两个vbscript加编码高手吗?请他们为你的iget.vbs加一个编码,可能就可以躲过杀毒误报!

作者: assad     时间: 2007-5-15 22:19
不错,谢谢拉!!!

作者: vkill     时间: 2007-5-15 22:20
Originally posted by bjsh at 2007-3-27 09:04:



问为啥 用 %~1 而不是%1 什么意思啊?有什么效果啊

呵呵,现在你已经很清楚了吧!哈哈~刚刚一人顶起我就顺便回复下

作者: teste     时间: 2007-6-28 00:04
强人啊

作者: qingyuan0o0     时间: 2007-7-8 20:24
不知道NOD32会不会报毒..

作者: lookdos     时间: 2007-7-11 11:03
ding

作者: zerocq     时间: 2007-7-11 14:13
sed真是厉害啊,看来得认真看看了

作者: xyq3312     时间: 2007-8-20 05:09
不错,支持

作者: czwlay     时间: 2007-10-21 19:55
太感谢楼主了.
我能加我的Q(647739)吗,我对脚本有浓厚的兴趣.

作者: honghunter     时间: 2007-11-22 01:32
期待再出一个更新版本。

最好能是绿色版本,嘿嘿。

作者: hteng     时间: 2007-11-27 15:41
太感谢楼主了!!真是厉害啊

作者: aa2206     时间: 2007-12-6 03:12
没有iget.vbs

作者: shaobing     时间: 2008-1-8 21:07
谢谢.............

作者: yaoxin1588     时间: 2008-1-10 10:21
感谢,下载学习!

作者: jethroso     时间: 2008-11-20 20:18
NOD32报毒厉害!