#!/bin/bash
######################################################################
#Copyright (C) 2022  Kris Occhipinti
#https://filmsbykris.com

#This program is free software: you can redistribute it and/or modify
#it under the terms of the GNU General Public License as published by
#the Free Software Foundation, either version 3 of the License, or
#(at your option) any later version.

#This program is distributed in the hope that it will be useful,
#but WITHOUT ANY WARRANTY; without even the implied warranty of
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#GNU General Public License for more details.

#You should have received a copy of the GNU General Public License
#along with this program.  If not, see <http://www.gnu.org/licenses/>.
######################################################################

[[ $(which xclip) ]] && clipboard="xclip"
[[ $(which termux-clipboard-set) ]] && clipboard="termux-clipboard-set"
timeout=30

dir="$HOME/.fbk/pass"
mkdir -p "$dir"

function new_site(){
  read -p "Enter Site Name: " site
  password="$(date +%s | sha256sum | base64 | head -c 10)$(date +%d)!"
  echo "Password: ${password}"
  echo "${password}"| openssl aes-256-cbc -salt -pbkdf2 -out "${dir}/${site}.aes"
  option="${site}.aes|${password}"
}

function get_password(){
  site="$(echo "$option"|cut -d\| -f1)"
  enc_pass="$(echo "$option"|cut -d\| -f2)"
  openssl aes-256-cbc -d -salt -pbkdf2 -in "${dir}/${site}"|$clipboard
  echo "Password Copied to Clipboard."
  wipe &
}

function wipe(){ 
  sleep $timeout 
  echo ""|$clipboard; 
}

option="$((echo "NEW SITE";ls "${dir}")|fzf)"

[[ "$option" == "" ]] && exit 1
[[ "$option" == "NEW SITE" ]] && new_site

get_password
