README.md (4786B)
1 # rusty-diceware - a password generator using wordlists 2 3 Commandline [Diceware][diceware] ([Wayback Machine mirror][diceware-wayback]), with or without dice, written in [rustlang][rustlang]. 4 5 Please use [Gitlab][gitlab-mirror] for anything whatsoever. Github is just a mirror. 6 7 [CHANGELOG here](/CHANGELOG.md). 8 9 Inspired by the great passphrase generating solution [Diceware][diceware] ([Wayback Machine mirror][diceware-wayback]) invented by [Arnold G. Reinhold][arnold] ([Wayback Machine mirror][arnold-wayback]) and by Randall Monroe’s [xkcd#936][xkcd-936]: 10 11 ![“Hidden” alt text jokes are a pain in the ass.](/bin/imgs.xkcd.com/comics/password_strength.png) 12 13 ## Usage: 14 15 ``` 16 Usage: diceware [options] 17 18 Options: 19 -h, --help This help message. 20 -e, --entropy Display number of entropy bits. 21 -r, --dicerolls Provide results of physical dice rolls. Word per line, 22 same digit order as in the files, digits between and 23 including 1 and 6. 24 -n, --nword NWORD Number of words in a passphrase. 25 -d, --delimiter DELIM 26 The delimiter character used to separate the words. 27 -f, --wordlist-file FILE 28 Path to a wordlist file. 29 -l, --wordlist WORDLIST 30 Wordlist to use. (efflong (default), effshort1, 31 effshort2, minilock, reinhold, or beale) 32 ``` 33 34 ## Featuring: 35 36 * The three wordlists mentioned in EFF's [Diceware Guide][eff-diceware-guide]: 37 * [EFF Long Wordlist][eff-long-wordlist]. 38 * [EFF Short Wordlist #1][eff-short-wordlist-1]. 39 * [EFF Short Wordlist #2][eff-short-wordlist-2-0]. 40 * The original [Reinhold wordlist][reinhold-wordlist-asc] ([Wayback Machine mirror][reinhold-wordlist-asc-wayback]). 41 * The [Beale wordlist][beale-wordlist-asc] ([Wayback Machine mirror][beale-wordlist-asc-wayback]). 42 * The [MiniLock][minilock] ([github][minilock-github])wordlist. (found in the [phrase.js][minilock-phrase-js] file) 43 * The all new `--wordlist-file` command line option which loads and uses your very own newline delimited wordlist file. Inquire within! 44 * Physical dice roll! You can (don't use echo, it will show up in `ps` and show your rolls to other users): 45 46 ``` 47 $ cat | diceware -l efflong -r 48 111111 49 111112 50 ^D 51 abacus abdomen 52 ``` 53 * Wordlists live in their own [diceware_wordlists][diceware_wordlists] crate you can use for your own wicked deeds. 54 55 ## Mirrors: 56 57 * [Codeberg][codeberg-mirror] is the main repository. 58 * [Gitlab][gitlab-mirror] is just a mirror. 59 * [Github][github-mirror] is just a mirror. 60 * [Kakafarm][kakafarm-mirror] is just a mirror. 61 62 ## Supprt my extremely important and 110% not trivial work 💰: 63 64 You can support me at <https://buymeacoffee.com/kakafarm/> and/or tip on <https://liberapay.com/yuvallanger/donate>: 65 66 <script src="https://liberapay.com/yuvallanger/widgets/button.js"></script> 67 <noscript><a href="https://liberapay.com/yuvallanger/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript> 68 69 [codeberg-mirror]: <https://codeberg.org/kakafarm/rusty-diceware/> 70 [kakafarm-mirror]: <https://kaka.farm/~stagit/rusty-diceware/log.html> 71 [gitlab-mirror]: <https://gitlab.com/yuvallanger/rusty-diceware/> 72 [github-mirror]: <https://github.com/yuvallanger/rusty-diceware/> 73 74 [diceware_wordlists]: <https://crates.io/crates/diceware_wordlists> 75 76 [eff-diceware-guide]: <https://www.eff.org/dice> 77 [eff-long-wordlist]: <https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt> 78 [eff-short-wordlist-1]: <https://www.eff.org/files/2016/09/08/eff_short_wordlist_1.txt> 79 [eff-short-wordlist-2-0]: <https://www.eff.org/files/2016/09/08/eff_short_wordlist_2_0.txt> 80 81 [arnold]: <https://theworld.com/~reinhold/> 82 [diceware]: <https://theworld.com/~reinhold/diceware.html> 83 84 [arnold-wayback]: <https://web.archive.org/web/20220608141106/https://theworld.com/~reinhold/> 85 [diceware-wayback]: <https://web.archive.org/web/20220817092807/https://theworld.com/~reinhold/diceware.html> 86 87 [beale-wordlist-asc]: <https://theworld.com/~reinhold/beale.wordlist.asc> 88 [reinhold-wordlist-asc]: <https://theworld.com/~reinhold/diceware.wordlist.asc> 89 [minilock-phrase-js]: <https://github.com/kaepora/miniLock/blob/71dcf431886068c9ec7f563c3e4158153229b202/src/js/lib/phrase.js> 90 91 [beale-wordlist-asc-wayback]: <https://web.archive.org/web/20220602072646/https://theworld.com/~reinhold/beale.wordlist.asc> 92 [reinhold-wordlist-asc-wayback]: <https://web.archive.org/web/20220820102521/https://theworld.com/~reinhold/diceware.wordlist.asc> 93 94 [rustlang]: <http://rust-lang.org> 95 96 [xkcd-936]: <https://www.explainxkcd.com/wiki/index.php/936> 97 98 [minilock]: <http://minilock.io> 99 [minilock-github]: <https://github.com/kaepora/miniLock/>