跳到正文
TariTalk
返回

XMRig Proxy 部署教程

发布于
挖矿

目录

展开目录

前言

如果你有多台设备、想统一配置、降低矿池封禁风险,或者在挖矿过程中遇到网络丢包、连接不稳等问题,那么部署一台 XMRig Proxy 会是非常实用的解决方案。

它虽然不会提升算力本身,但可以让你的挖矿系统 更稳定、更好管理、更少出错:

本教程将带你一步步完成编译、配置与部署,并通过 systemd 以服务形式运行,实现开机自启,稳定高效,适合长期挂机。

XMRig Proxy 更像是一位 “总指挥官”,让每台矿机协同作战,稳稳产出。


一、安装系统依赖

apt update
apt install -y git build-essential cmake libuv1-dev uuid-dev libmicrohttpd-dev libssl-dev

二、下载并编译源码

cd /root
git clone https://github.com/xmrig/xmrig-proxy.git
mkdir -p xmrig-proxy/build
cd xmrig-proxy/build
cmake ..
make -j$(nproc)

三、复制可执行文件与默认配置文件

cp /root/xmrig-proxy/build/xmrig-proxy /root/proxy
cp /root/xmrig-proxy/src/config.json /root/config.json

四、修改配置文件中的矿池信息

打开 /root/config.json 文件,找到 "pools" 部分,修改为如下内容(将 YOUR_WALLET_ADDRESS 替换为你的 Tari 钱包地址):

"pools": [
    {
        "algo": "rx/0",
        "coin": null,
        "url": "pool-global.tari.snipanet.com:3333",
        "user": "YOUR_WALLET_ADDRESS",
        "pass": "x",
        "rig-id": null,
        "keepalive": true,
        "enabled": true,
        "tls": false,
        "tls-fingerprint": null,
        "daemon": false
    }
],

其他内容保持默认。


五、配置为 systemd 服务

cat > /etc/systemd/system/xmrig-proxy.service <<EOF
[Unit]
Description=XMRig Proxy Service
After=network.target

[Service]
ExecStart=/root/proxy --config=/root/config.json
Restart=always
Nice=10
CPUWeight=1

[Install]
WantedBy=multi-user.target
EOF

启动并设为开机自启:

systemctl daemon-reload
systemctl enable xmrig-proxy
systemctl start xmrig-proxy

查看运行日志:

journalctl -fu xmrig-proxy

六、其他矿机如何连接本机代理?

配置文件中默认已包含以下监听设置:

"bind": [
    {
        "host": "0.0.0.0",
        "port": 3333,
        "tls": false
    },
    {
        "host": "::",
        "port": 3336,
        "tls": false
    }
],

这意味着代理程序会监听本机所有 IP 地址的 3333 端口。
其他矿机可以通过代理所在机器的 IP 地址连接,例如:

"url": "192.168.1.10:3333",

其中 192.168.1.10 是运行代理的主机局域网 IP 或公网 IP。


七、常用命令汇总

操作命令
启动代理systemctl start xmrig-proxy
停止代理systemctl stop xmrig-proxy
重启代理systemctl restart xmrig-proxy
查看日志journalctl -fu xmrig-proxy

第八章附录:示例配置文件(含注释说明)

为了提升矿工与代理服务器之间通信的安全性,XMRig Proxy 支持启用 TLS(传输层安全协议)。尤其在公网部署或多矿机远程连接场景中,启用 TLS 能有效防止中间人攻击与数据嗅探,增强整体稳定性与可信度。

完整配置文件

{
  "access-log-file": null,
  "access-password": null,
  "algo-ext": true,
  "api": {
    "id": null,
    "worker-id": null
  },
  "http": {
    "enabled": false,
    "host": "0.0.0.0",
    "port": 10006,
    "access-token": "your_password",
    "restricted": false
  },
  "background": false,
  "bind": [
    {
      "host": "0.0.0.0",
      "port": 10002,
      "tls": true
    },
    {
      "host": "::",
      "port": 3336,
      "tls": false
    }
  ],
  "colors": true,
  "title": true,
  "custom-diff": 0,
  "custom-diff-stats": true,
  "donate-level": 0,
  "log-file": null,
  "mode": "nicehash",
  "pools": [
    {
      "algo": "rx/0",
      "coin": null,
      "url": "pool-global.tari.snipanet.com:9001",
      "user": "your_wallet_address",
      "pass": "debian",
      "rig-id": null,
      "keepalive": true,
      "enabled": true,
      "tls": true,
      "tls-fingerprint": null,
      "daemon": false
    }
  ],
  "retries": 2,
  "retry-pause": 1,
  "reuse-timeout": 0,

  "tls": {
    "enabled": true,
    "protocols": "TLSv1.3",
    "cert": "/usr/local/nginx/conf/ssl/your_domain.crt",
    "cert_key": "/usr/local/nginx/conf/ssl/your_domain.key",
    "ciphers": null,
    "ciphersuites": "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256",
    "dhparam": null
  },
  "user-agent": null,
  "syslog": false,
  "verbose": false,
  "watch": true,
  "workers": true
}

pools:矿池连接配置说明

"pools": [
  {
    "algo": "rx/0",                   // rx/0 代表 RandomX
    "coin": null,                    // 留空表示自动识别
    "url": "pool-global.tari.snipanet.com:9001", // 使用 9001(开启了 TLS 加密)
    "user": "your_wallet_address",   // 钱包地址,挖矿收益将打入此地址
    "pass": "debian",                // 密码字段,多数矿池接受任意字符串
    "rig-id": null,                  // 矿机标识(可选)
    "keepalive": true,               // 建议设为 true,避免频繁重连
    "enabled": true,                 // 是否启用此矿池配置
    "tls": true,                     // 启用与矿池的 TLS 加密通信
    "tls-fingerprint": null,         // 指定矿池 TLS 证书的指纹
    "daemon": false                  // 通常设为 false
  }
]

tls:TLS 证书与加密配置说明

"tls": {
  "enabled": true,       // 启用 TLS,用于提供矿机连接端口
  "protocols": "TLSv1.3",// 仅允许使用 TLSv1.3 协议
  "cert": "/usr/local/nginx/conf/ssl/your_domain.crt",     // 公钥
  "cert_key": "/usr/local/nginx/conf/ssl/your_domain.key", // 私钥
  "ciphers": null,       // TLS 1.3 不使用,可留空
  "ciphersuites": "TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256",
                         // TLS 1.3 加密套件
  "dhparam": null        // TLS 1.3 不需要
}

bind:监听端口与 TLS 配置说明

"bind": [
  {
    "host": "0.0.0.0",   // 监听所有 IPv4 地址
    "port": 10002,       // 代理监听的端口
    "tls": true          // 启用 TLS)
  },
  {
    "host": "::",        // 监听所有 IPv6 地址
    "port": 3336,        // 非加密端口
    "tls": false         // 不启用 TLS
  }
]

代理程序会监听本机的 10002 端口。
其他矿机可以通过设置的域名进行连接,例如:

pools 配置如下所示:

"pools": [
    {
        "algo": null,
        "coin": null,
        "url": "your_domain:10002",
        "user": "debian+20000",
        "pass": "debian",
        "rig-id": null,
        "nicehash": false,
        "keepalive": true,
        "enabled": true,
        "tls": true,
        "sni": false,
        "tls-fingerprint": null,
        "daemon": false,
        "socks5": null,
        "self-select": null,
        "submit-to-origin": false
    }
],

参数说明:

"url": "your_domain:10002",         // 服务器的域名 + 监听端口
"user": "debian+20000",            // // 矿工标识 + +期望难度(本例为 1KH/s 的设备)
"keepalive": true,                 // 保持长连接,减少频繁重连
"tls": true                        // 启用 TLS 加密

如果你有多台设备或较复杂的网络环境,XMRig Proxy 会是一个便于集中连接和统一管理的实用选择。


分享这篇文章:

上一篇
编译无抽水版 XMRig 教程
下一篇
Android 钱包安装与配置