显示标签为“proxy”的博文。显示所有博文
显示标签为“proxy”的博文。显示所有博文

2012年12月28日星期五

hola windows客户端的PAC文件

var hosts = {};
    hosts['pactest.client.hola.org'] = pactest_cb;
    function pactest_cb(url, host)
    {
        if (url.match(/.*\/client_cgi\/\?localpac=1(&stamp=873398280)?$/))
        return 'PROXY client.hola.org';
        return 'DIRECT';
    }
    hosts['bbc.co.uk'] = bbc_cb;
hosts['bbcfmhds.vo.llnwd.net'] = bbc_cb;
function bbc_cb(url, host)
{
var index = url.indexOf('?');
        if (index==-1)
            index = url.length;
        var ext = url.substr(index-5, 5),
            ext_index = ext.lastIndexOf('.');
        if (ext_index>=0)
        ext = ext.substr(ext_index+1);
        else
        ext = '';
        if (ext!='' && ext.match(/^(gif|png|jpg|mp3|js|css|mp4|flv|svf|json)$/))
        return DIRECT;
        var direct = [/^sa.bbc.co.uk$/];
        for (var i=0; i<direct.length; i++)
        {
        if (host.match(direct[i]))
            return 'DIRECT';
        }
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['facebook.com'] = facebook_cb;
hosts['facebook.net'] = facebook_cb;
hosts['fbcdn.com'] = facebook_cb;
hosts['fbcdn.net'] = facebook_cb;
hosts['fbstatic-a.akamaihd.net'] = facebook_cb;
hosts['fbcdn-dragon-a.akamaihd.net'] = facebook_cb;
function facebook_cb(url, host)
{
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['google.com'] = gmail_cb;
hosts['gstatic.com'] = gmail_cb;
hosts['googleusercontent.com'] = gmail_cb;
function gmail_cb(url, host)
{
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['google.com'] = google_cb;
hosts['gstatic.com'] = google_cb;
hosts['googleusercontent.com'] = google_cb;
function google_cb(url, host)
{
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['hulu.com'] = hulu_cb;
function hulu_cb(url, host)
{
var index = url.indexOf('?');
        if (index==-1)
            index = url.length;
        var ext = url.substr(index-5, 5),
            ext_index = ext.lastIndexOf('.');
        if (ext_index>=0)
        ext = ext.substr(ext_index+1);
        else
        ext = '';
        if (ext!='' && ext.match(/^(gif|png|jpg|mp3|js|css|mp4|flv|svf|json)$/))
        return DIRECT;
        var direct = [/^.*urlcheck.hulu.com$/, /^.*r.hulu.com$/, /^.*p.hulu.com$/, /^.*assets.hulu.com$/, /^.*ll.a.hulu.com$/, /^.*ads.hulu.com$/];
        for (var i=0; i<direct.length; i++)
        {
        if (host.match(direct[i]))
            return 'DIRECT';
        }
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['itv.com'] = itv_cb;
function itv_cb(url, host)
{
var index = url.indexOf('?');
        if (index==-1)
            index = url.length;
        var ext = url.substr(index-5, 5),
            ext_index = ext.lastIndexOf('.');
        if (ext_index>=0)
        ext = ext.substr(ext_index+1);
        else
        ext = '';
        if (ext!='' && ext.match(/^(gif|png|jpg|mp3|js|css|mp4|flv|svf|json)$/))
        return DIRECT;
        return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['netflix.com'] = netflix_cb;
function netflix_cb(url, host)
{
var index = url.indexOf('?');
        if (index==-1)
            index = url.length;
        var ext = url.substr(index-5, 5),
            ext_index = ext.lastIndexOf('.');
        if (ext_index>=0)
        ext = ext.substr(ext_index+1);
        else
        ext = '';
        if (ext!='' && ext.match(/^(gif|png|jpg|mp3|js|css|mp4|flv|svf|json)$/))
        return DIRECT;
        var direct = [/^.*contactus.netflix.com$/, /^.*blog.netflix.com$/, /^.*nordicsblog.netflix.com$/];
        for (var i=0; i<direct.length; i++)
        {
        if (host.match(direct[i]))
            return 'DIRECT';
        }
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['pandora.com'] = pandora_cb;
function pandora_cb(url, host)
{
var index = url.indexOf('?');
        if (index==-1)
            index = url.length;
        var ext = url.substr(index-5, 5),
            ext_index = ext.lastIndexOf('.');
        if (ext_index>=0)
        ext = ext.substr(ext_index+1);
        else
        ext = '';
        if (ext!='' && ext.match(/^(gif|png|jpg|mp3|js|css|mp4|flv|svf|json)$/))
        return DIRECT;
        var direct = [/^.*stats.pandora.com$/, /^.*blog.pandora.com$/, /^audio.*.pandora.com$/, /^const.*.pandora.com$/];
        for (var i=0; i<direct.length; i++)
        {
        if (host.match(direct[i]))
            return 'DIRECT';
        }
return 'PROXY 127.0.0.1:6857; DIRECT';
}

hosts['twitter.com'] = twitter_cb;
hosts['twimg.com'] = twitter_cb;
hosts['twimg0-a.akamaihd.net'] = twitter_cb;
function twitter_cb(url, host)
{
return 'PROXY 127.0.0.1:6857; DIRECT';
}


    function FindProxyForURL(url, host)
    {
        var index = -1;
        while (true)
        {
        var func = hosts[host.substr(index+1)];
        if (func)
            return func(url, host);
        if ((index = host.indexOf('.', index+1))==-1)
            break;
        }
        return 'DIRECT';
    }
   

2011年8月31日星期三

DNS隧道大检阅 | Creke Blog | 梦溪博客

 

DNS隧道大检阅

研究了一天的DNS隧道,现在汇总一些关于我搜到的各种DNS隧道的信息。

1、OzymanDNS

官方网站:http://www.dnstunnel.de/

操作系统:跨平台

实现语言:Perl

更新程度:最初版本只有0.1,有各个爱好者的修改版,如via1via2via3,等等。

备注:挺复杂的,我没搞成功。

2、tcp-over-dns

官方网站:http://analogbit.com/software/tcp-over-dns

操作系统:跨平台

实现语言:JAVA

更新程度:最新版本1.2,2011年4月更新。

备注:JAVA编写的,由于服务器没装JDK,故我没用过。

3、heyoka

官方网站:http://heyoka.sourceforge.net/

操作系统:Win2003

实现语言:C

更新程度:最新版本0.1.3-alpha,2009年更新。

备注:服务器不是Windows,故我没用过。作者说很快会更新UNIX版代码,不过一直没动静。

4、iodine

官方网站:http://code.kryo.se/iodine/

操作系统:Windows/Linux

实现语言:C

更新程度:最新版本0.6.0-rc1,2010年6月更新。

备注:需要TAP/TUN支持。不过很多最初想用OzymanDNS的人都转投iodine,称其为“更好用的DNS隧道”。其官网也说自己的速度比其它的同类软件更快。

5、dns2tcp

官方网站:http://www.hsc.fr/ressources/outils/dns2tcp/index.html.en

操作系统:Linux

实现语言:C

更新程度:最新版本0.5.2,2010年6月更新。

备注:最新版代码可以在Windows下编译运行,网上也有人编译了Windows版本(via)。

 

最后文不切题地提一个软件,叫ssocks,是一个轻量级的socks代理服务端。

 

2011年5月24日星期二

强大的代理调度器代理Privoxy

强大的代理调度器代理Privoxy

大家都知道Foxyproxy和Autoproxy这两个扩展,根据不同网址让Firefox选择代理。那么其它浏览器呢?使用PAC文件也可以达到类似的效果,但linux下的chome/chromium很怨念不支持。那么非浏览器程序呢?比如播放器,下载程序,它们没有javascript引擎,只能单独使用某个代理,而不能根据地址智能切换。

那么有没有这样的代理,它本身内置类似Foxyproxy和Autoproxy的功能,根据不同网址再使用另外相应代理,这样任意程序都能实现智能代理切换了。答案是肯定的,就是Privoxy 

轻量级代理比较

很多人都知道Tor套件曾经的组合是Vidalia,Privoxy,后来用Polipo替换掉Privoxy,Privoxy效率真的不行?非也,这两个都算轻量级的代理,比较有名的还有一个3proxy,我都用过,感觉他们的设计目标不同

  • Polipo重点是缓存,配置超简单。
  • 3proxy重点是权限管理,它的权限可以设置的很详细,还支持SOCKS, FTP, POP3协议。
  • Privoxy重点是过滤,保护隐私,无比强大,因此配置较复杂。

因为Polipo重点是缓存,配置又简单,普通用户又用不着过滤器的,拿Polipo替换Privoxy理所当然。它们都支持父代理(或者叫forward,二级代理,反向代理),把数据转发给另一代理,比如Tor就是socks5代理,某些程序不支持,开个http代理,相当于转发器,把http协议的数据转成socks5协议,再传给Tor。

而Privoxy强大之处就是过滤,除了滤掉广告,屏蔽页面,它也可以根据相应条件转发给不同的代理。这就是我一直想找的程序,折腾一通才发现这样的工具其实是远在天边,近在眼前,翻遍了它的手册终于发现我想要的功能。3proxy虽然也支持多个父代理,但它的用途只是负载均衡而不能按条件转发。

配置方法

安装就不用说了,ubuntu用户就是安装privoxy这个包,它可以作为服务启动,配置在“/etc/privoxy/”文件夹下,也可以指定配置文件独立运行,用普通用户帐号运行测试好配置后再copy过去,语法

privoxy --no-daemon configfile

还记得和Tor配合使用时,需要修改“/etc/priboxy/config”吧,需要手动加入如下一行

forward-socks5 / 127.0.0.1:9050 .

这一行的意思是

  1. “forward-socks5”表示使用父代理了,这个代理是socks5代理。
  2. “/”表示转发地址开头是“/”的请求,因为http的header中地址肯定开头是“/”,它是部分匹配,所以这个“/”就表示所有http数据了。
  3. “127.0.0.1:9050”这个就是父代理的地址。
  4. 最后那个点,意思是父代理直接处理数据了。如果不是点而是个代理地址,那么父代理要把数据再转发到这个代理地址,这样组成一个代理链,穿过N层,防跨省必修技术!

具体的用法可看手册,Forwarding语法在这里,而网址表达式语法在这里

不一定是“forward-socks5”,如果父代理也是个http代理,比如gappproxy,关键字是”forward”(注意最后不用那个点),可以写任意多行,协议可以不同,网址可以不同,代理也可以不同。新建一个名为“config”文件,加入

forward-socks5 .youtube.com 127.0.0.1:8080 .
forward-socks5 .ytimg.com 127.0.0.1:8080 .
forward .twitter.com 127.0.0.1:8000
forward .blogspot.com 127.0.0.1:8000
forward feedproxy.google.com 127.0.0.1:8000

很简单,发给“youtube.com”和“ytimg.com”的包转发给“127.0.0.1:8080”这个socks5代理,Tor或者ssh,“twitter.com”和“blogspot.com”发给“127.0.0.1:8000”这个http代理,gappproxy或其它。你可以写任意行,最后运行

privoxy --no-daemon config

设置Chrome代理为“127.0.0.1:8118测试一下,其程序如wget、curl、smplayer也行,export出“http_proxy”环境变量就行了。这样做任意程序都实现了Foxyproxy和Autoproxy功能了!

使用action文件

“config”文件是Privoxy的主配置文件,但是修改代理地址是个问题,虽然可以用查找替换,还是比较麻烦,也不直观。我在上一篇文章说理想的设计是,一个规则包括一个代理对应一堆网址表达式,Privoxy可不可以做到这样呢?答案也是肯定的,我就是看了Privoxy的用法后改写pac文件。

Privoxy的方法就是使用action文件,都说Privoxy强在过滤,action文件就是Privoxy的过滤规则文件,作用是满足某些条件执行相应动作。主配置文件中条件只能用网址,在action文件中可以设置更详细的条件,比如User Agent,其实Forwarding也是个动作之一。

重新编辑“config”文件,替换成这一行

actionsfile proxy.action

表示使用“proxy.action”这个文件为actionsfile。接着在同目录新建“proxy.action”,加入下面代码

{{alias}}
direct = +forward-override{forward .}
ssh = +forward-override{forward-socks5 localhost:8080 .}
gappproxy = +forward-override{forward localhost:8000}
 
{direct}
.google.com
.googleusercontent.com
.mozilla.com
 
{ssh}
.youtube.com
.ytimg.com
 
{gappproxy}
.twitter.com
.blogspot.com
feedproxy.google.com

语法一目了然吧,都不用多废话了,前面是定义alias动作,后面是alias名称跟对应的网址表达式,符合网址表达式就执行alias中的动作。

action文件的语法可看手册,而“forward-override”这个动作在这里。至于可不可以把gfwlist转换成privoxy的action文件,那个别人要做的事了。

转自 http://qixinglu.com/archives/powerful_filter_proxy_privoxy

 

2011年5月18日星期三

hyk-proxy新版发布,伪造证书解决https证书提示

 

证书问题是GAE的问题,很早以前WallProxy使用伪造证书的方法使得在浏览器导入证书后不再提示证书错误,不过这样做降低了安全性,hyk-proxy从安全角度出发一直没有效仿,现在WallProxy项目关闭了,hyk-proxy新版加入了伪造证书以解决https证书提示,也是方便了不少用户。

 hyk-proxy使用非常简单你甚至不需要自己架设服务器端使用其内置的网友共享ID即可,不过貌似以前hyk-proxy没有WallProxy流行我感觉一个重要原因是hyk-proxy需要安装Java。

新版证书位于etc目录的cert文件夹下,浏览器导入Fake-ACRoot-Certificate.cer证书即可伪造证书解决https证书提示。

下载地址http://code.google.com/p/hyk-proxy/downloads/list

本文原始地址http://igfw.tk/archives/2653

 

2011年5月16日星期一

自己搭建私人代理服务器,翻越长城不再是梦想[免费-无广告]

转自  http://bbs.crsky.com/read.php?tid=2084500

自己搭建私人代理服务器,翻越长城不再是梦想[免费-无广告]

面对长城外丰富的资源,是否望洋兴叹?寻找免费VPN,是否经常被人挤下线?用在线代理,是否经常无法注册,经常乱码,经常莫名其妙的广告,还有上方很可恶的设置工具条?想掏钱买VPN,动辄20元每月的费用是否有些吃力?我们坚信,自己动手,丰衣足食!
原理:我们利用国外丰富的免费PHP空间+webpage-tunnel来跨越长城!
1.先去注册个.tk的顶级域名(不要钱的)
http://www.dot.tk/zh/pageA00.html
2.去找个免费的国外PHP空间,到下面这里找,靠谱很多,注意,一定不能选有广告的,最好找能绑米的。
http://www.idc886.com/forum-23-1.html
3.把tk域名绑到申请的免费空间上,上传附件中的Proxy.php(记住:最好改个名字,如Webpage.php)
4.运行http://www.****.tk/WebPage.php?test=1,如果返回结果是:Test Passed: Your server is perfect to run ,证明免费空间支持代理功能,否则就是有限制,无法使用。
5.在本机上安装Java环境
http://www.skycn.comsoft/27213.html
6.运行webpage-tunnel.exe,做如下设置
 

7.设置ie的代理服务器为127.0.0.1,端口为6050即可
8.Bingo,Just Enjoy it~~~~~~
---------------------------------------------------------------------------------------------------
http://code.google.com/p/webpage-tunnel/(这个是该程序的官方站点)

我已经把大概原理讲清楚了,但是具体每一步我不可能讲太细,比如如何申请免费空间,哪一家免费空间更好,授人鱼不如授人以渔,况且中国懒人太多,即使我写的再详细,该看的还是会看,不想学的还是看不进去,真正需要这些资源的话,自己会想办法的,按照我的步骤一步一步来,基本不到3个小时,你就能搭建起来自己的代理服务器,而且该服务器是加密的,所以你还可以用来防范公司网管监控等其它用途。

 

2011年4月23日星期六

使用在线代理注册Ad muncher

前面说过了找半天代理,还是无法通过ad muncher的验证,这次给一个简单的办法,使用在线代理来注册,方法比较简单,主要是一个网址很关键。 http://www.allincognito.pl
准备工作还是要有的,就是手上得有一个神码:
Name: Komputer SWIAT      Code: 56C4A951-238697B3
 点击第一个注册对话框里“Alternate Method”就得到一个网址,登录这个网站:www.allincognito.pl,把那个地址贴到网页上的那个方框内,再把得到的注册信息贴到注册 对话框下面那个方框里,Ad Muncher就激活了;唯一的遗憾就是不能升级规则库。
下面就是注册全过程的截图。(本来顺序弄好的,但是上传好顺序就有些乱了,而且在blogger里面调整起来很麻烦,就不调整了。大家将就着看吧。)





2011年4月22日星期五

introduce to proxifier

Proxifier is a program that allows network applications that do not support working through proxy servers to operate through an HTTPS or SOCKS proxy or a chain of proxy servers.

There are many network applications that do not support working through proxy servers and thus cannot be used behind a LAN or firewall(s). These can compromise corporate privacy and lead you to many other restrictions. Proxifier solves all of these problems and gives you the opportunity to work with your favorite software without any restrictions. Additionally, it lets you gain extra control over network security, create a proxy tunnel and add more power to network functionality.

Proxifier allows you to:

  • Run any network applications through proxy server; no special configuration is required for the software.
  • Access the Internet from restricted local area network through a proxy server gateway.
  • Bypass firewall restrictions (connect to restricted ports).
  • Use three types of proxy servers: SOCKS v4, SOCKS v5, and HTTPS.
  • "Tunnel" the entire system (force all network connections in the system work through a proxy server).
  • Resolve DNS names through a proxy server.
  • Use flexible Proxification Rules.
  • Secure privacy by hiding your IP address.
  • Work through a chain of proxy servers using different protocols.
  • Use NTLM authentication on HTTPS proxy
  • View information on current connections (addresses, rate, data transfer, connection time, etc.) in real-time.
  • View information on bandwidth usage as a colored diagram in real-time.
  • Maintain log files.
  • Log incoming and outgoing traffic.
  • Get detailed reports on network errors.
  • … and much more
 download link http://www.proxifier.com/download.htm

WorldTimeServer Clock

New York

搜索此博客