6 年前在我 V 站分享的项目现在终于达到 100 万用户了 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
sneezry
V2EX    分享创造

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

  sneezry
Sneezry 2020-08-04 19:38:55 +08:00 10147 次点击
这是一个创建于 1944 天前的主题,其中的信息可能已经有所发展或是发生改变。

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.

经验

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

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

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

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

54 条回复    2021-01-27 19:59:25 +08:00
laogui
    1
laogui  
   2020-08-04 19:46:48 +08:00 via Android   4
大家更关心的是你靠这个赚钱了吗?
seki
    2
seki  
   2020-08-04 19:48:16 +08:00
强,点赞,支持
sneezry
    3
sneezry  
OP
   2020-08-04 19:50:09 +08:00   3
@laogui #1 “钱很重要,但是做开源项目的目的和钱在两个维度上,当我们谈论开源项目本身时(并不包括维护、部署开源项目的服务费用),和钱就没有任何关系了。”
Hosing
    4
Hosing  
   2020-08-04 19:50:13 +08:00
很好的经验,有被激励到 /虽然我不是开发者 XD
woodfly
    5
woodfly  
   2020-08-04 20:19:41 +08:00
如果把两步认证理解为避免账户密码泄露导致的账户丢失,在同一个设备上进行验证貌似就没啥问题。
GavinFlying
    6
GavinFlying  
   2020-08-04 20:22:27 +08:00
用户路过,感谢大佬
mornlight
    7
mornlight  
   2020-08-04 20:32:11 +08:00
很强。
楼主的《 Chrome 扩展及应用开发》什么时候出第二版啊
sneezry
    8
sneezry  
OP
   2020-08-04 20:36:22 +08:00 via iPhone
@mornlight 等你第 6 次入门前端成功的时候我就出
patx
    9
patx  
   2020-08-04 20:40:22 +08:00 via Android
恭喜。楼主有专门去宣传推广么?
sneezry
    10
sneezry  
OP
   2020-08-04 20:41:09 +08:00 via iPhone
@patx 没有,不赚钱的项目也不搭钱,超佛系
Cheat
    11
Cheat  
   2020-08-04 20:42:29 +08:00 via iPhone
很厉害,很羡慕
mymike
&nsp;   12
mymike  
   2020-08-04 20:42:59 +08:00
正在用 真的很方面
Whalko
    13
Whalko  
   2020-08-04 20:57:12 +08:00
奇了怪了,想装上试试发现装不上……右上角扩展程序列表里面没有。chrome://extensions 里面也没有……身份验证器和 Authenticator,进 webstore 看又是问我要不要移除,我都重启电脑了……一直在用 Authy,被“能用 Google 账号同步”吸引了想试试看,版本是 chrome84,真的很神奇……
labulaka521
    14
labulaka521  
   2020-08-04 21:09:32 +08:00
支持支持支持支持
myjava
    15
myjava  
   2020-08-04 21:47:56 +08:00
一直在用,很棒
zhaohy
    16
zhaohy  
   2020-08-04 21:52:02 +08:00 via iPhone
666 原来是楼主写的,一直在用,很好用,感谢
A3
    17
A3  
   2020-08-04 21:55:16 +08:00 via Android
牛逼
graetdk
    18
graetdk  
   2020-08-04 22:09:25 +08:00
太强了,楼主能留下联系方式吗?想合作做点东西
find456789
    19
find456789  
   2020-08-04 23:30:40 +08:00
给你点赞,加油
Tink
    20
Tink  
PRO
   2020-08-05 00:16:36 +08:00 via Android
支持
raaaaaar
    21
raaaaaar  
   2020-08-05 01:46:44 +08:00 via Android
强,这是真的对整个社会都有一定的影响呀,希望有一天我也能做出这样的产品。
baiyi
    22
baiyi  
   2020-08-05 07:28:27 +08:00
给大佬点赞。谢谢大佬的《 Chrome 扩展及应用开发》,当时写扩展全靠着这本书了
yuyu2140
    23
yuyu2140  
   2020-08-05 08:56:48 +08:00
楼主设计的 Happy Hacking 2018 日历至今还在我的桌面上,给有想法有行动的楼主点赞
icwaos
    24
icwaos  
   2020-08-05 09:07:55 +08:00
为啥卸载扩展数据就丢失了
sneezry
    26
sneezry  
OP
   2020-08-05 09:26:44 +08:00 via iPhone
@icwaos Chrome 是这样设计的,在卸载插件后会清理数据。而插件是没有能力在用户卸载时阻拦一下提醒备份数据的,所以如果没有配置第三方备份( Dropbox 、Google Drive 或者 OneDrive ),插件会每个月弹出一次提示备份的消息。
anyclue
    27
anyclue  
   2020-08-05 09:58:12 +08:00
不大会用啊,国内有哪些网站支持 Google 2FA 啊
chotony
    28
chotony  
   2020-08-05 13:11:56 +08:00
非常棒的作品,去年才发现这个插件,一直用到现在,感谢作者的付出
ragnaroks
    29
ragnaroks  
   2020-08-05 17:04:46 +08:00
liuzhiyong
    30
liuzhiyong  
   2020-08-05 17:18:53 +08:00
强悍!“100 万用户”,只能说太牛了。
BruceXHe
    31
BruceXHe  
   2020-08-05 17:28:25 +08:00
其实我并不知道这个插件是做什么的,谁能用通俗的语言表述一下?
LiuJiang
    32
LiuJiang  
   2020-08-05 17:49:41 +08:00
真棒阿!给楼主点个赞!
izhangzhihao
    33
izhangzhihao  
   2020-08-05 17:56:19 +08:00
一直在用,非常棒!真心感谢
13936
    34
13936  
   2020-08-05 18:24:35 +08:00
我们需要一些感性,一些金钱之外的利益。
nthhdy
    35
nthhdy  
   2020-08-05 18:45:56 +08:00
发现我也用过 :D
newlifeinsc
    36
newlifeinsc  
   2020-08-05 19:36:58 +08:00
我也没用过,不知道怎么使用,下载来看了下,不知道理解的对不对。

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

这个扩展的作用是,将网站给的密钥保存到浏览器里,这样每次登录要求输入二次认证码时,直接从扩展上看,不需要再拿出手机了。
a132811
    37
a132811  
   2020-08-05 21:15:42 +08:00
点开一看,原来我是你的用户,用了好些年了吧。
很多公司内部都是采用的这种二步认证,这个插件确实很方便,不用依赖手机
xkzhangsan
    38
xkzhangsan  
   2020-08-05 21:43:11 +08:00 via Android
点赞
7gugu
    39
7gugu  
   2020-08-05 23:23:07 +08:00 via Android
厉害
SupperMary
    40
SupperMary  
   2020-08-05 23:47:08 +08:00
厉害厉害
Heanes
    41
Heanes  
   2020-08-06 10:17:58 +08:00
我还以为是 google 官方出的。。
leelrs
    42
leelrs  
   2020-08-06 11:12:13 +08:00
楼主这张图是用什么软件做的
palexu
    43
palexu  
   2020-08-06 11:43:00 +08:00
赞啊
sneezry
    44
sneezry  
OP
   2020-08-06 12:22:01 +08:00
@leelrs #42 Photoshop 拼的
morphyhu
    45
morphyhu  
   2020-08-06 13:46:01 +08:00
为楼主的态度点赞。
Recour
    46
Recour  
   2020-08-06 14:05:14 +08:00
感谢分享
leeshong27
    47
leeshong27  
   2020-08-07 09:11:23 +08:00
厉害
keepfun
    48
keepfun  
   2020-08-07 10:06:40 +08:00
厉害 虽然有别的实现方式 但是还是给浏览器加上这个了
bulaocai5
    49
bulaocai5  
   2020-08-08 11:29:37 +08:00
谢谢 分享 已经安装啦
loading
    50
loading  
   2020-08-09 16:42:42 +08:00
好厉害
peterjose
    51
peterjose  
   2020-08-09 17:07:45 +08:00
不错 已安装
wxmomomowx
    52
wxmomomowx  
   2020-08-14 11:47:51 +08:00
请问下, 如果学校也实行了 2FA,给一个小小的 硬件(类似 MP3 播放器, 按下去 会有动态数字的) ,可以用这个插件代用,或 一起食用吗? 就是用自己的电脑时, 就是可以用这个插件, 当登录学校电脑是, 就用“MP3 播放器”

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

直到我用了 1Password 。
K1W1
    54
K1W1  
   2021-01-27 19:59:25 +08:00
感谢,插件很好用!
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3519 人在线   最高记录 6679       Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 31ms UTC 04:20 PVG 12:20 LAX 20:20 JFK 23:20
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86