-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathverus-ufw.sh
executable file
·32 lines (28 loc) · 987 Bytes
/
verus-ufw.sh
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
#!/bin/bash
USER=verus
VERUS=/home/verus/bin/verus
MAIN_CHAIN=VRSC
JQ=$(which jq)
## Remove all PBAAS chains from UFW
REG=$(ufw status numbered | grep 'P2P port (version' | awk -F" " '{print $1}' | sed -E 's/\[//g; s/\]//g' | sort -nr)
for i in $REG; do
echo 'y' | ufw delete $i
done
## Retrieve chain names for all vrsctest + PBAAS chains
CHAIN_DEFINITIONS=$(su "${USER}" -c "${VERUS} -chain=$MAIN_CHAIN listcurrencies '{\"systemtype\":\"pbaas\"}'")
CHAINS=$(echo $CHAIN_DEFINITIONS | $JQ -r '.[] | .currencydefinition.name')
## add standard ports for all chains to UFW
for i in $CHAINS
do
CHAIN_INFO=$(su "${USER}" -c "${VERUS} -chain=${i} getinfo")
shopt -s nocasematch
if [[ "${CHAIN_INFO}" == *"${i}"* ]]
then
CHAIN_PORT=$(echo $CHAIN_INFO | $JQ .p2pport)
VERSION=$(echo $CHAIN_INFO | $JQ -r .VRSCversion)
ufw allow from any to any port $CHAIN_PORT proto tcp comment "${i} P2P port (version v$VERSION)"
fi
done
## show current UFW status
ufw status
#EOF