forked from axiom-team/astroport
34 lines
1.2 KiB
Bash
34 lines
1.2 KiB
Bash
|
#!/bin/bash
|
||
|
########################################################################
|
||
|
# Author: Fred (support@qo-op.com)
|
||
|
# Version: 2020.03.18
|
||
|
# License: AGPL-3.0 (https://choosealicense.com/licenses/agpl-3.0/)
|
||
|
########################################################################
|
||
|
MY_PATH="`dirname \"$0\"`" # relative
|
||
|
MY_PATH="`( cd \"$MY_PATH\" && pwd )`" # absolutized and normalized
|
||
|
########################################################################
|
||
|
# \\///
|
||
|
# qo-op
|
||
|
#############
|
||
|
##########################
|
||
|
#######################################
|
||
|
####################################################
|
||
|
########################################################################
|
||
|
|
||
|
MOTS=$(echo "$1" | grep -E "^\-?[0-9]+$")
|
||
|
# Default is 6 words passphrase
|
||
|
if [[ "$MOTS" == "" ]]; then MOTS=6; fi
|
||
|
WORDCOUNT=${1-$MOTS}
|
||
|
# Download the wordlist
|
||
|
# wget -nc -O ~/.diceware-wordlist http://world.std.com/%7Ereinhold/diceware.wordlist.asc 2> /dev/null
|
||
|
# print a list of the diceware words
|
||
|
cat $MY_PATH/diceware-wordlist.txt |
|
||
|
awk '/[1-6][1-6][1-6][1-6][1-6]/{ print $2 }' |
|
||
|
# randomize the list order
|
||
|
shuf --random-source=/dev/urandom |
|
||
|
# pick the first n words
|
||
|
head -n ${WORDCOUNT} |
|
||
|
# pretty print
|
||
|
tr '\n' ' '
|
||
|
echo
|