mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-07-21 02:05:16 +03:00
* fixes: 'parse error on line .., using # in rpcpassword can be ambiguous and should be avoided'
37 lines
864 B
Bash
37 lines
864 B
Bash
#!/bin/sh
|
|
|
|
NORMAL="\033[1;0m"
|
|
STRONG="\033[1;1m"
|
|
GREEN="\033[1;32m"
|
|
|
|
config=$(find /etc -maxdepth 1 -type f -name bitcoin.conf*)
|
|
|
|
randgen() {
|
|
output=$(cat /dev/urandom | tr -dc '0-9a-zA-Z!@$%^&*_+-' | head -c${1:-$1}) 2>/dev/null
|
|
echo $output
|
|
}
|
|
|
|
findRandomTcpPort(){
|
|
port=$(( 1024 + $(( $RANDOM % $(( 65534 - 1024 )) )) ))
|
|
while netstat -atn | grep -q :$port; do port=$(expr $port + 1); done; echo $port
|
|
}
|
|
|
|
GenPasswd(){
|
|
sed -i "/rpcuser=/ c \rpcuser=USER-"$(randgen 32)"" $1
|
|
sed -i "/rpcpassword=/ c \rpcpassword=PW-"$(randgen 64)"" $1
|
|
sed -i "/rpcport=/ c \rpcport="$(findRandomTcpPort)"" $1
|
|
print_green "Generated random user / password / port in:" " $1\n"
|
|
}
|
|
|
|
print_green() {
|
|
local prompt="${STRONG}$1${GREEN}$2${NORMAL}"
|
|
printf "${prompt}%s"
|
|
}
|
|
|
|
for file in $config; do
|
|
if grep -F "changeme" $file 1>/dev/null; then
|
|
GenPasswd $file
|
|
fi
|
|
done
|
|
|
|
exit 0
|