矿池被墙了,还有什么办法能连上?
December 16th, 2021

在很久很久以前,有一堵墙架在大陆与国际互联网之间,它就是 GFW!
从那时起,人们就已经开始想各种办法跨过它。
所以不用担心,此问题已经有解!

大体上可以分为三种情况:

  1. 直连矿池的国外 CDN 域名
  2. 使用国外服务器转发矿池端口
  3. 依靠现有的代理软件为挖矿提供翻墙

众所周知,挖矿是门躺赚的活 (矿潮时期)。而开矿池,抽矿友门的佣金,虽然比挂机挖矿累点,但只要用户体量上去了,赚得只会更多。作为一个矿池,肯定希望自己的用户越多越好。但架不住有些国家地区法律禁止了挖矿活动。

这里以鱼池举例

在国外,鱼池使用的是 Cloudflare (以下简称 CF) 的 CDN 服务为全球矿友提供连接。

而为了服务中国大陆地区用户,鱼池则使用了阿里云的 CDN 服务。想必大家能猜到 CF 的使用体验在大陆地区一定很差吧?但有一个好处是 CF 的 CDN 域名不用担心被大面积阻断。因为除了矿池,还有其他的厂商同样使用 CF 的 CDN 服务。一旦全部阻断,受牵连的无辜厂商肯定是多于需要 “制裁” 的厂商的

结合上一篇分析文章,鱼池使用的 CF CDN 域名为
eth.f2pool.com.cdn.cloudflare.net12f713daf74148c18f110d179fc6170c.pacloudflare.com

纠正上一篇文章的一个错误:
当时我认为这种随机数前缀的 CDN 域名是不可持久使用 CDN 域名。不过这几天我观察之后发现这个域名一直没变,并且多个地区测试出的结果都是这个域名。
所以我觉得这个随机前缀域名拿来一直用也是 OK 的,在此纠正一下!

不过 CF CDN 在国内的服务连通性也一般。所以也不会太好用,比较看地区。

像我老家的测试矿机就无法连上,而居住地的测试机器就可以连上但也丢包严重

以下是一些矿池ETH节点的CDN域名,端口保持原来的不变

鱼池海外CDN服务由Cloudflare提供:
eth.f2pool.com.cdn.cloudflare.net
12f713daf74148c18f110d179fc6170c.pacloudflare.com

Ethermine矿池海外CDN服务由CLoudflare提供:
Asia1:49544245d7934e5baaec258728a04c33.pacloudflare.com
Asia2:c2e74ad4719846c686448bd4c8071e88.pacloudflare.com
EU、US地区的链接不推荐使用就不放出了

币安矿池海外CDN服务由AWS提供:
ab189dbfcc17c21af.awsglobalaccelerator.com

如果不是实在没有法子了,不推荐直连海外 CDN 域名~


展开目录

这种方法是现阶段最推荐的,但随着 GFW 的包检测以及各地区运营商的包检测开始后也不排除被阻断的可能

能用且用!

转发矿池端口的原理是利用一台海外的服务器将矿池的数据原样转发,在通过自己的端口送出去。

你连上中转机的 IP 或域名 + 端口,就等同于连上了海外矿池。

并且由于是海外机器转发的海外矿池,在钱包地址匿名挖矿的情况下矿池是无法判断你是不是大陆用户的,所以此方法不会受到各大矿池清退大陆用户的影响~

大致原理图:

【待补充】

挖矿流量的传输采用的是基于 TCP 的 Stratum 协议,理论上能转发 TCP 流量的工具都 OJBK

有兴趣了解 Stratum 协议的矿友可以跳转进行阅读:
Stratum 协议文档

大家比较常用的是矿池给到的 stratum+tcp:// 前缀,也就是未经加密的普通传输。
有的则采用了 stratum+ssl:// 前缀,是在前者的基础上套了一层 SSL 加密。内容虽不再是明文可见,但两者的特征明显,可被大量训练后的数据模型检测识别。

虽然是这样,但能用 SSL 还是尽量用(虽然自建中转要用 SSL 会麻烦很多很多)

经过这几天的测试,个人倾向于使用以下两种工具进行转发。
下面将 "简单" 介绍下搭建与使用方法,承让了...
( SSL 的使用单独讲)


以下方法均系个人使用,如哪里讲错欢迎指出

以下教程,如果全部照做无报错仍然无法访问...
请自行检查防火墙是否放行,不懂的话请使用搜索引擎

展开目录

一款由 Rust 编写的高性能中转工具

使用简单,支持转发 DDNS 域名,支持多端口,支持配置文件。作为一款轻量转发工具,个人认为很完美!

Github 直接下载:Github Realm v1.4

作者中文文档 (较长时间未更新)
Github 主页

展开目录

展开目录

需要一台安装了 Linux 系统的服务器,登录 root 用户。

  1. 防小白

    Debian:
    ape update -y && apt install wget -y
    
    Centos:
    yum update -y && yum install wget -y
    
    
  2. 下载 Realm 并赋予执行权限

    wget -O /root/realm https://github.com/zhboner/realm/releases/download/v1.4/realm
    chmod +x /root/realm
    
    
  3. 一条命令开始测试使用
    /root/realm -l 0.0.0.0:16688 -r eth.f2pool.com:6688

上一条命令中的 矿池地址与端口 可随意替换为你需要使用的矿池,但不可使用矿池提供的 SSL 端口

敲完命令后回到矿机进行测试,将挖矿软件中矿池的地址与端口修改为你中转机的 IP 地址与端口 即可开始挖矿。

测试没问题后,你可能会发现一旦关闭服务器的窗口转发就失效了?那是因为那条命令是让 Realm 运行在前台,一旦关闭后就会失效。

进行下一步操作前,请先按 Ctrl+C 结束掉正在运行中的 Realm

如果测试没问题,接下来我们要用更加稳定可靠的方式去运行它。

展开目录

Realm 支持通过配置文件启动,我们将需要的转发确定别写入配置文件后,Realm 每次启动就会从配置文件中读取你需要的转发,就不用每次都敲一大串命令啦。

确定你要的转发端口与矿池,以下端口均为举例,请根据自己实际需求修改。

下面的配置文件我将通过 16688,14444,18888 分别转发 鱼池 6688,E 池 4444,币安 8888。

写入示例配置文件:

cat > /root/realmconfig.json <<EOF
{
    "listening_addresses": ["0.0.0.0"],
    "listening_ports": ["16688", "14444", "18888"],
    "remote_addresses": ["eth.f2pool.com", "asia1.ethermine.org", "ethash.poolbinance.com"],
    "remote_ports": ["6688", "4444", "8888"]
}
EOF

以上内容一次性复制粘贴进终端并回车,或者你一行一行复制粘贴回车复制粘贴回车直到最后一行也彳亍...

可自定义选项:

listening_ports        监听端口,即你矿机连接的端口
remote_addresses    远程地址,即被转发的域名或IP地址
remote_ports        远程端口,即被转发的域名或IP对应的端口

以上三项必须在配置中 一 一 对 应

实际使用时只需将上面给出的自定义选项进行修改即可。

请千万不要泄露你的 IP 地址与服务端口,这是常识,除非你打算公开给大家用
(也有可能会挨揍消耗大量流量并影响正常使用)

配置修改并保存后,让我们测试一下:

/root/realm -c /root/realmconfig.json

然后逐个测试你定义的端口吧~

最后,测试完成,都没问题了。可它还是在系统前台运行~关了终端就停止了。
记得先 Ctrl+C 结束正在运行的 Realm!

展开目录

顾名思义,就是保持它一直在运行

废话不多说我尼玛直接开始:

cat > /etc/systemd/system/realm.service <<EOF
[Unit]
Description=realm
After=network-online.target
Wants=network-online.target systemd-networkd-wait-online.service

[Service]
Type=simple
User=root
Restart=on-failure
RestartSec=5s
DynamicUser=true
ExecStart=/root/realm -c /root/realmconfig.json

[Install]
WantedBy=multi-user.target
EOF

以上内容一次性复制粘贴进终端并回车,或者你一行一行复制粘贴回车复制粘贴回车直到最后一行也彳亍...

创建完成后需要重新加载并手动启动一下服务,最后开启开机自启。

systemctl daemon-reload        \\ 重新加载
systemctl start realm        \\ 手动启动服务

再次测试无误后

systemctl enable realm        \\ 开启开机自启

到这里 Realm 的教程就结束了 ✿✿ヽ (°▽°) ノ✿

教程中 Realm 与其配置文件的位置仅仅是为了方便而放在 root 目录,实际为了方便管理请养成该放哪儿放哪儿的良好习惯(小白忽略)


接下来的工具就很有名了... 但配置难度稍高。我思考了下直接部署和 Docker 哪一个更适合小白。
还是... 直接部署吧!

展开目录

Project X originates from XTLS protocol, provides a set of network tools such as Xray-core and Xray-flutter.

功能强大,但... 这里我们既不会用到 VMess VLESS 或是 Torjan,也不会用到 XTLS Fallbak

Github 主页
项目文档

转发矿池主要用到了 Xray 入站代理中的 Dokodemo-Door 协议

Dokodemo door(任意门)可以监听一个本地端口,并把所有进入此端口的数据发送至指定服务器的一个端口,从而达到端口映射的效果。

Xray 的配置稍有难度,容易出错,尽量直接说操作不讲原理吧

  1. 安装 Xray
    bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install -u root
  2. 直接用我写好的现成配置
    rm /usr/local/etc/xray/config.json

mkdir /root/xray

cat > /usr/local/etc/xray/config.json <<EOF
{
  "log": {
    "access": "/root/xray/access.log",
    "error": "/root/xray/error.log",
    "loglevel": "warning"
  },
  "inbounds": [
    {
      "listen": "0.0.0.0",
      "port": 16688,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "eth.f2pool.com",
        "port": 6688,
        "network": "tcp",
        "timeout": 300,
        "followRedirect": false
      },
      "tag": "F2Pool"
    },
    {
      "listen": "0.0.0.0",
      "port": 14444,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "asia1.ethermine.org",
        "port": 4444,
        "network": "tcp",
        "timeout": 300,
        "followRedirect": false
      },
      "tag": "EPool"
    },
    {
      "listen": "0.0.0.0",       
      "port": 18888,
      "protocol": "dokodemo-door",
      "settings": {
        "address": "ethash.poolbinance.com",
        "port": 8888,
        "network": "tcp",
        "timeout": 300,
        "followRedirect": false
      },
      "tag": "BinancePool"
    }
  ],
  "outbounds": [
    {
      "protocol": "freedom",
      "tag": "free"
    }
  ]
}
EOF

从开始的 cat .... 到上面这行的 EOF,一次性复制之后粘贴进终端然后回车

上述配置中,除了 16688 6688 或 矿池地址之类的可以修改,其它请勿动...

完成后 systemctl start xray 开启 Xray 进行测试,矿池和所占端口与上面 Realm 示例相同。

确认无问题后 systemctl enable xray 开启开机自启,服务器重启也不用担心转发中断。

配置文件目录在 /usr/local/etc/xray/confing.json
有需要请自行修改

修改完成后请重启 Xray 以生效
重启 Xray:systemctl restart xray

Xray 是一个我很喜欢的工具


展开目录

此方法应该是现阶段最安全靠谱的方法

前提是你需要有一个 已经能正常工作的代理软件,包括但不限于 V2rayN,Clash,Shadowsocks 等

请自行打开这几个软件的 “允许局域网连接” 的功能

然后用到了一个大佬提供的工具 6 娃,基于 gost 编写的用来桥接挖矿软件与代理软件的工具

以 V2rayN 举例

V2rayN 打开局域网连接。

软件主界面底部显示开放给局域网的 SOCKS5 代理地址与端口为 127.0.0.1:10808。

这时打开 6 娃,主界面如图

中转机 IP:指的是你当前机器在局域网内的 IP 地址,如果希望局域网内其他机器也能连接到六娃,请不要修改。
中转机 IP 端口:可自定义
矿池地址与端口:自定义需要连接的矿池,支持 SSL
SOCKS5 地址与端口:本机使用请填写 127.0.0.1 和 你所使用的代理软件提供的 SOCKS5 端口,局域网内其他机器请使用中转机 局域网 IP 和代理软件提供的 SOCKS5 端口
tips: 局域网 IP 即打开六娃默认第一栏的 IP

一切设置好后点击启动,并将 中转机 IP 与端口 填入挖矿软件的 矿池地址与端口 中。

本机使用的话 矿池地址请填写 127.0.0.1,局域网机器使用请填写六娃所在机器的局域网 IP

查看挖矿内核日志,代理软件日志,观察是否正常。

代理软件中的节点应尽量选择延迟低,稳定的节点
IPLC 节点最好

代理软件开的 SOCKS5 仅限在局域网内使用!请勿在公网中传输,是明文。

不建议使用没有 IPLC 或隧道中转的 SS,容易被墙

原地址:

Subscribe to 0xEC91…2a1F
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from 0xEC91…2a1F

Skeleton

Skeleton

Skeleton