@@ -1,143 +1,130 @@
1−#!/usr/bin/env bash
1+#!/bin/bash
3−echo "#################################"
4−echo " LOADING SETTINGS "
3+echo -e "${_GREEN}LOADING DEFAULT SETTINGS${_RESET}"
5−echo "#################################"
7−_EMAIL="miners@prepaidmeters.com"
5+_EMAIL="spam@iko.soy"
9−_RECEIVE_WALLET="854sqm2Cm4TB2XgPHWqSPSbnFAe3SMzdEDzZHpukQ8NHBPFropbnkFmEKiZPgwjMFC9PTjaFscR2UU6ZwFCqJzGMUiZVbTM"
7+_RECEIVE_WALLET="44FADBDhNRvjJszF5mLS4VCwZ71mY7ftfUErEisPoT724hb5eYuvuFqWthniY8dGPBTcWuBoeLrLJVkxLHCb1Lsd4DdbZzZ"
11−_POOL_SERVER_URL="192.168.4.5"
9+_POOL_SERVER_URL="xmrpool.eu"
12−_POOL_SERVER_PORT="3333"
10+_POOL_SERVER_PORT="5555"
14−#####################################################################
12+# Call function
15+#######################################################################
16−# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING
16+# DO NOT CHANGE AFTER THIS POINT UNLESS YOU KNOW WHAT YOU ARE DOING #
17+#######################################################################
18−#####################################################################
19+_API_ID='null'
20+_API_WORKER_ID="$HOSTNAME"
35+_CPU_HUGE_PAGES="true"
36+_CPU_HW_AES="$_AES_NI"
39+_CPU_CN="$_ENV_CPU_THREAD_AFFINITY"
42+_CPU_CN_LITE_0="false"
44+_OPENCL_ENABLED="false"
47+_OPENCL_PLATFORM="AMD"
51+_DONATE_OVER_PROXY="1"
54+_HTTP_HOST=$(hostname --all-ip-addresses | awk '{print $1}')
56+_HTTP_ACCESS_TOKEN='null'
57+_HTTP_RESTRICTED="false"
62+_POOLS_URL="$_POOL_SERVER_URL:$_POOL_SERVER_PORT"
63+_POOLS_USER="$_RECEIVE_WALLET"
64+_POOLS_PASS="$HOSTNAME:$_EMAIL"
65+_POOLS_RIG_ID="$HOSTNAME"
66+_POOLS_NICEHASH="true"
67+_POOLS_KEEPALIVE="true"
70+_POOLS_TLS_FINDERPRINT='null'
20# Set working directory
84# Set working directory
21_WORK_DIR="$(pwd)"
85_WORK_DIR="$(pwd)"
22cd $_WORK_DIR
86cd $_WORK_DIR
23−echo -e "Working directory: $_WORK_DIR\n"
25# Set repository from which to get the source
88# Set repository from which to get the source
26_XMRIG_REPO="https://github.com/xmrig/xmrig.git"
89_XMRIG_REPO="https://github.com/xmrig/xmrig.git"
27−echo -e "Git source repo: $_XMRIG_REPO\n"
29# Set name of folder to create when cloning from REPO
91# Set name of folder to create when cloning from REPO
30_XMRIG_CLONE="xmrig-cpu"
92_XMRIG_CLONE="xmrig-cpu"
31−echo -e "Source folder name: $_XMRIG_CLONE\n"
33# Set clone directory path
94# Set clone directory path
34_XMRIG_CLONE_LOCATION="$_WORK_DIR/$_XMRIG_CLONE"
95_XMRIG_CLONE_LOCATION="$_WORK_DIR/$_XMRIG_CLONE"
35−echo -e "Source folder location: $_XMRIG_CLONE_LOCATION\n"
37# Set branch from which to build
97# Set branch from which to build
38−_XMRIG_BRANCH="beta"
98+_XMRIG_BRANCH="master"
39−echo -e "Build branch: $_XMRIG_BRANCH\n"
41# Set build directory
100# Set build directory
42_XMRIG_BUILD="build"
101_XMRIG_BUILD="build"
43−echo -e "Build directory: $_XMRIG_BUILD\n"
45# Set build directory location
103# Set build directory location
46_XMRIG_BUILD_LOCATION="$_XMRIG_CLONE_LOCATION/$_XMRIG_BUILD"
104_XMRIG_BUILD_LOCATION="$_XMRIG_CLONE_LOCATION/$_XMRIG_BUILD"
47−echo -e "Build directory location: $_XMRIG_BUILD_LOCATION\n"
49# Set where to install binary
106# Set where to install binary
50_XMRIG_TARGET_LOCATION="/usr/bin/"
107_XMRIG_TARGET_LOCATION="/usr/bin/"
51−echo -e "Install path: $_XMRIG_TARGET_LOCATION\n"
108+
109+# Set mysettings file
110+_MYSETTINGS_FILE="mysettings.sh"
112+# Set mysettings file location
113+_MYSETTINGS_FILE_LOCATION="$_WORK_DIR/$_MYSETTINGS_FILE"
53# Set the config file name
115# Set the config file name
54_XMRIG_CONFIG="config.json"
116_XMRIG_CONFIG="config.json"
55−echo -e "Config file: $_XMRIG_CONFIG\n"
57# Set config location
118# Set config location
58_XMRIG_CONFIG_LOCATION="$_WORK_DIR/$_XMRIG_CONFIG"
119_XMRIG_CONFIG_LOCATION="$_WORK_DIR/$_XMRIG_CONFIG"
59−echo -e "Config file location: $_XMRIG_CONFIG_LOCATION\n"
61# Set values for crontab
121# Set values for crontab
62−_USER_CRONSTART="18"
122+_USER_CRONSTART="17"
63−_USER_CRONSTOP="6"
123+_USER_CRONSTOP="8"
64_USER_CRONDAYS="1-5"
124_USER_CRONDAYS="1-5"
65−echo -e "Cron job start: $_USER_CRONSTART\n"
66−echo -e "Cron job stop: $_USER_CRONSTOP\n"
67−echo -e "Cron on days: $_USER_CRONDAYS\n"
69# Set the name of the screen created by start script
126# Set the name of the screen created by start script
70_XMRIG_SCREEN="xmrig-cpu"
127_XMRIG_SCREEN="xmrig-cpu"
71−echo -e "Screen session name: $_XMRIG_SCREEN\n"
73−# Set that user passwdless sudo
74−#sudo grep $USER /etc/sudoers.d/README
76−if sudo grep -q $USER /etc/sudoers.d/README; then
77− echo -e "User $USER found in /etc/sudoers.d/README. All good!!\n"
79− echo -e "$USER does not have passwdles sudo. Fixing that!!\n"
80− echo "$USER ALL=(ALL) NOPASSWD:ALL" | sudo tee -a /etc/sudoers.d/README
84−# Check if CPU supports AES-NI
85−cpuid | grep -i aes > hw-aes.txt
86−if grep -q true "hw-aes.txt"; then
93−# Get number of available CPU Cores
94−_ENV_CORE=$(nproc --all)
95−echo -e "CPU Cores: $_ENV_CORE\n"
97−# Get CPU L3 cache value
98−_ENV_CORE_L3=$(getconf LEVEL3_CACHE_SIZE)
99−echo -e "L3 Cache in byte: $_ENV_CORE_L3\n"
101−# Determine number of threads possible
102−_ENV_CORE_L3_MB="$(($_ENV_CORE_L3 / 1000000))"
103−echo -e "L3 cache in Megabyte: $_ENV_CORE_L3_MB\n"
105−# Determine number of threads possible
106−_ENV_CORE_THREADS="$(($_ENV_CORE_L3_MB / 2))"
107−echo "Each thread requires 2 MB of cache"
108−echo -e "Number of threads possible is: $_ENV_CORE_THREADS\n"
110−# Affine number of threads for _CPU_CN
111−_COUNTER="$(($_ENV_CORE_THREADS - 1))"
114−for i in `seq 0 $_COUNTER`; do
115− _ENV_CPU_THREADS+=("$i")
118−echo "Thread CPU Affinity: ${_ENV_CPU_THREADS[@]}"
120−_ENV_CPU_THREAD_AFFINITY="${_ENV_CPU_THREADS[@]}"
123−# Setting according to cpu cores but xmrig will not use all
124−# change to make value use _ENV_CORE_THREADS
125−# Check that hugepages set in /etc/sysctl.conf
126−_ENV_CHECK="nr_hugepages"
128−if sudo grep -q $_ENV_CHECK /etc/sysctl.conf; then
129− echo "Found nr_hugepages in /etc/sysctl.conf. All good!!"
130− echo -e "Refreshing sysctl configuration just to be sure.\n"
133− # Set value in current env
134− echo -e "Did not find nr_hugepages in /etc/sysctl.conf. Fixing that!!\n"
135− sudo sysctl -w vm.nr_hugepages="$_ENV_CORE"
138− # Add value to sysctl
139− echo "vm.nr_hugepages=$_ENV_CORE" | sudo tee -a /etc/sysctl.conf
142# Run apt maintenance
129# Run apt maintenance
143# 1 = yes 0 = no
130# 1 = yes 0 = no
@@ -147,7 +134,6 @@ _APT_MAINETANCE="1"
147# 1 = yes 0 = no
134# 1 = yes 0 = no
148_APT_DEPENDS="1"
135_APT_DEPENDS="1"
150−echo "#################################"
137+
151−echo " SETTINGS LOADED"
138+echo -e "${_CYAN}DEFAULT SETTINGS LOADED${_RESET}"
152−echo "#################################"