Настройка xmrig-proxy

Установка и настройка xmrig-proxy — прокси для Stratum. Stratum — это протокол общения майнера с пулом.

1. Зачем нужен xmrig-proxy

xmrig-proxy — это не майнер. Он не считает хеши и не грузит CPU. Это обычный relay для Stratum:

  • майнинг остаётся на локальной машине
  • VPS выступает только как прокси
  • провайдер видит обычное TCP-соединение к VPS
  • пул видит только IP VPS

2. Подготовка системы (Ubuntu)

Обновляем систему и ставим зависимости:

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

3. Сборка xmrig-proxy из исходников

Клонируем репозиторий:

git clone https://github.com/xmrig/xmrig-proxy.git
cd xmrig-proxy

Собираем:

mkdir build
cd build
cmake ..
make -j$(nproc)

Бинарь появится здесь:

xmrig-proxy/build/xmrig-proxy

4. Установка бинаря и конфига

Переносим бинарь:

install -m 0755 xmrig-proxy /usr/local/bin/xmrig-proxy

Создаём конфиг:

nano /etc/xmrig-proxy.json

Режимы работы proxy (mode)

Параметр mode определяет, как xmrig-proxy управляет заданиями и nonce между подключёнными майнерами.

  • nicehash — рекомендуемый режим по умолчанию. Proxy сам управляет extranonce, корректно агрегирует хешрейт и стабильно работает с большинством пулов. Подходит для одного или нескольких майнеров.
  • simple — упрощённый режим без расширенного управления nonce. Используется только для совместимости или тестов. Возможны коллизии и неровная статистика.
  • extra_nonce — продвинутый режим для больших ферм. Proxy жёстко управляет диапазонами nonce, но требует поддержки со стороны пула.

Важно: режим mode не влияет на сложность (difficulty). Сложность всегда задаёт пул. Proxy лишь принимает её и раздаёт майнерам.

Рекомендация: для обычного использования всегда выбирайте nicehash.

Минимальный рабочий конфиг (supportxmr)

{
  "bind": [
    "0.0.0.0:3333"
  ],
  "access-log-file": "none",
  "mode": "nicehash",
  "pools": [
    {
      "url": "pool.supportxmr.com:443",
      "user": "XMR_WALLET_ADDRESS",
      "pass": "x",
      "coin": "monero",
      "tls": true,
      "keepalive": true
    }
  ]
}

Примечание: порт 3333 здесь — это локальный порт proxy. Он не имеет отношения к сложности и не связан с портами пула.

5. Запуск вручную (проверка)

Перед автозапуском проверяем руками:

/usr/local/bin/xmrig-proxy -c /etc/xmrig-proxy.json

Если всё ок, увидим подключение к пулу и входящие соединения от майнеров.

6. systemd-сервис

Создаём unit:

nano /etc/systemd/system/xmrig-proxy.service
[Unit]
Description=XMRig Stratum Proxy
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/xmrig-proxy -c /etc/xmrig-proxy.json
Restart=always
RestartSec=5
LimitNOFILE=1048576
NoNewPrivileges=true
PrivateTmp=true
ProtectSystem=full
ProtectHome=true

[Install]
WantedBy=multi-user.target

Включаем и запускаем:

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

Проверка:

systemctl status xmrig-proxy
journalctl -u xmrig-proxy -f

7. Настройка XMRig-клиента

На локальной машине XMRig подключается к proxy, а не к пулу напрямую:

"pools": [
  {
    "url": "VPS_IP:3333",
    "user": "XMR_WALLET_ADDRESS",
    "pass": "x",
    "tls": false,
    "keepalive": true
  }
]

TLS между клиентом и proxy не нужен — шифрование используется только между proxy и пулом.

8. Ограничение доступа (nftables)

Рекомендуется закрыть порт proxy по IP:

ip saddr ВАШ_IP tcp dport 3333 accept
tcp dport 3333 drop

9. Просмотр статистики

  • Логи сервиса: journalctl -u xmrig-proxy -f
  • При необходимости можно включить HTTP API (локально)

Итог

  • Майнинг остаётся на локальной машине
  • VPS не считает хеши, только проксирует