#!/bin/bash set -e version=2.1 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 } if [ ! -d /home/wareck/chia ] then echo "Flexfarmer v$version installer" echo "Install chia first..." exit fi print_centered "$(tput setaf 10)" print_centered " _____ _ ___ " print_centered "| __| |___ _ _| _|___ ___ _____ ___ ___ " print_centered "| __| | -_|_'_| _| .'| _| | -_| _|" print_centered "|__| |_|___|_,_|_| |__,|_| |_|_|_|___|_| " print_centered " " echo -n "$(tput sgr0)" print_centered "Flexpool mining software" function build_service { cat > $HOME/flexfarmer.service << EOF # The flexfarmer service (part of systemd) # file: /etc/systemd/system/flexfarmer.service [Unit] Description = FlexFarmer Service After=network.target [Service] Type=simple User = $USER WorkingDirectory= $HOME/flexfarmer ExecStart = $HOME/flexfarmer/flexfarmer -c $HOME/flexfarmer/config.yml Restart = on-failure RestartSec=30 LimitNOFILE=99999 StandardOutput=syslog StandardError=syslog SyslogIdentifier=flexfarmer [Install] WantedBy = multi-user.target EOF sudo mv $HOME/flexfarmer.service /etc/systemd/system/flexfarmer.service >/dev/null sudo chmod 644 /etc/systemd/system/flexfarmer.service cat <<'EOF'>> flexfarmer.conf if $programname == 'flexfarmer' then /var/log/flexfarmer.log & stop EOF sudo cp flexfarmer.conf /etc/rsyslog.d/flexfarmer.conf sudo rm flexfarmer.conf if [ ! -f /var/log/flexfarmer.log ] then sudo touch /var/log/flexfarmer.log sudo chown syslog:adm /var/log/flexfarmer.log fi cat <<'EOF'>> logrot /var/log/flexfarmer.log { daily rotate 7 copytruncate notifempty missingok su root syslog } EOF sudo cp logrot /etc/logrotate.d/flexfarmer sudo rm logrot print_centered "Install service : [ OK ]" } function install_ { cd /home/wareck/ wget -c -q http://folivier.homelinux.org/cube/pack/flexfarmer.tar.xz tar xfJ flexfarmer.tar.xz rm /home/wareck/flexfarmer.tar.xz sudo cp /home/wareck/flexfarmer/flexfarmer /usr/local/bin/ print_centered "Install software : [ OK ]" } function nft_builder { if [ -f /home/wareck/chia/chia-plotter/build/flexpool.sh ];then rm /home/wareck/chia/chia-plotter/build/flexpool.sh;fi if [ ! -d /home/wareck/chia/chia-plotter/build/ ]; then mkdir -p /home/wareck/chia/chia-plotter/build/ ;fi cat <<'EOF'>> /home/wareck/chia/chia-plotter/build/flexpool.sh #!/bin/bash ./chia_plot -n 1 -r 6 -u 128 -t /media/nvme0/plotting/ -2 /media/nvme1/plotting/ -d /Chia/Chia2/Plots-nft/ -c xch10yjksfwm8s66z32qy35x950608hk8l67vmsur4rwpaanpkd6ks3qhfw5nk -f 8ba5acd276b45fd0f749ce195dcddcf0e63c3bf2e751e9e273faa0125075c36a11f2ee231e7cf74abed2920be97fc373 EOF chmod +x /home/wareck/chia/chia-plotter/build/flexpool.sh print_centered "Install nft script : [ OK ]" } echo install_ build_service nft_builder sudo systemctl restart rsyslog >/dev/null 2>&1 sudo systemctl daemon-reload >/dev/null 2>&1 sudo systemctl enable flexfarmer >/dev/null 2>&1 sudo systemctl start flexfarmer >/dev/null 2>&1 #sudo systemctl status flexfarmer echo