@@ -1,3 +0,0 @@ | |||
_functions=(_git _scg _scl) | |||
_aliases=(git main ssh system) |
@@ -1,84 +0,0 @@ | |||
#!/usr/bin/env bash | |||
### BEG SCRIPT INFO | |||
# | |||
# Header: | |||
# | |||
# fname : "ana-init" | |||
# cdate : "24.05.2018" | |||
# author : "Michał Żurawski <trimstray@gmail.com>" | |||
# tab_size : "2" | |||
# soft_tabs : "yes" | |||
# | |||
# Description: | |||
# | |||
# See README.md file for more information. | |||
# | |||
# License: | |||
# | |||
# awesome-ninja-admins, Copyright (C) 2018 Michał Żurawski | |||
# | |||
# 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/>. | |||
# | |||
### END SCRIPT INFO | |||
# The array that store call parameters. | |||
# shellcheck disable=SC2034 | |||
__init_params=() | |||
__script_params=("$@") | |||
# Store the name of the script and directory call. | |||
readonly _ana_dir="${HOME}/.awesome-ninja-admins" | |||
# Directory structure. | |||
# shellcheck disable=SC2154 | |||
readonly _ana_src="${_ana_dir}/src" | |||
readonly _ana_lib="${_ana_dir}/lib" | |||
# shellcheck disable=SC1090,SC1091 | |||
source "${_ana_src}/settings" | |||
# shellcheck disable=SC1090 | |||
source "${_ana_src}/helpers" | |||
# Include main configuration file. | |||
# shellcheck disable=SC1090 | |||
source "${_ana_dir}/ana.conf" || (printf "%s\\n" "file not found" ; exit) | |||
# shellcheck disable=SC2154 | |||
for _i in "${_functions[@]}" ; do | |||
_fd="${_ana_lib}/functions/${_i}" | |||
if [[ ! -z "$_fd" ]] && [[ -e "$_fd" ]] ; then | |||
# If the file exists is loaded. | |||
# shellcheck disable=SC1090 | |||
source "${_fd}" | |||
fi | |||
done | |||
# shellcheck disable=SC2154 | |||
for _i in "${_aliases[@]}" ; do | |||
_fd="${_ana_lib}/aliases/${_i}" | |||
if [[ ! -z "$_fd" ]] && [[ -e "$_fd" ]] ; then | |||
# If the file exists is loaded. | |||
# shellcheck disable=SC1090 | |||
source "${_fd}" | |||
fi | |||
done |
@@ -1,205 +0,0 @@ | |||
#!/usr/bin/env bash | |||
### BEG SCRIPT INFO | |||
# | |||
# Header: | |||
# | |||
# fname : "awesome-ninja-admins" | |||
# cdate : "24.05.2018" | |||
# author : "Michał Żurawski <trimstray@gmail.com>" | |||
# tab_size : "2" | |||
# soft_tabs : "yes" | |||
# | |||
# Description: | |||
# | |||
# See README.md file for more information. | |||
# | |||
# License: | |||
# | |||
# awesome-ninja-admins, Copyright (C) 2018 Michał Żurawski | |||
# | |||
# 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/>. | |||
# | |||
### END SCRIPT INFO | |||
# The array that store call parameters. | |||
# shellcheck disable=SC2034 | |||
__init_params=() | |||
__script_params=("$@") | |||
# Store the name of the script and directory call. | |||
readonly _init_name="$(basename "$0")" | |||
readonly _init_directory="$(dirname "$(readlink -f "$0")")" | |||
# Set root directory. | |||
readonly _rel="${_init_directory}" | |||
# Directory structure. | |||
# shellcheck disable=SC2154 | |||
readonly _src="${_rel}/src" | |||
readonly _lib="${_rel}/lib" | |||
readonly _cfg="${_rel}/etc" | |||
# shellcheck disable=SC1090,SC1091 | |||
source "${_src}/settings" | |||
# shellcheck disable=SC1090 | |||
source "${_src}/helpers" | |||
################################################################################ | |||
######################### Main function (script init) ########################## | |||
################################################################################ | |||
function __main__() { | |||
local _FUNCTION_ID="__main__" | |||
local _STATE="0" | |||
# Stores the current date. | |||
readonly _cdate=$(date +%Y%m%d) | |||
# External configuration file (-c|--config script param). | |||
config="" | |||
load_state="0" | |||
# Declaration of output variables (--debug and --verbose params). | |||
stdout_mode="" | |||
printf_mode="" | |||
# Enable/disable output colors. | |||
# shellcheck disable=SC2034 | |||
s_color="true" | |||
# We place here used commands at script runtime, as strings to anything | |||
# unnecessarily run. | |||
readonly commands=("basename" "dirname" "stat" "date" "grep" "egrep" "cut" \ | |||
"sed" "gzip" "tar") | |||
# If you intend to specify the full path to the command we do it like: | |||
# readonly exec_gzip="/bin/gzip" | |||
# Stores the names of the missing commands. | |||
missing_hash=() | |||
missing_counter="0" | |||
for i in "${commands[@]}" ; do | |||
if [[ ! -z "$i" ]] ; then | |||
hash "$i" >/dev/null 2>&1 ; state="$?" | |||
# If the command was not found put it in the array | |||
if [[ "$state" -ne 0 ]] ; then | |||
missing_hash+=("$i") | |||
((missing_counter++)) | |||
fi | |||
fi | |||
done | |||
# It is a good idea to terminate the script at this stage | |||
# with information for the user to fix the errors if at least one | |||
# of the required commands in the commands array is not found. | |||
if [[ "$missing_counter" -gt 0 ]] ; then | |||
printf "not found in PATH: %s\\n" "${missing_hash[*]}" >&2 | |||
exit 1 | |||
fi | |||
# Specifies the call parameters of the script, the exact description | |||
# can be found in _help_ and file README.md. | |||
local _short_opt="" | |||
local _long_opt="help" | |||
_GETOPT_PARAMS=$(getopt -o "${_short_opt}" --long "${_long_opt}" \ | |||
-n "${_init_name}" -- "${__script_params[@]}") | |||
# With this structure, in the case of problems with the parameters placed | |||
# in the _GETOPT_PARAMS variable we finish the script. Keep this in mind | |||
# because it has some consequences - the __main __() function will not be | |||
# executed. | |||
# Ends an error if the parameter or its argument is not valid. | |||
_getopt_state="$?" | |||
if [ "$_getopt_state" != 0 ] ; then | |||
exit 1 | |||
fi | |||
eval set -- "$_GETOPT_PARAMS" | |||
while true ; do | |||
case $1 in | |||
--help) | |||
_help_ | |||
shift ; exit 0 ;; | |||
*) | |||
if [[ "$2" == "-" ]] || [[ ! -z "$2" ]] ; then | |||
printf "%s: invalid option -- '%s'\\n" "$_init_name" "$2" | |||
exit 1 | |||
# elif [[ -z "$2" ]] ; then break ; fi | |||
else break ; fi | |||
;; | |||
esac | |||
done | |||
################################# USER SPACE ################################# | |||
# ```````````````````````````````````````````````````````````````````````````` | |||
# Put here all your variable declarations, function calls | |||
# and all the other code blocks. | |||
# In this section we add external file (for -c|--config script param). | |||
if [[ "$load_state" -eq 1 ]] ; then _load "head" "$config" ; fi | |||
# shellcheck disable=SC2034 | |||
# Generate random value. | |||
_random=$(date +"%s") | |||
local _user | |||
_user=$(whoami) | |||
_sprintf "head" "Awesome-Ninja-Admins" | |||
_sprintf "info" "tasks:" | |||
_init_skel | |||
echo | |||
# ```````````````````````````````````````````````````````````````````````````` | |||
return "$_STATE" | |||
} | |||
# We pass arguments to the __main__ function. | |||
# It is required if you want to run on arguments type $1, $2, ... | |||
__main__ "${__script_params[@]}" | |||
exit 0 |
@@ -1,4 +0,0 @@ | |||
alias git.a='git add' | |||
alias git.show='git log --oneline --decorate --graph --all' | |||
alias git.pm='_ana_git_pull master' |
@@ -1,24 +0,0 @@ | |||
alias ssh_nonpass='ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no' | |||
alias xfce.restart.panel='xfce4-panel -r' | |||
alias cpu.low='cpupower frequency-set -d' | |||
alias cpu.high='cpupower frequency-set -u' | |||
alias cpu.show='cpupower frequency-info' | |||
alias git.commit='git add . && git commit -m "uncommited changes"' | |||
alias claminit='/usr/bin/clamscan --suppress-ok-results --block-encrypted --database=/home/admin/.clamtk/db --scan-mail=yes --scan-archive=yes --max-scansize=500M --exclude-dir=^/home/admin/.clamtk/viruses --exclude-dir=^/sys/ --exclude-dir=^/dev/ --exclude-dir=^/proc/ --follow-dir-symlinks=1 --follow-file-symlinks=1 --detect-broken --recursive=yes' | |||
alias ssh.pentest-kali='ssh 139.59.154.194 -p 9000' | |||
alias ssh.ext-web1='ssh 46.101.164.125 -p 8200' | |||
alias l='ls -lFh --group-directories-first' #size,show type,human readable | |||
alias la='ls -lAFh --group-directories-first' #long list,show almost all,show type,human readable | |||
alias lr='ls -tRFh --group-directories-first' #sorted by date,recursive,show type,human readable | |||
alias lt='ls -ltFh --group-directories-first' #long list,sorted by date,show type,human readable | |||
alias ll='ls -l --group-directories-first' #long list | |||
alias git.reft="git pull origin testing && git fetch --all && git fetch --prune --tags" | |||
alias git.refm="git pull origin master && git fetch --all && git fetch --prune --tags" | |||
alias show.dns="ll /etc/dnsmasq.d/templates" | |||
alias show.vpn="ll /etc/netrog/vpn" |
@@ -1 +0,0 @@ | |||
alias ssh.nonpass='ssh -o PreferredAuthentications=password -o PubkeyAuthentication=no' |
@@ -1,15 +0,0 @@ | |||
#!/usr/bin/env bash | |||
function _ana_git_pull() { | |||
local _arg=("$@") | |||
for _i in "${_arg[@]}" ; do | |||
printf "%s" "$_i" | |||
git pull origin "$_i" && git fetch --all && git fetch --prune --tags | |||
done | |||
} |
@@ -1,6 +0,0 @@ | |||
function scg() { | |||
/usr/bin/keychain $HOME/.ssh/id_rsa.blueservices.pl | |||
source $HOME/.keychain/$HOSTNAME-sh | |||
} |
@@ -1,5 +0,0 @@ | |||
function scl() { | |||
/usr/bin/keychain --clear | |||
} |
@@ -1,75 +0,0 @@ | |||
" au BufWritePost * :set nobinary | set eol | |||
autocmd FileType * setlocal eol nobinary fileformats="unix,mac,dos" | |||
set pastetoggle=<F6> | |||
set history=256 | |||
filetype plugin on | |||
set autoread | |||
set so=7 | |||
set wildmenu | |||
set wildignore=*.o,*~,*.pyc | |||
set cmdheight=2 | |||
set hid | |||
set backspace=eol,start,indent | |||
set whichwrap+=<,>,h,l | |||
set ignorecase | |||
set smartcase | |||
set hlsearch | |||
set incsearch | |||
set lazyredraw | |||
set magic | |||
set number | |||
set showmatch | |||
set mat=2 | |||
set noerrorbells | |||
set novisualbell | |||
set t_vb= | |||
set tm=500 | |||
syntax enable | |||
colorscheme desert | |||
set background=dark | |||
if has("gui_running") | |||
set guioptions-=T | |||
set guioptions+=e | |||
set t_Co=256 | |||
set guitablabel=%M\ %t | |||
endif | |||
set encoding=utf8 | |||
set ffs=unix,dos,mac | |||
set expandtab | |||
set smarttab | |||
set shiftwidth=2 | |||
set tabstop=2 | |||
set lbr | |||
set tw=500 | |||
set ai "Auto indent | |||
set si "Smart indent | |||
set wrap "Wrap lines | |||
set linebreak | |||
set showbreak=>\ \ \ | |||
set laststatus=2 | |||
map <Esc><Esc> :wq!<CR> |
@@ -1,234 +0,0 @@ | |||
#!/usr/bin/env bash | |||
# shellcheck shell=bash | |||
################################################################################ | |||
####################### Definitions of global functions ######################## | |||
################################################################################ | |||
# `````````````````````````````````````````````````````````````````````````````` | |||
# Function name: _sprintf() | |||
# | |||
# Description: | |||
# Function designed to output to the screen in a clear format. | |||
# | |||
# Usage: | |||
# _sprintf "type" "message" | |||
# | |||
# Examples: | |||
# _sprintf "head" "correct certificate: $_ssl_cert_file" | |||
# | |||
function _sprintf() { | |||
local _FUNCTION_ID="_sprintf" | |||
local _STATE="0" | |||
local _s_type="$1" | |||
local _s_info="$2" | |||
# Determine the type of character and color for each type | |||
# of output information. | |||
if [[ "$_s_type" == "head" ]] ; then | |||
s_char="::" | |||
s_trgb="1;32" | |||
elif [[ "$_s_type" == "info" ]] ; then | |||
s_char="»" | |||
s_trgb="0;33" | |||
elif [[ "$_s_type" == "warn" ]] ; then | |||
s_char="!" | |||
s_trgb="1;37" | |||
elif [[ "$_s_type" == "stop" ]] ; then | |||
s_char="!" | |||
s_trgb="1;31" | |||
else | |||
s_char="-" | |||
s_trgb="0;37" | |||
fi | |||
# If verbose mode is enabled, display info message. | |||
# shellcheck disable=SC2154 | |||
if [[ "$_s_type" == "info" ]] ; then | |||
printf ' \e['${s_trgb}'m%s\e[m %s\n\n' "$s_char" "$_s_info" | |||
elif [[ "$_s_type" == "light-red" ]] ; then | |||
s_char="»" | |||
printf ' \e[1;49;31m%s\e[m %s\n' "$s_char" "$_s_info" | |||
elif [[ "$_s_type" == "light-green" ]] ; then | |||
s_char="»" | |||
printf ' \e[1;49;32m%s\e[m %s\n' "$s_char" "$_s_info" | |||
elif [[ "$_s_type" == "light-cyan" ]] ; then | |||
s_char="»" | |||
printf ' \e[1;49;36m%s\e[m %s\n' "$s_char" "$_s_info" | |||
else | |||
# If not, just display only the head, warn or stop string. | |||
# shellcheck disable=SC2154 | |||
if [[ "$_s_type" == "head" ]] ; then | |||
if [[ "$s_color" == "true" ]] ; then | |||
c_trgb="1;38" | |||
printf '\e['${s_trgb}'m%s\e[m \e['${c_trgb}'m%s\e[m\n\n' "$s_char" "$_s_info" | |||
else | |||
printf '\e['${s_trgb}'m%s\e[m %s\n\n' "$s_char" "$_s_info" | |||
fi | |||
elif [[ "$_s_type" == "warn" ]] ; then | |||
if [[ "$s_color" == "true" ]] ; then | |||
c_trgb="1;43" | |||
printf ' \e['${s_trgb}'m%s\e[m \e['${c_trgb}'m%s\e[m\n' "$s_char" "$_s_info" | |||
else | |||
printf ' \e['${s_trgb}'m%s\e[m %s\n' "$s_char" "$_s_info" | |||
fi | |||
elif [[ "$_s_type" == "stop" ]] ; then | |||
if [[ "$s_color" == "true" ]] ; then | |||
c_trgb="1;41" | |||
printf ' \e['${s_trgb}'m%s\e[m \e['${c_trgb}'m%s\e[m\n' "$s_char" "$_s_info" | |||
else | |||
printf ' \e['${s_trgb}'m%s\e[m %s\n' "$s_char" "$_s_info" | |||
fi | |||
fi | |||
fi | |||
return "$_STATE" | |||
} | |||
# `````````````````````````````````````````````````````````````````````````````` | |||
# Function name: _load() | |||
# | |||
# Description: | |||
# Responsible for loading the configuration file, $config variable | |||
# parameter is defined in the script call. | |||
# | |||
# Usage: | |||
# _load "type" "path_to_config_file" | |||
# | |||
# Examples: | |||
# _load "info" "$config" | |||
# _load "head" "/tmp/file.cfg" | |||
# | |||
function _load() { | |||
local _FUNCTION_ID="_load" | |||
local _STATE="0" | |||
local _type="$1" | |||
local _filename="$2" | |||
if [[ ! -z "$_filename" ]] && [[ -e "$_filename" ]] ; then | |||
# If we do not want to inform that the file is loaded, | |||
# the value is 'null', otherwise: | |||
if [[ "$_type" == "head" ]] ; then | |||
_sprintf "info" "load configuration: '$_filename'" | |||
elif [[ "$_type" == "info" ]] ; then | |||
_sprintf "info" "load configuration: '$_filename'" | |||
fi | |||
# shellcheck disable=SC1090 | |||
# If the file exists is loaded. | |||
. "$_filename" && \ | |||
_logger "info" \ | |||
"${_FUNCTION_ID}()" \ | |||
"configuration file: '$_filename'" | |||
elif [ -z "$_filename" ] ; then | |||
_sprintf "stop" "incorrectly loaded '$_filename' file (incorrect filename)" | |||
else | |||
_sprintf "stop" "incorrectly loaded '$_filename' file (does not exist?)" | |||
fi | |||
return "$_STATE" | |||
} | |||
# `````````````````````````````````````````````````````````````````````````````` | |||
# Function name: _init_skel() | |||
# | |||
# Description: | |||
# Init user skel: | |||
# - create directory structure | |||
# | |||
# Usage: | |||
# _init_skel | |||
# | |||
# Examples: | |||
# _init_skel | |||
# | |||
function _init_skel() { | |||
local _FUNCTION_ID="_init_skel" | |||
local _STATE="0" | |||
local _shell_config="${HOME}/.bashrc" | |||
local _ana_string="source \"${HOME}/.awesome-ninja-admins/awesome-ninja-admins\"" | |||
# shellcheck disable=SC2154 | |||
_sprintf "light-cyan" "init user skel" | |||
# shellcheck disable=SC2154 | |||
rsync -a "${HOME}/.awesome-ninja-admins/skel/" "${HOME}" > /dev/null 2>&1 | |||
# shellcheck disable=SC2154 | |||
_sprintf "light-cyan" "enable awesome-ninja-admins" | |||
_if_exist=$(grep -q "${_ana_string}" "${_shell_config}" ; echo "$?") | |||
if [[ "$_if_exist" -ne 0 ]] ; then | |||
echo "source \"${HOME}/.awesome-ninja-admins/awesome-ninja-admins\"" \ | |||
>> "${_shell_config}" | |||
fi | |||
return "$_STATE" | |||
} |
@@ -1,26 +0,0 @@ | |||
# shellcheck shell=bash | |||
################################################################################ | |||
################## The configuration parameters of the script ################## | |||
################################################################################ | |||
# Bash 'Strict Mode': | |||
# errexit - exit the script if any statement returns a non-true return value | |||
# pipefail - exit the script if any command in a pipeline errors | |||
# nounset - exit the script if you try to use an uninitialised variable | |||
# xtrace - display debugging information | |||
set -o pipefail | |||
# Internal field separator (more flexible): | |||
# IFS_ORIG="$IFS" | |||
# IFS_HACK=$'\n\t' | |||
# IFS="$IFS_HACK" | |||
# PATH env variable setup: | |||
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin | |||
# Setting permissions in the script environment: | |||
# 0022 - less restrictive settings (default value) | |||
# 0027 - for better security than above | |||
# 0077 - only for user access (more restrictive) | |||
umask 0027 |