Added some scripts to do math on password strength and generate random dictionary passphrases.
This commit is contained in:
		
							
								
								
									
										42
									
								
								platform-independent/scripts/categorize-words
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										42
									
								
								platform-independent/scripts/categorize-words
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
categories=( adj adv noun verb )
 | 
			
		||||
declare -A categoriesByWord=()
 | 
			
		||||
 | 
			
		||||
echo "Parsing category lists.."
 | 
			
		||||
for (( c = 0; c < ${#categories[@]}; ++c )); do
 | 
			
		||||
    printf '\rCategory: %s..   ' "${categories[c]}"
 | 
			
		||||
 | 
			
		||||
    while read -r word _; do
 | 
			
		||||
        categoriesByWord["$word"]+="$c "
 | 
			
		||||
    done < ~/.dictionary.d/"index.${categories[c]}"
 | 
			
		||||
done
 | 
			
		||||
echo
 | 
			
		||||
 | 
			
		||||
echo "Processing words list.."
 | 
			
		||||
{
 | 
			
		||||
    fdByCategory=()
 | 
			
		||||
    for (( c = 0; c < ${#categories[@]}; ++c )); do
 | 
			
		||||
        exec {fdByCategory[c]}>"words.txt.${categories[c]}"
 | 
			
		||||
    done
 | 
			
		||||
 | 
			
		||||
    w=0
 | 
			
		||||
    while IFS= read -r word _; do
 | 
			
		||||
        let ++w
 | 
			
		||||
 | 
			
		||||
        if (( ${#word} < 3 )) || [[ $word != *[aeiou]* ]]; then
 | 
			
		||||
            continue
 | 
			
		||||
        fi
 | 
			
		||||
 | 
			
		||||
        wordCategories=${categoriesByWord["$word"]}
 | 
			
		||||
 | 
			
		||||
        for c in $wordCategories; do
 | 
			
		||||
            printf '%d %s\n' "$w" "$word" >&"${fdByCategory[c]}"
 | 
			
		||||
        done
 | 
			
		||||
    done < words.txt
 | 
			
		||||
 | 
			
		||||
    for fd in "${fdByCategory[@]}"; do
 | 
			
		||||
        exec {fd}>&-
 | 
			
		||||
    done
 | 
			
		||||
}
 | 
			
		||||
echo
 | 
			
		||||
							
								
								
									
										48
									
								
								platform-independent/scripts/mpw_mkpw
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										48
									
								
								platform-independent/scripts/mpw_mkpw
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,48 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
 | 
			
		||||
getword() {
 | 
			
		||||
    local cat=$1 pop_limit=$2 words=()
 | 
			
		||||
 | 
			
		||||
    while read pop word; do
 | 
			
		||||
        (( pop_limit && pop > pop_limit )) && break
 | 
			
		||||
        words+=( "$word" )
 | 
			
		||||
    done < "words.txt.$cat"
 | 
			
		||||
 | 
			
		||||
    (( ${#words[@]} )) || { echo '1 -'; return 1; }
 | 
			
		||||
    echo "${#words[@]} ${words[RANDOM % ${#words[@]}]}"
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
declare -A categoryByCharacter=(
 | 
			
		||||
    ['a']=adj
 | 
			
		||||
    ['r']=adv
 | 
			
		||||
    ['n']=noun
 | 
			
		||||
    ['v']=verb
 | 
			
		||||
)
 | 
			
		||||
templates=(
 | 
			
		||||
    nvan
 | 
			
		||||
    anvr
 | 
			
		||||
    anavan
 | 
			
		||||
)
 | 
			
		||||
permutations=1
 | 
			
		||||
 | 
			
		||||
while getopts :t:p: arg; do
 | 
			
		||||
    case $arg in
 | 
			
		||||
        # The sentence template to use.
 | 
			
		||||
        t) template=$OPTARG ;;
 | 
			
		||||
        # Use only the top N most popular words.
 | 
			
		||||
        p) pop_limit=$OPTARG ;;
 | 
			
		||||
    esac
 | 
			
		||||
done
 | 
			
		||||
template=${template:-${templates[$((RANDOM % ${#templates[@]}))]}}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
printf 'sentence: '
 | 
			
		||||
while read -n1 character && [[ $character ]]; do
 | 
			
		||||
    category=${categoryByCharacter["$character"]}
 | 
			
		||||
    read p word < <(getword "$category" "$pop_limit")
 | 
			
		||||
    (( permutations *= p ))
 | 
			
		||||
    printf '%s ' "$word"
 | 
			
		||||
done <<< "$template"
 | 
			
		||||
echo
 | 
			
		||||
printf 'permutations: %s, entropy: ~%.1f bit\n' "$permutations" "$(bc -l <<< "l($permutations) / l(2)")"
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										130
									
								
								platform-independent/scripts/timetocrack
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										130
									
								
								platform-independent/scripts/timetocrack
									
									
									
									
									
										Executable file
									
								
							@@ -0,0 +1,130 @@
 | 
			
		||||
#!/usr/bin/env bash
 | 
			
		||||
source bashlib
 | 
			
		||||
calc() { python -c "import math; print $1"; }
 | 
			
		||||
 | 
			
		||||
inf 'Calculate the maximum amount of time required to brute-force search for a password.'
 | 
			
		||||
 | 
			
		||||
## CLASSES
 | 
			
		||||
V="AEIOU"
 | 
			
		||||
C="BCDFGHJKLMNPQRSTVWXYZ"
 | 
			
		||||
v="aeiou"
 | 
			
		||||
c="bcdfghjklmnpqrstvwxyz"
 | 
			
		||||
A="$V$C"
 | 
			
		||||
a="$V$v$C$c"
 | 
			
		||||
n="0123456789"
 | 
			
		||||
o="&@%?,=[]_:-+*\$#!'^~;()/."
 | 
			
		||||
x="$a$n$o"
 | 
			
		||||
w="@~/.dictionary"
 | 
			
		||||
 | 
			
		||||
## METRICS
 | 
			
		||||
# Last update: 2016-09
 | 
			
		||||
# GTX Titan X can generate about 402.7M HMAC-SHA-256 hashes per second (5301.7M SHA1).  (ref. https://hashcat.net/forum/thread-4314.html)
 | 
			
		||||
# GTX Titan X can be bought for about 950$ used. (ref. amazon.com)
 | 
			
		||||
#hardwareName='GTX Titan X (SHA1)'                  hardwareSpeed='5302M'
 | 
			
		||||
#hardwareName='GTX Titan X (SHA1 @ 5k$)'            hardwareSpeed='5302M * 5k / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (SHA1 @ 20k$)'           hardwareSpeed='5302M * 20k / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (SHA1 @ 20M$)'           hardwareSpeed='5302M * 20M / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (SHA1 @ 5B$)'            hardwareSpeed='5302M * 5B / 950'
 | 
			
		||||
 hardwareName='GTX Titan X (HMAC-SHA-256 @ 950$)'   hardwareSpeed='403M'
 | 
			
		||||
#hardwareName='GTX Titan X (HMAC-SHA-256 @ 5k$)'    hardwareSpeed='403M * 5k / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (HMAC-SHA-256 @ 20k$)'   hardwareSpeed='403M * 20k / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (HMAC-SHA-256 @ 20M$)'   hardwareSpeed='403M * 20M / 950'
 | 
			
		||||
#hardwareName='GTX Titan X (HMAC-SHA-256 @ 5B$)'    hardwareSpeed='403M * 5B / 950'
 | 
			
		||||
 | 
			
		||||
# mpw-bench
 | 
			
		||||
#hardwareName='2.3 GHz i7, 8GB (MPW)'               hardwareSpeed=7.46
 | 
			
		||||
 | 
			
		||||
# ASICs
 | 
			
		||||
 hardwareName='AntMiner L3+ (scrypt)'               hardwareSpeed='1M'
 | 
			
		||||
#hardwareName='AntMiner L3+ (scrypt @ 5k$)'         hardwareSpeed='1M * 5k / 2500'
 | 
			
		||||
#hardwareName='AntMiner L3+ (scrypt @ 20k$)'        hardwareSpeed='1M * 20k / 2500'
 | 
			
		||||
#hardwareName='AntMiner L3+ (scrypt @ 20M$)'        hardwareSpeed='1M * 20M / 2500'
 | 
			
		||||
#hardwareName='AntMiner L3+ (scrypt @ 5B$)'         hardwareSpeed='1M * 5B / 2500'
 | 
			
		||||
 hardwareName='AntMiner S9 (SHA256)'                hardwareSpeed='14T'
 | 
			
		||||
#hardwareName='AntMiner S9 (SHA256 @ 5k$)'          hardwareSpeed='14T * 5k / 1288'
 | 
			
		||||
#hardwareName='AntMiner S9 (SHA256 @ 20k$)'         hardwareSpeed='14T * 20k / 1288'
 | 
			
		||||
#hardwareName='AntMiner S9 (SHA256 @ 20M$)'         hardwareSpeed='14T * 20M / 1288'
 | 
			
		||||
#hardwareName='AntMiner S9 (SHA256 @ 5B$)'          hardwareSpeed='14T * 5B / 1288'
 | 
			
		||||
 | 
			
		||||
second='1'
 | 
			
		||||
secondsInHour='3600'
 | 
			
		||||
secondsInDay='3600 * 24'
 | 
			
		||||
secondsInMonth='3600 * 24 * 30'
 | 
			
		||||
secondsInYear='3600 * 24 * 356'
 | 
			
		||||
hardwareSpeed=${hardwareSpeed//k/000}
 | 
			
		||||
hardwareSpeed=${hardwareSpeed//M/000000}
 | 
			
		||||
hardwareSpeed=${hardwareSpeed//G/000000000}
 | 
			
		||||
hardwareSpeed=${hardwareSpeed//T/000000000000}
 | 
			
		||||
 | 
			
		||||
## SEARCH SPACE
 | 
			
		||||
hr
 | 
			
		||||
inf 'SEARCH SPACE'
 | 
			
		||||
inf 'You can use the following variables:'
 | 
			
		||||
for _c in V C v c A a n o x w; do
 | 
			
		||||
    cc=${!_c}
 | 
			
		||||
    if [[ $cc = @* ]]; then
 | 
			
		||||
        file=${cc#@} file=${file/#~\//$HOME\/}
 | 
			
		||||
        read cs < <(wc -l < "$file")
 | 
			
		||||
    else
 | 
			
		||||
        cs=${#cc}
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    inf '%s: Class contains %d entities: %s' "$_c" "$cs" "$cc"
 | 
			
		||||
done
 | 
			
		||||
spaceString=${1:-$(ask -d "x ** 12" "Amount of space?")}
 | 
			
		||||
case "$spaceString" in
 | 
			
		||||
    -mp*) mpmode=${spaceString#-mp} mpmode=${mpmode:-long}
 | 
			
		||||
        case "$mpmode" in
 | 
			
		||||
            long|l) spaceString='(CvcvnoCvcvCvcv+CvcvCvcvnoCvcv+CvcvCvcvCvcvno+CvccnoCvcvCvcv+CvccCvcvnoCvcv+CvccCvcvCvcvno+CvcvnoCvccCvcv+CvcvCvccnoCvcv+CvcvCvccCvcvno+CvcvnoCvcvCvcc+CvcvCvcvnoCvcc+CvcvCvcvCvccno+CvccnoCvccCvcv+CvccCvccnoCvcv+CvccCvccCvcvno+CvcvnoCvccCvcc+CvcvCvccnoCvcc+CvcvCvccCvccno+CvccnoCvcvCvcc+CvccCvcvnoCvcc+CvccCvcvCvccno)' ;;
 | 
			
		||||
            max|secure|x) spaceString='aonxxxxxxxxxxxxxxxxx+axxxxxxxxxxxxxxxxxon' ;;
 | 
			
		||||
            med|m) spaceString='CvcnoCvc+CvcCvcno' ;;
 | 
			
		||||
            basic|b) spaceString='aaanaaan+aannaaan+aaannaaa' ;;
 | 
			
		||||
        esac ;;
 | 
			
		||||
esac
 | 
			
		||||
space=$spaceString
 | 
			
		||||
for _c in V C v c A a n o x w; do
 | 
			
		||||
    cc=${!_c}
 | 
			
		||||
    if [[ $cc = @* ]]; then
 | 
			
		||||
        file=${cc#@} file=${file/#~\//$HOME\/}
 | 
			
		||||
        read cs < <(wc -l < "$file")
 | 
			
		||||
    else
 | 
			
		||||
        cs=${#cc}
 | 
			
		||||
    fi
 | 
			
		||||
 | 
			
		||||
    space=${space//$_c/ 0$cs }
 | 
			
		||||
done
 | 
			
		||||
# Replace sequences of numbers by multiplication of those numbers.  Then, pretty-print.
 | 
			
		||||
space=$(sed -e 's/\([[:digit:]]\)  *\([[:digit:]]\)/\1 * \2/g' -e 's/ 00*\([1-9]\)/ \1/g' <<< "$space")
 | 
			
		||||
space=$(tr -s ' ' <<< "$space") space=${space# } space=${space% }
 | 
			
		||||
inf ''
 | 
			
		||||
inf "Search space: %s = %s = %'.f possibilities to try (~%.1f bit)." "$spaceString" "$space" "$(calc "$space")" "$(bc -l <<< "l($(calc "$space")) / l(2)")"
 | 
			
		||||
 | 
			
		||||
## CLUSTER SIZE
 | 
			
		||||
hr
 | 
			
		||||
inf 'CLUSTER SIZE'
 | 
			
		||||
inf "Simulating %s at a rate of about %'.1f attempts per second." "$hardwareName" "$(calc "$hardwareSpeed")"
 | 
			
		||||
cluster=$(ask -d 1 "Amount of GPUs?")
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
## CALCULATE
 | 
			
		||||
hr
 | 
			
		||||
inf 'TIMING'
 | 
			
		||||
inf "Time to search the entire space using %d GPUs of type %s (rate=%'.1f/s)" "$cluster" "$hardwareName" "$(calc "$hardwareSpeed")"
 | 
			
		||||
timing() {
 | 
			
		||||
    local title=$1 unit=$2 precision=$3 seconds=$4
 | 
			
		||||
    time=$(calc "1.0 * ($space) / ($hardwareSpeed * $cluster) / ($seconds)")
 | 
			
		||||
    percent=$(calc "100.0 * ($hardwareSpeed * $cluster) * ($seconds) / ($space)")
 | 
			
		||||
    amount=$(calc "$percent / 100.0")
 | 
			
		||||
    if [[ $amount = 0.* ]]; then
 | 
			
		||||
        inf "%10s to crack: %'0.${precision}f (search rate is %0.0f%% / %s)" \
 | 
			
		||||
            "$title" "$time" "$percent" "$unit"
 | 
			
		||||
    else
 | 
			
		||||
        inf "%10s to crack: %'0.${precision}f (completes %0.1fx / %s)" \
 | 
			
		||||
            "$title" "$time" "$amount" "$unit"
 | 
			
		||||
    fi
 | 
			
		||||
}
 | 
			
		||||
timing Seconds s 0 "$second"
 | 
			
		||||
timing Hours h 2 "$secondsInHour"
 | 
			
		||||
timing Days d 3 "$secondsInDay"
 | 
			
		||||
timing Months m 4 "$secondsInMonth"
 | 
			
		||||
timing Years y 4 "$secondsInYear"
 | 
			
		||||
							
								
								
									
										9903
									
								
								platform-independent/scripts/words.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9903
									
								
								platform-independent/scripts/words.txt
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1864
									
								
								platform-independent/scripts/words.txt.adj
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1864
									
								
								platform-independent/scripts/words.txt.adj
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										426
									
								
								platform-independent/scripts/words.txt.adv
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										426
									
								
								platform-independent/scripts/words.txt.adv
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,426 @@
 | 
			
		||||
17 not
 | 
			
		||||
25 all
 | 
			
		||||
27 new
 | 
			
		||||
28 more
 | 
			
		||||
33 home
 | 
			
		||||
36 about
 | 
			
		||||
42 free
 | 
			
		||||
43 but
 | 
			
		||||
60 out
 | 
			
		||||
62 any
 | 
			
		||||
63 there
 | 
			
		||||
65 only
 | 
			
		||||
70 here
 | 
			
		||||
74 also
 | 
			
		||||
75 now
 | 
			
		||||
83 first
 | 
			
		||||
92 some
 | 
			
		||||
103 back
 | 
			
		||||
109 just
 | 
			
		||||
110 over
 | 
			
		||||
121 next
 | 
			
		||||
126 last
 | 
			
		||||
127 most
 | 
			
		||||
144 such
 | 
			
		||||
145 please
 | 
			
		||||
150 after
 | 
			
		||||
151 best
 | 
			
		||||
153 then
 | 
			
		||||
155 good
 | 
			
		||||
157 well
 | 
			
		||||
164 high
 | 
			
		||||
166 through
 | 
			
		||||
168 each
 | 
			
		||||
174 very
 | 
			
		||||
189 under
 | 
			
		||||
195 full
 | 
			
		||||
202 way
 | 
			
		||||
206 part
 | 
			
		||||
211 real
 | 
			
		||||
213 item
 | 
			
		||||
224 off
 | 
			
		||||
229 before
 | 
			
		||||
233 right
 | 
			
		||||
250 within
 | 
			
		||||
259 between
 | 
			
		||||
263 long
 | 
			
		||||
269 even
 | 
			
		||||
278 much
 | 
			
		||||
283 today
 | 
			
		||||
285 south
 | 
			
		||||
310 down
 | 
			
		||||
325 north
 | 
			
		||||
329 big
 | 
			
		||||
349 small
 | 
			
		||||
379 non
 | 
			
		||||
389 still
 | 
			
		||||
397 little
 | 
			
		||||
401 low
 | 
			
		||||
425 around
 | 
			
		||||
427 course
 | 
			
		||||
435 too
 | 
			
		||||
443 west
 | 
			
		||||
447 left
 | 
			
		||||
460 live
 | 
			
		||||
461 large
 | 
			
		||||
465 however
 | 
			
		||||
471 really
 | 
			
		||||
485 second
 | 
			
		||||
494 better
 | 
			
		||||
514 again
 | 
			
		||||
519 never
 | 
			
		||||
532 below
 | 
			
		||||
534 less
 | 
			
		||||
546 above
 | 
			
		||||
575 east
 | 
			
		||||
595 hard
 | 
			
		||||
609 always
 | 
			
		||||
612 light
 | 
			
		||||
620 easy
 | 
			
		||||
631 needs
 | 
			
		||||
635 yet
 | 
			
		||||
696 away
 | 
			
		||||
702 once
 | 
			
		||||
707 least
 | 
			
		||||
713 sure
 | 
			
		||||
721 further
 | 
			
		||||
729 already
 | 
			
		||||
732 close
 | 
			
		||||
743 short
 | 
			
		||||
753 daily
 | 
			
		||||
755 past
 | 
			
		||||
758 due
 | 
			
		||||
776 pro
 | 
			
		||||
780 direct
 | 
			
		||||
796 ever
 | 
			
		||||
798 early
 | 
			
		||||
804 either
 | 
			
		||||
805 ago
 | 
			
		||||
827 true
 | 
			
		||||
831 third
 | 
			
		||||
837 bad
 | 
			
		||||
843 usually
 | 
			
		||||
845 together
 | 
			
		||||
848 fast
 | 
			
		||||
856 far
 | 
			
		||||
862 often
 | 
			
		||||
870 though
 | 
			
		||||
899 currently
 | 
			
		||||
903 clear
 | 
			
		||||
913 wide
 | 
			
		||||
924 half
 | 
			
		||||
930 quick
 | 
			
		||||
931 none
 | 
			
		||||
937 whole
 | 
			
		||||
940 later
 | 
			
		||||
959 enough
 | 
			
		||||
961 along
 | 
			
		||||
985 near
 | 
			
		||||
1042 double
 | 
			
		||||
1048 soon
 | 
			
		||||
1053 across
 | 
			
		||||
1086 inside
 | 
			
		||||
1090 rather
 | 
			
		||||
1095 nothing
 | 
			
		||||
1110 fine
 | 
			
		||||
1152 actually
 | 
			
		||||
1186 outside
 | 
			
		||||
1205 super
 | 
			
		||||
1210 almost
 | 
			
		||||
1227 late
 | 
			
		||||
1299 therefore
 | 
			
		||||
1300 simply
 | 
			
		||||
1304 round
 | 
			
		||||
1311 recently
 | 
			
		||||
1312 probably
 | 
			
		||||
1360 express
 | 
			
		||||
1367 thus
 | 
			
		||||
1372 extra
 | 
			
		||||
1373 especially
 | 
			
		||||
1384 quite
 | 
			
		||||
1396 forward
 | 
			
		||||
1403 retail
 | 
			
		||||
1406 directly
 | 
			
		||||
1447 instead
 | 
			
		||||
1473 likely
 | 
			
		||||
1515 pop
 | 
			
		||||
1519 longer
 | 
			
		||||
1523 behind
 | 
			
		||||
1535 deep
 | 
			
		||||
1537 otherwise
 | 
			
		||||
1582 maybe
 | 
			
		||||
1589 pretty
 | 
			
		||||
1610 throughout
 | 
			
		||||
1657 fair
 | 
			
		||||
1663 wrong
 | 
			
		||||
1667 finally
 | 
			
		||||
1681 fully
 | 
			
		||||
1690 dead
 | 
			
		||||
1725 sometimes
 | 
			
		||||
1728 beyond
 | 
			
		||||
1754 flat
 | 
			
		||||
1770 monthly
 | 
			
		||||
1797 clean
 | 
			
		||||
1813 weekly
 | 
			
		||||
1822 square
 | 
			
		||||
1839 lots
 | 
			
		||||
1842 firm
 | 
			
		||||
1893 lowest
 | 
			
		||||
1894 highly
 | 
			
		||||
1913 perhaps
 | 
			
		||||
1927 particularly
 | 
			
		||||
1935 easily
 | 
			
		||||
1991 generally
 | 
			
		||||
2003 quickly
 | 
			
		||||
2013 wild
 | 
			
		||||
2037 soft
 | 
			
		||||
2039 alone
 | 
			
		||||
2069 fresh
 | 
			
		||||
2121 immediately
 | 
			
		||||
2128 heavy
 | 
			
		||||
2228 approximately
 | 
			
		||||
2257 counter
 | 
			
		||||
2265 automatically
 | 
			
		||||
2306 yesterday
 | 
			
		||||
2309 wholesale
 | 
			
		||||
2319 completely
 | 
			
		||||
2343 earlier
 | 
			
		||||
2368 powerful
 | 
			
		||||
2371 false
 | 
			
		||||
2421 straight
 | 
			
		||||
2442 clearly
 | 
			
		||||
2445 sweet
 | 
			
		||||
2460 frequently
 | 
			
		||||
2485 exactly
 | 
			
		||||
2491 nearly
 | 
			
		||||
2504 faster
 | 
			
		||||
2508 con
 | 
			
		||||
2616 gratis
 | 
			
		||||
2622 slightly
 | 
			
		||||
2721 originally
 | 
			
		||||
2777 ahead
 | 
			
		||||
2822 previously
 | 
			
		||||
2850 nearby
 | 
			
		||||
2863 outdoors
 | 
			
		||||
2869 certainly
 | 
			
		||||
2870 indeed
 | 
			
		||||
2876 slow
 | 
			
		||||
2888 mostly
 | 
			
		||||
2946 specifically
 | 
			
		||||
2969 yeah
 | 
			
		||||
2977 fourth
 | 
			
		||||
3064 sharp
 | 
			
		||||
3129 totally
 | 
			
		||||
3147 extremely
 | 
			
		||||
3164 anyway
 | 
			
		||||
3176 anywhere
 | 
			
		||||
3198 plain
 | 
			
		||||
3330 warm
 | 
			
		||||
3447 truly
 | 
			
		||||
3509 properly
 | 
			
		||||
3517 newly
 | 
			
		||||
3532 tomorrow
 | 
			
		||||
3540 downtown
 | 
			
		||||
3549 absolutely
 | 
			
		||||
3570 significantly
 | 
			
		||||
3578 tonight
 | 
			
		||||
3579 dear
 | 
			
		||||
3607 northwest
 | 
			
		||||
3630 forth
 | 
			
		||||
3657 twice
 | 
			
		||||
3670 normally
 | 
			
		||||
3692 relatively
 | 
			
		||||
3715 effectively
 | 
			
		||||
3722 bright
 | 
			
		||||
3728 piano
 | 
			
		||||
3837 possibly
 | 
			
		||||
3839 typically
 | 
			
		||||
3938 successfully
 | 
			
		||||
3945 primarily
 | 
			
		||||
3946 tight
 | 
			
		||||
3985 eventually
 | 
			
		||||
4011 bang
 | 
			
		||||
4044 forever
 | 
			
		||||
4123 worst
 | 
			
		||||
4142 unfortunately
 | 
			
		||||
4143 respectively
 | 
			
		||||
4163 quiet
 | 
			
		||||
4173 carefully
 | 
			
		||||
4179 underground
 | 
			
		||||
4201 apart
 | 
			
		||||
4211 strongly
 | 
			
		||||
4241 mainly
 | 
			
		||||
4277 ill
 | 
			
		||||
4306 thin
 | 
			
		||||
4320 collect
 | 
			
		||||
4325 nationwide
 | 
			
		||||
4327 definitely
 | 
			
		||||
4343 necessarily
 | 
			
		||||
4352 apparently
 | 
			
		||||
4373 obviously
 | 
			
		||||
4379 worse
 | 
			
		||||
4388 somewhat
 | 
			
		||||
4418 passing
 | 
			
		||||
4441 okay
 | 
			
		||||
4458 closer
 | 
			
		||||
4491 pat
 | 
			
		||||
4522 hence
 | 
			
		||||
4524 entirely
 | 
			
		||||
4538 closely
 | 
			
		||||
4541 seriously
 | 
			
		||||
4552 elsewhere
 | 
			
		||||
4559 abroad
 | 
			
		||||
4578 overseas
 | 
			
		||||
4597 nearest
 | 
			
		||||
4652 southwest
 | 
			
		||||
4666 personally
 | 
			
		||||
4669 plenty
 | 
			
		||||
4670 solo
 | 
			
		||||
4680 somewhere
 | 
			
		||||
4715 fairly
 | 
			
		||||
4735 regardless
 | 
			
		||||
4752 thick
 | 
			
		||||
4801 regularly
 | 
			
		||||
4816 partly
 | 
			
		||||
4943 correctly
 | 
			
		||||
4962 widely
 | 
			
		||||
4986 overnight
 | 
			
		||||
5021 slowly
 | 
			
		||||
5061 quarterly
 | 
			
		||||
5173 loose
 | 
			
		||||
5184 southeast
 | 
			
		||||
5212 increasingly
 | 
			
		||||
5217 basically
 | 
			
		||||
5232 herein
 | 
			
		||||
5267 besides
 | 
			
		||||
5368 opposite
 | 
			
		||||
5370 rapidly
 | 
			
		||||
5420 moreover
 | 
			
		||||
5426 aside
 | 
			
		||||
5459 greatly
 | 
			
		||||
5465 commonly
 | 
			
		||||
5479 largely
 | 
			
		||||
5490 rough
 | 
			
		||||
5499 suddenly
 | 
			
		||||
5506 merely
 | 
			
		||||
5516 furthermore
 | 
			
		||||
5622 everywhere
 | 
			
		||||
5713 northeast
 | 
			
		||||
5739 initially
 | 
			
		||||
5811 perfectly
 | 
			
		||||
5814 instantly
 | 
			
		||||
5853 ultimately
 | 
			
		||||
5856 equally
 | 
			
		||||
5869 naturally
 | 
			
		||||
5883 potentially
 | 
			
		||||
5900 anymore
 | 
			
		||||
5917 constantly
 | 
			
		||||
5923 cod
 | 
			
		||||
5972 hopefully
 | 
			
		||||
5995 thereof
 | 
			
		||||
6020 virtually
 | 
			
		||||
6030 formerly
 | 
			
		||||
6039 strictly
 | 
			
		||||
6066 similarly
 | 
			
		||||
6069 solely
 | 
			
		||||
6249 offshore
 | 
			
		||||
6261 occasionally
 | 
			
		||||
6297 timely
 | 
			
		||||
6329 precious
 | 
			
		||||
6331 annually
 | 
			
		||||
6357 essentially
 | 
			
		||||
6423 locally
 | 
			
		||||
6509 separately
 | 
			
		||||
6544 somehow
 | 
			
		||||
6646 accordingly
 | 
			
		||||
6714 hardly
 | 
			
		||||
6774 additionally
 | 
			
		||||
6814 loud
 | 
			
		||||
6858 nevertheless
 | 
			
		||||
6864 surely
 | 
			
		||||
6881 reasonably
 | 
			
		||||
6916 exclusively
 | 
			
		||||
6955 actively
 | 
			
		||||
6963 fastest
 | 
			
		||||
6997 rarely
 | 
			
		||||
7014 thereby
 | 
			
		||||
7102 steady
 | 
			
		||||
7118 publicly
 | 
			
		||||
7119 hourly
 | 
			
		||||
7137 heavily
 | 
			
		||||
7161 meanwhile
 | 
			
		||||
7177 decent
 | 
			
		||||
7181 shortly
 | 
			
		||||
7244 substantially
 | 
			
		||||
7447 deeply
 | 
			
		||||
7507 hereby
 | 
			
		||||
7515 simultaneously
 | 
			
		||||
7528 officially
 | 
			
		||||
7545 safely
 | 
			
		||||
7548 periodically
 | 
			
		||||
7578 independently
 | 
			
		||||
7653 beneath
 | 
			
		||||
7673 soonest
 | 
			
		||||
7696 consistently
 | 
			
		||||
7708 subsequently
 | 
			
		||||
7726 mighty
 | 
			
		||||
7755 partially
 | 
			
		||||
7832 alias
 | 
			
		||||
7834 individually
 | 
			
		||||
7836 literally
 | 
			
		||||
7852 overhead
 | 
			
		||||
7921 closest
 | 
			
		||||
8026 consequently
 | 
			
		||||
8072 yea
 | 
			
		||||
8075 freely
 | 
			
		||||
8087 readily
 | 
			
		||||
8098 legally
 | 
			
		||||
8111 briefly
 | 
			
		||||
8123 barely
 | 
			
		||||
8124 wherever
 | 
			
		||||
8184 sheer
 | 
			
		||||
8236 roughly
 | 
			
		||||
8241 physically
 | 
			
		||||
8246 consecutive
 | 
			
		||||
8274 accurately
 | 
			
		||||
8312 thoroughly
 | 
			
		||||
8323 namely
 | 
			
		||||
8465 explicitly
 | 
			
		||||
8528 efficiently
 | 
			
		||||
8588 precisely
 | 
			
		||||
8619 alike
 | 
			
		||||
8713 internationally
 | 
			
		||||
8755 specially
 | 
			
		||||
8811 differently
 | 
			
		||||
8944 gradually
 | 
			
		||||
8957 afterwards
 | 
			
		||||
9017 manually
 | 
			
		||||
9025 yearly
 | 
			
		||||
9050 importantly
 | 
			
		||||
9109 deadly
 | 
			
		||||
9115 longest
 | 
			
		||||
9200 kinda
 | 
			
		||||
9213 proudly
 | 
			
		||||
9230 nationally
 | 
			
		||||
9237 flush
 | 
			
		||||
9256 continuously
 | 
			
		||||
9288 nowhere
 | 
			
		||||
9297 lately
 | 
			
		||||
9303 likewise
 | 
			
		||||
9369 dramatically
 | 
			
		||||
9413 alternatively
 | 
			
		||||
9420 gently
 | 
			
		||||
9473 securely
 | 
			
		||||
9517 temporarily
 | 
			
		||||
9531 sic
 | 
			
		||||
9573 promptly
 | 
			
		||||
9580 sexually
 | 
			
		||||
9605 badly
 | 
			
		||||
9611 continually
 | 
			
		||||
9636 presently
 | 
			
		||||
9668 thereafter
 | 
			
		||||
9680 awful
 | 
			
		||||
9703 bolt
 | 
			
		||||
9767 beautifully
 | 
			
		||||
9817 earliest
 | 
			
		||||
9828 sufficiently
 | 
			
		||||
							
								
								
									
										5303
									
								
								platform-independent/scripts/words.txt.noun
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5303
									
								
								platform-independent/scripts/words.txt.noun
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										1841
									
								
								platform-independent/scripts/words.txt.verb
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1841
									
								
								platform-independent/scripts/words.txt.verb
									
									
									
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Reference in New Issue
	
	Block a user