From e4f8a390bb9af58d0bf732556322934cea6a1b97 Mon Sep 17 00:00:00 2001 From: Wang Defa Date: Mon, 2 Mar 2026 09:56:13 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E7=89=88=E6=9C=AC?= =?UTF-8?q?=E5=8F=B7=E8=87=B3=20v4.14=EF=BC=8C=E8=B0=83=E6=95=B4=E7=9B=B8?= =?UTF-8?q?=E5=85=B3=E6=96=87=E6=A1=A3=E5=92=8C=E9=85=8D=E7=BD=AE=E7=A4=BA?= =?UTF-8?q?=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitea/workflows/ci.yaml | 2 +- README.md | 4 ++-- debian/build-deb.sh | 2 +- params.conf.example | 42 +++++++++++++++++++++++++++++++++++++--- 4 files changed, 43 insertions(+), 7 deletions(-) diff --git a/.gitea/workflows/ci.yaml b/.gitea/workflows/ci.yaml index 2cf7471..a9ef798 100644 --- a/.gitea/workflows/ci.yaml +++ b/.gitea/workflows/ci.yaml @@ -9,7 +9,7 @@ on: env: DOCKER_BUILDKIT: "1" PRODUCT_NAME: "p2pool" - PACKAGE_VERSION: "v4.13" + PACKAGE_VERSION: "v4.14" BUILDX_NO_DEFAULT_ATTESTATIONS: "1" jobs: diff --git a/README.md b/README.md index c288fc0..dd27446 100644 --- a/README.md +++ b/README.md @@ -50,14 +50,14 @@ sudo systemctl enable --now p2pool.service # Alpine 构建(推荐,体积更小) docker buildx build --pull \ --platform linux/amd64 \ - --build-arg P2POOL_VERSION=v4.13 \ + --build-arg P2POOL_VERSION=v4.14 \ --output type=local,dest=./output \ -f docker/Dockerfile.alpine . # Ubuntu 构建 docker buildx build --pull \ --platform linux/amd64 \ - --build-arg P2POOL_VERSION=v4.13 \ + --build-arg P2POOL_VERSION=v4.14 \ --output type=local,dest=./output \ -f docker/Dockerfile.ubuntu . ``` diff --git a/debian/build-deb.sh b/debian/build-deb.sh index eb2ddd3..b9208b5 100755 --- a/debian/build-deb.sh +++ b/debian/build-deb.sh @@ -4,7 +4,7 @@ set -e # 参数检查 if [ $# -ne 3 ]; then echo "Usage: $0 " - echo "Example: $0 amd64 v4.12 p2pool-amd64-ubuntu-v4.12.tar.gz" + echo "Example: $0 amd64 v4.14 p2pool-amd64-ubuntu-v4.14.tar.gz" exit 1 fi diff --git a/params.conf.example b/params.conf.example index 1dc406a..f40960a 100644 --- a/params.conf.example +++ b/params.conf.example @@ -1,5 +1,6 @@ # P2Pool Configuration File Example # Copy this file to /var/lib/p2pool/params.conf and edit as needed +# Compatible with: p2pool v4.14+ # ============================================================================= # Monero Node Connection (REQUIRED) @@ -11,6 +12,7 @@ host = 127.0.0.1 rpc-port = 18081 # Monero ZMQ port (required for optimal performance) +# v4.14+: ZMQ connections now support IPv6 addresses zmq-port = 18083 # ============================================================================= @@ -29,6 +31,16 @@ p2p = 0.0.0.0:37889 # Add known peer nodes (optional) # addpeers = node1.p2pool.io:37889,node2.p2pool.io:37889 +# HAProxy PROXY Protocol v2 for P2P connections (v4.14+) +# Enable ONLY if p2pool's P2P port is behind a proxy that sends PROXY Protocol +# v2 headers (e.g. HAProxy with "send-proxy-v2" directive). +# When enabled, the real client IP is extracted from the PROXY header and used +# for peer management, ban checks and logging — instead of the proxy's IP. +# P2P traffic is typically low-volume and usually does NOT need load balancing; +# leave commented out unless you have a specific reason to proxy P2P. +# Accepted values: none (default), v2 +# p2p-proxy-protocol = none + # ============================================================================= # API Settings # ============================================================================= @@ -50,15 +62,30 @@ local-api = true # ============================================================================= # Enable stratum server for miners to connect # Format: : -# Uncomment and configure if you want to connect mining software # stratum = 0.0.0.0:3333 +# HAProxy PROXY Protocol v2 for Stratum connections (v4.14+) +# Enable ONLY if p2pool's Stratum port is behind a proxy that sends PROXY +# Protocol v2 headers (e.g. HAProxy with "send-proxy-v2" directive). +# When enabled, miners' real IP addresses are correctly extracted and shown +# in the `workers` command output, and per-IP ban/rate-limiting works properly. +# This is an open standard also supported by nginx, Traefik, AWS ELB, etc.; +# it is NOT tied to HAProxy specifically. +# +# ⚠️ TLV extensions (send-proxy-v2-ssl, send-proxy-v2-ssl-cn, +# unique-id-format, crc32c) are silently ignored — only the address block +# is read. Do NOT use exact addr_len checks in custom builds (spec §2.2 +# allows senders to append TLV vectors, increasing addr_len beyond the +# base 12 / 36 bytes). +# +# Accepted values: none (default), v2 +# stratum-proxy-protocol = none + # ============================================================================= # Merge Mining (Optional) # ============================================================================= # Enable Tari merge mining # Format: tari://: -# Uncomment and configure if you want to merge mine Tari # merge-mine = tari://127.0.0.1:18142 YOUR_TARI_WALLET_ADDRESS # ============================================================================= @@ -73,7 +100,6 @@ loglevel = 3 # ============================================================================= # Performance Tuning (Advanced) # ============================================================================= -# Number of light cache blocks to keep in RAM # in-peers = 10 # out-peers = 10 @@ -82,3 +108,13 @@ loglevel = 3 # ============================================================================= # SOCKS5 proxy for outgoing connections # socks5 = 127.0.0.1:9050 + +# SOCKS5 proxy type (v4.14+) +# Controls how p2pool treats the SOCKS5 proxy configured above. +# Accepted values: +# auto — auto-detect whether it is a plain proxy or Tor (default) +# plain — treat as a standard SOCKS5 proxy (no Tor-specific behavior) +# tor — treat as a Tor SOCKS5 proxy (enables onion routing optimizations, +# e.g. .onion peer resolution, correct onion connection counters) +# Only meaningful when `socks5` is set; ignored otherwise. +# socks5-proxy-type = auto \ No newline at end of file