#
Termux Login USAGE: . <(curl -L luisadha.github.io/termcreed)
#!/data/data/com.termux/files/usr/bin/bah
# termcreed.sh
# version: v0.01
# Copyright (c) 2025 - Luis Adha
# Your credential
username_valid="$(cat ~/.ssh/userid)";
password_valid="$(age -d -i ~/.ssh/keyid.txt ~/.ssh/passid)" # Encrypted password stored at ~/.ssh/passid or your options
# Note: You shouldn't touch this settings unless you really know what you are doing.
sym="┃";
border_split=('┏' '┓' '━' '┗' '┛')
width=30
height=5
corner_tl="┌"
corner_tr="┐"
corner_bl="└"
corner_br="┘"
horizontal="─"
vertical="│"
center_text() {
local text="$1"
local cols=$(tput cols)
local text_length=${#text}
local padding=$(( (cols - text_length) / 2 ))
(( padding < 0 )) && padding=0
# Cetak teks dengan spasi di depan lalu pipe ke `boxes`
printf "%*s%s\n" "$padding" "" "$text" | boxes -d "$@"
}
drawTextFill() {
local arg=$1;
local cols=$(echo "$(tput cols) -1" | bc )
local calc=$(echo "${cols} - ${#arg}" | bc)
echo -en $arg && printf %"$calc"s | tr " " "-" | tr "-" " "
}
box() {
#local args=$
echo "${border_split[0]}${border_split[2]}${border_split[1]}"
echo "${border_split[3]}${border_split[2]}${border_split[4]}"
}
align_top() {
printf %"$(echo "$(tput cols) - 2" | bc)"s | sed "s/ /${border_split[2]}/g" | sed "s/^/${border_split[0]}/g" | sed "s/$/${border_split[1]}/g"
}
align_bottom() {
printf %"$(echo "$(tput cols) - 2" | bc)"s | sed "s/ /${border_split[2]}/g" | sed "s/^/${border_split[3]}/g" | sed "s/$/${border_split[4]}/g"
}
sign_form() {
align_top
drawTextFill "${sym} ${1:-}" | sed "s/$/${sym}/g"
align_bottom
}
pasw_form() { sign_form "$@"; }
# return
while :; do clear;
tput sc; sign_form "SIGN IN:"; tput cup 1 11; read username; tput cup 2 11; echo
tput sc; pasw_form "PASSWORD:"; tput cup 4 11; read -s password; tput cup 5; echo
if [[ "$username" == "$username_valid" && "$password" == "$password_valid" ]]; then
center_text "Login successful!" -d stone
sleep 1 && clear
break
else
center_text "Login failed!" -d f90-box
sleep 1
continue
fi
done
#