diff options
Diffstat (limited to 'receive-all-keys')
-rwxr-xr-x | receive-all-keys | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/receive-all-keys b/receive-all-keys new file mode 100755 index 0000000..80abb42 --- /dev/null +++ b/receive-all-keys @@ -0,0 +1,59 @@ +#!/bin/bash + +test_domain="$(dirname "$(readlink -f "$0")")/test-domain" +receive_key="$(dirname "$(readlink -f "$0")")/receive-key" + +echo "$receive_key" +exit + +tmp_dir="$(mktemp -d)" + +pushd "${tmp_dir}" > /dev/null + +grep '@' ~/.thunderbird/*.default/ImapMail/imap.gmx.net/INBOX | \ + sed 's|\s\+|\n|g' | \ + tr ' \t<>();"[]~=+#:,$|&/?%{}/\\!*^`'"'" '\n' | \ + grep '^[^@]\+@[^@]\+\.[^@]\+$' | \ + pv --line-mode | \ + grep '^[_0-9a-zA-Z.-]\+@[_0-9a-zA-Z.-]\+$' > \ + adressen + +sort -uf adressen | \ + tee adressen.sorted | \ + wc -l + +mv adressen.sorted adressen + +cut -d@ -f2 adressen | \ + sort -uf | \ + tee domains | \ + wc -l + +parallel -j 100 "${test_domain}" '{}' \; < domains > domains.ok + +mv domains.ok domains + +( + sed 's|$| 0|' domains + sed 's|^\(.*\)@\(.*\)$|\2 1 \1@\2|' adressen +) | \ + sort -k1,1 -k2n,2 | \ + while read -r a b c; do + if [ "${b}" == "0" ]; then + domain="${a}" + continue + fi + if [ "${a}" == "${domain}" ] && [ "${b}" == "1" ]; then + echo "${c}" + fi + done | \ + tee adressen.ok | \ + wc -l + +mv adressen.ok adressen + +xargs -n1 "${receive_key}" < adressen + +popd > /dev/null + +rm -rf --one-file-system "${tmp_dir}" |