2010年4月14日星期三

用AutoProxy的gfwlist建立适合自己的proxy脚本(修改)


用AutoProxy的gfwlist建立适合自己的proxy脚本

有时除了用 Privoxy, 还用了 ipv6 over ipv4 等方式上网,AutoProxy官方的代理脚本有时就显得不太适合自己,做了个能按自己需要生成代理脚本的批处理方便自己用.

这里和朋友分享,会批处理的朋友可以自己修改以便适合自己用。不会的朋友只需要根据你用的代理软件修改输出文件(默认输出文件d:\my.pac)代码中的“代理地址和端口”就可以了就可以了。

批处理中要用到的Base64.exe和curl.exe软件可以到这里下载:http://www.vkill.net/tools.html

批处理代码:
==============================================================================
  
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
              
               

2010年4月13日星期二

瓦斯曲-代理脚本-My。Pa

瓦斯曲-代理脚本-My。Pac

根据autoproxy的代理列表进行了调整去出了部分重复的地址,
为方便GAppProxy使用代理对部分代理地址进行了调整,充分支持gmail和Buzz的使用。
由于大家知道的原因,不得不对地址进行了编码。
===========复制下面代码到记事本,另存为My.Pac================

function FindProxyForURL(url, host){
var ProxyPort="PROXY 127.0.0.1:8000";//根据你的代理软件修改代理地址和端口
//把下载的Proxydecode.rar解压后用记事本打开,按ALT-A全选,复制到下面即可。





var NewWords = decode64(Proxydecode);
eval(NewWords);

for (i in patterns) {
if( url.toLowerCase().indexOf( patterns[i].toLowerCase() ) >= 0 ){return ProxyPort;};
};
return "DIRECT";
};

function decode64(input) {
var keyStr = "ABCDEFGHIJKLMNOP" +
"QRSTUVWXYZabcdef" +
"ghijklmnopqrstuv" +
"wxyz0123456789+/" +
"=";
var output = "";
var chr1, chr2, chr3 = "";
var enc1, enc2, enc3, enc4 = "";
var i = 0;

// remove all characters that are not A-Z, a-z, 0-9, +, /, or =
var base64test = /[^A-Za-z0-9\+\/\=]/g;
if (base64test.exec(input)) {
alert("There were invalid base64 characters in the input text.\n" +
"Valid base64 characters are A-Z, a-z, 0-9, '+', '/', and '='\n" +
"Expect errors in decoding.");
}
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));

chr1 = (enc1 <<>> 4);
chr2 = ((enc2 & 15) <<>> 2);
chr3 = ((enc3 & 3) << output =" output" output =" output" output =" output" chr1 =" chr2" chr3 = "" enc1 =" enc2" enc3 =" enc4">

原文地址:
http://linux.jgxx.com/cgi-wsq/wsqbbs/wsqbbs.pl?cx=3&hf=1&hfbm=81271214080V334_81271214080V334
http://is.gd/brPyS

2010年4月5日星期一

批处理生成简易自动代理脚本(Pac)

批处理生成简易自动代理脚本(Pac)


自动代理最大的优点就是不妨碍正常浏览,而被屏蔽的网站又可以自定义进行代理访问。几乎一次设置适用终身了。
但是频繁的设置代理地址却是件很麻烦的事情,现在利用批处理配置自动代理脚本,就方便多了。


My_Proxy_Pac.bat


cls&@echo off&color 2f&cd /d %~dp0
:::设置My.Pac路径
Set My_Path=d:\my.pac
>%My_Path% Echo function FindProxyForURL(url, host){
>>%My_Path% Echo var proxy = Array();
>>%My_Path% Echo proxy[0] ="PROXY 127.0.0.1:8000";
>>%My_Path% Echo proxy[1] ="PROXY 127.0.0.1:8118";
>>%My_Path% Echo proxy[2] ="PROXY 127.0.0.1:9666";
>>%My_Path% Echo proxy[3] ="PROXY 127.0.0.1:8580";
>>%My_Path% Echo proxy[4] ="PROXY 127.0.0.1:1984";
>>%My_Path% Echo var patterns = new Array(
for /f "skip=20" %%a in (%~0) do echo "%%a",>>%My_Path%
>>%My_Path% Echo "abcd.com");
>>%My_Path% Echo for (i in patterns) {
>>%My_Path% Echo if( url.toLowerCase().indexOf( patterns[i].toLowerCase() ) ^>= 0 ){return proxy[0];};
>>%My_Path% Echo };
>>%My_Path% Echo return "DIRECT";
>>%My_Path% Echo };
goto :eof
=========================请在下面输入要代理的url的关键字=========================




My_No_Proxy_Pac.bat
cls&@echo off&color 2f&cd /d %~dp0
:::设置My.Pac路径
Set My_Path=d:\my.pac
>%My_Path% Echo function FindProxyForURL(url, host){
>>%My_Path% Echo var proxy = Array();
>>%My_Path% Echo proxy[0] ="PROXY 127.0.0.1:8000";
>>%My_Path% Echo proxy[1] ="PROXY 127.0.0.1:8118";
>>%My_Path% Echo proxy[2] ="PROXY 127.0.0.1:9666";
>>%My_Path% Echo proxy[3] ="PROXY 127.0.0.1:8580";
>>%My_Path% Echo proxy[4] ="PROXY 127.0.0.1:1984";
>>%My_Path% Echo var patterns = new Array(
for /f "skip=20" %%a in (%~0) do echo "%%a",>>%My_Path%
>>%My_Path% Echo ".cn");
>>%My_Path% Echo for(var i = 0; i ^< patterns.length; i++) {
>>%My_Path% Echo if(shExpMatch(url.toLowerCase (), "*" + patterns[i].toLowerCase() + "*")){return "DIRECT";};
>>%My_Path% Echo };
>>%My_Path% Echo return proxy[0];
>>%My_Path% Echo };
goto :eof
==============请在下面输入不需要代理的url的关键字===================
163.com
56.com
appspot.com
baidu.com
baidu.com
cat898.com
cctv.com
china.com
douban.com
google.com
gougou.com
ifeng.com
is.gd
jgxx.com
kdnet.net
ku6.com
live.com
mop.com
msn.com
pcbeta.com
qq.com
sohu.com
sohu.com
taobao.com
tgbus.com
tom.com
tudou.com
w3.org
xinhuanet.com
ynet.com
youku.com
is.gd




用AutoProxy的gfwlist建立适合自己的proxy脚本

有时除了用 Privoxy, 还用了 ipv6 over ipv4 等方式上网,AutoProxy官方的代理脚本有时就显得不太适合自己,今天做了个能按自己需要生成代理脚本的批处理方便自己用.

这里和朋友分享,会批处理的朋友可以自己修改以便适合自己用。不会的朋友只需要根据你的代理软件
修改代码中的“ return proxy[0]”改数字就可以了就可以了。

批处理中要用到的Base64.exe和curl.exe软件可以到这里下载:http://www.vkill.net/tools.html

批处理代码:
==============================================================================

cls&@echo off&color 2f&echo.&echo 正在下载(AutoProxy gfwList)文件…………&echo ==============================================================================&cd /d %~dp0
:::设置My.Pac路径
Set My_PacPath=d:\my.pac
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 ==============================================================================
for %%a in (! [ google youtube) do Call :取消不用代理的站点 %%a
for %%a in (a b) do Call :替换字符串 %%a
echo.&echo 正在写入代理脚本(%My_PacPath%)文件…………
>%My_PacPath% Echo function FindProxyForURL(url, host){
>>%My_PacPath% Echo var proxy = Array();
>>%My_PacPath% Echo proxy[0] ="PROXY 127.0.0.1:8000";
>>%My_PacPath% Echo proxy[1] ="PROXY 127.0.0.1:8118";
>>%My_PacPath% Echo proxy[2] ="PROXY 127.0.0.1:9666";
>>%My_PacPath% Echo proxy[3] ="PROXY 127.0.0.1:8580";
>>%My_PacPath% Echo proxy[4] ="PROXY 127.0.0.1:1984";
>>%My_PacPath% Echo proxy[5] ="SOCKS 127.0.0.1:9050";
>>%My_PacPath% Echo var patterns = new Array(
for /f "skip=50" %%a in (%~0) do echo "%%a",>>%My_PacPath%
for /f %%i in (gfwlist.txt) 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 proxy[0];};
>>%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=^@
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

========================请在下面输入要代理的url的关键字========================


迟到者

以前有自己的网站,有自己的主页,就没有想过高个博客,近来由于对谷歌的喜爱加深了。决定在这开个自己的窝。

郁闷今天放假我自己网站的服务器不知道什么原因停了。只有明天上班的时候去恢复了。