2014年7月24日星期四

小米手机4的5大亮点解析

  2014年7月22日下午,广受关注的小米2014发布会在北京国家会议中心举行,来了全国各地的数百家媒体和近千米粉汇聚北京,见证了这场堪称演唱会级的发布会。 在当天的发布会上,雷军一口气发布了售价1999元的小米手机4和售价79元的小米手环两款硬件产品。

  发布会开始前,主办方给每一位来宾发了荧光棒,俨然小米的年度发布会上升到了大型演唱会的级别。小米CEO雷军登台后,宣布了小米在过去三年内取得的一系列数字,并且预测2014年小米的销售额将会达到700--800亿。随着台下米粉“干掉格力”的声音此起彼伏,雷军宣布战胜格力后,10亿元(详情搜索雷军和董明珠的10亿赌局)全部发给买过小米的人。

  在发布会上,雷军首先展示了miui6的一系列新功能,比如号码识别、运营商客服电话优化等功能,不过MIUI6将会在8月16日单独召开一场发布会进行发布。此举可以看出小米的一些改变:淡化高性价比的硬件,强化实用的功能。

  随后,雷军发布了备受期待的小米年度旗舰机型小米4,小米4搭载了高通骁龙801处理器,主频为2.5GHz,配置了3G的运行内存和16G以及64G的机身内存。配备了5英寸的1080p的屏幕,前置摄像头为800万像素,后置摄像头为1300万像素。此番小米4的电池也升级到了3080毫安,正常可以使用2天。

  纵观小米4,单从配置来说较小米3没有过大升级,但体验和工艺彻底的颠覆了前作。大体来说,小米4有以下几处比较明显的改革:

  ①可替换的多种风格后盖。小米4的后盖可以通过吸盘打开,替换掉用户所喜欢的布纹后盖、木纹后盖、大理石后盖等等,手感非常舒适。

  ②材料科技感大幅度提升。以往的小米手机材料大多为塑料材质,此次小米联合富士康、赫比等供应商,机身材质升级成了奥氏体304不锈钢,边框和后盖以及天线都进行了大幅度的改观,并且保证了握感的舒适,用小米工程师的说法就是“摸起来像婴儿的皮肤”。

  ③高色彩饱和宽屏幕。小米4屏幕虽然配置和常规的旗舰手机差不多,但采用的是高色饱和宽屏幕,显示效果提升了17%,熄屏后手机屏幕整体外观非常协调。与此同时,小米4的屏幕支持穿戴手套操作(无需设置,自动识别),并且推出了99元每年的手机碎片和意外进水的保险服务。

  ④相机的细节提升。小米4仍然采用了索尼的1300万像素后置摄像头,在细节方面新增了“先拍照、后对焦”、“动态追焦”、“暗光自动调整拍照”等实用功能,并且在自拍方面新增了全屏触控拍照等功能。

  ⑤小米手机遥控功能。这一次,小米4不仅仅可以做电视机的遥控,还可以做空调、DVD等家用电器和数码的遥控机器,未来或许会支持全家电的遥控。

  小米4发布了,你依然还会买入吗?

  来源:投稿,本文作者系速途研究院院长丁道师 微博:丁道师 微信公众:dingdaoshi123

2014年7月22日星期二

移动应用被苹果官方推荐的秘密

  对于中小应用开发团队来说,技术已经不是再是瓶颈,最困难的部分是如何让大家知道自己。如果应用能被苹果官方推荐,那么就会产生巨大的收益,瞬间积累几十万用户不在话下,可以说是最具效果和性价比的推广方式。作为一个仅有一年多app开发经验的团队,我们两款产品均被苹果推荐,在业界很少见,很多朋友问我如何做到的,被问得多了,我觉得有责任和义务写一篇文章,来分享下我所知道的如何获得苹果推荐。

  首先说一下我们两款产品被推荐的过程(非常平淡,慎入)

  2012年在我们提交第一个产品后,收到了一封来自@apple.com的邮件,邮件的内容是苹果觉得我们的产品很有意思,想要进行推荐,需要我们提供一系列的宣传素材(主要是页首海报)和产品计划表。作为刚开始做app还在跑线下宣传的�丝,根本不知道被推荐的意义,所以虽然认真准备并提交了,但并没有抱很大期望。没想到后来真的推荐了!

  然后服务器真的爆了!我们这才明白这个推荐的价值,而且一旦被推荐后会进入一个推荐候选的名单,苹果会持续的进行推荐。在这个过程中,我们与当初联系我们的联络人一直保持着联系,update我们的进展,且对遇到的问题进行反馈,邮件发了好几个月,但一直没有见面,(要见一面非常非常难)后来,几经波折,终于见到了传说中的帅哥@apple.com.本来想好要拉拉关系,扯扯家常,后来发现对方真的是非常认真的人,见了面一直在谈工作和对我们产品的建议,解释问题。再后来到第二个产品的时候,我们也主动发我们的产品资料给他,并根据他的反馈进行了一些改进,最终获得了推荐,由于之前的经验,这次服务器没有爆。:)

  苹果团队的工作人员一直非常nice,整个过程也顺利得让我们想感谢老天爷。事后我们对苹果推荐产品的标准做了一些总结,要知道帅哥联络人的表情很和蔼,内心要求可是很高的,以下就是我们总结的苹果的六个“秘密”心理:

  秘密一,别想拿钱套近乎。有人听到肥皂漫画上榜了,第一反应是问我们花了多少钱?面对这种问题,我们只能感叹要是能花钱我们肯定也花不起这个钱,当初到处去贴小广告就是因为没有预算做更好的推广啊!后来我们才知道,苹果商店的编辑团队是真正的高富帅,根本不差土豪产品的那些钱,他们要找真正优秀的产品,所以千万别指望用钱套近乎。为了实现公平公正的原则,苹果商店创建了非常合理的组织结构。全球分为几十个商店,每个商店都有自己的编辑团队,而编辑团队类似一个黑盒子,一般是接触不到的,有点像黑衣人的感觉,苹果给了这些编辑绝对的自由可以选择自己喜欢的应用。但是我们可以通过一层关系找到这些编辑,就是之前提到的联络人,官方职位叫开发者关系,他们像是连接编辑和开发者的桥梁。

  秘密二,不是最新的我不要。既然说到优秀的产品,就不得不提这优秀的第一个标准,那就是概念一定要新鲜。这个其实没什么好说的,二十一世纪最贵的就是创意,不管是商业模式还是产品本身的创意可能都能起到决定性的作用。我们第一款产品涂鸦宝上榜的时候,市场上并没有类似的应用;肥皂漫画上线的时候,模式已经不新鲜了,但是我们可以自信地说产品里漂亮的界面、清新的画风和大量的素材还是独一无二的。

  秘密三,你能为手机用户带来什么?苹果在商店首页做推荐,千万不要幼稚地以为是发善心帮你推广产品,人家的首要任务是为了推广自己的商店,所以你的产品要能给用户带来好的体验,能够实实在在地帮苹果商店留住用户,获得好评。我每周都关注苹果商店推荐,发现工具、效率和运动类的应用每期都会获得推荐,且上榜量远远大于游戏,我想这就是苹果的理念在起作用,他们推荐的应用,其目标是为了让人们的生活更丰富多彩、更高效、更健康,总的来说就是让人们生活的更美好。肥皂漫画和涂鸦宝都是为了让人们更好的去创造,这是非常重要的一点。

  秘密四,请体现苹果的气质。如果前面大家觉得我说的都在扯淡,那可以从这里开始请认真看,我要开始认真的说了。关于设计,其重要性应该已经形成共识,但是,既然我们在谈如何被苹果推荐,那么这里说的设计风格主要指的是苹果的风格。尤其重要的是,苹果非常喜欢能够跟得上他们的系统迭代的产品。记得IOS7刚出来的时候,他们专门推了一个IOS7风格应用的推荐主题,这是最明显的引导。从Icon设计到内部界面都应该认真对待,试想如果没有达到苹果的水平或者风格差异过大,应用放在App Store上是有损苹果的形象的。

  秘密五,最喜欢surprise了。这一点实际是高质量的延伸,高大上的团队一般也喜欢高大上的应用。针对如何让应用显得高大上这个问题,我能给出的建议就是在细节处给用户或者编辑惊喜。一个漂亮的提示,精彩的跳转动画,搞笑的小动画和充满创意的loading都会让你的应用显得与众不同,甚至可以说是区别高质量应用和低质量应用的关键区别。

  秘密六,世界的才是最好的。我们当时为产品做了一个英文版本,没想到正中苹果下怀。苹果倾向有多语言版本的应用,因为开发者关系在看到一个感兴趣的应用时,会向多个市场进行推荐,因此有多语言版本的应用,有更大机会获得推荐,这一条的操作请自觉配合前面五条,因为只有在做到前面五点的前提下,多语言版本才显得有意义,算一个加分项。

  总的来说,做应用还是要做自己爱的应用,并且将自己的灵魂融入其中,这样才可能做出令人印象深刻的产品,也能让app脱颖而出。面对几百万的开发者,如何脱颖而出,已经不仅仅是一项技术活,而是专注、热情、韧性、天赋和运气的综合比拼。苹果商店是一个公平的舞台,这里只是分享下我的经历和小技巧,文章写的有点乱,最开始以为在写推广,后来发现在写产品。好吧,我承认这是有意而为(才怪),我认为最好的推广是把产品做好,所有资源就自动地会向你靠拢,如果为了迎合渠道而去做产品,可能会忘了初心,迷失方向,你说呢?

  来源:投稿,作者:芦磊,个人微博

2014年7月21日星期一

浏览器设置阻止第三方Cookie保护自己隐私

  当我们在某些大型网站上搜索一些东西时,在另外的一些网站出现了你搜索的东西的相关广告,这种现象的出现说明我们的隐私已经被跟踪。这种侵犯我们用户隐私现象的出现,要归功于第三方cookie所带来的副作用(隐私泄露风险)。

  为了防止用户隐私被跟踪,保护用户网络隐私,一些主流浏览器版本都已经设置了Do not Track不要跟踪这一选项。当用户提出启用“请勿追踪”功能后,具有“请勿追踪”功能的浏览器会在http数据传输中添加一个“头信息”(headers),这个头信息向商业网站的服务器表明用户不希望被追踪。这样,遵守该规则的网站就不会追踪用户的个人信息来用于更精准的在线广告。下面列举一些主流浏览器设置这项功能的过程。

  1.Chrome浏览器设置DNT (打开Chrome浏览器,地址栏输入chrome://settings) 见图片

COOKIE

  2.IE9浏览器做的不错,默认是开启DNT的(见图片)

COOKIE

  3.360浏览器设置 (工具—选项—-高级)见图片

COOKIE

  然后点击“网页内容高级设置” 如下图:在 阻止第三方Cookie 选项处  打钩

COOKIE

  不过对于那些不遵守该DNT规则的网站 ,他们还是可以跟踪你的。

2014年7月20日星期日

打造有风格的团队

  如果你说,你的团队比别人好,那理由是什么?因为每个人有突出的专业能力?因为你们懂得很棒的流程?还是其他的原因?

  你有没有遇过以下的问题?

  1.您的开发人员完成了一个功能,只测试了主流程,看起来不错。于是它被标记为完成并转给QA测试。 QA发现了一个严重的bug,只需要在正常流程走到一半的时候点一下取消的按钮。

  2.您的开发人员分配到一个子任务,开发一个API,API的需求写得很详细。他很快完成,开始与调用者做集成测试。此时他发现,他做的,跟调用者原来的预期差别很大。

  3.还是您的开发人员,他要修复一个Bug.他检查了现有的代码,发现这代码很丑陋。但是要修复很容易,如果他只是希望修正这个问题,只是两行代码的改动。不过代码还是很丑陋,以后要改功能还是会很复杂,除非重构。他默默选择了简单的修改,没跟人讨论。

  4.你的QA人员在测试一个新功能,功能跟需求描述是100%符合的,但是他在使用的时候觉得有些地方不顺畅。他让这个功能测试通过。

  5.我们的开发人员每次要跑起整个开发环境,都要从4个代码库更新代码,在4个工程里面点构建, 然后再启动3个应用服务器,以及启动数据库。他们慢慢的习惯这样的麻烦。

  6.我们有个开发人员,在上海,有个美国的同事,是QA.两人有差不多半天的时差。上海的开发人员快下班了,他手头的功能还剩点扫尾的工作就可以给美国的QA测试。估计还要30分钟。开发人员决定先下班,第二天再继续做。于是美国QA多等了一天才进行测试。但除了这个开发人员以外没有人知道这一点。

  7.你的UI开发人员做了一个漂亮的HTML原型,100%展示了设计师要的UI效果。但在原型中使用的UI库跟现有应用程序中使用的冲突。要嘛工程师需要花费大量的时间重构现有代码,或者UI开发人员使用不同的库来重做他的原型。

  在以上所有的例子中,有没有人违反流程?没有,除非我们把上面所有的情况写进流程。如果给我时间,我还可以列出数百个流程里面没有规定的情况。所以不可能有一个流程可以规定所有的情况。

  但他们是不是可以有不一样的做法?

  #1,他可以选择将问题提交给QA测试前,完成简单的冒烟测试; 也可以选择先像QA尽量跑一下所有的流程,尽量确保QA找不出Bug来。

  #2,他可以选择完全只看产品经理的描述;也可以选择在开发之前跟调用者讨论一下。

  #3,他可以选择尽快修复bug;也可以选择将代码的问题提出来讨论,看要不要重构。

  #4,他可以选择只听产品经理的;也可以选择从用户的角度把反馈提出来。

  #5,他可以选择忍受这种繁琐的手工活;也可以选择建一个脚本来自动完成。

  #6,他可以选择常规节奏按时下班;也可以选择多留下来半个小时,让QA提早测试。

  #7,他可以选择尽快实现UI效果;或者做之前跟开发人员讨论一下。

  如果把他们的思路不断抽象归纳一下,就是:总是考虑下游人员的工作,像用户一样思考,改进一切可以改进的事情等等。这些思路,不是专业技能,不是流程,但就是这些思路,构成你的团队文化,让你的团队不一样。新团队一般不会有一致的思维方式,大家的各有各的视角和立足点。

  一个训练有素,经验丰富的团队,他们碰到各种场景,一起处理过各种问题,最终他们建立了一种默契。属于团队自己的默契,于是他们花更少的时间就可以把问题沟通清楚;他们可以更快的达成一致的行动方案;他们可以更快的反应;他们可以用更少的尝试找到答案。这是一支有强烈风格的团队,而且很高效!

  谁来打造文化?通常是团队的领导者。如果领导者能够进入项目的每一个细节,关心每一件小事。那么,团队每个成员自然而然会去注意每一个细节,因为他们知道他们老大关注这个。如果领导者在做每一个环节的时候,都会考虑下一个环节怎么做,那么成员自然会学着多考虑一步。如果领导者总是在想着怎么提高效率,减少手工流程,时时在问这个问题。成员也会拥有这种思维。如果领导者总是站在用户的立场考虑问题,做尝试,成员在考虑问题的时候,就会像领导一样,问自己,如果我是一个用户,我会怎么样?

  如果想打造有自我风格的团队?试试这样:

  1.花时间回想你碰过的所有场景,把那些场景下组员应该怎么想的思路抽取出来,总结成简短的话。

  2.这几句话就是你们团队文化的关键词。

  3.告诉你的团队这些关键词。

  4.往后留心跟这些关键词有关的场景。

  5.如果团队成员的思路跟你想要的文化符合,鼓励他们。

  6.如果团队成员的思路跟文化不一致,指出来,告诉他们你是怎么想的,后者自己亲自做给他们看。

  7.让你的成员以同样的方式这样指导新来的人。

  8.根据一些以前没考虑到的场景,提炼改进关键词。

  来源:投稿,作者:王伟杰。

通讯工具Line估值100亿美元合理吗?

  日本即时通讯公司Line母公司Naver周三宣布,Line已经在东京提交了首次公开发行(IPO)申请,估值可能超过100亿美元。

  该公司于此前透露,其总注册用户数已经突破4亿。而去年11月Line才刚刚突破了3亿用户的大关。在3月21日那天,该平台总共发出了超过100亿条短信。其实自2014年以来,Line就不停地再打破以往的记录,每日语音呼叫数也突破了1200万次。 尽管Line是一款免费应用,但是通过增值内容,该公司2013年的营收表现依然抢眼——其总共为母公司贡献了343亿日元(3.38亿美元)。内购占据了其中的60%,另有20%为贴图(stickers)所贡献。业内人士称,line有望在今年底之前达到5亿的注册用户,和美国的whatsapp和中国的微信形成三强争霸的格局。

  line上市的消息产出引发了各界关注,就一款移动app是否价值100亿美元的讨论在各大社交媒体平台展开,在笔者看来,2013年全球短信发送量仅为6.5万亿条,相当于每日不到180亿条的规模,而line的单日信息发送量超过了100亿条,截止年底有望匹敌全球短信的日发送量,对于这样一款APP来说,已经成为了世界级的产品,100亿美元的估值不过分。

  Line的上市对中国的微信也是极大的利好,在Line官方确定启动上市进程后,微信母公司腾讯控股在7月16日股票开盘后也一路上扬,截止目前腾讯控股市值达到11613亿港币。相比Line主要依靠短信赚钱,微信的可扩展性更强,除了游戏也有望在电子商务、O2O、旅游等领域取得巨额的收益。按此计算,微信给腾讯无形中新增的市值应该在300——500亿美元之间。

  来源:投稿,本文作者系速途研究院院长丁道师 微博:丁道师 微信公众:dingdaoshi123

2014年7月18日星期五

阿里巴巴称正遭遇有组织的舆论敲诈

  7月18日,阿里巴巴官方微博发布消息称,阿里巴巴公司正遭遇有组织的舆论敲诈,有机构要求其出资30万美元买断与公司相关的负面研究报告,该报告以中国国内某周刊及某些自媒体人士针对阿里巴巴的相关报道为主体。阿里巴巴称公司已报案。

  阿里巴巴集团在美上市已经初定在8月8日,上市地点为纽交所,上市代码为BABA,目前处于上市缄默期。

  以下为阿里巴巴微博声明全文:

  “缄默期”的声音

  一、处于上市缄默期的阿里巴巴集团,正在遭遇有组织的舆论敲诈。有机构要求本公司出资30万美元买断有关本司的所谓负面研究报告,该报告以国内某周刊以及某些自媒体人士针对阿里巴巴集团的相关报导为主体。杭州警方已正式接受本公司报案。目前相关资料已移交警方处理。

  二、阿里巴巴集团尊重每一个社会成员理性客观表达自己观点的权利,我们欢迎公开透明的舆论监督,我们珍视社会各界对阿里巴巴集团和对中国电子商务事业的关注和帮助,我们深知这能让我们更好地审视自我,保持警醒,修正完善,但是,当面对毫无根据的指控和肆无忌惮的舆论胁迫时,我们不会隐忍和退让!

  阿里巴巴集团

2014年7月17日星期四

OpenWRT 路由配置技巧

  随着最近 Google 在国内已经完全无法访问,使得通过 VPN 访问网络的需求更加强烈,本文介绍的方法可以使一个普通的路由具备稳定连接 VPN 的能力,并能够根据目标访问网站选择国内外线路,从而得到一个既没有限制,也不会影响速度的 Wifi 环境,连接到这个网络的设备不需要任何配置即可安全上网,完全感觉不到任何不便。

  chnroutes 路由表

  这个路由表集中了所有分配到中国大陆的 IP 段,根据 http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest 每天自动更新,可使得在访问国内地址时不经过 VPN。

  想想如果能够让家里的路由直接连接 VPN,在家连接 WiFi 的所有设备直接达到Fan墙的效果,应该很 Cool,所以最近在某宝整了一个 Netgear WNDR3800 二手路由回来,先后分别在 DD-WRT 和 OpenWRT 成功配置 VPN + chnroutes,最后还是选择了 OpenWRT。

  DD-WRT vs OpenWRT

  关于 DD-WRT 和 OpenWRT,我选择 OpenWRT 主要因为 DD-WRT ROM 中集成的软件太多,绝大多数用不到,要配置 jffs2 来保存脚本文件,一般配置则保存在nvram中,而且无线较不稳定,5G频段常搜索不到(当然可能是我这个路由器型号的支持问题)。OpenWRT 的配置文件语法统一,配置都存储在文件系统中,且 ROM 本身仅集成了必备组件,非常小,可以只安装需要的东西,WEB管理界面也是可选安装,简洁强大,经过若干天的使用一直比较稳定。

 

  配置

  已配置好 OpenWRT 上网的童鞋们可以直接跳过 1.刷 ROM2.初始配置

  1.刷 ROM

  a.首先确定你的设备可以被 OpenWRT 所支持(到这里查看支持的设备列表:http://wiki.openwrt.org/toh/start),然后到这里下载编译好的 ROM:http://downloads.openwrt.org/ 。最新的 stable 版本是 attitude_adjustment(12.09),我下载的是 trunk 版本。

  b.在 OpenWRT 官网找相应设备的 Wiki 页面查看刷机方法,一般都是在路由器官方Web固件升级页面直接刷入(我的 WNDR3800 Wiki页面是:http://wiki.openwrt.org/toh/netgear/wndr3800)

  2.初始配置

  a.路由器启动后,有的型号没有安装 Wifi 模块,需要先用网线连接到 LAN 口,本机 IP 配置为静态 192.168.1.x,然后 telnet 到 192.168.1.1,更改 root 密码,然后 ssh 连入,参考:http://wiki.openwrt.org/doc/start#configuring.openwrt

OpenWRT 路由配置 PPTP VPN + 断线自动重连 + chnroutes国内路由表

  b.配置 WAN 口,让路由连上 Internet,参考:http://wiki.openwrt.org/doc/howto/internet.connection 。

  比如要配置 PPPoE:

uci set network.wan.proto=pppoeuci set network.wan.username=''yougotthisfromyour@isp.su''uci set network.wan.password=''yourpassword''uci commit networkifup wan

 
  c.安装 LuCI Web 管理界面并设置开机自动启动,参考:http://wiki.openwrt.org/doc/howto/luci.essentials

opkg updateopkg install luci/etc/init.d/uhttpd start/etc/init.d/uhttpd enable

 
  d.浏览器输入路由器 LAN 侧 IP(多为192.168.1.1),进行 Wifi 等配置

OpenWRT 路由配置 PPTP VPN + 断线自动重连 + chnroutes国内路由表

OpenWRT 路由配置 PPTP VPN + 断线自动重连 + chnroutes国内路由表

  3.配置 DNS

  a.创建 /etc/config/sec_resolv.conf

vim /etc/config/sec_resolv.conf

  填入以下 DNS Servers:

nameserver 8.8.8.8nameserver 8.8.4.4nameserver 208.67.222.222


  b.编辑 /etc/config/dhcp

vim /etc/config/dhcp

  找到 option resolvfile 选项,替换为:

option resolvfile ''/etc/config/sec_resolv.conf''
  4.配置 PPTP

  a.安装 ppp-mod-pptp

opkg updateopkg install ppp-mod-pptp

  
  如果需要 LuCI 支持(推荐):

opkg install luci-proto-ppp

  
  b.配置 vpn 接口,编辑 /etc/config/network 文件,应该已经有以下内容(如果没有,需要插入),并配置里面的 server、username 和 password:

config ''interface'' ''vpn''         option ''ifname''    ''pptp-vpn''          option ''proto''     ''pptp''        option ''username''  ''vpnusername''        option ''password''  ''vpnpassword''        option ''server''    ''vpn.example.org or ipaddress''         option ''buffering'' ''1'' 

   
  c.进入 Network -> Firewall ,把 vpn 加入 wan zone,效果如图:

    

  d.进入 Network -> Interfaces ,此时应该已经可以看到 VPN Interface 并可以连接,效果如图:

 

    

  e.此时在本机 traceroute www.google.com,应该能得到类似以下的结果:

FL-MBP:~ fatlyz$ traceroute www.google.comtraceroute: Warning: www.google.com has multiple addresses; using 74.125.239.113traceroute to www.google.com (74.125.239.113), 64 hops max, 52 byte packets 1  fc_r0.lan (192.168.7.1)  2.266 ms  0.999 ms  0.946 ms 2  10.7.0.1 (10.7.0.1)  189.259 ms  187.813 ms  188.368 ms 3  23.92.24.2 (23.92.24.2)  189.847 ms  190.489 ms  188.939 ms 4  10ge7-6.core3.fmt2.he.net (65.49.10.217)  188.508 ms  192.216 ms  202.863 ms 5  10ge10-1.core1.sjc2.he.net (184.105.222.14)  195.695 ms  195.691 ms  284.242 ms 6  72.14.219.161 (72.14.219.161)  189.196 ms  192.287 ms  193.220 ms 7  216.239.49.170 (216.239.49.170)  192.496 ms  188.547 ms  189.881 ms 8  66.249.95.29 (66.249.95.29)  190.125 ms  190.335 ms  190.026 ms 9  nuq05s01-in-f17.1e100.net (74.125.239.113)  189.804 ms  190.556 ms  190.242 ms

  可以看出,其中第二跳是 VPN 的网关,而 traceroute www.baidu.com 的话第二跳应该也是同样的结果。

  这时已经可以访问 Google, Baidu 等国内外的站点了。

  5.配置 chnroutes

  a.到 chnroutes 项目的下载页面:http://chnroutes-dl.appspot.com/ 下载 linux.zip,解压

  b.把 ip-pre-up 重命名为 chnroutes.sh,打开编辑,在 if [ ! -e /tmp/vpn_oldgw ]; then 前插入以下代码,以避免 ppp 连接脚本重复执行导致重复添加路由表项:

if [ $OLDGW == ''x.x.x.x'' ]; then    exit 0fi

  其中 x.x.x.x 是 VPN 的网关,可以先本机连接上去之后查看一下网关地址。

  c.ssh 连接到路由器,执行以下命令:

cd /etc/config/mkdir pptp-vpn
cd pptp-vpn
vim chnroutes.sh

  在 vim 中把编辑好的 chnroutes.sh 粘贴进去(当然也可以通过 ssh 直接把 chnroutes.sh 文件传过去,或者上传到某个地方再 wget 下载)

  执行以下命令,设置权限为可执行: 

chmod a+x chnroutes.sh

  d.用 vim 编辑 /lib/netifd/ppp-up 文件:

vim /lib/netifd/ppp-up

  在 [ -d /etc/ppp/ip-up.d ] && { 这一行前插入以下内容,确保 ppp 连接脚本能够被执行:

sh /etc/config/pptp-vpn/chnroutes.sh


  e.重启路由,启动好之后,进入 LuCI 查看接口状态,等 WAN 和 VPN 都连接成功后,ssh进去,执行 route -n | head -n 10 ,效果应该类似这样:

root@FC_R0:/etc/config# route -n | head -n 10Kernel IP routing tableDestination     Gateway         Genmask         Flags Metric Ref    Use Iface0.0.0.0         10.7.0.1      0.0.0.0         UG    0      0        0 pptp-vpn1.0.1.0         58.111.43.1   255.255.255.0   UG    0      0        0 pppoe-wan1.0.2.0         58.111.43.1   255.255.254.0   UG    0      0        0 pppoe-wan1.0.8.0         58.111.43.1   255.255.248.0   UG    0      0        0 pppoe-wan1.0.32.0        58.111.43.1   255.255.224.0   UG    0      0        0 pppoe-wan1.1.0.0         58.111.43.1   255.255.255.0   UG    0      0        0 pppoe-wan1.1.2.0         58.111.43.1   255.255.254.0   UG    0      0        0 pppoe-wan1.1.4.0         58.111.43.1   255.255.252.0   UG    0      0        0 pppoe-wan

  其中 Destination 为 0.0.0.0 的是默认路由,网关为 VPN 网关,意味着默认流量都经过 VPN,而以下的条目则把目的为国内的网段都指向了 ISP 提供的网关。

  至此 PPTP VPN 和 chnroutes 已经配置完毕。

  6.配置 VPN 断线自动重连

  a.创建 /etc/config/pptp-vpn/status-check.sh:

vim /etc/config/pptp-vpn/status-check.sh

  在 vim 中粘贴以下内容(此脚本检测 VPN 连接状态,并在断线后会断开 WAN 和 VPN 接口,10秒后重新连接 WAN,并在 30 秒后重连 VPN):

#!/bin/shif [ -f "/tmp/vpn_status_check.lock" ]then        exit 0fiVPN_CONN=`ifconfig | grep pptp-vpn`if [ -z "$VPN_CONN" ]then        touch /tmp/vpn_status_check.lock        echo WAN_VPN_RECONNECT at: >> /tmp/vpn_status_check_reconn.log        date >> /tmp/vpn_status_check_reconn.log        ifdown vpn        ifdown wan        sleep 10        ifup wan        sleep 30        ifdown vpn        sleep 10        ifup vpn        sleep 40        rm /tmp/vpn_status_check.lockelse        date > /tmp/vpn_status_check.logfi

  执行以下命令,设置权限为可执行: 

chmod a+x /etc/config/pptp-vpn/status-check.sh

  b.进入LuCI 的 System -> Scheduled Tasks 填入以下内容,并保存:

*/1 * * * * /etc/config/pptp-vpn/status-check.sh

  以上实际上是编辑了 cron 配置,cron 每分钟运行检测 / 重连脚本,重启 cron:

/etc/init.d/cron restart


  c.静待几分钟,查看 /tmp 目录,应该能看到 vpn_oldgw 和 vpn_status_check.log 文件,查看 vpn_status_check.log 文件,可以看到最近一次检测 VPN 连接状态的时间。

root@FC_R0:/tmp# ls vpn*vpn_oldgw             vpn_status_check.logroot@FC_R0:/tmp# cat vpn_status_check.log Tue Jul 15 00:04:02 HKT 2014root@FC_R0:/tmp# 

  你可以在 LuCI 中断开 VPN 接口,在接下来的4-5分钟,观察 WAN 和 VPN 的重连情况。

  d.分别 traceroute www.google.com 和 www.baidu.com ,观察第二跳的地址:

FL-MBP:~ fatlyz$ traceroute www.google.com | head -n 3traceroute: Warning: www.google.com has multiple addresses; using 74.125.239.115traceroute to www.google.com (74.125.239.115), 64 hops max, 52 byte packets 1  fc_r0.lan (192.168.7.1)  2.161 ms  0.912 ms  0.895 ms 2  10.7.0.1 (10.7.0.1)  193.747 ms  187.789 ms  289.744 ms 3  23.92.24.2 (23.92.24.2)  259.323 ms  354.625 ms  408.535 ms
FL-MBP:~ fatlyz$ traceroute www.baidu.com | head -n 3traceroute to www.a.shifen.com (180.76.3.151), 64 hops max, 52 byte packets 1  fc_r0.lan (192.168.7.1)  1.190 ms  0.984 ms  0.731 ms 2  58.111.43.1 (58.111.43.1)  20.616 ms  38.822 ms  18.484 ms 3  183.56.35.133 (183.56.35.133)  20.056 ms  52.353 ms  87.841 ms

  可以看出,已成功对国内外的目标地址进行了路由选择。

  至此,OpenWRT 路由的基本配置、PPTP VPN、chnroutes 和自动重连已经配置完成。

  来源:投稿,作者:FatLYZ,原文链接