| 
          #!/bin/bash | 
        
        
           | 
          # let's begin. I want some color! | 
        
        
           | 
          # by zudsniper@github | 
        
        
           | 
          
 | 
        
        
           | 
          # ANSI COLOR ENVIRONMENT VARS | 
        
        
           | 
          export A_RESTORE='\033[0m' | 
        
        
           | 
          export A_RESET='\033[0m' | 
        
        
           | 
          
 | 
        
        
           | 
          export A_BOLD='\033[1m' | 
        
        
           | 
          export A_UNDERLINE='\033[4m' | 
        
        
           | 
          export A_INVERSE='\033[7m' | 
        
        
           | 
          export A_ITALIC='\033[3m'  #not always supported... | 
        
        
           | 
          
 | 
        
        
           | 
          export A_RED='\033[00;31m' | 
        
        
           | 
          export A_GREEN='\033[00;32m' | 
        
        
           | 
          export A_YELLOW='\033[00;33m' | 
        
        
           | 
          export A_BLUE='\033[00;34m' | 
        
        
           | 
          export A_PURPLE='\033[00;35m' | 
        
        
           | 
          export A_CYAN='\033[00;36m' | 
        
        
           | 
          export A_LIGHTGRAY='\033[00;37m' | 
        
        
           | 
          
 | 
        
        
           | 
          export A_LRED='\033[01;31m' | 
        
        
           | 
          export A_LGREEN='\033[01;32m' | 
        
        
           | 
          export A_LYELLOW='\033[01;33m' | 
        
        
           | 
          export A_LBLUE='\033[01;34m' | 
        
        
           | 
          export A_LPURPLE='\033[01;35m' | 
        
        
           | 
          export A_LCYAN='\033[01;36m' | 
        
        
           | 
          export A_WHITE='\033[01;37m' | 
        
        
           | 
          # end ANSI COLOR CODES | 
        
        
           | 
          
 | 
        
        
           | 
          function start () { | 
        
        
           | 
            sudo npm run preInstall-labels && pm2 save; | 
        
        
           | 
            sudo npm run installAptPkgs && pm2 save; | 
        
        
           | 
          #  sp="/-\|"; | 
        
        
           | 
          #  echo -n ' '; | 
        
        
           | 
          #  for i in 1; do  # left as a silly loop in case we expand | 
        
        
           | 
          #    ( | 
        
        
           | 
          # | 
        
        
           | 
          #    ) & | 
        
        
           | 
          #  done | 
        
        
           | 
          } | 
        
        
           | 
          
 | 
        
        
           | 
          # prefunctions for compilation order | 
        
        
           | 
          function updateProgress () { | 
        
        
           | 
              #this provides an illusion of hardworking. | 
        
        
           | 
              sleep 10; | 
        
        
           | 
          } | 
        
        
           | 
          
 | 
        
        
           | 
          # start spinner & installation threads | 
        
        
           | 
          
 | 
        
        
           | 
          function installAptPkgs () { | 
        
        
           | 
                appts=0; | 
        
        
           | 
          
 | 
        
        
           | 
                #sudo su root; # be root | 
        
        
           | 
                sudo apt install -yg vim; appts++; | 
        
        
           | 
                sudo apt install -yg nginx; appts++; | 
        
        
           | 
                sudo apt intall -yg shadowsocks; appts++; | 
        
        
           | 
                sudo apt install -yg openSSL; appts++; | 
        
        
           | 
                sudo apt install -yg certbot; appts++; | 
        
        
           | 
                sudo apt install -yg letsencrypt; appts++; | 
        
        
           | 
                sudo apt install -yg net-tools; appts++; | 
        
        
           | 
                sudo apt install -yg cpanel; appts++; | 
        
        
           | 
          
 | 
        
        
           | 
                sudo apt install -yg javascript; appts++; | 
        
        
           | 
                sudo apt install -yg [email protected]; appts++; | 
        
        
           | 
                sudo apt install -yg typescript; appts++; | 
        
        
           | 
                sudo npm install dotenv -g; appts++; | 
        
        
           | 
                sudo npm install dontenv-cli -g; appts++; | 
        
        
           | 
          
 | 
        
        
           | 
                sudo apt install postgresql -g; appts++; | 
        
        
           | 
          
 | 
        
        
           | 
                sudo apt install gh; appts++; | 
        
        
           | 
                sudo apt install git; appts++; | 
        
        
           | 
          
 | 
        
        
           | 
                # check if gh signed in | 
        
        
           | 
                STATUS="cmd $(gh auth status 2>&1)"; | 
        
        
           | 
                echo -ne "STATUS: ${STATUS}\n\n\n"; | 
        
        
           | 
                # shellcheck disable=SC2002 | 
        
        
           | 
                if [[ $(echo -ne "${STATUS}" | grep 'Logged in') -ne 1 ]]; then | 
        
        
           | 
                  echo -ne "${A_RED}${A_BOLD}gh cli is not logged in. Run ${A_RESET}${A_INVERSE}gh auth login${A_RESET}${A_RED}${A_BOLD} and try again. ${A_RESET}\n"; | 
        
        
           | 
                  exit 1; | 
        
        
           | 
                else | 
        
        
           | 
                  echo -ne "${A_BLUE}${A_UNDERLINE}Time to log in to your GitHub honey${A_RESET}\n"; | 
        
        
           | 
                  sudo gh login auth; | 
        
        
           | 
                fi | 
        
        
           | 
                ## next step time, return number of total 1st level installs | 
        
        
           | 
                export INSTALLATIONS_PERFORMED="${appts}"; | 
        
        
           | 
                return; | 
        
        
           | 
          } | 
        
        
           | 
          
 | 
        
        
           | 
          
 | 
        
        
           | 
          
 | 
        
        
           | 
          
 | 
        
        
           | 
          #this function will print a pretty summary spring to stdin, | 
        
        
           | 
          function preInstall-labels () { | 
        
        
           | 
          # expose environment variables if they can be set | 
        
        
           | 
          export NGINX_PATH=$("${process.env.NGINX_PATH}" || /usr/sbin/nginx); | 
        
        
           | 
          
 | 
        
        
           | 
          # build / install begins | 
        
        
           | 
          
 | 
        
        
           | 
          echo -ne "${A_LCYAN}${A_BOLD}build stf-deb-base.${A_RESET}\n"; | 
        
        
           | 
          echo -ne "${A_INVERSE}Operating System${A_RESET}: Debian 11\n"; | 
        
        
           | 
          echo -ne "${A_BOLD}NETWORK${A_RESET}: \n"; | 
        
        
           | 
          echo -ne "  NGiNX@latest\n" | 
        
        
           | 
          echo -ne "  shadowsocks@latest\n"; | 
        
        
           | 
          echo -ne "  openSSL@latest\n"; | 
        
        
           | 
          echo -ne "  cerbot@latest\n"; | 
        
        
           | 
          echo -ne "  letsencrypt@latest\n"; | 
        
        
           | 
          echo -ne "  openSSH@latest\n"; | 
        
        
           | 
          echo -ne "  sshd@latest\n"; | 
        
        
           | 
          echo -ne "  net-tools@latest\n"; | 
        
        
           | 
          echo -ne "  cpanel@latest\n"; | 
        
        
           | 
          echo -ne "  ${A_RED}${A_BOLD}[X] fail2ban@latest NOT INSTALLED${A_RESET} by default.\n\n"; | 
        
        
           | 
          
 | 
        
        
           | 
          echo -ne "${A_BOLD}GENERAL${A_RESET}: \n"; | 
        
        
           | 
          echo -ne "  JavaScript@latest\n"; | 
        
        
           | 
          echo -ne "  [email protected]...\n"; | 
        
        
           | 
          echo -ne "  TypeScript@latest\n"; | 
        
        
           | 
          echo -ne "  dotenv@latest, dotenv-cli@latest\n\n"; | 
        
        
           | 
          echo -ne "  "; | 
        
        
           | 
          
 | 
        
        
           | 
          echo -ne "${A_BOLD}DATABASE${A_RESET} \n"; | 
        
        
           | 
          echo -ne "  PostgreSQL@latest\n\n"; | 
        
        
           | 
          
 | 
        
        
           | 
          echo -ne "${A_BOLD}DEPLOYMENT${A_RESET} \n"; | 
        
        
           | 
          echo -ne "  gh_cli@latest\n"; | 
        
        
           | 
          echo -ne "  git@latest\n\n"; | 
        
        
           | 
          } |