来源:http://honeonet.spaces.live.com/blog/cns!15BAC1A170471DB!15093.entry 我曾在过去的文章中提到过,由于购买的商业ssh服务器大多数只允许一个用户在一个机器上登录,因此如果你家里有超过2个电脑需要翻墙,又或者你的 iPhone或者iPod touch、PSP等和你的电脑位于同一个无线路由器下,你希望你的设备同样能分享主机的ssh -D连接。 前 文中我写到可以把代理服务器指向你已经创建ssh -D代理的主机,这样做在我的VM虚拟机里面是能够分享到宿主机Mac上的ssh -D连接。但是上个星期我购买了一款叫做Simplenote的软件,正当我想要同步Mac上的笔记到iPod touch上的时候发现同步失败。经过研究发现Simplenote同步需要连接Google appspot服务器,然而appspot在我所在的区域已经被“墙歼”了,于是我尝试在iPod touch上分享我Mac上的ssh -D连接,意外地失败了。测试手上的P1i通过wifi分享来自Mac上的ssh -D连接,同样失败。经过一番折腾,发现原来ssh -D默认是不响应来自远程主机发起的连接的,如果确实需要分享,你需要在ssh -D后面再加上一个-g的参数,如: ssh -D 7070 -g username@ssh.yourdomain.com 用这个参数创建的连接能够顺利把ssh -D的代理分享出去,当然了,你可能还会遇到pac文件的烦恼,毕竟每个人所要求翻墙访问的站点都不同。下面我分享一下我的pac文件的写法: // Flora AntiGFW PAC function FindProxyForURL(url, host) // When I using Virtual Machine 以上就是我的pac脚本,应该说用pac分配代理服务器是非常便利和强大的。pac配合ssh -D简直就是“奔向自由”的两件神器。我的pac主要有如下特点: 本文的pac文件大家是不能直接用在自己的网络环境里的,写出来只是为了抛砖引玉,期待有喜欢折腾的高手写出更加智能的pac文件。 服务于生活,这正是编程的意义所在。今天就写到这里。 // 补充:如果你只需要在iPhone或者iPod touch上翻墙,那么由于iPhone OS基于Unix,是可以直接创建ssh链接的,只需要Cydia安装Openssh、Openssl和Mobile Terminal就可以了。基于Linux的设备也大同小异,例如Google的Android电话。
// Version 5.0
// by LeaskH.com
// i@leaskh.com
{
// AntiGFW
var arrStrGFWSites = [
"appspot.com",
"honeonet.spaces.live.com",
"blogger.com",
"blogspot.com",
"w3schools.com",
"box.net",
"bit.ly",
"j.mp",
"vimeo.com",
"mediafire.com",
"wordpress.com",
"tistory.com",
"aol.com",
"aim.com",
"bebo.com",
"cnn.com",
"hellotxt.com",
"dougscripts.com",
"iphone-dev.org",
"dailymotion.com",
"yylyyl.co.cc",
"googlevideo.com",
"imageshack.us",
"cafepress.com",
"twitterfeed.com",
"hotspotshield.com",
"youtube.com",
"twitpic.com",
"mckaywei.com",
"mimima.com",
"no-ip.com",
"oikos.com.tw",
"////",
"ytimg.com",
"sesawe.net",
"freemorenews.com",
"theappleblog.com",
"chinagfw.org",
"chinadigitaltimes.net",
"dropbox.com",
"facebook.com",
"s.leaskh.com",
"sites.weborigin.co.nz",
"docs.weborigin.co.nz",
"calendar.weborigin.co.nz",
"google.com/search?*twitter",
"google.com/search?*@",
"google.com/search?*youtube",
"sites.leaskh.com",
"docs.leaskh.com",
"openvpn.net",
"simplenoteapp.com",
"code.leaskh.com",
"moderator.leaskh.com",
"calendar.leaskh.com",
"mail.weborigin.co.nz",
"mail.leaskh.com",
"yfrog.com",
"viewmorepics.myspace.com",
"messaging.myspace.com",
"http://*twitter.com"
];
// Block unsafe sites
var arrStrUNSSites = ["74.55.154.140"];
var strActProxy = "DIRECT";
for(var iAS = 0; iAS < arrStrGFWSites.length; iAS++)
{
if(shExpMatch(url.toLowerCase(), "*" + arrStrGFWSites[iAS].toLowerCase() + "*"))
{
switch (myIpAddress())
{
case "172.16.49.133": // My Virtual Machine’s IP
strActProxy = "PROXY 127.0.0.1:8118"; // My Privoxy Proxy on VM shared from Mac’s ssh -D
break;
// When I using iPod touch
case "10.0.1.253": // My iPod touch’s IP
strActProxy = "SOCKS 10.0.1.254:7070"; // My iPod touch can visit my My by this IP
break;
// When I using Mac
default:
strActProxy = "SOCKS 127.0.0.1:7070"; // My real ssh –D
break;
};
};
};
for(var iAS = 0; iAS < arrStrUNSSites.length; iAS++)
{
if(shExpMatch(url.toLowerCase(), "*" + arrStrUNSSites[iAS].toLowerCase() + "*"))
{
strActProxy = "PROXY honeonet.spaces.live.com"; // Input a site which is already blocked by GFW
};
};
return strActProxy;
};



1 comments:
请问ssh 教育网访问怎么样?
Post a Comment