Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aed3b458c3 | |||
| de11995a53 | |||
| ee9144ab13 | |||
| e9a919711f |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -39,5 +39,6 @@ Thumbs.db
|
|||||||
*~
|
*~
|
||||||
release/
|
release/
|
||||||
build-linux/
|
build-linux/
|
||||||
|
build-macos/
|
||||||
build-windows/
|
build-windows/
|
||||||
deps-windows/
|
deps-windows/
|
||||||
|
|||||||
12
CHANGELOG.md
12
CHANGELOG.md
@@ -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
|
# XMRig-HAC Fork
|
||||||
- Added **DragonX** coin support
|
- Added **DragonX** coin support
|
||||||
- Added **rx/hush** algorithm (RandomX-HUSH variant for HUSH/DragonX)
|
- Added **rx/hush** algorithm (RandomX-HUSH variant for HUSH/DragonX)
|
||||||
|
|||||||
@@ -35,8 +35,12 @@ Based on XMRig v6.25.
|
|||||||
```
|
```
|
||||||
./build.sh --linux-release # Linux x86_64 static release
|
./build.sh --linux-release # Linux x86_64 static release
|
||||||
./build.sh --win-release # Windows x86_64 (MinGW cross-compile)
|
./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
|
## Usage
|
||||||
```
|
```
|
||||||
|
|||||||
79
build.sh
79
build.sh
@@ -1,6 +1,6 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
# DRG-XMRig (DragonX miner) Release Build Script
|
# 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
|
set -e
|
||||||
|
|
||||||
@@ -10,24 +10,27 @@ VERSION=$(grep '#define APP_VERSION' "$ROOT_DIR/src/version.h" | sed 's/.*"\(.*\
|
|||||||
|
|
||||||
BUILD_LINUX=false
|
BUILD_LINUX=false
|
||||||
BUILD_WIN=false
|
BUILD_WIN=false
|
||||||
|
BUILD_MACOS=false
|
||||||
|
|
||||||
for arg in "$@"; do
|
for arg in "$@"; do
|
||||||
case "$arg" in
|
case "$arg" in
|
||||||
--linux-release) BUILD_LINUX=true ;;
|
--linux-release) BUILD_LINUX=true ;;
|
||||||
--win-release) BUILD_WIN=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
|
exit 1
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
done
|
done
|
||||||
|
|
||||||
if ! $BUILD_LINUX && ! $BUILD_WIN; then
|
if ! $BUILD_LINUX && ! $BUILD_WIN && ! $BUILD_MACOS; then
|
||||||
echo "Usage: $0 [--linux-release] [--win-release]"
|
echo "Usage: $0 [--linux-release] [--win-release] [--macos-release]"
|
||||||
echo ""
|
echo ""
|
||||||
echo "Flags:"
|
echo "Flags:"
|
||||||
echo " --linux-release Build Linux x86_64 release"
|
echo " --linux-release Build Linux x86_64 release"
|
||||||
echo " --win-release Build Windows x86_64 release (cross-compile with MinGW)"
|
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
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -113,9 +116,77 @@ build_windows() {
|
|||||||
echo "Windows release: release/${PKG_NAME}.zip"
|
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
|
# Run selected builds
|
||||||
$BUILD_LINUX && build_linux
|
$BUILD_LINUX && build_linux
|
||||||
$BUILD_WIN && build_windows
|
$BUILD_WIN && build_windows
|
||||||
|
$BUILD_MACOS && build_macos
|
||||||
|
|
||||||
echo ""
|
echo ""
|
||||||
echo "========================================="
|
echo "========================================="
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "drg-xmrig",
|
"name": "drg-xmrig",
|
||||||
"version": "6.25.1",
|
"version": "6.25.3",
|
||||||
"description": "DragonX RandomX (rx/dragonx) CPU miner",
|
"description": "DragonX RandomX (rx/dragonx) CPU miner",
|
||||||
"main": "index.js",
|
"main": "index.js",
|
||||||
"directories": {
|
"directories": {
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ if [ ! -f "$DEPS_DIR/lib/libssl.a" ]; then
|
|||||||
cd "$DEPS_DIR"
|
cd "$DEPS_DIR"
|
||||||
|
|
||||||
if [ ! -f "openssl-${OPENSSL_VERSION}.tar.gz" ]; then
|
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
|
fi
|
||||||
|
|
||||||
if [ ! -d "openssl-${OPENSSL_VERSION}" ]; then
|
if [ ! -d "openssl-${OPENSSL_VERSION}" ]; then
|
||||||
|
|||||||
@@ -1,20 +1,15 @@
|
|||||||
:: Example batch file for mining Monero at a pool
|
:: Example batch file for mining DragonX at the official pool
|
||||||
::
|
::
|
||||||
:: Format:
|
:: 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:
|
:: Fields:
|
||||||
:: pool address The host name of the pool stratum or its IP address, for example pool.hashvault.pro
|
:: pool address The DragonX pool stratum host, pool.dragonx.is
|
||||||
:: pool port The port of the pool's stratum to connect to, for example 3333. Check your pool's getting started page.
|
:: pool port 3433 (plain TCP stratum, no TLS)
|
||||||
:: pool username/wallet For most pools, this is the wallet address you want to mine to. Some pools require a username
|
:: zs-address Your DragonX shielded zs... address. The pool REQUIRES a shielded zs-address as the worker name.
|
||||||
:: 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.
|
:: pass Just 'x'.
|
||||||
::
|
:: algo rx/dragonx (aliases: rx/hush, dragonx)
|
||||||
:: 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.
|
|
||||||
|
|
||||||
cd /d "%~dp0"
|
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
|
pause
|
||||||
|
|||||||
@@ -60,10 +60,10 @@
|
|||||||
"log-file": null,
|
"log-file": null,
|
||||||
"pools": [
|
"pools": [
|
||||||
{
|
{
|
||||||
"algo": null,
|
"algo": "rx/dragonx",
|
||||||
"coin": null,
|
"coin": null,
|
||||||
"url": "pool.dragonx.is",
|
"url": "pool.dragonx.is:3433",
|
||||||
"user": "YOUR_WALLET_ADDRESS",
|
"user": "YOUR_DRGX_ZS_ADDRESS",
|
||||||
"pass": "x",
|
"pass": "x",
|
||||||
"rig-id": null,
|
"rig-id": null,
|
||||||
"nicehash": false,
|
"nicehash": false,
|
||||||
|
|||||||
@@ -11,7 +11,7 @@
|
|||||||
#define APP_ID "drg-xmrig"
|
#define APP_ID "drg-xmrig"
|
||||||
#define APP_NAME "DRG-XMRig"
|
#define APP_NAME "DRG-XMRig"
|
||||||
#define APP_DESC "DragonX RandomX miner (rx/dragonx)"
|
#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_DOMAIN "dragonx.is"
|
||||||
#define APP_SITE "www.dragonx.is"
|
#define APP_SITE "www.dragonx.is"
|
||||||
#define APP_COPYRIGHT "Copyright (C) 2026 dragonx.is"
|
#define APP_COPYRIGHT "Copyright (C) 2026 dragonx.is"
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
|
|
||||||
#define APP_VER_MAJOR 6
|
#define APP_VER_MAJOR 6
|
||||||
#define APP_VER_MINOR 25
|
#define APP_VER_MINOR 25
|
||||||
#define APP_VER_PATCH 1
|
#define APP_VER_PATCH 3
|
||||||
|
|
||||||
#ifdef _MSC_VER
|
#ifdef _MSC_VER
|
||||||
# if (_MSC_VER >= 1950)
|
# if (_MSC_VER >= 1950)
|
||||||
|
|||||||
Reference in New Issue
Block a user