diff --git a/bml-cli.sh b/bml-cli.sh deleted file mode 100755 index 1e1d615..0000000 --- a/bml-cli.sh +++ /dev/null @@ -1,766 +0,0 @@ -#!/bin/bash - -cd "$(dirname "${BASH_SOURCE[0]}")" >/dev/null 2>&1 -CONFIG=~/.config/bml-cli/config -CREDENTIALS=~/.config/bml-cli/.credentials -COOKIE=~/.cache/bml-cli/.cookie -BML_RESETPASS='https://www.bankofmaldives.com.mv/internetbanking/forgot_password' - -#Setting terminal output colors -red=`tput setaf 1` -#errorred=`tput setaf 196` -#validgreen=`tput setaf 82` -green=`tput setaf 46` -brown=`tput setaf 3` -blue=`tput setaf 4` -pink=`tput setaf 5` -cyan=`tput setaf 39` -gray=`tput setaf 7` -darkgray=`tput setaf 8` -lightred=`tput setaf 9` -lightgreen=`tput setaf 10` -yellow=`tput setaf 11` -reset=`tput sgr0` -# Colors -G='\e[01;32m' # GREEN TEXT -R='\e[01;31m' # RED TEXT -Y='\e[01;33m' # YELLOW TEXT -B='\e[01;34m' # BLUE TEXT -V='\e[01;35m' # VIOLET TEXT -Bl='\e[01;30m' # BLACK TEXT -C='\e[01;36m' # CYAN TEXT -W='\e[01;37m' # WHITE TEXT -BGBL='\e[1;30;47m' # Background W Text Bl -N='\e[0m' # How to use (example): echo "${G}example${N}" -loadBar=' ' # Load UI - -##Setting Up Functions -animate(){ - PID=$! - h=0 - anim='⠋⠙⠴⠦' - while [ -d /proc/$PID ]; do - h=$(((h + 1) % 4)) - sleep 0.05 - printf "\r${@} [${anim:$h:1}]" - done -} -initialize(){ - echo initalizing.. - mkdir -p ~/.config/bml-cli/ - mkdir -p ~/.cache/bml-cli/ - echo "# DO NOT EDIT THIS MANUALLY!!" > $CREDENTIALS - echo "BML_USERNAME='' # Your encrypted BML Username" >> $CREDENTIALS - echo "BML_PASSWORD='' # Your encrypted BML Password" >> $CREDENTIALS - echo "# DO NOT EDIT THIS UNLESS NECESSARY!!" > $CONFIG - echo "I_AM_HYPOCRITE='false' # This is for MacOS Users ONLY" >> $CONFIG - echo "I_AM_SODU='false' # This is for WSL Users ONLY" >> $CONFIG - echo "" >> $CONFIG - echo "BML_URL='https://www.bankofmaldives.com.mv/internetbanking/api' # BML API URL " >> $CONFIG -} - -check_connection(){ - PING=$(ping -c 1 www.bankofmaldives.com.mv 2> /dev/null | grep -oE 0%) - if [ "$PING" != "0%" ] - then - echo ${red}Check your connection and try again.${reset} - exit 1 - fi - DOS=$(curl -s https://www.bankofmaldives.com.mv/ | grep -oE "error code: 1020") - if [ "$DOS" = "error code: 1020" ] - then - echo ${red}Access denied${reset} - echo Try again later - exit - fi -} - -os_detect(){ - WSL1=$(uname -r | grep -oE Microsoft) - WSL2=$(uname -r | grep -oE microsoft) - MAC=$(uname -a | grep -oE Darwin | tail -n1) - ANDROID=$(uname -a | grep -oE Android) - if [ "$WSL1" = "Microsoft" ] || [ "$WSL2" = "microsoft" ] - then - OS=windows - if [ "$I_AM_SODU" != "true" ] - then - echo ${red}Please check $CONFIG and configure accordingly.${reset} - cexit - fi - elif [ "$MAC" = "Darwin" ] - then - OS=macos - export PATH="/usr/local/opt/openssl@1.1/bin:$PATH" - if [ "$I_AM_HYPOCRITE" != "true" ] - then - echo ${red}Please check $CONFIG and configure accordingly.${reset} - cexit - fi - elif [ "$ANDROID" = "Android" ] - then - OS=android - fi - banner -} -################################################################## -display_banner(){ - clear - echo "${red}" - echo "██████╗░███╗░░░███╗██╗░░░░░  ░█████╗░██╗░░░░░██╗" - echo "██╔══██╗████╗░████║██║░░░░░  ██╔══██╗██║░░░░░██║" - echo "██████╦╝██╔████╔██║██║░░░░░  ██║░░╚═╝██║░░░░░██║" - echo "██╔══██╗██║╚██╔╝██║██║░░░░░  ██║░░██╗██║░░░░░██║" - echo "██████╦╝██║░╚═╝░██║███████╗  ╚█████╔╝███████╗██║" - echo "╚═════╝░╚═╝░░░░░╚═╝╚══════╝  ░╚════╝░╚══════╝╚═╝" - echo "${reset}" -} -display_welcome(){ - echo ${green}Welcome ${reset}$NAME - echo "" -} -display_name(){ - echo "" - echo ${cyan}Name${reset}: $NAME -} -display_userinfo(){ - echo ${cyan}Phone${reset}: $PHONE - echo ${cyan}Email${reset}: $EMAIL - echo ${cyan}Birthday${reset}: $DOB - echo ${cyan}ID Card${reset}: $IDCARD - echo "" -} -#################################################################### -cexit(){ - echo "Cleaning up.." - rm $COOKIE 2> /dev/null - sleep 0.2 - exit -} - -reset_config(){ - read -p 'Are you sure: [y/N]' SURE - if [ "$SURE" = "y" ] || [ "$SURE" = "Y" ] - then - display_banner - sleep 0.5 - echo Deleting Configration.... & rm -rf ~/.config/bml-cli - sleep 0.5 - echo Deleting Credentials.... & rm -rf ~/.cache/bml-cli - cexit - else - display_banner && display_name && display_userinfo - settings - fi -} -readpin(){ - read -s -p 'Enter Pin: ' PIN - echo "" - CHECK_PIN=$(echo ${BML_USERNAME} | openssl enc -d -des3 -base64 -pass pass:${PIN} -pbkdf2 2>&1 | grep -oE bad) - if [ "$CHECK_PIN" = "bad bad" ] - then - echo ${R}Incorrect Pin${N} - readpin - fi - #banner - BML_USERNAME_UNSAFE=$(echo ${BML_USERNAME} | openssl enc -d -des3 -base64 -pass pass:${PIN} -pbkdf2) - BML_PASSWORD_UNSAFE=$(echo ${BML_PASSWORD} | openssl enc -d -des3 -base64 -pass pass:${PIN} -pbkdf2) - #banner - login #& animate "Logging in" -} - -wipe_credentials(){ - sed -i "s@BML_USERNAME=.*\$@BML_USERNAME='' # Your encrypted BML Username @" $CREDENTIALS - sed -i "s@BML_PASSWORD=.*\$@BML_PASSWORD='' # Your encrypted BML Password @" $CREDENTIALS -} -urandom(){ - BML_USERNAME_UNSAFE=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) - BML_PASSWORD_UNSAFE=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) - BML_USERNAME=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) - BML_PASSWORD=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) - REPEAT_PIN=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) - NEW_PIN=$(head /dev/urandom | tr -dc A-Za-z0-9 | head -c 5) -} -savepass(){ - if [ "$BML_USERNAME" = "" ] && [ "$BML_PASSWORD" = "" ] - then - read -p 'Do you want to save login? [y/N] ' SAVE_LOGIN - if [ "$SAVE_LOGIN" = "Y" ] || [ "$SAVE_LOGIN" = "y" ] - then - read -s -p 'Enter New Pin: ' NEW_PIN - echo "" - read -s -p 'Repeat Pin: ' REPEAT_PIN - if [ "$NEW_PIN" = "$REPEAT_PIN" ] - then - echo "" - BML_USERNAME=$(echo "${BML_USERNAME_UNSAFE}" | openssl enc -e -des3 -base64 -pass pass:${NEW_PIN} -pbkdf2) - BML_PASSWORD=$(echo "${BML_PASSWORD_UNSAFE}" | openssl enc -e -des3 -base64 -pass pass:${NEW_PIN} -pbkdf2) - #encrypt_user #& initanimate "Encrypting Username" - #encrypt_pass #& initanimate "Encrypting Password" - echo "Your credentials are ${lightgreen}encrypted${reset} and saved in $CREDENTIALS" - sed -i "s@BML_USERNAME=.*\$@BML_USERNAME='${BML_USERNAME}' # Your encrypted BML Username @" $CREDENTIALS - sed -i "s@BML_PASSWORD=.*\$@BML_PASSWORD='${BML_PASSWORD}' # Your encrypted BML Password @" $CREDENTIALS - else - echo "" - echo ${R}Pin do not match${N} - savepass - fi - else - echo Password not saved. - fi - else - : - fi - urandom - select_profile #& animate "Selecting Profile" # urandom && select_profile -} -################################################################################################ - -################################################################################################ -login(){ - LOGIN=$(curl -s -c $COOKIE $BML_URL/login \ - --data-raw username=$BML_USERNAME_UNSAFE \ - --data-raw password=${BML_PASSWORD_UNSAFE} \ - | jq -r .code) - if [ "$LOGIN" = "0" ] - then - display_banner - echo ${lightgreen}Login success${reset} - savepass - elif [ "$LOGIN" = "20" ] - then - display_banner - account_locked - sleep 1.5 - display_banner - echo "${red}Account Locked!${reset}" - echo "${lightred}Please reset password and login again.${reset}" - enter_credentials - elif [ "$LOGIN" = "2" ] - then - display_banner - echo ${red}Password or Username Incorrect${reset} - wipe_credentials - enter_credentials - elif [ "$LOGIN" = "37" ] - then - echo "${red}Down for Maintenance${reset}" 1>&2 - echo "Try again later" - exit - else - echo "${red}Unknown Error${reset}" 1>&2 - exit - fi -} -################################################################################################ - -################################################################################################ -account_locked(){ - if [ "$OS" = "macos" ] - then - open $BML_RESETPASS - elif [ "$OS" = "windows" ] - then - cmd.exe /C START $BML_RESETPASS - elif [ "$OS" = "android" ] - then - am start -a android.intent.action.VIEW -d $BML_RESETPASS - else - xdg-open $BML_RESETPASS - fi -} -################################################################################################ - -################################################################################################ -enter_credentials(){ - #echo "" - read -p 'Username: ' BML_USERNAME_UNSAFE - read -s -p 'Password: ' BML_PASSWORD_UNSAFE - echo "" - login -} -################################################################################################ - -################################################################################################ -select_profile(){ -REQPRO=$(curl -s -b $COOKIE $BML_URL/profile) -PERSONALPROFILE=$(echo $REQPRO \ - | jq -r '.payload | .profile | .[] | .profile' \ - | head -n 1) -curl -s -b $COOKIE $BML_URL/profile \ - --data-raw profile=$PERSONALPROFILE \ - --compressed > /dev/null -} -################################################################################################ - -################################################################################################ -userinfo(){ - USERINFO=$(curl -s -b $COOKIE $BML_URL/userinfo) - SUCCESS=$(echo $USERINFO | jq -r .success) - if [ "$SUCCESS" != "true" ] - then - echo ${red}Login Required${reset} - init_login - display_banner - userinfo - fi - USERINFO=$(echo $USERINFO | jq -r '.["payload"] | .["user"]') - NAME=$(echo $USERINFO | jq -r .fullname) - PHONE=$(echo $USERINFO | jq -r .mobile_phone) - EMAIL=$(echo $USERINFO | jq -r .email) - DOB=$(echo $USERINFO | jq -r .birthdate |cut -d 'T' -f 1) - IDCARD=$(echo $USERINFO | jq -r .idcard) -} -################################################################################################ - -################################################################################################ -accounts(){ - echo $DASHBOARD \ - | jq -r '["Account Name"," Account Number","Type", "Currency", "Balance"], ["===================","==============","==================","=========","========="], (.payload | .dashboard |.[] | [.alias, .account, .product, .currency, .availableBalance]) | @tsv' \ - | perl -pe 's/((?<=\t)|(?<=^))\t/ \t/g;' "$@" | column -t -s $'\t' | exec less -F -S -X -K -} -################################################################################################ -api_dashboard(){ - DASHBOARD=$(curl -s -b $COOKIE $BML_URL/dashboard) - SUCCESS=$(echo $DASHBOARD | jq -r .success) - if [ "$SUCCESS" != "true" ] - then - echo ${red}Login Required${reset} - init_login - display_banner && display_name && display_userinfo - api_dashboard - fi -} - -################################################################################################ -list_contacts(){ - echo $API_CONATACTS | jq -r '["ID","Account Number","Currency","Account Name","Contact Name"], ["​​===========","==============","========","=============================","============================="], (.["payload"] | .[] | [.id, .account, .currency, .name, .alias]) | @tsv' \ - | perl -pe 's/((?<=\t)|(?<=^))\t/ \t/g;' "$@" | column -t -s $'\t' | exec less -F -S -X -K -} -################################################################################################ -api_contacts(){ - API_CONATACTS=$(curl -s -b $COOKIE $BML_URL/contacts) - SUCCESS=$(echo $API_CONATACTS | jq -r .code) - if [ "$SUCCESS" = "17" ] - then - echo ${red}Login Required${reset} - init_login - display_banner && display_name && display_userinfo - api_contacts - fi -} - -################################################################################################ -transfer(){ -# banner - accounts - echo "" - echo "Select debit account" - echo "Enter credit account" -} -################################################################################################ - -################################################################################################ -api_account(){ - API_ACCOUNT=$(curl -s -b $COOKIE $BML_URL/validate/account/$ACCOUNT_NUMBER) - SUCCESS=$(echo $API_ACCOUNT | jq -r .code) - if [ "$SUCCESS" = "17" ] - then - echo ${red}Login Required${reset} - init_login - display_banner && display_name && display_userinfo - fi -} -################################################################################################ - -################################################################################################ -add_contact(){ - printf 'Account Number: ' - read -r ACCOUNT_NUMBER - - if [ "$ACCOUNT_NUMBER" = "x" ] || [ "$ACCOUNT_NUMBER" = "back" ] - then - display_banner && display_name && display_userinfo - contacts_menu - elif [ "$ACCOUNT_NUMBER" = "" ] - then - display_banner && display_name && display_userinfo - echo ${red}No input${reset} - echo Input account number or ${lightgreen}x${reset} to go back - add_contact - fi - -api_account -VALID_NUMBER=$(echo $API_ACCOUNT | jq -r .success) - -if [ "$VALID_NUMBER" = "true" ] -then - - ACCOUNT_NAME=$(echo $API_ACCOUNT | jq -r '.["payload"] | .name') - CURRENCY=$(echo $API_ACCOUNT | jq -r '.["payload"] | .currency') - echo "Account Name: $ACCOUNT_NAME" - echo "Currency: $CURRENCY" - echo "" - printf 'Contact Name: ' - read -r CONTACT_NAME - if [ "$CONTACT_NAME" = "" ] - then - CONTACT_NAME=$ACCOUNT_NAME - fi - CONTACT_NAME_SED=`echo "$CONTACT_NAME" | sed "s/ /%20/g"` - ADDCONTACT=$(curl -s -b $COOKIE $BML_URL/contacts \ - --data-raw contact_type=IAT \ - --data-raw account=$ACCOUNT_NUMBER \ - --data-raw alias=$CONTACT_NAME_SED \ - --compressed \ - | jq -r .code) - - if [ "$ADDCONTACT" = "0" ] - then - display_banner && display_name && display_userinfo - echo $ACCOUNT_NUMBER ${lightgreen}saved as ${reset} $CONTACT_NAME ${lightgreen}succesfully${reset} - elif [ "$ADDCONTACT" = "17" ] - then - echo ${red}Login Required ${reset} - init_login - add_contact - else - display_banner && display_name && display_userinfo - echo "${red}There was an error${reset}" - fi -else - echo "${red}Invalid Account${reset}" 1>&2 - add_contact -fi -} -################################################################################################ - -################################################################################################ -delete_contact(){ - printf "Enter Contact ID: " - read -r CONATACT_ID - DELETESUCCESS=$(curl -s -b $COOKIE $BML_URL/contacts/$CONATACT_ID \ - --data-raw _method=delete \ - --compressed \ - | jq -r .code) - - if [ "$DELETESUCCESS" = "0" ] - then - echo Contact Deleted - contacts_menu - else - echo "${red}There was an error${reset}" - delete_contact - fi -} -################################# -api_activites(){ - API_ACTIVITES=$(curl -s -b $COOKIE $BML_URL/activities) - SUCCESS=$(echo $API_ACTIVITES | jq -r .code) - if [ "$SUCCESS" = "17" ] - then - echo ${red}Login Required${reset} - init_login - display_banner && display_name && display_userinfo - api_activites - fi - PAGETOTAL=$(echo $API_ACTIVITES | jq -r '.payload | .content | .last_page') - -} -################################################################################################ -activities(){ - echo Current Page: 1 - echo $API_ACTIVITES | jq -r '["Type","Date","Time","Contact","Amount","Remarks","Status"], ["=====","==========","=====","============","=======","==================","==========="],(.payload | .content | .data | .[] | [.type, .datetime, .creditName, .formattedAmount, .message, .status]) | @tsv' \ - | sed "s/+05:00//g" | perl -pe 's/((?<=\t)|(?<=^))\t/ \t/g;' "$@" | column -t -s $'\t' | exec less -F -S -X -K - while true; do - echo "" - echo Total Pages: $PAGETOTAL - read -p "Enter Page Number: " PAGENO - - if [ "$PAGENO" -le "$PAGETOTAL" ] - then - display_banner && display_name && display_userinfo - echo Current Page: $PAGENO - curl -s -b $COOKIE $BML_URL/activities?page=$PAGENO \ - | jq -r '["Type","Date","Time","Contact","Amount","Remarks","Status"], ["=====","==========","=====","============","=======","==================","==========="],(.payload | .content | .data | .[] | [.type, .datetime, .creditName, .formattedAmount, .message, .status]) | @tsv' \ - | sed "s/+05:00//g" | perl -pe 's/((?<=\t)|(?<=^))\t/ \t/g;' "$@" | column -t -s $'\t' | exec less -F -S -X -K - elif [ "$PAGENO" -gt "$PAGETOTAL" ] - then - display_banner && display_name && display_userinfo - echo ${red}value too high${reset} - elif [ "$PAGENO" = "x" ] || [ "$PAGENO" = "0" ] || [ "$PAGENO" = "back" ] - then - display_banner && display_name && display_userinfo - main_menu - else - display_banner && display_name && display_userinfo - echo ${red}Invalid Input${reset} - echo Enter x to go back - fi - done -} -services(){ - echo "" - echo "Work In Progress" - read -p "Press enter to return to main menu" BRUH - display_banner && display_name && display_userinfo - main_menu -} -################################################################################################ -main_menu(){ -echo "Main Menu" -echo "" -echo "1 - Accounts" -echo "2 - Transfer" -echo "3 - Contacts" -echo "4 - Activities" -echo "5 - Services" -echo "6 - Settings" -echo "" -printf 'Please Input: ' -read -r MENU - - if [ "$MENU" = "1" ] - then - api_dashboard # & animate "Fetching account details" - display_banner && display_name && display_userinfo - accounts - accounts_menu - elif [ "$MENU" = "2" ] - then - display_banner && display_name && display_userinfo - transfer_menu - elif [ "$MENU" = "3" ] || [ "$MENU" = "contacts" ] - then - display_banner && display_name && display_userinfo - api_contacts #& animate "Fetching contacts" - list_contacts - contacts_menu - elif [ "$MENU" = "4" ] - then - display_banner && display_name && display_userinfo - api_activites - activities - elif [ "$MENU" = "5" ] - then - display_banner && display_name && display_userinfo - services - elif [ "$MENU" = "6" ] - then - display_banner && display_name && display_userinfo - settings - elif [ "$MENU" = "exit" ] || [ "$MENU" = "x" ] - then - cexit - else - display_banner && display_name && display_userinfo - echo ${red}Invalid input:${yellow} $MENU ${reset} 1>&2 - main_menu -fi -} -############################################################################################## -accounts_menu(){ - echo "" - echo "Work In Progress" - read -p "Press enter to return main menu" BRUH - display_banner && display_name && display_userinfo - main_menu -} -################################################################################################ -contacts_menu(){ - echo "Contacts" - echo "" - echo "1 - Transfer" - echo "2 - Add New Contact" - echo "3 - Delete Contact" - echo "x - Go back" - echo "" - printf 'Please Input: ' -read -r CONTACTS - -if [ "$CONTACTS" = "1" ] || ["$CONTACTS" = "transfer" ] -then - display_banner && display_name && display_userinfo - transfer_menu -elif [ "$CONTACTS" = "2" ] || ["$CONTACTS" = "add new contact" ] -then - display_banner && display_name && display_userinfo - add_contact - contacts_menu -elif [ "$CONTACTS" = "3" ] || ["$CONTACTS" = "delete contact" ] -then - display_banner && display_name && display_userinfo - list_contacts - delete_contact - api_contacts - contact_menu -elif [ "$CONTACTS" = "x" ] || [ "$CONTACTS" = "back" ] -then - display_banner && display_name && display_userinfo - main_menu -elif [ "$CONTACTS" = "exit" ] -then - cexit -else - display_banner && display_name && display_userinfo - echo ${red}Invalid input:${yellow} $CONTACTS ${reset} 1>&2 - contacts_menu -fi -} -transfer_menu(){ - echo "Work In Progress" - read -p "Press enter to return to main menu" BRUH - display_banner && display_name && display_userinfo - main_menu -} -########################################################################################### -change_password(){ - while true; do - echo "Select OTP Method:" - echo "1 - Mobile" - echo "2 - Email" - echo "" - read -p "Please input: " OTPCHANNEL - - if [ "$OTPCHANNEL" = "1" ] || [ "$OTPCHANNEL" = "mobile" ] - then - OTPCHANNEL=mobile - ECHOOTPCHANNEL=$PHONE - break - elif [ "$OTPCHANNEL" = "2" ] || [ "$OTPCHANNEL" = "email" ] - then - OTPCHANNEL=email - ECHOOTPCHANNEL=$EMAIL - break - elif [ "$OTPCHANNEL" = "back" ] || [ "$OTPCHANNEL" = "x" ] - then - display_banner && display_name && display_userinfo - settings - else - display_banner && display_name && display_userinfo - echo ${red}Invalid Input${reset} - echo Enter x to back - fi - done - - read -s -p 'Enter Current Password: ' OLD_PASSWORD - - echo "" - while true; do - read -s -p 'Enter New Password: ' NEW_PASSWORD - echo "" - read -s -p 'Repeat New Password: ' REPEAT_NEWPASSWORD - echo "" - if [ "$NEW_PASSWORD" != "$REPEAT_NEWPASSWORD" ] - then - display_banner && display_name && display_userinfo - echo "${red}Password do not match${reset}" - echo "Try again" - else - break - fi - done - - - curl -s -b $COOKIE $BML_URL/user/changepassword \ - --data-raw currentPassword=$OLD_PASSWORD \ - --data-raw newPassword=$NEW_PASSWORD \ - --data-raw newPasswordConfirmation=$REPEAT_NEWPASSWORD \ - --data-raw channel=$OTPCHANNEL > /dev/null - - echo ${lightgreen}OTP sent to ${yellow}${ECHOOTPCHANNEL}${reset} - read -p 'Enter OTP: ' OTP - CHANGEPASSWORD=$(curl -s -b $COOKIE $BML_URL/user/changepassword \ - --data-raw currentPassword=$OLD_PASSWORD \ - --data-raw newPassword=$NEW_PASSWORD \ - --data-raw newPasswordConfirmation=$REPEAT_NEWPASSWORD \ - --data-raw channel=$OTPCHANNEL \ - --data-raw otp=$OTP \ - | jq -r .code) - - if [ "$CHANGEPASSWORD" = "0" ] - then - echo Password changed succesfully ${reset} - elif [ "$CHANGEPASSWORD" = "8" ] - then - display_banner && display_name && display_userinfo - echo ${red}Old Password is incorrect${reset} - echo failed to change password - change_password - elif [ "$CHANGEPASSWORD" = "24" ] - then - display_banner && display_name && display_userinfo - echo ${red}Invalid OTP${reset} - echo failed to change password - change_password - elif [ "$CHANGEPASSWORD" = "17" ] - then - echo ${red}Login Required${reset} - init_login - display_banner - change_password - else - echo unknown error - main_menu - fi - - -} -############################################################################################## - - -################################################################################################ -settings(){ - echo "Settings" - echo "1 - Logout" - echo "2 - Logout and reset config" - echo "3 - Change Password" - echo "" - printf 'Please Input: ' - read -r SETTINGS - - if [ "$SETTINGS" = "1" ] - then - display_banner - wipe_credentials - cexit - elif [ "$SETTINGS" = "2" ] - then - display_banner - reset_config - elif [ "$SETTINGS" = "3" ] - then - display_banner && display_name && display_userinfo - change_password - elif [ "$SETTINGS" = "x" ] || [ "$SETTINGS" = "back" ] - then - display_banner && display_name && display_userinfo - main_menu - else - display_banner && display_name && display_userinfo - echo ${red}Invalid input:${yellow} $SETTINGS ${reset} 1>&2 - settings - fi -} - - -if [ ! -f $CONFIG ] -then - initialize -fi - -init_login(){ - if [ "$BML_USERNAME" != "" ] && [ "$BML_PASSWORD" != "" ] - then - readpin - else - enter_credentials - fi -} -display_banner && check_connection #& animate "Checking Internet Connection" -source $CONFIG -source $CREDENTIALS -display_banner && os_detect # & animate "Detecting Operating System" -display_banner && init_login -userinfo -display_banner && display_welcome && display_userinfo && main_menu