前言
这是一个新的系列,小老鼠尝试把各种乱七八糟的技术问题当成故事去讲,不知道会不会有同学爱听。 最后会埋下一个扣子,做个收费,价格一块钱(这次例外),愿者上钩。
本篇末尾有 14% 的内容被隐藏,需付费阅读。
请在阅读前确认你了解并理解了上述内容,以上,防杠
发生了什么
事情很简单。我写了一个脚本 自动展开全文 ,还挺受人欢迎。然后我想进行进一步的优化,这就需要一些数据的支持。比如我很想知道下面两个数据:
- 大家使用的都是什么脚本管理器。因为不同的脚本管理器提供的支持不同,需要做相应的优化;
- 大家对于脚本的更新频率是怎样的。如果更新的很频繁,那我每做出一点新功能就立刻发出来。如果更新的不频繁,那我就把功能积攒到一起,尽可能每次发布的都是稳定版本。
起
所以我为脚本加入了一个统计代码,就是最普通的,几乎每一个网站上都有的第三方统计代码,当然我做了一点点改造,就是带上了上面我需要的两个数据。这里我们先确定两个问题:
- 几乎所有网站、软件、扩展等,都会带有类似的统计代码,并且很少有向用户说明的,大家也习以为常。
- 我们发送的每一个网络请求中都必然会包含类似 IP 地址,浏览器 UA 等信息,简单分析,既可获得所在的地域,使用的网络运营商,浏览器版本,操作系统等信息。可以说这些用户信息对于每一个网站都是公开的。
承
我为了加入这个统计代码,又做了哪些内容呢:
- 在脚本说明中明确写出,我会加入统计。后来又特地写了一条评论,详细的解释了这件事情,并且将链接也放在了脚本的说明之中。
- 我为统计代码做了延迟加载,要等页面加载完成三秒之后才尝试加入统计代码。这可能造成统计数据的不准确,但有尽我的能力,去尽量保证了不对用户产生影响。
- 我一直在对统计代码部分进行优化,因为不需要用户浏览的页面信息。所以后来将统计代码改为了每天只插入一次。
- 我遵循了用户的 DNT(禁止追踪)的建议,如果设定为禁止追踪,则不会插入统计代码。
我觉得我的做法已经可以算是业界良心了,像延迟加载这类优化基本上可以说是毫无必要的,但我还是去做了。当然这其中有两个小瑕疵:
- 为什么我没有在脚本最初就加入统计代码。因为我根本没有想到会有这么多用户,而用户少的时候也没有对用户进行相应分析的需求。
- 加入统计代码之后,为什么没有通过弹窗去明确的通知用户。因为做这个功能需要能够在全局保存一个标记,来记录这个用户已经进行过弹窗通知了,这样才能够控制弹窗的次数。但有一些脚本管理器并不支持这样的全局数据,结果这些用户就会在每次遇到匹配页面时都收到弹窗,那脚本基本就不可以使用了。我很想知道这种情况在用户中的占比,这也是我做统计的原因之一。
转
好了,情况都介绍完了。然后我就被一些人给中评差评,各种贴标签:
- 无良作者
- 收集用户信息
- 隐私
- 大量
- 敏感
- 恶意
- 霸权
- 被戳穿
- 嘴脸
- ……
开始我很迷惑,因为加入统计代码这个事情是我主动明示的。在最开始收到相关评价的时候,我还特意写了大量的内容去解释。再看上面这些标签,好多让人感到非常莫名。在我加上统计代码之后,我就说出来了,然后我是被戳穿的……
所以我明白了一个问题,就是他们在发表这些评论的时候,其实根本就没有去阅读我写的解释和说明。所以我也就放弃了任何辩解。
他们尝试举报,但是被驳回了,因为:在脚本说明中已经明确的讲出会加入统计代码。并且 GreasyFork 的帮助中明确的写出:
盈利项目(数据追踪、广告、挖矿脚本等)并非禁止,但是作者必须在脚本描述或额外信息栏明确说明。
所以我并没有违规。
不过后来管理还是对我的脚本提出了一些整改意见,因为我引入 js 的姿势不对,注意不是不可以引入,只是不够规范。我也做出了相应的修改。
但是差评在增加,甚至我一度收到这样的提示:
自动展开全文已连续收到差评,请检查您的脚本和回复评价中提出的问题。
合
那么做一个非常简单的思考:
- 我自己对这个脚本几乎没有需求
- 我做这件事情毫无收益
- 现在我做的不开心
于是我就停更了。
一些解释
作者任性
大概有人会这么去想吧,批评两句就受不了了,这是多么的玻璃心啊。置那么多用户于不顾,这是多么的不负责任啊。
首先,停更完全是我的权利。很多人都忽视了作者有许多权利这个事实,而只想着作者应该输出,毫无所求的输出。
然后我来解释一下上面的两个小问题。
我有用户吗?
如果从数据上看,脚本的安装量大概有 3 万。当然这中间不乏安装以后删除的用户,所以这个数据水分是比较多的。那么看一下每日检测更新的数据,最高的一天大概有 7000 左右,这是比较有参考价值的,可以认为我有 7000 左右的活跃用户。
但是在事件发生之前,GreasyFork 上的反馈数量为 10,小众论坛这边大概 100 条适配申请。主要就是说哪一个网站失效了,或者希望我去适配哪一个网站。我都是在看到后的第一时间去处理的。和我说过谢谢,或者表达一下这个脚本好用,对自己有用之类意思的人,大概能有 10 个?!
也许我有用户吧,然而我并感受不到他们。当我被人疯狂差评的时候,当我无奈停更在脚本中加入弹窗的时候,也没有几个人出来说话啊。
所以你让我对哪些用户负责任?
我玻璃心吗?
上面也都说了,他们不看我的解释,不看网站的规则,一心一意给我扣帽子。我为什么要独自去承受这份委屈?
甚至,他们说着我无良,同时研究如何回退到以前的版本。以前的版本不是我写的吗,一边骂着我,一边用着我的东西,奇奇怪怪,可可爱爱吧。
然后,研究着如何进行修改来去掉统计代码。因为 GreasyFork 的规则要求代码不可以压缩和混淆,所以我的代码写的很清楚,他们修改很简单。但是我在注释里也写的很清楚,如果用户禁止追踪,则不插入统计代码。他们看的懂代码,却看不懂注释(我还写的中文注释。
然后还喊着,谁出来复制一份。我告诉他们修改我的代码,这是违反用户协议的。然后他们表示我没有任何权利,他们也会无视任何协议……
后来真的就有人完全将我的代码复制了一份,然后重新发布,删掉了统计代码,也删掉了所有我的信息。这里再次强调,我设置的用户协议是禁止二次分发的。所以我对此进行了举报,举报之后两个小时,管理员便删除了这份脚本,并且顺便删除了我脚本中那些无视版权的评论(所以现在在反馈区看不到完整的争议现场了)。
我能怎么样?
这真的很难,油猴权限本身就比较大,如果用来做坏事儿,那是很容易也很可怕的。所以要求代码不能够压缩和混淆,这是非常合理的。当任何人都可以查阅脚本代码的时候,意味着脚本得到了更多的监督,而有可能提升用户的安全性。
但同时,也让那些无视版权的人,可以非常方便的复制和修改这些代码。
为了对用户负责,我肯定不会选择对代码进行压缩和混淆来提高破解难度。那就只能尽可能小范围的去公开这些代码。所以 beta 版,我选择了收费,3 元钱一个用户,付费,然后加群,在群里公开新脚本的地址。现在对于每个用户,我都要确认他的付费信息,这个费用都有点儿不够我做确认这个操作的工钱。但好歹过滤了一些人。
受伤的是谁……
我还行,心态挺好的。但是说不闹心那绝对是假的。
这几天喝着啤酒看着番,无聊了刷一下骂我的评论,感叹他们发的太慢,供不上我看。
我说了,我没需求,没收益,可以做到真的不在乎。
他们骂完了,走了。以前在评论里说着:“作者不会来回答的”,现在别人问他们问题,倒是我在解答着。尘烟散去,空留一片废墟,只有“无良”作者还守在这里。
7000 个从始至终毫无存在感的“用户”,一个每天弹窗提醒一次的停更的脚本。
骂我的人,未必真的对脚本有需求,如果有,大概也不会如此毫无顾忌。毕竟,这个脚本并没什么技术含量,真正让这个脚本有价值的是持续的维护,让脚本成长,并适应变化。
没有了维护,规则总有失效的时候,那时候就真的一片荒芜了吧。那些回退版本并禁止更新的人,不知道想过这一层没。
把海弄干的鱼不在——《三体》刘慈欣
弄坏这一切的人,并不会在乎这一切。真正有需求的人,才是真正的承受者。
在这样的情境之下,我再有有趣的想法,还会用爱发电么?总要多了一层思考吧。
其他看到此事,或者此类事情的作者们,大概也会多了一层思考吧。
为什么现在有趣的小工具越来越少了呢……
技术补充
DNT
“禁止追踪”(Do Not Track),现在大部分浏览器都支持此设置。然后会在发送的网络请求中加入这一标记,告诉服务器用户不希望被追踪。在前端也可以检测到这一标记。
但这只是一个标记,作为给服务器的一个建议。它没有强制性,就像一些朋友说的,这就是一个君子协定。所以有多少网站和服务遵守这个建议也不太好说。
总之很少有人去提起这个东西,说明他的意义可能并不大。
基本信息
浏览器 UA,形式如下:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36
稍微多看两眼,就很容易识别出其中携带的信息。有兴趣的可以自己详细阅读相关资料。UA 可以修改,但是没什么必要,因为有些网站会根据这个信息去优化相应的浏览效果。
IP 地址,其实现在运营商一般都不会给用户独立 IP 了,从某个角度讲,可能用户会变得更加安全,也更难以通过一个 IP 就确定用户了,因为可能一个小区都是在共享某一个 IP。
有人提到使用“呆梨”(原谅我用谐音了)来检查自己的 IP,这是可行的,但并不是你想象中的那么简单。因为大部分“呆梨”都是透明“呆梨”,就是他并不会隐藏你的用户信息,网站依然可以轻松的获取到你的 IP 地址。而且“呆梨”服务有能力获取到通过他的所有数据,这样增加了一个第三方,反倒变得更加不安全了。除非你有能力获取到一个真的值得信任的高匿“呆梨”,然而这依旧没有多大用途,读完下面一小节,你就会理解了。
哪些隐私才是值得我们重视的
【剩余 14% 的内容请至此处阅读: https://mp.weixin.qq.com/s/iMrAbi4PRNQTGVLlNjaXuA (需付费)】
或用微信扫描下方二维码。
Append:2020-08-07 19:08:09
我是真的太天真了,以为这事情就尘埃落定了呢,结果还得附加信息,啧啧~
刚才看到脚本被标记:
你们自己点链接进去看吧,喵喵喵,真就可可爱爱的,嗯,十分可可爱爱。
Append: 2020-08-09 18:15:44
看看下面的评论,我渐渐的不想讲了……
我必须完美吗?我必须取悦所有人吗?抱歉,我做不到的。你做得到吗?
没人意识到:权利和义务是对等的。当作者不享有任何权利时,他也没有任何义务了。
都以为我设置限制是为了恶心某些人,然而我并不在乎。真正变化的是用来发电的爱在流失。
每一次失望,带来的改变,都在让公开的分享变得更加局限。这堵墙是一些人亲手砌成的,而不是作者们不想分享。
依然,我的选择做完了。剩下的交给用户吧……
Append: 2020-08-27 06:13:45
时隔三周,这事儿还没完。依旧陆续不断的有人追着差评举报。
昨天发现新发布的脚本已经被打造成了全差评,今天早晨原脚本,又因为过多的举报而被隐藏。
在这篇文章发布之前,原脚本就已经开始提示用户自行卸载了,能用到今天还坚持不卸载,然后过来给我差评的,我也是挺佩服他们的毅力的。
新脚本我已经标明收费了,未付费用户我会当做盗版去看待的,就算我是自助付费,也并不等于随便拿,自助超市里的东西也不是可以随便拿出去的,对吧?
反正看后台的数据有 1000 多人在用,前两天我还特别给这个版本做了功能上的升级,因为使用方法上变化比较大,所以做了一个提示,确认之后就不会再弹出来了。结果就这又触发了一轮举报和差评。
反正这种吃了奶还骂娘的行为,我是不太理解。不过我的新脚本终于完成了初步的开发,喵喵喵~
Append: 2020-09-02 10:18:10
又被举报了,说我弹窗,十分烦人。喵喵喵,那就是提示用户卸载此脚本别的弹窗嗷,不肯卸载,还举报我……
你说上面这个戏码很熟悉?!这次的举报人已经不止两次拿着我这个脚本二次发布了(我举报了他两次),还在描述里“喵喵喵”(你们懂的
不过都一个月了,他们继续 high 吧,我不管了。哪天管理员手抖处理错了就……他们就可以开心的拿着我的代码四处招摇了。
Append: 2021年03月19日 19:14:18
如果完整记录下来,不只是碎碎念,根本就是要变成祥林嫂。所以虽然后面也发生了很多细节的事情,不过我并没有更新这个帖子。
上面各种举报的戏码一直持续不断,只不过不那么频繁了,不过基本都是重复的套路,也不值得脏了大家的耳朵。
刚过完春节发现自己又被举报了,真的是很特别的一份新年礼物呢。而且他成功了。
他说我加入跟踪代码违反了 Greasy Fork 的某一项规定,经管理员确认,我确实违反了。但是这项规定还没有正式实行,对,别说事发当时,就连被举报的时候这项规定都还没有正式实行。我就被这样举报了,而且管理员也确认这个情况确实违反这个规定。但是没做处理,因为就是还没有实行嘛。
我累了,于是我把统计代码去掉了。当然,其实我完全可以遵照这个规定添加一条声明,然后继续保留统计代码。我只是累了。
今天我的公众号又被举报了,跟脚本这件事情不相干,而且这个问题也确实是我的原因。所以就整改一下吧,而且为了避免更多的问题,索性把脚本的付费方式也修改了。大家也都知道,现在个人开发者想要进行收款是非常麻烦的,所以无奈之下,我只好开了一个微信上的小店。
这就是我,一个一心只想写点代码,解决点小问题的家伙,被人逼的去开了店的过程……
这中间消耗了多大的精力也记不清了,反正挺耽误我写代码的。
行吧,希望这件事情就这样了,然后再琢磨一个新的脚本,去解决新的问题。