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.

经验

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

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

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

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

9344 次点击
所在节点    分享创造
54 条回复
laogui
2020-08-04 19:46:48 +08:00
大家更关心的是你靠这个赚钱了吗?
seki
2020-08-04 19:48:16 +08:00
强,点赞,支持
sneezry
2020-08-04 19:50:09 +08:00
@laogui #1 “钱很重要,但是做开源项目的目的和钱在两个维度上,当我们谈论开源项目本身时(并不包括维护、部署开源项目的服务费用),和钱就没有任何关系了。”
Hosing
2020-08-04 19:50:13 +08:00
很好的经验,有被激励到 /虽然我不是开发者 XD
woodfly
2020-08-04 20:19:41 +08:00
如果把两步认证理解为避免账户密码泄露导致的账户丢失,在同一个设备上进行验证貌似就没啥问题。
GavinFlying
2020-08-04 20:22:27 +08:00
用户路过,感谢大佬🎉
mornlight
2020-08-04 20:32:11 +08:00
很强。
楼主的《 Chrome 扩展及应用开发》什么时候出第二版啊
sneezry
2020-08-04 20:36:22 +08:00
@mornlight 等你第 6 次入门前端成功的时候我就出🤪
patx
2020-08-04 20:40:22 +08:00
恭喜。楼主有专门去宣传推广么?
sneezry
2020-08-04 20:41:09 +08:00
@patx 没有,不赚钱的项目也不搭钱,超佛系
Cheat
2020-08-04 20:42:29 +08:00
很厉害,很羡慕
mymike
2020-08-04 20:42:59 +08:00
正在用 真的很方面
Whalko
2020-08-04 20:57:12 +08:00
奇了怪了,想装上试试发现装不上……右上角扩展程序列表里面没有。chrome://extensions 里面也没有……身份验证器和 Authenticator,进 webstore 看又是问我要不要移除,我都重启电脑了……一直在用 Authy,被“能用 Google 账号同步”吸引了想试试看,版本是 chrome84,真的很神奇……
labulaka521
2020-08-04 21:09:32 +08:00
支持支持支持支持
myjava
2020-08-04 21:47:56 +08:00
一直在用,很棒
zhaohy
2020-08-04 21:52:02 +08:00
666 原来是楼主写的,一直在用,很好用,感谢
A3
2020-08-04 21:55:16 +08:00
牛逼
graetdk
2020-08-04 22:09:25 +08:00
太强了,楼主能留下联系方式吗?想合作做点东西
find456789
2020-08-04 23:30:40 +08:00
给你点赞,加油
Tink
2020-08-05 00:16:36 +08:00
支持

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

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

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

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

© 2021 V2EX