aports/community/bitcoin/bitcoin.post-install
Stuart Cardall 3597bb4ea3 community/bitcoin: update to 0.14.0 / use supervise-daemon
https://github.com/bitcoin/bitcoin/blob/master/doc/release-notes/release-notes-0.14.0.md

initd now uses supervise-daemon for service supervision.

please note the new bitcoin.conf format => do NOT enable daemon mode
as supervise-daemon requires services to run in the foreground.
2017-03-17 09:51:55 +00:00

38 lines
865 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