#!/bin/bash
Version=1.4
Release=18/11/2018
#Zeus edition
set -e
echo -e "\e[93mMiniMiner build $Version ($Release)\e[0m"
sleep 1

echo -e "\n\e[95mSystem Update :\e[0m"
sudo apt-get update
sudo apt install screen git build-essential autoconf automake libtool pkg-config \
libcurl4-openssl-dev libudev-dev libjansson-dev uthash-dev libncursesw5-dev libncurses5-dev \
libusb-1.0-0-dev libevent-dev libmicrohttpd-dev libhidapi-dev -y
sudo rpi-update
echo "Done."

echo -e "\n\e[95mDownload sources:\e[0m"
if [ ! -d cgminer-lketc ];then git clone https://github.com/wareck/cgminer-lketc.git; fi
echo "Done."

echo -e "\n\e[95mBuild cgminer for Zeus / lketc / gridseed :\e[0m"
cd cgminer-lketc
./autogen.sh
./configure CFLAGS="-O3" --enable-scrypt --enable-zeus --enable-lketc --enable-gridseed
make
echo "Done."
cd ..

echo -e "\n\e[95mGen configuration files:\e[0m"
if [ ! -f scrypt.conf ]
then
echo "scrypt.conf"
cat <<'EOF'>> scrypt.conf
{
"pools" : [
        {
                "url" : "stratum+tcp://gmc.acidpool.com:3342#xnsub",
                "user" : "wareck.1",
                "pass" : "x"
        },
	{
                "url" : "stratum+tcp://eu.multipool.us:7777",
                "user" : "wareck.scrypt",
                "pass" : "x"
        },
	{
	        "url" : "stratum+tcp://scrypt.eu.nicehash.com:3333#xnsub",
                "user" : "16F8V2EnHCNPVQwTGLifGHCE12XTnWPG8G",
                "pass" : "x"
	}
]
,
"expiry" : "60",
"failover-switch-delay" : "300",
"hotplug" : "10",
"queue" : "1",
"scan-time" : "30",
"scrypt" : true
}
EOF
fi
echo "Done."


echo -e "\n\e[95mGenerate rc.local file:\e[0m"
if ! grep "Start Mining" /etc/rc.local >/dev/null
then
sudo bash -c 'sed -i -e "s/exit 0//g" /etc/rc.local'
sudo bash -c 'cp /etc/rc.local rc.local'
sudo bash -c 'chown pi rc.local'

cat <<'EOF'>> alpha
set -e
echo "\n\e[92mStart Mining\e[0m:"
su pi -c "screen -dmS cgminer /home/pi/cgminer-lketc/cgminer --scrypt -c /home/pi/scrypt.conf --lketc-chips 1 --lketc-clock 290 --zeus-chips 6 --zeus-clock 328"
echo ""
echo "use screen -r to show miners"
echo ""
exit 0
EOF

cat alpha >> rc.local
rm alpha
sudo bash -c 'cp rc.local /etc/rc.local'
rm rc.local
fi
echo "Done."

echo -e "\n\e[95mAdd udev rules:\e[0m"
wget -q --show-progress http://folivier.homelinux.org/miniminer/01-cgminer.rules
sudo bash -c 'mv 01-cgminer.rules /etc/udev/rules.d/'
sudo bash -c 'usermod -a -G dialout,plugdev,tty pi'
echo "Done"

echo -e "\n\e[95mInstall message banner :\e[0m"
ident=`cat /proc/device-tree/model | mawk '{print $1" "$2" "$3""$5" v"$7}'`
if [ -f /tmp/motd ]; then rm /tmp/motd ;fi
cat <<EOF>> /tmp/motd
MiningPi v$Version

Use screen -r to show mining screen.

EOF
sudo bash -c 'mv /tmp/motd /etc/motd | sudo -s'
if  grep "raspberrypi" /etc/hostname >/dev/null;then sudo sed -i -e "s/raspberrypi/MiningPi/g" /etc/hostname ;fi
if  grep "raspberrypi" /etc/hosts >/dev/null;then sudo sed -i -e "s/raspberrypi/MiningPi/g" /etc/hosts;fi
echo -e "Done."

echo -e "\n\e[91mBuild was done.\e[0m"
echo -e "\e[91mReboot or use sudo /etc/rc.local to start mining.\e[0m"
echo ""

echo -e "Reboot in 10 seconds (CRTL+C to abord):"
        for i in {10..1}
        do
        echo -e -n "$i "
        sleep 1
        done
echo ""
sudo bash -c "reboot"

