2010年11月28日星期日

Mac OS 下一个轻量级 SSH 代理小软件 - SimpleSSHProxy

作者:ivan_wl  来源:http://ivsays.appspot.com/2010/09/14/SimpleSSHProxy-for-Mac-OS.html

由于某些特殊的原因,我们需要使用 SSH 代理来访问一些网站。在 Windows 下有 myEnTunnel 等管理 SSH 的小软件,而在 Linux 和 Mac OS 下,系统一般已经自带了 OpenSSH 客户端,所以可以直接在终端命令行下来进行 SSH 的连接。但是不是所有人都喜欢在键盘上敲命令的,而且用 SSH 作为代理使用也有一些缺点,比连接空闲一段时间会自动断线。当然你可以用 autossh 这个工具,但是 autossh 也有它办不到的事情。所以我做了一个小软件,即 SimpleSSHProxy,顾名思义,是一个简单的 SSH 代理管理小软件,它有以下特点:
  • 小巧,整个软件和源代码的压缩包才200多KB。
  • 使用方便,软件显示为菜单栏图标和下拉菜单,无 Dock 图标,不会对你的工作界面产生干扰。
  • 简洁,仅提供与代理相关的一些参数设置,不会另人感到困扰。
  • 功能完善,可以提供 Socks 和 HTTP 代理,满足不同的需求。可以为其他电脑提供代理。支持通过 autossh 来自动管理 SSH 连接,在使用密码验证的情形下也能提供类似 autossh 的连接保持、掉线检测和重连功能。详细实现方法见这篇文章
SimpleSSHProxy的界面截图:(还没正式发布,所以暂时还没有设计图标~)
screenshot1
screenshot2
一些说明:软件的实现其实很简单,通过后台调用 polipo 来实现 HTTP 代理,调用 autossh 或一个 expect 脚本来连接 SSH。设置选项上,相信用过 SSH 代理的同学一看就知道怎么设置了,需要说明的就两点,“为其他电脑提供代理”,选中后,如果你的局域网中有其他电脑或设备,只需将代理设置为本台电脑的 IP 和相应端口,就可以使用 SimpleSSHProxy 提供的代理了。“使用密码”选项,我已经提到过了,autossh 对使用密码的 SSH 认证无法很好的支持,但是 autossh 的连接管理特性又十分方便,所以,如果你使用的是 SSH 密钥验证方式,就不用选择“使用密码”,软件就会调用 autossh。如果你不得不使用密码验证,软件会调用一个 expect 脚本来连接 SSH,同样可以提供类似 autossh 的断线重连等功能。当然还是推荐大家设置 SSH 的密钥认证,具体设置方法请自行搜索。如果你实在懒得设置密钥或者服务器比较特殊,只支持密码验证,那就没的选了。我也打算在软件的后续版本中提供一键设置 SSH 密钥的功能来方便大家,你也可以等一等~
SimpleSSHProxy 是我初学 Objective-C/Cocoa 的第一个小作品,现在也仅仅是半成品阶段,欢迎大家测试,对软件有什么意见或建议尽管提出来。至于发布许可证什么的,我也懒得弄了,软件和代码大家随意传播和使用,当然,如果你在传播时能稍微提一下我和这篇文章,那真是感激不尽了~
SimpleSSHProxy 目前的版本为 Pre-release rev3.2,源码和软件点此下载

2010年11月27日星期六

各平台创建 SSH Tunnel 的免费客户端

作者:软言软语  来源:http://www.iusesoft.info/2010/04/18/free-softwares-to-create-ssh-tunnel/
SSH 的用处有很多,比如远程服务器管理,博客搬家,创造安全的上网环境等。当然,很多人不愿意去记复杂的命令,在终端中逐一输入。因此,本文主要推荐几款各主流平台上用来做 SSH Tunnel 的免费客户端。文中软件并没有很详细的使用说明,只作为一般性介绍,如有不明请搜索之,或参考文后的 “推荐阅读” 部分。请注意和谐使用,也不要浪费资源。注意,此处仅仅讨论的是用来做 SSH Tunnel,所以部分软件并不能实现诸如 Putty 等 SSH 客户端软件所提供的功能。

SSH via 维基百科

SSH为Secure Shell的缩写,由IETF的网络工作小组(Network Working Group)所制定;SSH为建立在应用层和传输层基础上的安全协议。
传统的网络服务程序,如FTP、POP和Telnet其本质上都是不安全的;因为它们在网络上用明文传送数据、用户帐号和用户口令,很容易受到中间人(man-in-the-middle)攻击方式的攻击。就是存在另一个人或者一台机器冒充真正的服务器接收用户传给服务器的数据,然后再冒充用户把数据传给真正的服务器。
而SSH是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用SSH协议可以有效防止远程管理过程中的信息泄露问题。透过SSH可以对所有传输的数据进行加密,也能够防止DNS欺骗和IP欺骗。
SSH之另一项优点为其传输的数据是经过压缩的,所以可以加快传输的速度。SSH有很多功能,它既可以代替Telnet,又可以为FTP、POP、甚至为PPP提供一个安全的“通道”

一、Mac

(1). iSSH

软件名称iSSH
授权 / 价格免费软件 / 免费
系统平台Mac OS X
运行环境所有
网址官方网站

Mac 上小巧免费的客户端,类似于 Windows 上的 MyEnTunnel。对于没有诸多要求,仅仅需要进行 SSH Tunnel 的用户来说值得使用。目前有网友对官网版本进行了修改,可以开机启动及启动时自动连接,并加入了中文界面。

(2). Cocoa SSHTunnel

软件名称SSHTunnel
授权 / 价格开源软件(GPL v2) / 免费
系统平台Mac OS X 10.5 及以后版本
运行环境所有
网址官方网站

一款优秀的开源客户端,设定丰富,可以保存多个配置文件并能为不同的服务指定不同的配置文件,软言软语目前在 Mac 上使用的客户端。当然,由于功能较多,所需要的内存也较 iSSH 多一些。
打开 SSHTunnel 后,首先选择 “Servers” 选项卡创建配置文件。如果所示:
SSH Tunnel
配置后,单击 “Apply” 应用配置,此时出现如图所示提示:
SSH Tunnel
如果想要将此配置文件应用到所有服务,则选择 “Yes”,否则选择 “No”。
配置后,回到 “Sessions” 选项卡,在左侧 “Proxies” 下选择你使用的网络连接,单击 “Off” 左侧开始连接。另外,不要忘记配置转发端口。
SSH Tunnel

(3). SSH Tunnel Manager

软件名称SSH Tunnel Manager
授权 / 价格开源软件 / 免费
系统平台Mac OS X
运行环境所有
网址官方网站

另外一款可以保存多账户的客户端,但只支持 Socks4,另外由于久未更新,不推荐使用。
SSH Tunnel Manager
SSH Tunnel Manager
另外还有两款收费软件,Meerkat 及 AlmostVPNPRO

二、Linux

(1). Gnome SSH Tunnel Manager

软件名称Gnome SSH Tunnel Manager
授权 / 价格开源软件 / 免费
系统平台Linux
运行环境Gnome
网址官方网站

gSTM 是一款运行于 Gnome 上的用于 SSH Tunnel 的开源客户端,对于多账户管理比较方便。注:其配置文件是以 XML 格式保存。
具体使用可以参照 “Manage SSH Tunnels with Gnome SSH Tunnel Manager @ Ubuntu Geek
Gnome SSH Tunnel Manager

(2). SSH Tunnel Manager

软件名称SSH Tunnel Manager
授权 / 价格开源软件(GPLv2) / 免费
系统平台Linux
运行环境PyGtk
网址官方网站

一款使用 Python 开发的客户端。据作者所说,由于 Ubuntu 自带的客户端不能满足其要求,也作为学习 PyGtk 开发的实践,因此有了本软件。如果,你也是正在学习 PyGtk 或者对 Ubuntu 自带的客户端不满意,不妨试试,具体功能说明请参考官网。
SSH Tunnel Manager

(3). Terminal

使用终端命令,应该是最符合 Linux 大部分用户习惯的方式了: ssh -qTfnN -D 7070 remotehost
以下为参数说明:
All the added options are for a ssh session that’s used for tunneling.
-q :- be very quite, we are acting only as a tunnel.
-T :- Do not allocate a pseudo tty, we are only acting a tunnel.
-f :- move the ssh process to background, as we don’t want to interact with this ssh session directly.
-N :- Do not execute remote command.
-n :- redirect standard input to /dev/null.
In addition on a slow line you can gain performance by enabling compression with the -C option.

三、Windows

(1). MyEnTunnel

软件名称MyEnTunnel
授权 / 价格免费软件 / 免费
系统平台Windows
运行环境所有
网址官方网站

MyEnTunnel 对于使用 SSH Tunnel 的 Windows 用户来说,应该是众所周知了,小巧、快速、免费。但之前一直有速度问题,在下载大文件或者浏览视频网站时,速度一般。为此有很多网站提供了解决办法,目前官网也指出了这个问题,并表示使用最新开发版的 plink.exe 可以解决这一问题。另外,最新 3.5.2 已经开始支持 Unicode 了。
MyEnTunnel

(2). Bitvise Tunnelier

软件名称Bitvise Tunnelier
授权 / 价格个人免费 / 免费
系统平台Windows
运行环境所有
网址官方网站

Bitvise Tunnelier 是近一段时间流行起来的 SSH Tunnel 客户端软件,由于功能强大,速度快并能保存多个配置文件而受到许多人的喜爱。对于 SSH 有诸多功能要求的用户是一个好选择。目前,软言软语在 Windows 上使用的是该款客户端,不仅仅可以 SSH Tunnel。
Bitvise Tunnelier
Bitvise Tunnelier
以此格式可以设置启动自动连接:”C:\Program Files\Bitvise Tunnelier\Tunnelier.exe” -profile=iusesoft.info.tlp -loginOnStartup,推荐创建一个快捷方式,并如此设置。

四、iPhone / iPod touch

1. iSSH  (App Store)

iSSH 与 Mac 上的 iSSH 并不是一个公司的产品。而且此 iSSH 并不免费,售价为 9.99 美元。目前 iSSH 只能用来进行远程连接,并不能进行端口重定向。

2. MobileTerminal  (Google Code)

需要 iPhone/iPod touch 已经 jailbreak 过,并安装了 OpenSSH。打开 MobileTerminal 输入:ssh -D 7070 username@host,然后输入密码即可。想要关闭,可以在终端输入 killall ssh,如果仍处于 SSH 登录状态,可以直接输入 logout。

推荐阅读

ipv6翻墙指南

作者:inaosoft  来源:http://www.nublog.tk/post-71.html
1. ipv6的配置

1.1 ipv6比ipv4牛逼

(省略若干字对于ipv6的介绍,有兴趣的同学请自行google)

1.2 直接使用ipv6

在一些实验室和宿舍已经直接开通了ipv6网络(如玉泉的部分寝室,Cernet无线网络等),电脑联网后就已经得到了ipv6的地址,可以通过ipconfig(ifconfig)的命令进行查看。windows XP的早期版本可能需要在命令行执行命令:ipv6 install, 安装ipv6协议。

1.3 通过隧道接入ipv6

如果你的网络默认不支持ipv6,那么也可以通过隧道接入ipv6。如果是在浙江大学校网络内,可以直接执行

命令: netsh interface ipv6 isatap set router 10.10.5.56 (windows) 完成ipv6 隧道的接入。

*nix的用户可以参考下面的ipv6配置脚本(windows 用户请忽略):

ipisatap=10.10.5.56

ipaddr_v4= #your ipv4 address

/bin/ip tunnel add sit1 mode sit remote $ipisatap local $ipaddr_v4

/sbin/ifconfig sit1 up

/sbin/ifconfig sit1 add $ipaddr_isatap/bin/ip

route add ::/0 via $ippre::1 metric 1

对于非浙大校内或这非教育网的同学门,国内各高校都有对外网的ipv6隧道,只需把10.10.5.56换乘对应的域名,如

isatap.sjtu.edu.cn(上交), isatap.tsinghua.edu.cn(清华) 等,也可以接入pv6。

1.4 验证ipv6安装成功

直接在浏览器中输入 http://ipv6.google.com,如果能够打开google搜索的ipv6主页,则说明ipv6

网络环境已经具备。

本文主要是介绍翻墙的,所以只简单介绍ipv6的配置。

2. ipv6访问各种网站

由于目前的gfw只对ipv4的网络连接有屏蔽作用,所以对于一些用ipv4方法无法访问或者障碍较多的网站,如果这些网站已经开通了ipv6的服务,我们可以直接通过ipv6进行访问。但是,绝大多数网站并没有开通ipv6的服务,这是我们可以使用基于ipv6的代理技术进行访问。

2.1 直接访问google

google下的站点(如google搜索,youtube, google doc等)都可以直接通过ipv6进行访问,但是需要将这些站点的域名做ipv6的解析,而我门的dns默认只会解析为ipv4的地址,所以我们需要手动修改系统的hosts文件,强制将这些域名解析为ipv6的地址。从这里可以下载到我现在使用的host文件,并且替换原系统的host文件,windows系统的host文件在C:\Windows\System32\drivers\etc,*nix系统的host文件在/host。host文件中显示了可以通过ipv6访问的google站点,大家可以试一试,在我这里可以流畅地看youtube的视频。




另外,对于blogspot的服务,虽然每个blog有自己的子域名 ****.blogspot.com,但这些他们都有
相同的ipv6地址,域名只是在服务器端进行解析。所以我们只需要在host文件中将自己经常访问的blog域名与ipv地址 2001:4860:b009::bf 关联。比如对于我的blogspot地址,可以再host文件里增加如下一行:

2001:4860:b009::bf orangeprince1987.blogspot.com

2.2 通过ipv6.google.com代理服务器

上面的方法虽然能够方便的访问google的站点,但是修改host文件相对比较复杂,这里还有一个等效的办法。前面我们在浏览器中访问ipv6.google.com可以访问google的ipv6搜索,其实这个网址还可以作为代理服务器,在系统的代理服务器选项中使用代理 ipv6.google.com, 端口80,就可以直接通过google的ipv6代理访问google的站点,效果与前面的方法相同,但是配置方便很多。



2.3 访问其他网站

上面的方法只针对于google下的各种站点,如果我们需要访问其他的一些网站,如twitter, facebook等,则需要用其他的办法,这里我只介绍我常用的方法。

在代理服务器配置中选择使用自动配置的代理服务器地址,如下图所示:





在地址栏中填入 http://gfw-proxy.co.cc/proxy.pac,完成代理的设置,这样就可以通过此ipv6代理

访问各种网站。但是此代理较脆弱,有时会挂,所以请耐心,另外能通过其他方式访问的站点也尽量不要使用此代理了。

2.4 sixxs.org

最后介绍一个简单实用的方法,在任意希望访问的网址后加上sixxs.org,即可以通过ipv6代理进行访问。如需要访问 www.facebook.com,可以使用 www.facebook.com.sixxs.org。但是此种方法只支持http的访问,不支持https,所以一些需要安全登陆的站点,如facebook, twitter等是无法登陆的。但是对于一些只需要浏览而通过ipv4却无法打开的站点或下载的文件,sixxs.org是一个很好的选择。另外sixxs.org非常稳定,并且拥有不错的浏览速度。

3. 总结 

上面之列举了一些我常用的方法,其他的方法肯定还有很多,不过上面这些基本够用了,而且组合在一起各尽其用,基本能够构建一个无障碍的网络环境。

很全的host记录文件

作者:GuoTao  来源:http://kainy.cn/?p=1197
这几天chrome启动时候总是非常卡,cpu占用50%以上,三五分钟后才恢复,这还了得。在腾讯微博里问了下,原来通过修改host可以解决,于是对host的崇敬之情油然而生。上网翻了个遍,找到一些自己在用的记录,这里分享如下:
#google
209.85.237.25                        smtp.google.com
64.233.169.188                        mtalk.google.com
74.125.153.138                        tools.google.com
66.249.89.99                        www.google.com
74.125.19.100                        android.clients.google.com mobilemaps.clients.google.com android.l.google.com clients2.google.com clients.l.google.com
#66.249.89.101                        android.clients.google.com android.l.google.com
66.249.89.104                        maps.google.com
72.14.203.102                        csi.gstatic.com                        csi.google.com
203.208.39.104                        m.google.cn
72.14.203.83            mail.google.com
203.208.39.104                        www.google.cn
74.125.19.100                        docs.google.com        writely.google.com        spreadsheets.google.com
203.208.39.104                        www.youtube.com youtube.com
203.208.33.100                        gdata.youtube.com
203.208.39.99                        upload.youtube.com insight.youtube.com
203.208.39.160                        help.youtube.com
203.208.39.104                        picasaweb.google.com
72.14.203.133                        mw2.google.com
72.14.203.113                        www.google-analytics.com
#place directory
72.14.203.93                        lh3.ggpht.com lh4.ggpht.com lh5.ggpht.com lh6.ggpht.com
74.125.153.104                        base.googlehosted.com
64.233.183.118                        mw2.google.com
88.198.9.5                                ws.geonames.org
203.77.189.29                        static.rememberthemilk.com
207.242.93.89                        andrd.accu-weather.com    htc.accuweather.com
32.114.14.111           sirocco.accuweather.com
74.125.153.95                        ajax.googleapis.com
72.9.41.2                                lyrics.tunewiki.com
67.228.135.189                        api.rememberthemilk.com
195.189.143.147         www.operamini.com
64.255.180.253          server4.operamini.com  global-4-lvs-usa.opera-mini.net
203.69.113.11           userserve-ak.last.fm
69.26.187.42            images.amazon.com
195.24.233.55           ws.audioscrobbler.com
195.24.233.56           m.last.fm
195.24.233.57           post.audioscrobbler.com
195.24.233.58           post2.audioscrobbler.com
195.24.233.59           userserve.last.fm
195.24.233.60           play.last.fm
195.24.233.61           static.last.fm
195.24.233.62           bootstrap.last.fm
195.24.233.63           stats.last.fm
195.24.233.64           musiclookup.last.fm
74.125.113.121          lianyun.ersiba.com
216.226.131.181         www.rerware.com
221.194.44.230          api.dict.cn
38.118.85.51            direct.weatherbug.com
38.118.85.55            config.mobile.wxbug.com mapplets.weatherbug.com tiles.weatherbug.com
209.249.20.150          pub.weatherbug.com
212.27.63.112                        koxx3.free.fr
67.222.59.80                        www.biaji.net biaji.net cmwrap.biaji.net
#Twitter
67.220.213.23                        www.twitter.com
67.220.213.23                        twitter.com
67.220.213.23                        assets0.twitter.com
67.220.213.23                        assets1.twitter.com
67.220.213.23                        static.twitter.com
67.220.213.23                        assets2.twitter.com
67.220.213.23                        assets3.twitter.com
67.220.213.23                        twitter.zendesk.com
67.220.213.23                        help.twitter.com
80.83.114.92                        api.twibble.de
203.150.228.104                        nest.onedd.net
174.120.9.92                        t.zhe.la
216.137.55.35                        a3.twimg.com
216.137.55.37                        a1.twimg.com
173.45.239.93                        service.twidroid.com
64.4.9.254              messenger.hotmail.com
209.85.173.192          supl.google.com
66.147.240.162          update.wordmate.net     dictdownload.wordmate.net wordmate.net
64.225.159.221          m.moblyng.com
221.130.45.201          nav.fetion.com.cn
199.7.59.72             ocsp.thawte.com         OCSP.IAD3.verisign.com
199.7.48.190            crl.thawte.com          crl.verisign.net
124.172.110.19                        www.domobile.com www.hisz.net
38.102.136.111                        api.wunderground.com
75.101.161.95                        api.textonphone.com
194.126.240.19                        goog.shazamid.com
87.230.22.28                        phodroid.com
174.36.58.233                        twitpic.com
209.17.74.13                        twitgoo.com
208.94.0.43                                yfrog.com
207.171.185.197                        s3.amazonaws.com
91.203.59.76                        androidapp.wapedia.mobi
#Facebook + Others
124.40.42.105                        www.facebook.com
69.63.180.173                        login.facebook.com
69.192.34.110                        s-static.ak.facebook.com
69.63.176.69                        secure-profile.facebook.com
69.63.176.59                        secure-media-sf2p.facebook.com
69.63.178.13                        ssl.facebook.com
96.6.122.57                                profile.ak.facebook.com
64.211.21.152                        b.static.ak.facebook.com
203.208.39.160                        s.ytimg.com
74.54.212.166                        www.tumblr.com
74.54.212.166                        iksky.tumblr.com
#Notepad with Sync
80.68.87.32                        pad.helicoid.net
#sugarsync
74.201.86.21                        www.sugarsync.com
74.201.86.29                        sugarproxy.sharpcast.com
#unfamous player
221.238.195.115                toutuogov.cn
#movie Finder
75.101.132.61                        mvfeed.ikamobile.com
#dizzler
66.232.150.219                        android.dizzler.com
#sogou
61.135.179.200                        s.shouji.sogou.com
#aldiko
87.98.185.249                        www.feedbooks.com feedbooks.com
#infzm
211.147.247.182                www.infzm.com
119.145.130.203                images.infzm.com
#eoemarket
74.207.242.64                        www.eoemarket.com
#thinking-space
74.125.127.141                        thinking-space.appspot.com
#youdao
61.135.218.34                        dict.youdao.com
#SAM
174.129.252.243                        mobentoo.com   slideme.org
75.101.165.41                        stream.mobentoo.com   stream.slideme.org
#dianping
114.80.166.162                        api.dianping.com  stat.api.dianping.com
61.129.77.34                        i3.dpfile.com i1.dpfile.com i2.dpfile.com p.dpfile.com
#CCAV
202.108.16.165                        diaodu.getview.cn
#issuu
75.101.163.66                   m.api.issuu.com  api.issuu.com
207.171.185.197                 content.issuu.com
174.129.235.52                  issuu.com
207.171.191.247                 document.issuu.com
因为不断被G,又不断有新ip被发现,有部分已经无法使用的,大家自己到网上找最新可用的咯,自己动手丰衣足食嘛~同时希望找到更新的童鞋也有点分享精神,发布自己版本的时候来这里通知下大家哈。