嘿嘿,2016年5月20日,老司机代理(http://oldcarman.com)正式上线了。18:56在微信朋友圈装了一下逼,当时我还在社区医院喷喉呢(感冒了)。挺开心的,大概应该算是从3月底开始吧,(第一篇关于squid的日志发表于4月1日),两个月的业余时间内,独自一人完成了这个代理项目,虽然现在注册人数才18人,最高同时在线人数才4人,但还是小有成就感的。
关于老司机代理系统的架构:
代理服务:squid + stunnel (参考之前的文章http://www.hawu.me/operation/886)
squid用户验证:python+redis
数据库:mysql、redis
网站:spring mvc + hibernate + bootstrap AdminLTE2模板
现在只是上了第一版,后面还想把支付宝的支付接口给写了,然后再让小布来正式推广我们的老司机代理,看看到底有没市场。如果有时间的话,关于代理还有很多需要改进的。
比如说现在使用基于http auth的用户验证方式,会有两个问题,一个是浏览器的支持不好,每次请求都要弹验证对话框,除非使用代理插件(这点chrome做的不如firefox);另一个问题是每次http请求都要验证http头中的用户信息。我想过一个比较靠谱的方法,就是仿web的session-cookie机制,用户登录后,会创建一个proxy-session,并将该proxy-session-id写入到用户cookie,之后每次用户请求就先判断有无proxy-session,有的话就不需要用户验证了。
再比如是否考虑做客户端,直接封装stunnel,采用用户浏览器 <—> 代理客户端 <—> 墙外服务器的方式,降低成本,并且这样子用户操作起来会比配置代理插件更傻瓜式,但对于我这种有洁癖的人来说反而不喜欢。
再比如想考虑做免费的在线代理网站,然后采用挂满各种小广告的模式来赚点广告费。