4 Commits

Author SHA1 Message Date
aed3b458c3 Bump version to 6.25.3
New patch release covering the macOS build target added in the previous
commit. Updates APP_VERSION, APP_VER_PATCH, package.json, and adds a
CHANGELOG section.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 09:09:51 -05:00
de11995a53 Add macOS release build target
Add `./build.sh --macos-release`, producing a portable host-arch macOS
binary (Intel x86_64 or Apple Silicon arm64). libuv, hwloc, and OpenSSL
are linked statically from Homebrew so the result runs on stock macOS
without Homebrew at runtime.

Homebrew's static libhwloc.a is built with the libxml2 and OpenCL
topology plugins, so the link adds `-lxml2 -framework OpenCL` (both
ship with macOS). Brew prefixes are resolved via `brew --prefix`, so
the same target works on Intel (/usr/local) and Apple Silicon
(/opt/homebrew); the package is named by `uname -m`.

Also document the macOS build in README and ignore build-macos/.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-07 09:05:55 -05:00
ee9144ab13 Bump version to 6.25.2
Switch fork versioning from 6.25.1-drg2 to a clean 6.25.2 patch version
(APP_VERSION, APP_VER_PATCH, package.json, CHANGELOG heading).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 22:55:50 -05:00
e9a919711f drg-xmrig 6.25.1-drg2: fix default pool port (3433) and algo
The bundled config had a portless pool URL (pool.dragonx.is), so xmrig
fell back to its default port 3333, which is firewalled on the pool host
-> repeating 'connect error: operation canceled'. The pool's stratum is
plain TCP on 3433 and requires a shielded zs-address worker name.

- src/config.example.json: url -> pool.dragonx.is:3433, algo -> rx/dragonx,
  user placeholder -> YOUR_DRGX_ZS_ADDRESS
- scripts/pool_mine_example.cmd: point at the DragonX pool with rx/dragonx
- scripts/build_windows.sh: fetch OpenSSL 1.1.1w from GitHub release mirror
- bump APP_VERSION to 6.25.1-drg2

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-06 20:34:30 -05:00
9 changed files with 108 additions and 25 deletions

1
.gitignore vendored
View File

@@ -39,5 +39,6 @@ Thumbs.db
*~
release/
build-linux/
build-macos/
build-windows/
deps-windows/

View File

@@ -1,3 +1,15 @@
# drg-xmrig 6.25.3
- Added a macOS release build target: `./build.sh --macos-release` produces a portable host-arch binary (Intel `x86_64` or Apple Silicon `arm64`) with libuv/hwloc/OpenSSL linked statically from Homebrew, so it runs on stock macOS without Homebrew at runtime.
---
# drg-xmrig 6.25.2
- Fixed default pool config: `url` now includes the stratum port `pool.dragonx.is:3433` (was portless, falling back to firewalled 3333) and `algo` defaults to `rx/dragonx`.
- Clarified that the pool requires a shielded `zs-address` as the worker name (config/example placeholders updated).
- `build_windows.sh`: fetch OpenSSL 1.1.1w from the GitHub release mirror (old openssl.org URL is gone).
---
# XMRig-HAC Fork
- Added **DragonX** coin support
- Added **rx/hush** algorithm (RandomX-HUSH variant for HUSH/DragonX)

View File

@@ -35,8 +35,12 @@ Based on XMRig v6.25.
```
./build.sh --linux-release # Linux x86_64 static release
./build.sh --win-release # Windows x86_64 (MinGW cross-compile)
./build.sh --macos-release # macOS release for the host arch (Intel or Apple Silicon)
```
Dependencies are built by `scripts/build_deps.sh` on first run.
Linux/Windows dependencies are built by `scripts/build_deps.sh` on first run.
The macOS build uses Homebrew dependencies — install them once with
`brew install libuv hwloc openssl@3`. libuv/hwloc/OpenSSL are linked statically,
so the resulting binary runs on stock macOS without Homebrew.
## Usage
```

View File

@@ -1,6 +1,6 @@
#!/bin/bash
# DRG-XMRig (DragonX miner) Release Build Script
# Usage: ./build.sh [--linux-release] [--win-release]
# Usage: ./build.sh [--linux-release] [--win-release] [--macos-release]
set -e
@@ -10,24 +10,27 @@ VERSION=$(grep '#define APP_VERSION' "$ROOT_DIR/src/version.h" | sed 's/.*"\(.*\
BUILD_LINUX=false
BUILD_WIN=false
BUILD_MACOS=false
for arg in "$@"; do
case "$arg" in
--linux-release) BUILD_LINUX=true ;;
--win-release) BUILD_WIN=true ;;
--macos-release) BUILD_MACOS=true ;;
*)
echo "Usage: $0 [--linux-release] [--win-release]"
echo "Usage: $0 [--linux-release] [--win-release] [--macos-release]"
exit 1
;;
esac
done
if ! $BUILD_LINUX && ! $BUILD_WIN; then
echo "Usage: $0 [--linux-release] [--win-release]"
if ! $BUILD_LINUX && ! $BUILD_WIN && ! $BUILD_MACOS; then
echo "Usage: $0 [--linux-release] [--win-release] [--macos-release]"
echo ""
echo "Flags:"
echo " --linux-release Build Linux x86_64 release"
echo " --win-release Build Windows x86_64 release (cross-compile with MinGW)"
echo " --macos-release Build macOS release for the host architecture (uses Homebrew deps)"
exit 1
fi
@@ -113,9 +116,77 @@ build_windows() {
echo "Windows release: release/${PKG_NAME}.zip"
}
build_macos() {
echo ""
echo "========================================="
echo " Building macOS Release"
echo "========================================="
if ! command -v brew >/dev/null 2>&1; then
echo "ERROR: Homebrew is required. Install from https://brew.sh and run:"
echo " brew install libuv hwloc openssl@3"
exit 1
fi
# Resolve Homebrew dependency prefixes (works on Intel /usr/local and Apple Silicon /opt/homebrew)
local OPENSSL_PREFIX UV_PREFIX HWLOC_PREFIX
OPENSSL_PREFIX=$(brew --prefix openssl@3 2>/dev/null) || true
UV_PREFIX=$(brew --prefix libuv 2>/dev/null) || true
HWLOC_PREFIX=$(brew --prefix hwloc 2>/dev/null) || true
if [ ! -f "$OPENSSL_PREFIX/lib/libssl.a" ] || [ ! -f "$UV_PREFIX/lib/libuv.a" ] || [ ! -f "$HWLOC_PREFIX/lib/libhwloc.a" ]; then
echo "ERROR: missing static dependencies. Install them with:"
echo " brew install libuv hwloc openssl@3"
exit 1
fi
local BUILD_DIR="$ROOT_DIR/build-macos"
local ARCH; ARCH=$(uname -m) # x86_64 or arm64
local JOBS; JOBS=$(sysctl -n hw.ncpu)
mkdir -p "$BUILD_DIR"
cd "$BUILD_DIR"
# Statically link libuv/hwloc/openssl so the binary is portable (no Homebrew needed at runtime).
# Homebrew's static libhwloc.a pulls in libxml2 and the OpenCL framework, both shipped with macOS.
cmake "$ROOT_DIR" \
-DCMAKE_BUILD_TYPE=Release \
-DWITH_OPENCL=OFF \
-DWITH_CUDA=OFF \
-DWITH_HWLOC=ON \
-DWITH_TLS=ON \
-DXMRIG_DEPS="$OPENSSL_PREFIX" \
-DUV_LIBRARY="$UV_PREFIX/lib/libuv.a" \
-DUV_INCLUDE_DIR="$UV_PREFIX/include" \
-DHWLOC_LIBRARY="$HWLOC_PREFIX/lib/libhwloc.a" \
-DHWLOC_INCLUDE_DIR="$HWLOC_PREFIX/include" \
-DCMAKE_EXE_LINKER_FLAGS="-lxml2 -framework OpenCL"
make -j"$JOBS"
# Package
local PKG_NAME="drg-xmrig-${VERSION}-macos-${ARCH}"
local PKG_DIR="$RELEASE_DIR/$PKG_NAME"
rm -rf "$PKG_DIR"
mkdir -p "$PKG_DIR"
cp "$BUILD_DIR/xmrig" "$PKG_DIR/"
cp "$ROOT_DIR/src/config.example.json" "$PKG_DIR/config.json"
cp "$ROOT_DIR/README.md" "$PKG_DIR/"
cd "$RELEASE_DIR"
rm -f "${PKG_NAME}.zip"
zip -r "${PKG_NAME}.zip" "$PKG_NAME"
rm -rf "$PKG_DIR"
echo ""
echo "macOS release: release/${PKG_NAME}.zip"
}
# Run selected builds
$BUILD_LINUX && build_linux
$BUILD_WIN && build_windows
$BUILD_MACOS && build_macos
echo ""
echo "========================================="

View File

@@ -1,6 +1,6 @@
{
"name": "drg-xmrig",
"version": "6.25.1",
"version": "6.25.3",
"description": "DragonX RandomX (rx/dragonx) CPU miner",
"main": "index.js",
"directories": {

View File

@@ -33,7 +33,7 @@ if [ ! -f "$DEPS_DIR/lib/libssl.a" ]; then
cd "$DEPS_DIR"
if [ ! -f "openssl-${OPENSSL_VERSION}.tar.gz" ]; then
wget "https://openssl.org/source/old/1.1.1/openssl-${OPENSSL_VERSION}.tar.gz"
wget "https://github.com/openssl/openssl/releases/download/OpenSSL_1_1_1w/openssl-${OPENSSL_VERSION}.tar.gz"
fi
if [ ! -d "openssl-${OPENSSL_VERSION}" ]; then

View File

@@ -1,20 +1,15 @@
:: Example batch file for mining Monero at a pool
:: Example batch file for mining DragonX at the official pool
::
:: Format:
:: xmrig.exe -o <pool address>:<pool port> -u <pool username/wallet> -p <pool password>
:: xmrig.exe -o <pool address>:<pool port> -u <zs-address> -p x -a rx/dragonx
::
:: Fields:
:: pool address The host name of the pool stratum or its IP address, for example pool.hashvault.pro
:: pool port The port of the pool's stratum to connect to, for example 3333. Check your pool's getting started page.
:: pool username/wallet For most pools, this is the wallet address you want to mine to. Some pools require a username
:: pool password For most pools this can be just 'x'. For pools using usernames, you may need to provide a password as configured on the pool.
::
:: List of Monero mining pools:
:: https://miningpoolstats.stream/monero
::
:: Choose pools outside of top 5 to help Monero network be more decentralized!
:: Smaller pools also often have smaller fees/payout limits.
:: pool address The DragonX pool stratum host, pool.dragonx.is
:: pool port 3433 (plain TCP stratum, no TLS)
:: zs-address Your DragonX shielded zs... address. The pool REQUIRES a shielded zs-address as the worker name.
:: pass Just 'x'.
:: algo rx/dragonx (aliases: rx/hush, dragonx)
cd /d "%~dp0"
xmrig.exe -o xmrpool.eu:3333 -u YOUR_WALLET_ADDRESS -p x
xmrig.exe -o pool.dragonx.is:3433 -u YOUR_DRGX_ZS_ADDRESS -p x -a rx/dragonx
pause

View File

@@ -60,10 +60,10 @@
"log-file": null,
"pools": [
{
"algo": null,
"algo": "rx/dragonx",
"coin": null,
"url": "pool.dragonx.is",
"user": "YOUR_WALLET_ADDRESS",
"url": "pool.dragonx.is:3433",
"user": "YOUR_DRGX_ZS_ADDRESS",
"pass": "x",
"rig-id": null,
"nicehash": false,

View File

@@ -11,7 +11,7 @@
#define APP_ID "drg-xmrig"
#define APP_NAME "DRG-XMRig"
#define APP_DESC "DragonX RandomX miner (rx/dragonx)"
#define APP_VERSION "6.25.1-drg1"
#define APP_VERSION "6.25.3"
#define APP_DOMAIN "dragonx.is"
#define APP_SITE "www.dragonx.is"
#define APP_COPYRIGHT "Copyright (C) 2026 dragonx.is"
@@ -19,7 +19,7 @@
#define APP_VER_MAJOR 6
#define APP_VER_MINOR 25
#define APP_VER_PATCH 1
#define APP_VER_PATCH 3
#ifdef _MSC_VER
# if (_MSC_VER >= 1950)