MENU

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

December 6, 2021 • Read: 5647 • 挖煤相关

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

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

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

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


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

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

利用 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+tcp://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 的就行

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

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


gost 后台运行

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

服务端后台运行

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

前: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 目录中。这样下次开机登录后就会自动启动了~ 以后需要修改麻烦你去这里找它。


gost 真是个好用的工具啊,马上出 3.0 了,期待一下!

PS:创建了一个挖煤工人TG交流群,欢迎大家来玩~ 有时间我都会解答大家的问题的!

点鸡加入交流群

**请理性发言,拒绝争吵。
大家都是一届小矿工,应当互相帮助。**

Last Modified: January 18, 2022
Leave a Comment

20 Comments
  1. huohua huohua

    这三条命令原文有误
    ./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
    各位在第一个端口号和-F之间记得加个空格

    1. @huohua谢谢指出,我的失误,已修改

  2. miner_one miner_one

    有个问题就是,如果矿池还是在国内的,比如说蚂蚁的新地址,中转机和矿池之间的链接是没有加密的,这点有点无解

    1. @miner_one都已经出去海外VPS搭建中转了,当然用蚂蚁海外的矿池地址啦~

  3. xiaozhu xiaozhu

    请教一下我这个命令 server

    gost.exe -L wss://:2096
    gost.exe -L=tcp://:1000/43.155.94.8:5555

    local

    gost.exe -L :12880/:1000 -F wss://腾讯云:2096

  4. tiandao tiandao

    "nohup 你的完整命令 >/dev/null 2>&1 &"
    这条命令能给一个具体的例子吗?谢谢

    1. @tiandaonohup ./gost -L=http+tls://:8443 -F=forward+tcp://eth.f2pool.com:6688 >/dev/null 2>&1 &

  5. hbz12 hbz12

    服务端添加隧道命令提示:-bash: ./gost: No such file or directory,请问什么问题?

    1. @hbz12你执行命令的目录下没有gost,执行下ls看看是不是没有mv改名或者下载到了别的地方

  6. lai lai

    感谢分享!请问您延迟怎么样?

  7. 了

    能不能搞一个ssl加密的教程,和这个相比,哪一个更不易被识别

  8. 王者荣耀 王者荣耀

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

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

    楼主,我执行第一条命令没有问题,正常返回执行成功,第二条再粘贴复制执行不知道为何没有反应

    @echo off
    gost-windows-amd64 -L=tcp://:54321/0:0 -F=http+tls://39.39.39.39:2081
    gost-windows-amd64 -L=tcp://:54321/0:0 -F=http+tls://39.39.39.39:2082

    pause
    这个另存为bat文件,不知道为何只监听转发一个端口

  9. xixixi xixixi

    大佬,按你的教程转发,gost日志里面报错呢

    invalid method "\x01\x00\x00\x00\x16\x03\x01\x01"

  10. Maidou Maidou

    感谢大神!小白求教一下,这个linux系统可以用windows自带的Windows Subsystem for Linux来实现吗?

  11. 探员 探员

    这个是不是和之前介绍的六娃的原理一样,只是这个是自己架设

  12. henima henima

    矿机本地看到有算力,矿池上没数据,是哪个环节的问题

  13. 韭菜矿工 韭菜矿工

    你这个是矿机---gost--vps-----矿池,
    请问,如何在本地做一个中转机
    矿机-----中转机----gost--vps-----矿池

  14. [...]下载 Gost 的过程不再赘述,参考上一篇 与矿池中转机之间建立更安全的 SSL/TLS 连接[...]

  15. 散户旷工 散户旷工

    如果使用的是ssl链接的话挖矿程序还是需要用--protocol stratum+ssl 不然会显示协议错误

  16. [...]小科普挖煤RealmXray最后编辑于: 2021 年 12 月 09 日下一篇:与矿池中转机之间建立更安全的 SSL/TLS 连接上一篇:发生了什么?我怎么连不上矿池了!添加新评论OωO已有 10 条评论[...]