From a426946881a2c47a2209461751192bb36553ec4b Mon Sep 17 00:00:00 2001 From: q3aql Date: Sat, 28 May 2022 18:41:51 +0200 Subject: [PATCH] Scripts with menu functions --- menu/about.sh | 41 +++++++++++++++++++ menu/download-protonvpn-files.sh | 43 ++++++++++++++++++++ menu/edit-credentials.sh | 69 ++++++++++++++++++++++++++++++++ 3 files changed, 153 insertions(+) create mode 100755 menu/about.sh create mode 100755 menu/download-protonvpn-files.sh create mode 100755 menu/edit-credentials.sh diff --git a/menu/about.sh b/menu/about.sh new file mode 100755 index 0000000..406cf4b --- /dev/null +++ b/menu/about.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +################################################################ +# Script for manage your ProtonVPN connections (Dmenu VERSION) # +# Last change: 28-05-2022 # +# Author: q3aql # +# Contact: q3aql@duck.com # +# License: GPL v2.0 # +################################################################ +VERSION="2.0" +M_DATE="280522" + +# Variables +protonFiles="${HOME}/protonFiles" +url_download="https://account.protonvpn.com/downloads" +url_credentials="https://account.protonvpn.com/account#openvpn" +file_credentials="/opt/dmenu_protonvpn/proton-credentials.txt" +sed_file_credentials="\/opt\/dmenu_protonvpn\/proton-credentials.txt" +menu_files="/opt/dmenu_protonvpn/menu" + +case "${TERM}" in + xterm-color|*-256color) color_prompt=yes;; +esac +if [ "${color_prompt}" == "yes" ] ; then + blue='\e[34m' ; red='\e[31m' ; yellow='\e[33m' + purple='\e[35m' ; green='\e[32m' ; end='\e[0m' +else + blue='' ; red='' ; yellow='' ; morado='' + verde='' ; end='' +fi + +clear +echo "" +echo -e "${green}* About:${end}" +echo "" +echo -e " ${red}-${end} ${green}Software:${end}${purple} dmenu_protonvpn ${VERSION} (${M_DATE})${end}" +echo -e " ${red}-${end} ${green}Author:${end}${purple} q3aql${end}" +echo -e " ${red}-${end} ${green}Contact:${end}${purple} q3aql@duck.com${end}" +echo -e " ${red}-${end} ${green}License:${end}${purple} GPL v2.0${end}" +echo "" +echo -ne "${green}+ Press ${end}${purple}ENTER${end}${green} to return menu${end} " ; read return diff --git a/menu/download-protonvpn-files.sh b/menu/download-protonvpn-files.sh new file mode 100755 index 0000000..7374058 --- /dev/null +++ b/menu/download-protonvpn-files.sh @@ -0,0 +1,43 @@ +#!/bin/bash + +################################################################ +# Script for manage your ProtonVPN connections (Dmenu VERSION) # +# Last change: 28-05-2022 # +# Author: q3aql # +# Contact: q3aql@duck.com # +# License: GPL v2.0 # +################################################################ +VERSION="2.0" +M_DATE="280522" + +# Variables +protonFiles="${HOME}/protonFiles" +url_download="https://account.protonvpn.com/downloads" +url_credentials="https://account.protonvpn.com/account#openvpn" +file_credentials="/opt/dmenu_protonvpn/proton-credentials.txt" +sed_file_credentials="\/opt\/dmenu_protonvpn\/proton-credentials.txt" +menu_files="/opt/dmenu_protonvpn/menu" + +case "${TERM}" in + xterm-color|*-256color) color_prompt=yes;; +esac +if [ "${color_prompt}" == "yes" ] ; then + blue='\e[34m' ; red='\e[31m' ; yellow='\e[33m' + purple='\e[35m' ; green='\e[32m' ; end='\e[0m' +else + blue='' ; red='' ; yellow='' ; morado='' + verde='' ; end='' +fi + +clear +echo "" +echo -e "${green}* dmenu_protonvpn${end}${purple} v${VERSION} ${end}${green}(${M_DATE})${end}" +echo "" +echo -e " ${purple}* Steps for download .ovpn files:${end}" +echo "" +echo -e " ${red}-${end}${green} Open URL: ${end}${yellow}${url_download}${end}" +echo -e " ${red}-${end}${green} Login with your Proton account${end}" +echo -e " ${red}-${end}${green} Click to Downloads > OpenVPN configuration files${end}" +echo -e " ${red}-${end}${green} Download *.ovpn files and copy to ${end}${yellow}${HOME}/protonFiles${end}" +echo "" +echo -ne "${green}+ Press ${end}${purple}ENTER${end}${green} to return menu${end} " ; read return diff --git a/menu/edit-credentials.sh b/menu/edit-credentials.sh new file mode 100755 index 0000000..57ec81e --- /dev/null +++ b/menu/edit-credentials.sh @@ -0,0 +1,69 @@ +#!/bin/bash + +################################################################ +# Script for manage your ProtonVPN connections (Dmenu VERSION) # +# Last change: 28-05-2022 # +# Author: q3aql # +# Contact: q3aql@duck.com # +# License: GPL v2.0 # +################################################################ +VERSION="2.0" +M_DATE="280522" + +# Variables +protonFiles="${HOME}/protonFiles" +url_download="https://account.protonvpn.com/downloads" +url_credentials="https://account.protonvpn.com/account#openvpn" +file_credentials="/opt/dmenu_protonvpn/proton-credentials.txt" +sed_file_credentials="\/opt\/dmenu_protonvpn\/proton-credentials.txt" +menu_files="/opt/dmenu_protonvpn/menu" + +case "${TERM}" in + xterm-color|*-256color) color_prompt=yes;; +esac +if [ "${color_prompt}" == "yes" ] ; then + blue='\e[34m' ; red='\e[31m' ; yellow='\e[33m' + purple='\e[35m' ; green='\e[32m' ; end='\e[0m' +else + blue='' ; red='' ; yellow='' ; morado='' + verde='' ; end='' +fi + +function insertCredentials() { + if [ -f "${1}" ] ; then + check_credentials=$(cat "${1}" | grep "auth-user-pass ${file_credentials}") + if [ -z "${check_credentials}" ] ; then + sed -i "s/auth-user-pass/auth-user-pass ${sed_file_credentials}/g" "${1}" + fi + fi +} + +function checkFileCredentials() { + check_file=$(cat ${file_credentials} 2> /dev/null | wc -l) + if [ ${check_file} -ne 2 ] ; then + editCredentials + fi +} + +function checkFileCredentials() { + check_file=$(cat ${file_credentials} 2> /dev/null | wc -l) + if [ ${check_file} -ne 2 ] ; then + editCredentials + fi +} + +clear +echo "" +echo -e "${green}* dmenu_protonvpn${end}${purple} v${VERSION} ${end}${green}(${M_DATE})${end}" +echo "" +echo -e "${purple}+ URL Credentials:${end}${yellow} ${url_credentials}${end}" +echo "" +echo -ne "${green}* User OpenVPN / IKEv2:${end} " ; read user_openvpn +echo -ne "${green}* Password OpenVPN / IKEv2:${end} " ; read pass_openvpn +if [ -z "${user_openvpn}" ] ; then + echo "# User / Password canceled" +else + echo "${user_openvpn}" > ${file_credentials} + echo "${pass_openvpn}" >> ${file_credentials} +fi +