-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdot_functions
More file actions
137 lines (111 loc) · 3.5 KB
/
dot_functions
File metadata and controls
137 lines (111 loc) · 3.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/usr/bin/env bash
bw-session() {
echo "Unlocking Bitwarden and exporting session key as BW_SESSION..."
export BW_SESSION=$(bw unlock --raw)
}
bws-env() {
if [ -z "$BW_SESSION" ]; then
bw-session
fi
if [ -z "$BWS_ACCESS_TOKEN" ]; then
echo "Getting Bitwarden Secrets access token and setting as BWS_ACCESS_TOKEN..."
export BWS_ACCESS_TOKEN="$(bw get item bws | jq -r '.fields[] | select(.name=="bws_access_token") | .value')"
fi
if [ -z "$BWS_PROJECT_ID" ]; then
echo "Getting Bitwarden Secrets project ID and setting as BWS_PROJECT_ID..."
export BWS_PROJECT_ID="$(bw get item bws | jq -r '.fields[] | select(.name=="bws_project_id") | .value')"
fi
}
bws-sc() {
if [ $# -ne 2 ]
then
echo "Usage: `basename $0` SECRET_KEY SECRET_VALUE"
return
fi
SECRET_KEY=$1
SECRET_VALUE=$2
bws secret create ${SECRET_KEY} ${SECRET_VALUE} ${BWS_PROJECT_ID}
}
pubkey() {
if [ "$(uname)" = "Darwin" ]; then
cat ~/.ssh/id_rsa.pub | pbcopy
else
cat ~/.ssh/id_rsa.pub | xclip -selection clipboard
fi
cat ~/.ssh/id_rsa.pub
}
lets_encrypt_cert() {
mkdir -p $(pwd)/letsencrypt/{config,work,logs}
certbot certonly \
--config-dir $(pwd)/letsencrypt/config \
--work-dir $(pwd)/letsencrypt/work \
--logs-dir $(pwd)/letsencrypt/logs \
--agree-tos \
--dns-route53 \
--dns-route53-propagation-seconds 45 \
--server https://acme-v02.api.letsencrypt.org/directory
}
vault_passphrase() {
pwgen --capitalize --numerals --secure 200 1 | head -n1 | gpg --armor --recipient jaredhocutt@gmail.com --encrypt --output vault_passphrase.gpg
}
vault_passphrase_decrypt() {
gpg --batch --use-agent --decrypt vault_passphrase.gpg
}
venv_selinux() {
for i in $(ls /usr/lib64/python3.*/site-packages | grep selinux); do
ln -s /usr/lib64/python3.*/site-packages/${i} ${VIRTUAL_ENV}/lib64/python3.*/site-packages/
done
}
reboot_windows() {
sudo grub2-reboot "$(sudo grep -i windows /boot/grub2/grub.cfg | cut -d"'" -f2)"
reboot
}
openshift_download() {
if [ $# -ne 1 ]
then
echo "Usage: `basename $0` OPENSHIFT_VERSION"
return
fi
if [ "$(uname)" = "Darwin" ]
then
client_os="mac"
#if [ "$(uname -m)" = "arm64" ]
#then
# client_os="${client_os}-arm64"
#fi
else
client_os="linux"
fi
openshift_version_parts=( $(echo "${1}" | tr "." "\n") )
if [ ${#openshift_version_parts[@]} -eq 2 ]
then
wget http://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-${1}/openshift-install-${client_os}.tar.gz
wget http://mirror.openshift.com/pub/openshift-v4/clients/ocp/stable-${1}/openshift-client-${client_os}.tar.gz
else
wget http://mirror.openshift.com/pub/openshift-v4/clients/ocp/${1}/openshift-install-${client_os}.tar.gz
wget http://mirror.openshift.com/pub/openshift-v4/clients/ocp/${1}/openshift-client-${client_os}.tar.gz
fi
tar xvf openshift-install-${client_os}.tar.gz openshift-install
tar xvf openshift-client-${client_os}.tar.gz oc kubectl
rm -f openshift-install-${client_os}.tar.gz
rm -f openshift-client-${client_os}.tar.gz
}
video2gif() {
if [ $# -ne 4 ]
then
echo "Usage: `basename $0` INPUT FPS SCALE OUTPUT"
return
fi
ffmpeg -i $1 -vf "fps=$2,scale=$3:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 $4
}
episode_split() {
if [ $# -ne 4 ]
then
echo "Usage: `basename $0` INPUT START END OUTPUT"
return
fi
ffmpeg -i ${1} -vcodec copy -acodec copy -ss ${2} -to ${3} ${4}
}
dnstoys() {
dig +noall +answer +additional "$1" @dns.toys
}