diff options
Diffstat (limited to 'community/bitcoin/bitcoin.post-install')
-rw-r--r-- | community/bitcoin/bitcoin.post-install | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/community/bitcoin/bitcoin.post-install b/community/bitcoin/bitcoin.post-install new file mode 100644 index 0000000000..9d2510fb2d --- /dev/null +++ b/community/bitcoin/bitcoin.post-install @@ -0,0 +1,35 @@ +#!/bin/sh + +NORMAL="\033[1;0m" +STRONG="\033[1;1m" +GREEN="\033[1;32m" + +config=$(grep -F 'config=' /etc/init.d/bitcoin |sed 's/config=//') + +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)"" $config + sed -i "/rpcpassword=/ c \rpcpassword=PW-"$(randgen 64)"" $config + sed -i "/rpcport=/ c \rpcport="$(findRandomTcpPort)"" $config + print_green "Generated random user / password / port in:" " $config\n" +} + +print_green() { + local prompt="${STRONG}$1${GREEN}$2${NORMAL}" + printf "${prompt}%s" +} + +if grep -F "changeme" $config 1>/dev/null; then + GenPasswd +fi + +exit 0 |