与矿池中转机之间建立更安全的 SSL/TLS 连接

ETH 挖矿时连接矿池常用的前缀是 stratum+tcp:// ,这个大家都知道了。其中 Stratum 是为矿工和矿池进行通信所设计的网络协议,基于 TCP 传输。

大多数矿池使用的都是 Stratum V1 协议,而该版本下网络通信为明文。熟悉网络安全的工程师都知道,明文通信的协议理论都可能遭受到 “中间人攻击”。且该协议特征明显,经过大量数据训练,通过机器学习,该协议非常容易被识别。也就知道了你在家都干些啥 = =、

虽然有基于 TLS 加密后的 Stratum 协议,常见为 stratum+ssl://,但是也仅仅只是明文变成了加密数据,其外部特征不变。依然知道你在做什么。

绝望啊,有什么好法子吗? 有的!


其实早在几年前,当时 Shadowsocks 被曝出已经能精确识别并封锁。大量搭建了 SS 的国外 VPS IP 被屏蔽,论坛一片哀嚎。人们舍不得放弃这样一款轻量、高效的的代理工具,但也不得不开始担心自己的安全。被知道你在翻墙可不是什么好事儿...

后来,Gost 出现了。它!@#%#^。!&@# 好!废话不多说直接进入主题

展开目录

Github 项目主页 官方文档 下载地址

展开目录

测试环境 Debian 10

   默认你会控制防火墙以及 wget 等基础软件

下载适用于 Linux x86_64 的 gost

wget https://github.com/ginuerzh/gost/releases/download/v2.11.1/gost-linux-amd64-2.11.1.gz
gzip gost-linux-amd64-2.11.1.gz -d
mv gost-linux-amd64-2.11.1 gost && chmod +x gost

接下来通过几条例子来学习如何建立一条 TLS 隧道:

./gost -L=http+tls://:8443 -F=forward+tcp://eth.f2pool.com:6688

./gost -L=http+tls://:8443 -F=forward+tls://asia2.ethermine.org:5555

./gost -L=http+tls://:8443 -F=forward+tcp://asia2.ethermine.org:4444

以上三条例子中,8443 代表了后面矿机上 gost 连接的端口,可以自定义。最后的域名表示这三条分别连接了 鱼池TCP端口E池SSL端口E池TCP端口。请务必确保他们与你实际需要使用的保持一致!

因为本文介绍的 gost 隧道使用的是 http+tls 的协议,目的是伪装成普通的网页流量访问。所以在服务端端口的选择上请尽量使用比较常见的 http ssl 端口。

例如:

443 (太热门了... 别了吧)
2053
2083
2087
2096
8443

输入完你想要测试的命令后 gost 开始跑起来了。先别管它,我们回到矿机。

展开目录

下载 Windows 64 位 gost:点我下载

解压到 C:\Windows\System32 目录,方便使用。(我真懒)

新建一个 txt 文本,将下面的内容拷贝进去:

@echo off
gost-windows-amd64 -L=tcp://:54321/0:0 -F=http+tls://1.1.1.1:8443

pause

其中 54321 为你矿机实际连接的端口,54321 后面跟的 /0:0 原本是应该填地址与端口,但这里用不到又不能不填,所以随意填了个。最后的 1.1.1.1:12345 必须修改为你的 服务器IP 以及当时定义的 连接端口,比如教程中的服务端就填写的 8443,所以这里也是 8443。

修改完毕后将文件改名为 gost.bat,双击运行开始调试。

展开目录

最后设置下矿机或挖矿软件。

将需要挖的池子的 地址与端口 修改为 127.0.0.1:设置的端口。例如上面客户端设置的就是 54321。

注意此处不能使用 SSL,即使你服务器端要连的是 SSL 的矿池,这里也只需要 TCP 的就行

如没有啥意外,它挖起来了。

如果运行或连接失败,仔细检查你前面的各项设置是否互相匹配。


展开目录

调试完成,确认无误后。就需要将它们放在后台默默干活了

展开目录

来个简单点的,在你已经准备好的命令前后加上以下内容↓

前:nohup, 后:&

比如:nohup 你的完整命令 >/dev/null 2>&1 &

然后会得到一个讯息,比如 [1] 5721,这是你这条命令的 PID,记下来:touch 5721。下次需要干掉他的时候 ls 一下,看到是 5721,然后 kill -9 5721 就结束掉它的后台运行了。

展开目录

将你测试好的 gost.bat 丢入 C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp 目录中。这样下次开机登录后就会自动启动了~以后需要修改麻烦你去这里找它。