HiveOS support
This commit is contained in:
parent
2a62844fe8
commit
370cf7487b
5 changed files with 147 additions and 0 deletions
17
hiveos/h-config.sh
Executable file
17
hiveos/h-config.sh
Executable file
|
@ -0,0 +1,17 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
. $MINER_DIR/$CUSTOM_MINER/h-manifest.conf
|
||||
|
||||
[[ -z $CUSTOM_TEMPLATE ]] && echo -e "${YELLOW}CUSTOM_TEMPLATE is empty${NOCOLOR}" && return 1
|
||||
[[ -z $CUSTOM_URL ]] && echo -e "${YELLOW}CUSTOM_URL is empty${NOCOLOR}" && return 1
|
||||
|
||||
conf="-o ${CUSTOM_URL} -u ${CUSTOM_TEMPLATE} -p $WORKER_NAME --api-port ${CUSTOM_API_PORT} ${CUSTOM_USER_CONFIG}"
|
||||
|
||||
#replace tpl values in whole file
|
||||
[[ ! -z $EWAL ]] && conf=$(sed "s/%EWAL%/$EWAL/g" <<< "$conf")
|
||||
[[ ! -z $DWAL ]] && conf=$(sed "s/%DWAL%/$DWAL/g" <<< "$conf")
|
||||
[[ ! -z $ZWAL ]] && conf=$(sed "s/%ZWAL%/$ZWAL/g" <<< "$conf")
|
||||
[[ ! -z $EMAIL ]] && conf=$(sed "s/%EMAIL%/$EMAIL/g" <<< "$conf")
|
||||
[[ ! -z $WORKER_NAME ]] && conf=$(sed "s/%WORKER_NAME%/$WORKER_NAME/g" <<< "$conf")
|
||||
|
||||
echo "$conf" > $MINER_DIR/$CUSTOM_MINER/$CUSTOM_NAME.conf
|
20
hiveos/h-manifest.conf
Normal file
20
hiveos/h-manifest.conf
Normal file
|
@ -0,0 +1,20 @@
|
|||
#
|
||||
# NinjaRig by Haifa Bogdan Adnan
|
||||
#
|
||||
# GitHub src: https://github.com/bogdanadnan/ninjarig
|
||||
#
|
||||
# HiveOS adaptation by Haifa Bogdan Adnan
|
||||
#
|
||||
|
||||
|
||||
CUSTOM_NAME=ninjarig
|
||||
|
||||
CUSTOM_VERSION=1.0.0
|
||||
|
||||
CUSTOM_CONFIG_FILENAME=/hive/miners/custom/${CUSTOM_NAME}/${CUSTOM_NAME}.conf
|
||||
|
||||
CUSTOM_LOG_BASENAME=/var/log/miner/$CUSTOM_NAME/$CUSTOM_NAME
|
||||
|
||||
CUSTOM_LOG_FOLDER=/var/log/miner/$CUSTOM_NAME
|
||||
|
||||
CUSTOM_API_PORT=10000
|
20
hiveos/h-run.sh
Executable file
20
hiveos/h-run.sh
Executable file
|
@ -0,0 +1,20 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
. h-manifest.conf
|
||||
|
||||
CUSTOM_API_PORT=`./parse-api-port.sh`
|
||||
|
||||
#try to release TIME_WAIT sockets
|
||||
while true; do
|
||||
for con in `netstat -anp | grep TIME_WAIT | grep ${CUSTOM_API_PORT} | awk '{print $5}'`; do
|
||||
killcx $con lo
|
||||
done
|
||||
netstat -anp | grep TIME_WAIT | grep ${CUSTOM_API_PORT} &&
|
||||
continue ||
|
||||
break
|
||||
done
|
||||
|
||||
mkdir -p $CUSTOM_LOG_FOLDER
|
||||
echo -e "Running ${CYAN}iximiner${NOCOLOR}" | tee ${CUSTOM_LOG_FOLDER}/${CUSTOM_NAME}.log
|
||||
|
||||
./ninjarig $(< $CUSTOM_NAME.conf)$@ 2>&1 | tee ${CUSTOM_LOG_FOLDER}/${CUSTOM_NAME}.log
|
59
hiveos/h-stats.sh
Executable file
59
hiveos/h-stats.sh
Executable file
|
@ -0,0 +1,59 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
. $MINER_DIR/$CUSTOM_MINER/h-manifest.conf
|
||||
|
||||
. $MINER_DIR/$CUSTOM_MINER/parse-api-port.sh
|
||||
|
||||
json_data=`curl -s http://localhost:${CUSTOM_API_PORT}`
|
||||
|
||||
algo=`echo $json_data | jq -c ".algo" | sed 's/"//g'`
|
||||
hashrates=`echo $json_data | jq -c ".hashers[].hashrate[0]"`
|
||||
shares=`echo $json_data | jq -c ".results.shares_good"`
|
||||
totalShares=`echo $json_data | jq -c ".results.shares_total"`
|
||||
total_hashrate=`echo $json_data | jq -c ".hashrate.total[0]"`
|
||||
total_hashrate=`echo $total_hashrate/1000 | jq -nf /dev/stdin`
|
||||
rejects=$((totalShares-shares))
|
||||
|
||||
gpu_data=`gpu-stats`
|
||||
busids_data=`echo $gpu_data | jq -r ".busids[]"`
|
||||
busids=($busids_data)
|
||||
temp_data=`echo $gpu_data | jq -r ".temp[]"`
|
||||
temp_local=($temp_data)
|
||||
fan_data=`echo $gpu_data | jq -r ".fan[]"`
|
||||
fan_local=($fan_data)
|
||||
device_bus_data=`echo $json_data | jq -c ".hashers[].bus_id"`
|
||||
device_bus=($device_bus_data)
|
||||
stats_temp=""
|
||||
stats_fan=""
|
||||
bus_numbers=""
|
||||
for i in "${!device_bus[@]}"; do
|
||||
found=0
|
||||
for j in "${!busids[@]}"; do
|
||||
if [ "${device_bus[$i],,}" == "\"${busids[$j],,}\"" ]; then
|
||||
stats_temp="$stats_temp ${temp_local[$j]}"
|
||||
stats_fan="$stats_fan ${fan_local[$j]}"
|
||||
bus_number=$(echo ${busids[$j]} | cut -d ':' -f 1 | awk '{printf("%d\n", "0x"$1)}')
|
||||
bus_numbers="$bus_numbers $bus_number"
|
||||
found=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
if [ $found -eq 0 ]; then
|
||||
stats_temp="$stats_temp 0"
|
||||
stats_fan="$stats_fan 0"
|
||||
bus_numbers="$bus_numbers 0"
|
||||
fi
|
||||
done
|
||||
|
||||
khs=$total_hashrate
|
||||
hashrates=$hashrates
|
||||
stats=$(jq -nc \
|
||||
--argjson hashrates "`echo "$hashrates" | tr " " "\n" | jq -cs '.'`" \
|
||||
--argjson hs "`echo "$hashrates" | tr " " "\n" | jq -cs '.'`" \
|
||||
--arg hs_units "hs" \
|
||||
--argjson temp "`echo "$stats_temp" | tr " " "\n" | jq -cs '.'`" \
|
||||
--argjson fan "`echo "$stats_fan" | tr " " "\n" | jq -cs '.'`" \
|
||||
--arg ac "$shares" --arg rj "$rejects" \
|
||||
--argjson bus_numbers "`echo "$bus_numbers" | tr " " "\n" | jq -cs '.'`" \
|
||||
--arg algo $algo \
|
||||
'{$hashrates, $hs, $hs_units, $temp, $fan, ar: [$ac, $rj], $bus_numbers, $algo}')
|
31
hiveos/parse-api-port.sh
Executable file
31
hiveos/parse-api-port.sh
Executable file
|
@ -0,0 +1,31 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
if [ -z "$MINER_DIR" ]
|
||||
then
|
||||
. ./h-manifest.conf
|
||||
args=$(getopt -q -u -l "api-port:" -o "l:" -- `cat ./$CUSTOM_NAME.conf`)
|
||||
else
|
||||
. $MINER_DIR/$CUSTOM_MINER/h-manifest.conf
|
||||
args=$(getopt -q -u -l "api-port:" -o "l:" -- `cat $MINER_DIR/$CUSTOM_MINER/$CUSTOM_NAME.conf`)
|
||||
fi
|
||||
|
||||
eval set -- "$args"
|
||||
|
||||
while [ $# -ge 1 ]; do
|
||||
case "$1" in
|
||||
--)
|
||||
shift
|
||||
break
|
||||
;;
|
||||
--api-port)
|
||||
CUSTOM_API_PORT="$2"
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
shift
|
||||
done
|
||||
|
||||
if [ -z "$MINER_DIR" ]
|
||||
then
|
||||
echo $CUSTOM_API_PORT
|
||||
fi
|
Loading…
Add table
Add a link
Reference in a new issue