院里使用Microsoft ISA proxy作代理,我用linux,firefox可以通过代理验证,在终端export代理的环境变量也可以用。虽然很多软件不能支持认证,我也懒得理了。由于要用Cytoscape来分析蛋白相互作用网络,这个软件能支持代理却不支持NTLM认证,为了突破这个限制,只能作二级跳了,在本地设一个代理,软件通过这个代理上,而用本机代理负责去连接院内的代理并进行认证。

搜了一下,发现ntlmaps这个包可以用来做认证,这个包是用python写的。

> apt-get install ntlmaps # 安装。

安装完就是修改配置文件/etc/ntlmaps/server.cfg

设定网络监听的端口、父级代理的IP和端口、账号、密码、网域。

可以通过以下命令来控制代理

> /etc/init.d/ntlm start 
> /etc/init.d/ntlm stop 
> /etc/init.d/ntlm restart

后台启动服务后,在firefox里把网络的代理改为127.0.0.1:5865。 发现还是要手动输入账号和密码。 上网搜了很久,竟然没人提及这个问题。

搞了一个早上,最后修改一下代码就可以了,程序拿到账号和密码后要进行Base64编码,发送到父级代理验证,程序没能拿到编码的账号和密码,代码写错了,里面竟然还有拼写错误,汗一下。。

早上终于搞好了,可以用Cytoscape连网了,方便了很多,可以直接联网找到蛋白的注释和pathway等N多信息。

还有困扰我许久的很多软件联网问题也没有了。比如说我可以用pidgin上MSN了。。ESS也能联网了.^_^.

run-r-in-emacs-with-internet-connection

实验室有台机子作文件服务的,拿它来做代理,大家都通过它去上网。就好像不需要认证一样。

而且,院里上网需要登记,ip与mac address绑定,通过这个二级跳。就不再受院内管理的限制,换网卡或者加了新的机器都不需要再登记了。