VPN转HTTP代理

一般来讲VPN速度比ssh代理快的多,但是要实现选择性代理就非常麻烦,需要修改路由而且不稳定。研究了一下使用虚拟网卡转换理论上可以实现,但是能力有限,所以直接用虚拟机搞定了,缺点就是占用内存多点。

虚拟机上用Privoxy做一级代理,不需要特殊配置,只需要把监听地址配置一下即可

listen-address  :8118

母鸡上用Privoxy做二级代理,除了监听,配置一下转发,转发到一级代理上即可

forward / 192.168.131.10:8118

注意转发地址不是vpn分配的地址。然后用浏览器插件就可以实现选择性代理了。

不直接使用一级代理的好处就是,浏览器、QQ、SVN等代理设置永远不用动,都指向二级代理,这样一级代理可以任意切换,比如切换成SSH、其他VPN或其他任何代理。

Privoxy也可以实现过滤,具体内容可以看这里

用程序屏蔽mysql全文搜索停止词带来的影响

有时候mysql全文搜索需要搜索停止词列表中的很多词,mysql的停止词配置是服务器级别,一改的话所有数据库都要改,在不借助sphinx等外部搜索的情况下也可以实现。

需要新建一个搜索表把需要搜索的字段和原数据的id存起来,把字段值中的停止词用两个下划线包起来,比如:__she__,__is__等,程序中搜索的时候关键字也做同样的处理,这样就屏蔽了停止词的影响。

php非阻塞SSH客户端

之前工作中必须和国外服务器打交道,延迟和丢包问题有时候非常严重,已经到了不可忍受的地步,输入一条sql都是很费劲的事情。google搜了一遍没有找到非阻塞的ssh客户端,PHP有SSH2扩展,利用标准输入输出理论上可以实现一个基于命令行的SSH客户端,这样就解决了网络问题带来的不便,于是开发了一个PHP非阻塞SSH客户端。

价值:

  • 基于命令,最大程度解决了网络延迟和丢包问题。
  • windows和Linux下测试通过。

继续阅读