客户端安装与连接服务端
在 Linux 和 Windows 上安装 HashRelay 客户端的分步指南。
客户端和矿机在同一个局域网。它先连上服务端,再按服务端下发的端口映射打开本地监听。矿机端口不用写进 client.toml。
先在服务端建节点
在管理后台打开 Client Nodes,新建一个节点,抄下 client_id 和 access token。令牌存在服务端的 client_nodes 里,客户端只负责出示它。
Linux
把所有 YOUR_* 换成你自己的值。已经是 root 的机器(OpenWrt / iStoreOS)直接跑;其他 Linux 会走 sudo。
bash
# Create a client node on the server first (Web UI → Client Nodes).
# Replace YOUR_* values below with your own before running.
# Already root (OpenWrt / iStoreOS): runs directly. Other Linux: uses sudo.
curl -fsSL https://downloads.hashrelay.net/hashrelay/scripts/install-client.sh | \
env \
SERVER_ADDR=YOUR_SERVER_IP \
TCP_PORT=8555 \
QUIC_PORT=9555 \
CLIENT_ID=YOUR_CLIENT_ID \
TOKEN=YOUR_ACCESS_TOKEN \
sh -c 'if [ "$(id -u)" -eq 0 ]; then exec sh; else exec sudo env "SERVER_ADDR=$SERVER_ADDR" "TCP_PORT=$TCP_PORT" "QUIC_PORT=$QUIC_PORT" "CLIENT_ID=$CLIENT_ID" "TOKEN=$TOKEN" sh; fi'也可以让脚本自己问:
bash
# Interactive install — the script prompts for each value.
# Already root (OpenWrt / iStoreOS): runs directly. Other Linux: uses sudo.
curl -fsSL https://downloads.hashrelay.net/hashrelay/scripts/install-client.sh | sh -c 'if [ "$(id -u)" -eq 0 ]; then exec sh; else exec sudo sh; fi'也可以先装上,再改 /etc/hash-relay/client.toml,然后重启 hash-relay-client。
bash
# Install first, edit config, then restart.
# Already root (OpenWrt / iStoreOS): runs directly. Other Linux: uses sudo.
curl -fsSL https://downloads.hashrelay.net/hashrelay/scripts/install-client.sh | sh -c 'if [ "$(id -u)" -eq 0 ]; then exec sh; else exec sudo sh; fi'
# Edit /etc/hash-relay/client.toml — set server_addr, tcp_port, quic_port, client_id, token
# Linux: sudo nano /etc/hash-relay/client.toml
# OpenWrt / already root: vi /etc/hash-relay/client.toml
# Restart — Linux (systemd):
# sudo systemctl restart hash-relay-client
# Restart — OpenWrt (procd):
# /etc/init.d/hash-relay-client restartclient.toml 里真正要填的
toml
[client]
server_addr = "YOUR_SERVER_IP"
tcp_port = 8555
quic_port = 9555
client_id = "mine-site-01"
token = "YOUR_ACCESS_TOKEN"
[client.enc]
frame_encrypt_alg = 0
# insecure = true # lab only
# pin_sha256 = "..." # copy from the server log when tls = "self_signed"
[client.connection]
transport = "auto" # auto/quic: QUIC first, then TCP. tcp: TCP first, then QUIC
reconnect_interval = 5
max_reconnect_attempts = 0
heartbeat_interval = 60
heartbeat_timeout_count = 3transport 决定拨号顺序,以及控制面更偏向哪一条。每个端口映射还有自己的 protocol:quic 映射只走 QUIC,tcp 映射只走 TCP。一边断了不会把另一边拖死。
Windows
从下载页拿到 hr-client.exe,用同一份 TOML 启动。字段和 Linux 一样。
powershell
.\hr-client.exe --config client.toml确认已经连上
服务端仪表盘上这个节点应有心跳。客户端这边:
bash
sudo systemctl status hash-relay-client
sudo journalctl -u hash-relay-client -f