搭建 SSL 挖矿代理
让所有矿机都经过一台由您控制的服务器:SSL 挖矿代理是什么,什么时候需要,如何设置,以及它为什么能消除共享矿机名称的警告。
什么是 SSL 挖矿代理
挖矿代理是一台由您租用并掌控的小型服务器。您的矿机连接到它而不是直接连接矿池,它代表这些矿机保持一条通往矿池的加密连接。您的挖矿方式没有任何变化:提交的是同样的份额,使用的是同样的矿机名称,支付也完全相同。变化的只是路径。
它之所以叫 SSL 代理,是因为您的代理与矿池之间的链路使用 TLS 加密。您的矿机只与您自己的服务器通信,使用您选择的端口,因此屏蔽矿池主机名或挖矿端口的网络看不到任何它能识别的东西。
什么时候真正需要它
大多数矿工从不需要代理。只有在以下情况之一成立时才考虑使用。
- 您的网络服务商或所在国家屏蔽了矿池主机名或挖矿端口,而更换 DNS 无法解决。
- 您在多个地点运行矿机,希望它们通过同一条路线连接矿池。
- 您有许多矿机共用一条缓慢或不稳定的上行链路,希望只用一条对外连接而不是几十条。
- 矿池提示同一个矿机名称正在从多个国家使用,而这些矿机确实都是您的。
如果以上都不成立,代理只会多出一台可能出故障的机器。请直接挖矿。
为什么它能消除共用矿机名称的警告
当一个矿机名称从多个位置出现时(两个挖矿服务器地区就足够,即使在同一个国家内),您的仪表盘会发出警告,因为从矿池这边看,这就像同一个名称被不止一个人使用。如果您的矿机确实分布在各地,每一台都会显示为各自的来源。
让它们全部通过一个代理,矿池看到的就是单一来源,警告随之消失。为每台矿机设置各自的矿机名称不用代理也能解决同样的问题,当矿机都在同一个地方时,这是更简单的办法。
您需要什么
- 一台位于能够访问矿池的国家的小型虚拟服务器。最便宜的配置就够了:代理只转发字节,不进行哈希计算。
- 该服务器的 root 权限,以及为您的矿机开放一个入站端口的能力。
- 您要连接的矿池主机名,见下文列表。
最简单的方案:stunnel
stunnel 把普通连接包装成 TLS。您的矿机在您自己的端口上用普通 stratum 与代理通信,stunnel 则用 TLS 与矿池通信。从您的发行版安装它,然后使用如下形式的配置。
[mining]
client = yes
accept = 0.0.0.0:4444
connect = de.pearl.herominers.com:1200
verifyChain = no启动服务,用普通 stratum URL 把一台矿机指向您的代理地址的 4444 端口。如果挖矿软件连接成功且份额被接受,说明路径可用。之后再把其余矿机迁移过来。
把 connect 一行替换为您所挖币的主机和端口。让 accept 一行只监听您的矿机能访问、而其他人无法访问的地址:对整个互联网开放的代理会被陌生人发现并使用。
替代方案:nginx stream
如果代理服务器上已经运行 nginx,它的 stream 模块也能完成同样的工作,并且所有内容都保留在一个配置文件中。
stream {
server {
listen 4444;
proxy_ssl on;
proxy_pass de.pearl.herominers.com:1200;
}
}这需要编译了 stream 模块的 nginx,大多数发行版的软件包都包含该模块。重新加载 nginx,并按上述方法用一台矿机进行测试。
把矿机指向代理
每台矿机只需更改矿池地址。钱包地址、矿机名称和其他所有选项保持不变。
-o stratum+tcp://YOUR-PROXY-IP:4444 -u YOUR_WALLET.rig1 -p x即使在代理后面,也要为每台矿机设置各自的矿机名称。代理隐藏了它们的位置,因此矿机名称是仪表盘上唯一能区分它们的东西。
连接哪个主机
每个 HeroMiners stratum 端口都同时接受普通连接和 TLS 连接,例如 de.pearl.herominers.com:1200。下面列出了 HeroMiners 的所有币。请选择离您的代理最近的地区,而不是离矿机最近的地区:保持连接的是代理这台机器。
- Alephium: alephium.herominers.com
- Beam: beam.herominers.com
- Conflux: conflux.herominers.com
- Ergo: ergo.herominers.com
- Ethereum Classic: etc.herominers.com
- Iron Fish: ironfish.herominers.com
- Kaspa: kaspa.herominers.com
- Monero: monero.herominers.com
- Pearl: pearl.herominers.com
- QRL: qrl.herominers.com
- Quai Network: quai.herominers.com
- Quantus: quantus.herominers.com
- Ravencoin: ravencoin.herominers.com
- Salvium: salvium.herominers.com
- Warthog: warthog.herominers.com
- Xelis: xelis.herominers.com
- Zano: zano.herominers.com
- Zephyr: zephyr.herominers.com
每个矿池都在其「如何挖矿」页面上列出了各地区的主机名和端口。在主机前加上地区前缀,例如 de.pearl.herominers.com。
常见错误
- 让代理端口对互联网开放。请用防火墙规则把它限制为仅允许您自己的地址访问。
- 在实施屏蔽的同一个国家租用代理。请选择一个能访问矿池的国家。
- 一次迁移所有矿机。先迁移一台,确认份额被接受,再迁移其余矿机。
- 期待算力增加。代理改变的是路线,而不是工作;如果说有影响,也只是增加几毫秒。
- 忘记代理的存在。它是另一台可能宕机的机器,所以要像监控矿机一样监控它。
是否值得
如果屏蔽让您根本无法挖矿,那么值得:代理是绕过它最便宜的方法。如果您只是想消除仪表盘上的一条警告,为每台矿机设置各自的矿机名称是免费的,效果也一样。当问题在于路线而不在于名称时,再考虑使用代理。