Документация
Изменение конфигурации RustMinerSystem в CLI-режиме
Редактирование rust-config, port-config.json и wallet-config.json в CLI-режиме RustMinerSystem с применением через rustminer restart.
Изменение конфигурации RustMinerSystem в CLI-режиме
В CLI-режиме конфигурация меняется не через web-панель, а напрямую в терминале сервера. Отредактируйте конфигурационные файлы RustMinerSystem, сохраните их и выполните rustminer restart, чтобы применить изменения.
Каталог установки по умолчанию:
cd /root/rustminersystem
Если у вашей сборки индивидуальный каталог или используется debug-окружение, запустите install-скрипт и выберите пункт 21, чтобы посмотреть runtime status и пути файлов.
Рабочий порядок
Рекомендуемый порядок:
cd /root/rustminersystem
cp rust-config rust-config.bak.$(date +%Y%m%d%H%M%S)
cp port-config.json port-config.json.bak.$(date +%Y%m%d%H%M%S)
cp wallet-config.json wallet-config.json.bak.$(date +%Y%m%d%H%M%S)
nano rust-config
nano port-config.json
nano wallet-config.json
rustminer restart
Можно использовать vim, vi или другой terminal editor. После изменения JSON-файлов проверьте формат, если доступен jq:
jq . port-config.json >/dev/null
jq . wallet-config.json >/dev/null
Если jq не установлен, как минимум проверьте кавычки, запятые, квадратные и фигурные скобки JSON.
rust-config
rust-config — текстовый файл с одной настройкой на строку:
KEY=value
Обычные переключатели и порты записываются числами. Значения-массивы и значения-объекты записываются как однострочный JSON. Не разбивайте одно JSON-значение на несколько строк.
Частые настройки:
| Настройка | Описание |
|---|---|
ENABLE_WEB_UI |
Включает web-панель. 1 — включено, 0 — выключено. CLI-режим требует отключенного web-доступа, поэтому установите 0. |
ENABLE_WEB_TLS |
Протокол web-панели. 1 — HTTPS, 0 — HTTP. Важно только при включенном web-доступе. |
START_PORT |
Порт web-панели. По возможности используйте диапазон 10000-65535. |
RMS_PORT |
Порт доступа RMS. По возможности используйте диапазон 10000-65535. |
POOLNODE_PORT |
Порт доступа PoolNode. По возможности используйте диапазон 10000-65535. |
IP_BLACKLIST |
Черный список IP в формате JSON array. |
WALLET_BLACKLIST |
Черный список wallet в формате JSON array. |
WALLET_WHITELIST |
Белый список wallet в формате JSON array. |
POOL_ENDPOINT |
Настройки custom pool и custom wallet в формате JSON object. |
RMS |
Настройки RMS в формате JSON object. |
WARNING_SETTING |
Настройки alert в формате JSON object. |
Пример:
ENABLE_WEB_UI=0
ENABLE_WEB_TLS=0
START_PORT=46679
RMS_PORT=13293
POOLNODE_PORT=15354
IP_BLACKLIST=["203.0.113.10","198.51.100.20"]
WALLET_BLACKLIST=["wallet-name"]
WALLET_WHITELIST=[]
Порты также можно заменить через sed:
sed -i 's/^START_PORT=.*/START_PORT=46679/' rust-config
sed -i 's/^RMS_PORT=.*/RMS_PORT=13293/' rust-config
sed -i 's/^POOLNODE_PORT=.*/POOLNODE_PORT=15354/' rust-config
Не публикуйте и не показывайте на скриншотах реальные REMOTE_KEY, REMOTE_CODE, OB_TOKEN, SMTP secrets и похожие токены. Если вы меняете только порты, web-доступ или blacklists, обычно эти секретные поля трогать не нужно.
port-config.json
port-config.json хранит настройки портов как JSON array. Каждый объект представляет один порт подключения майнеров.
Формат ID порта
При ручном добавлении порта создавайте id в фиксированном формате:
5 случайных букв или цифр + . + 2 случайные цифры
Примеры:
6YMpg.06
A1b2C.34
В виде regular expression формат выглядит так: [A-Za-z0-9]{5}\.[0-9]{2}. Не используйте одинаковый id внутри одного файла port-config.json.
Частые поля:
| Поле | Описание |
|---|---|
id |
ID порта. При редактировании существующего порта сохраняйте старое значение; при ручном добавлении используйте формат вроде 6YMpg.06 и следите за уникальностью. |
port |
Локальный listen port, к которому подключаются майнеры. |
name |
Имя порта. Может быть пустым. |
currency |
Название монеты. |
category |
Алгоритм или категория. |
protocol |
Протокол доступа майнеров: 0 TCP, 1 TLS, 3 TTS, 5 RMS2, 6 RMS3, 8 RMS3(zstd), 9 TP. |
limit_connections |
Лимит подключений для порта. |
pool_address |
Основной адрес пула. |
connect_mode |
Протокол подключения к основному пулу: 0 TCP, 1 TLS. |
pool_address2 |
Резервный адрес пула. Может быть пустым. |
connect_mode2 |
Протокол подключения к резервному пулу: 0 TCP, 1 TLS. |
mode |
Режим порта: 0 efficient mode, 1 compatibility mode. |
Пример:
[
{
"id": "6YMpg.06",
"port": 47777,
"name": "IRON proxy",
"currency": "IRON",
"category": "blake3s",
"protocol": 1,
"limit_connections": 65535,
"pool_address": "hk.ironfish.example.com:1145",
"pool_address2": "",
"connect_mode": 0,
"connect_mode2": 0,
"mode": 0,
"proxy_addr": null,
"proxy_device": null,
"pattern_addr": "",
"replace_addr": "",
"status": 2,
"error": "",
"nc": 1
}
]
Пример изменения основного адреса пула для одного порта:
jq 'map(if .id == "6YMpg.06" then .pool_address = "hk.ironfish.example.com:1145" else . end)' port-config.json > port-config.json.tmp
mv port-config.json.tmp port-config.json
rustminer restart
wallet-config.json
wallet-config.json хранит настройки wallet как JSON array. Каждый объект представляет wallet или связанную с устройством настройку forwarding и ratio.
ID wallet и связь с портом
При ручном добавлении wallet-конфигурации поле id использует такой же random format:
5 случайных букв или цифр + . + 2 случайные цифры
Например: AFq3H.35. Не используйте одинаковый id внутри одного файла wallet-config.json.
server_id не является еще одним случайным значением. Он должен совпадать с id одного объекта порта в port-config.json. Например, если порт задан так:
{
"id": "6YMpg.06",
"port": 47777
}
То wallet, привязанный к этому порту, должен использовать:
{
"id": "AFq3H.35",
"server_id": "6YMpg.06"
}
Частые поля:
| Поле | Описание |
|---|---|
id |
ID wallet-настройки. При редактировании существующей записи сохраняйте старое значение; при ручном добавлении используйте формат вроде AFq3H.35 и следите за уникальностью. |
server_id |
Связанный ID порта. Он должен совпадать с id объекта порта в port-config.json; не используйте номер порта и не генерируйте это значение случайно. |
addr |
Имя wallet или идентификатор wallet. |
device |
Имя устройства. |
pool_address |
Адрес пула для этого wallet. |
pool_protocol |
Протокол подключения wallet к пулу: 0 TCP, 1 TLS. |
ratio |
Fee ratio в десятичном виде. Например, 0.03 означает 3%. |
Пример:
[
{
"id": "AFq3H.35",
"server_id": "6YMpg.06",
"addr": "wallet-main",
"device": "MY20602",
"pool_address": "kas.example.com:443",
"pool_protocol": 0,
"ratio": 0.03
}
]
Пример изменения ratio одного wallet на 5%:
jq 'map(if .id == "AFq3H.35" then .ratio = 0.05 else . end)' wallet-config.json > wallet-config.json.tmp
mv wallet-config.json.tmp wallet-config.json
rustminer restart
Применение и откат
После сохранения изменений выполните restart:
rustminer restart
Если после изменения порты не подключаются или сервис работает некорректно, восстановите backup:
cp rust-config.bak.YYYYMMDDHHMMSS rust-config
cp port-config.json.bak.YYYYMMDDHHMMSS port-config.json
cp wallet-config.json.bak.YYYYMMDDHHMMSS wallet-config.json
rustminer restart
Замените YYYYMMDDHHMMSS на timestamp из реального имени backup-файла.
