#!/bin/bash set -e Version=1.0 #if (( $EUID != 0 )); then # echo -e "$(tput setaf 11)This must be run as root. Try 'sudo $0'.$(tput sgr0)" # exit 1 #fi function print_centered { [[ $# == 0 ]] && return 1 declare -i TERM_COLS="$(tput cols)" declare -i str_len="${#1}" [[ $str_len -ge $TERM_COLS ]] && { echo "$1"; return 0; } declare -i filler_len="$(( (TERM_COLS - str_len) / 2 ))" [[ $# -ge 2 ]] && ch="${2:0:1}" || ch=" " filler="" for (( i = 0; i < filler_len; i++ )); do filler="${filler}${ch}" done printf "%s%s%s" "$filler" "$1" "$filler" [[ $(( (TERM_COLS - str_len) % 2 )) -ne 0 ]] && printf "%s" "${ch}" printf "\n" return 0 } function intro_ { clear print_centered "$(tput setaf 244)" print_centered " _____ .__ .____ .__ " print_centered " / _ \ | | _____ _____ | | |__| ____ __ _____ ___ " print_centered " / /_\ \| | / \\__ \ | | | |/ \| | \ \/ / " print_centered " / | \ |_| Y Y \/ __ \| |___| | | \ | /> < " print_centered " \____|__ /____/__|_| (____ /_______ \__|___| /____//__/\_ \ " print_centered " \/ \/ \/ \/ \/ \/ " echo -n "$(tput sgr0)$(tput setaf 10)" print_centered "Server installation script v$Version" print_centered "Dell R640" echo -n "$(tput sgr0)" print_centered "ne pas activer le login automatique..." print_centered "appuyer sur une touche pour continuer" read -p "" } function update_ { sudo dnf -y update sudo dnf install -y epel-release sudo dnf group install -y "Development Tools" sudo dnf install -y cmake gmp-devel numactl-devel perl lynx perl-Encode-Detect perl-Time-Piece perl-open perl-encoding perl-Filter perl-Digest-SHA sudo dnf install -y git htop python-devel sudo dnf install -y tigervnc-server sudo dnf install -y remmina gparted sudo dnf install -y cmake3 libsodium libsodium-static sudo dnf install -y git make cmake gcc gcc-c++ hwloc-devel openssl-devel automake libtool autoconf sudo dnf --enablerepo=crb install -y libstdc++-static } function tigervnc_ { #cp pack && tar sudo dnf groupinstall -y "Server with GUI" sudo systemctl set-default graphical.target sudo systemctl default sudo dnf config-manager --set-enabled crb sudo dnf install -y epel-release sudo dnf update -y sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service sudo systemctl daemon-reload sudo systemctl start vncserver@:1 sudo systemctl enable vncserver@:1 sudo firewall-cmd --permanent --add-service=vnc-server sudo firewall-cmd --reload sudo firewall-cmd --add-port=5901/tcp --permanent sudo firewall-cmd --reload } function chia_ { cp /home/wareck/Build_Cube/options/chia.sh . sed -i "s/BladeBit=Yes/BladeBit=No/g" chia.sh sed -i "s/ChiaPos=Yes/ChiaPos=No/g" chia.sh sed -i "s/Miner=Yes/Miner=No/g" chia.sh sed -i "s/Toolkit for Chia v$Version/Toolkit for Chia AlmaLinux /g" chia.sh sed -i "s/sudo apt-get install/#sudo apt-get install/g" chia.sh ./chia.sh rm ./chia.sh cp /home/wareck/Build_Cube/options/flexfarmer.sh . sed -i "s/Flexpool mining software/Flexpool mining software AlmaLinux/g" flexfarmer.sh sed -i "s/build_service/#build_service/g" flexfarmer.sh sed -i "s/function #build_service/function build_service/g" flexfarmer.sh ./flexfarmer.sh rm flexfarmer.sh } function miner_ { echo -e "$(tput setaf 10)\nDownloading miners:$(tput sgr0)" cp /home/wareck/Build_Cube/pack/xmrig.tar.xz /home/wareck/ cd /home/wareck if ! [ -d miners ]; then mkdir -p miners;fi cd miners if ! [ -d xmrig ] then git clone https://github.com/xmrig/xmrig.git echo -e "" fi echo -e "$(tput setaf 10)\nUncompress xmr files:$(tput sgr0)" tar xfJ /home/wareck/xmrig.tar.xz --checkpoint=.100 echo "Done." echo -n -e "\n" echo -e "$(tput setaf 10)\nBuild xmrig:$(tput sgr0)" cd xmrig sed -i "s/kDefaultDonateLevel = 5;/kDefaultDonateLevel = 0;/g" src/donate.h sed -i "s/kMinimumDonateLevel = 1;/kMinimumDonateLevel = 0;/g" src/donate.h cd scripts ./build_deps.sh cd .. cd build rm -r Cm* cmake .. -DXMRIG_DEPS=scripts/deps make -j$((`nproc`+1)) cd /home/wareck/miners sudo rm -r -f xmr-stak-rx sudo rm -r -f xmrig-upx echo "Done." } function webmin_ { cd /home/wareck wget -c https://github.com/webmin/webmin/releases/download/2.102/webmin-2.102.tar.gz tar xvfz webmin-2.102.tar.gz cd webmin-2.102 sudo ./setup.sh } function wol_ { iface=$(ip link | awk -F: '$0 !~ "lo|vir|^[^0-9]"{print $2a;getline}') ether=$(which ethtool) echo "[Unit]" >>/tmp/wol.service echo "Description=Enable Wake On Lan" >>/tmp/wol.service echo "" >>/tmp/wol.service echo "[Service]" >>/tmp/wol.service echo "Type=oneshot" >>/tmp/wol.service echo "ExecStart = $ether --change eno1 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno2 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno3 wol g" >>/tmp/wol.service echo "ExecStart = $ether --change eno4 wol g" >>/tmp/wol.service echo "" >>/tmp/wol.service echo "[Install]" >>/tmp/wol.service echo "WantedBy=basic.target" >>/tmp/wol.service sudo cp /tmp/wol.service /etc/systemd/system/wol.service sudo systemctl daemon-reload sudo systemctl enable wol.service sudo systemctl start wol.service } intro_ update_ wol_ tigervnc_ chia_ miner_ webmin_