6 年前在我 V 站分享的项目现在终于达到 100 万用户了

2020-08-04 19:38:55 +08:00
 sneezry

6 年前我还在上大学,因为自己懒得每次登录账号都要找手机看二步认证,写了一简单的浏览器插件显示二步认证的代码: https://v2ex.com/t/110184

挑战

这个浏览器插件不是第一个支持显示二步认证的代码,所以它在当时是一个新轮子。造轮子这种行为被吐槽是很正常的,所以这个小插件面对的第一个挑战就是“又造了一个新轮子”。

将二步认证放在登录账号的同一台设备上运行是违背技术设计初衷的。这是这个小插件从出现以来到现在面对的最大的挑战。这个质疑是非常合理的,我曾经也一度思考是不是应该停止这个项目的开发。

转机

因为很多二步认证需要扫描二维码添加账号,而确实存在一些网站不提供可以手动添加的密钥字符串。这就导致没有智能手机的用户无法启用二步认证——有些网站启用二步认证是必须的,否则无法继续使用账号。

这个支持截取屏幕上的二维码添加二步认证的小插件突然就有了它的价值。后来一位美国的在读大学生找到了这个小插件,并且发现使用它可以解决他遇到的问题,随后加入到了这个项目里和我一起开发。目前我们依然一起活跃在对这个项目的维护上。

欣喜

因为项目是遵循 MIT 协议的开源项目,使用的用户也开始变得多了起来。这个小插件被写进了多个网站 /公司的知识库 /WiKi 中作为推荐二步认证客户端。在去年,这个小插件被美国政府官方网站推荐为二步认证客户端( https://www.login.gov/help/creating-an-account/authentication-application/

最近,这个小插件终于迎来了它的第 100 万个用户

发展

除了支持 Chrome 浏览器,后来也做了对火狐和 Edge 浏览器的支持。它还被火狐选为了火狐特色插件( https://blog.mozilla.org/addons/2018/07/02/julys-featured-extensions-2/ )。

这个项目的初衷是让大家更方便地使用二步认证,所以推动用户数据自由流动也是项目关注的重点。这个小插件不仅可以让用户自由安全地导入导出数据,同时也帮助推动了不同二步认证客户端直接数据的交换,让用户有更多选择的权力( https://authenticator.cc/docs/en/otp-backup

社区

完全自由开放的项目会更加吸引社区用户过来帮忙。这个小插件在社区的帮助下,实现了对 32 个国家 /地区语言的支持,这进一步吸引了更多不同国家的用户。

作为一个和安全相关的项目,也少不了被很多人审查代码。很多社区用户提出了安全方面的建议,这个小插件也一直在审视用户数据访问权限的合理性,做了两次降低插件权限的更改。也正是因为在一开始就对权限控制的重视,在今年 Google 开始的大规模下架滥用权限的插件的行动中,这个当时用户量超过 70 万的小插件没有受到任何影响。

态度

浏览器被视作搜集用户数据的重要平台,用户量较多的浏览器插件就成了很多数据分析公司和广告投放公司的收购对象。这个小插件也不例外,我收到了至少 5 封来自不同公司的邮件向我咨询收购这个插件的事宜。钱很重要,但是做开源项目的目的和钱在两个维度上,当我们谈论开源项目本身时(并不包括维护、部署开源项目的服务费用),和钱就没有任何关系了。后来我在小插件的描述页面上加了一段话:

To guys who want this extension buyout: this extension has a very strict content security policy, it is impossible to insert any ADs into the extension to make money, so please DO NOT write emails to me any more.

经验

当你开始做开源项目时一定是抱着被感谢、被需要的心态的。但是现实有时并不那么符合预期。免费的开源项目也会出现不少要求甚至命令你为其个人需求添加新功能的用户,如果你觉得这个功能因为某些原因不适合做或者暂时不会做时,他们并不会理解你,甚至会攻击你。

有些看似呼声很高的需求,当你加班加点做出来时,发现数据并不那么好看——这可能是幸存者偏差,只有会使用这个功能的人才会给你发反馈意见。

当用户量开始显著变多时,比如几十万、上百万,一个千分之一概率出现的问题也会被用户“狂轰乱炸”,所以当你自己的业余小项目开始受欢迎了,或许你需要改变你对这个小项目的态度了。认真测试,分批部署,否则你可能发布新版本后无法睡个好觉。

最后最重要的,在项目前期不要被别人的言论打到,没人能预测你造的这个轮子会不会跑过前面的轮子。

9579 次点击
所在节点    分享创造
54 条回复
raaaaaar
2020-08-05 01:46:44 +08:00
强,这是真的对整个社会都有一定的影响呀,希望有一天我也能做出这样的产品。
baiyi
2020-08-05 07:28:27 +08:00
给大佬点赞。谢谢大佬的《 Chrome 扩展及应用开发》,当时写扩展全靠着这本书了
yuyu2140
2020-08-05 08:56:48 +08:00
楼主设计的 Happy Hacking 2018 日历至今还在我的桌面上,给有想法有行动的楼主点赞
icwaos
2020-08-05 09:07:55 +08:00
为啥卸载扩展数据就丢失了
justin2018
2020-08-05 09:24:16 +08:00
sneezry
2020-08-05 09:26:44 +08:00
@icwaos Chrome 是这样设计的,在卸载插件后会清理数据。而插件是没有能力在用户卸载时阻拦一下提醒备份数据的,所以如果没有配置第三方备份( Dropbox 、Google Drive 或者 OneDrive ),插件会每个月弹出一次提示备份的消息。
anyclue
2020-08-05 09:58:12 +08:00
不大会用啊,国内有哪些网站支持 Google 2FA 啊
chotony
2020-08-05 13:11:56 +08:00
非常棒的作品,去年才发现这个插件,一直用到现在,感谢作者的付出
ragnaroks
2020-08-05 17:04:46 +08:00
🐄🍺
liuzhiyong
2020-08-05 17:18:53 +08:00
强悍!“100 万用户”,只能说太牛了。
BruceXHe
2020-08-05 17:28:25 +08:00
其实我并不知道这个插件是做什么的,谁能用通俗的语言表述一下?
LiuJiang
2020-08-05 17:49:41 +08:00
真棒阿!给楼主点个赞!
izhangzhihao
2020-08-05 17:56:19 +08:00
一直在用,非常棒!真心感谢
13936
2020-08-05 18:24:35 +08:00
我们需要一些感性,一些金钱之外的利益。
nthhdy
2020-08-05 18:45:56 +08:00
发现我也用过 :D
newlifeinsc
2020-08-05 19:36:58 +08:00
我也没用过,不知道怎么使用,下载来看了下,不知道理解的对不对。

一些网站可以设置 "二步认证", 比如谷歌和微软的。 设置二次认证后,网站会给你一个密钥,一般来说,这个密钥是放在手机上的。这样以后,用户登录网站时,网站都要求输入六位数的二次认证码, 用户每次都需要在手机上看到生成码以后在网站上输入才能登录。

这个扩展的作用是,将网站给的密钥保存到浏览器里,这样每次登录要求输入二次认证码时,直接从扩展上看,不需要再拿出手机了。
a132811
2020-08-05 21:15:42 +08:00
点开一看,原来我是你的用户,用了好些年了吧。
很多公司内部都是采用的这种二步认证,这个插件确实很方便,不用依赖手机
xkzhangsan
2020-08-05 21:43:11 +08:00
点赞
7gugu
2020-08-05 23:23:07 +08:00
厉害
SupperMary
2020-08-05 23:47:08 +08:00
厉害厉害

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/695620

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX