cls&@echo off&color 2f&cd /d %~dp0
:::设置My.Pac存放路径路径
Set My_PacPath=d:\my.pac
echo.&echo 正在查找设并置代理端口…………
for /f %%a in ('tasklist ^|find /i "proxy.exe"') do Set Port=PROXY 127.0.0.1:8000&echo.&echo 当前代理端口:127.0.0.1:8000&goto :开始
for /f %%a in ('tasklist ^|find /i "polipo.exe"') do Set Port=PROXY 127.0.0.1:8118&echo.&echo 当前代理端口:127.0.0.1:8118&goto :开始
for /f %%a in ('tasklist ^|find /i "privoxy.exe"') do Set Port=PROXY 127.0.0.1:8118&echo.&echo 当前代理端口:127.0.0.1:8118&goto :开始
for /f %%a in ('tasklist ^|find /i "AdvTor.exe"') do Set Port=PROXY 127.0.0.1:9050&echo.&echo 当前代理端口:127.0.0.1:9050&goto :开始
for /f %%a in ('tasklist ^|find /i "Tor.exe"') do Set Port=SOCKS 127.0.0.1:9050&echo.&echo 当前代理端口:SOCKS 127.0.0.1:9050&goto :开始
echo.&echo 没有找到你的代理端口,请先运行代理软件!,请按任意键退出! &pause>nul&exit
:开始
echo.&pause
echo.&echo 正在下载(AutoProxy gfwList)文件………… &echo ==============================================================================
Set My_Path=gfwlist.txt&Set My_Proxy=http://autoproxy-gfwlist.googlecode.com/svn/trunk/gfwlist.txt
curl "%My_Proxy%">%My_Path%_tmp.txt
:::curl -x 127.0.0.1:8000 "%My_Proxy%">%My_Path%_tmp.txt
Base64.exe -d %My_Path%_tmp.txt %My_Path%&echo ==============================================================================
TYPE %My_Path%|FIND ".">%My_Path%_tmp.txt
move %My_Path%_tmp.txt %My_Path%>nul
for %%a in (! [ ^( baidu wikipedia google) do Call :取消不用代理的站点 %%a
for %%a in (a b c d e f) do Call :替换字符串 %%a
echo.&echo 去掉行头特殊符号…………&echo.>%My_Path%_tmp.txt
for /f %%i in (%My_Path%) do call :去掉行头特殊符号 %%i
move %My_Path%_tmp.txt %My_Path%>nul
echo.&echo 去掉行尾特殊符号…………&echo.>%My_Path%_tmp.txt
for /f %%i in (%My_Path%) do call :去掉行尾特殊符号 %%i
move %My_Path%_tmp.txt %My_Path%>nul
Call :删除重复行
TYPE %My_Path%|FIND ".">%My_Path%_tmp.txt
move %My_Path%_tmp.txt %My_Path%>nul
echo.&echo 正在写入代理脚本(%My_PacPath%)文件…………
>%My_PacPath% Echo function FindProxyForURL(url, host){
>>%My_PacPath% Echo var ProxyPort="%Port%";//根据你的代理软件修改代理地址和端口
>>%My_PacPath% Echo var patterns = new Array(
for /f "skip=92 delims=" %%a in (%~0) do echo "%%a",>>%My_PacPath%
for /f %%i in (%My_Path%) do echo "%%i",>>%My_PacPath%
>>%My_PacPath% Echo "a.cc");
>>%My_PacPath% Echo for (i in patterns) {
>>%My_PacPath% Echo if(shExpMatch(url.toLowerCase(),"*" + patterns[i].toLowerCase() + "*")){return ProxyPort;};
>>%My_PacPath% Echo };
>>%My_PacPath% Echo return "DIRECT";
>>%My_PacPath% Echo };
echo.&&echo 创建[ %My_PacPath% ]代理脚本完成,请按任意键退出!&&pause>nul&exit
:取消不用代理的站点
echo.&echo 正在删除包含 %1 关键字的行(不用代理的站点)…………
TYPE %My_Path%|FIND /I /V "%1">%My_Path%_tmp.txt
move %My_Path%_tmp.txt %My_Path%>nul
goto :eof
:替换字符串
setlocal enabledelayedexpansion
set replaced=
if /i "%1"=="a" set replaced=^|
if /i "%1"=="b" set replaced=^@
if /i "%1"=="c" set replaced=http://
if /i "%1"=="d" set replaced=https://
if /i "%1"=="e" set replaced=www.
if /i "%1"=="f" set replaced=http:*
set all=
echo.&echo 正在替换 ^%replaced% 字符串…………
for /f "delims=" %%i in ('type "%My_Path%"') do (
set str=%%i
set "str=!str:%replaced%=%all%!"
echo !str!>>%My_Path%_tmp.txt
)
move "%My_Path%"_tmp.txt "%My_Path%" >nul
goto :eof
:删除重复行
echo.&echo 正在删除重复行…………
sort %My_Path%>%My_Path%_tmp.txt
echo.>%My_Path%
for /f "delims=" %%i in (%My_Path%_tmp.txt) do (if not defined %%i set %%i=A & echo %%i>>%My_Path%)
del %My_Path%_tmp.txt >nul
goto :eof
:去掉行头特殊符号
set str=%1
if "%str:~0,1%"=="*" set "str=%str:~1%"
if "%str:~0,1%"=="." set "str=%str:~1%"
if "%str:~0,1%"=="/" set "str=%str:~1%"
echo %str%>>%My_Path%_tmp.txt
goto :eof
:去掉行尾特殊符号
set str=%1
if "%str:~-1%"=="*" set "str=%str:~0,-1%"
if "%str:~-1%"=="/" set "str=%str:~0,-1%"
echo %str%>>%My_Path%_tmp.txt
goto :eof
==========请在下面输入要添加代理的url的关键字=========
zh.wikipedia.org
https://clients*.google.com
https://code.google.com
https://services.google.com
https://spreadsheets.google.com
https://tools.google.com
sites.google.com
video.google.com
|
|
没有评论:
发表评论