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 条回复
Heanes
2020-08-06 10:17:58 +08:00
我还以为是 google 官方出的。。
leelrs
2020-08-06 11:12:13 +08:00
楼主这张图是用什么软件做的
palexu
2020-08-06 11:43:00 +08:00
赞啊
sneezry
2020-08-06 12:22:01 +08:00
@leelrs #42 Photoshop 拼的😂
morphyhu
2020-08-06 13:46:01 +08:00
为楼主的态度点赞。
Recour
2020-08-06 14:05:14 +08:00
感谢分享
leeshong27
2020-08-07 09:11:23 +08:00
厉害
fenglangjuxu
2020-08-07 10:06:40 +08:00
厉害 虽然有别的实现方式 但是还是给浏览器加上这个了
bulaocai5
2020-08-08 11:29:37 +08:00
谢谢 分享 已经安装啦
loading
2020-08-09 16:42:42 +08:00
好厉害
peterjose
2020-08-09 17:07:45 +08:00
不错 已安装
wxmomomowx
2020-08-14 11:47:51 +08:00
请问下, 如果学校也实行了 2FA,给一个小小的 硬件(类似 MP3 播放器, 按下去 会有动态数字的) ,可以用这个插件代用,或 一起食用吗? 就是用自己的电脑时, 就是可以用这个插件, 当登录学校电脑是, 就用“MP3 播放器”

还有个更无知的问题, 这个“MP3 播放器” 是否可以 也给其他的账号做 2FA 呢? 谢谢
1847bell
2020-08-21 14:27:35 +08:00
有一说一,我在前几年看到这个插件的时候确实解决了我非常大的痛点——因为我并不想每次输入二次验证的时候都要去点亮、解锁我的手机。在 Chrome 里面就可以查看复制二次验证码实在是让我非常爽。而且它还可以网络同步。

直到我用了 1Password 。
K1W1
2021-01-27 19:59:25 +08:00
感谢,插件很好用!

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

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

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

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

© 2021 V2EX