Mutt related additions.
This commit is contained in:
parent
824202f442
commit
6a077c5b3e
|
|
@ -1,88 +0,0 @@
|
|||
# avoid duplicates
|
||||
set -x
|
||||
rm /etc/apt/sources.list
|
||||
rm /etc/apt/sources.list.d/devuan.list
|
||||
|
||||
ACTIVE=/etc/apt/sources.list.d
|
||||
AVAILABLE=/etc/apt/sources.list-available
|
||||
mkdir -p "${AVAILABLE}"
|
||||
|
||||
SECTION=(main contrib non-free)
|
||||
<<<<<<< HEAD
|
||||
ACTIVE_LIST=('ascii' 'ascii-security' 'ascii-proposed-security' 'ascii-updates' 'ascii-backports' 'ascii-proposed')
|
||||
#ACTIVE_LIST=('beowulf' 'beowulf-security' 'beowulf-proposed-security' 'beowulf-updates' 'beowulf-backports' 'beowulf-proposed')
|
||||
INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-proposed' 'jessie-updates' 'jessie-backports' 'beowulf' 'beowulf-security' 'beowulf-updates' 'beowulf-backports' 'ceres')
|
||||
=======
|
||||
ACTIVE_LIST=('beowulf' 'beowulf-security' 'beowulf-updates' 'beowulf-backports')
|
||||
#ACTIVE_LIST=('ascii' 'ascii-security' 'ascii-updates' 'ascii-backports')
|
||||
#INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-updates' 'jessie-backports' 'beowulf' 'beowulf-security' 'beowulf-updates' 'beowulf-backports' 'ceres')
|
||||
INACTIVE_LIST=('jessie' 'jessie-security' 'jessie-updates' 'jessie-backports' 'ascii' 'ascii-security' 'ascii-updates' 'ascii-backports' 'ceres')
|
||||
>>>>>>> 28f9022a8c89ab256d49746af2debedcf1764b46
|
||||
|
||||
OTHER_LIST=('experimental')
|
||||
|
||||
echo ${#ACTIVE_LIST[@]}
|
||||
for RELEASE in "${ACTIVE_LIST[@]}"; do
|
||||
echo "${RELEASE}"
|
||||
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
|
||||
deb http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
|
||||
deb-src http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
|
||||
EOF
|
||||
ln -sf "${AVAILABLE}"/devuan_"${RELEASE}".list "${ACTIVE}"/devuan_"${RELEASE}".list
|
||||
done
|
||||
|
||||
echo ${#INACTIVE_LIST[@]}
|
||||
for RELEASE in "${INACTIVE_LIST[@]}"; do
|
||||
echo "${RELEASE}"
|
||||
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
|
||||
deb http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
|
||||
deb-src http://pkgmaster.devuan.org/merged/ ${RELEASE} ${SECTION[@]}
|
||||
EOF
|
||||
done
|
||||
|
||||
echo ${#OTHER_LIST[@]}
|
||||
for RELEASE in "${OTHER_LIST[@]}"; do
|
||||
echo "${RELEASE}"
|
||||
bash -c "cat > ${AVAILABLE}/devuan_${RELEASE}.list" <<EOF
|
||||
deb http://packages.devuan.org/devuan ${RELEASE} main
|
||||
deb-src http://packages.devuan.org/devuan ${RELEASE} main
|
||||
EOF
|
||||
done
|
||||
|
||||
bash -c "cat > ${AVAILABLE}/saltstack.list" <<EOF
|
||||
# wget -q -O- "http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key" | apt-key add -
|
||||
|
||||
deb http://debian.saltstack.com/debian stretch-saltstack main
|
||||
EOF
|
||||
ln -sf "${AVAILABLE}"/saltstack.list "${ACTIVE}"/saltstack.list
|
||||
wget -q -O- http://debian.saltstack.com/debian-salt-team-joehealy.gpg.key | apt-key add -
|
||||
|
||||
# the docker packages have go over to systemd so these wont install
|
||||
bash -c cat > "${AVAILABLE}"/docker.list <<EOF
|
||||
#apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
|
||||
|
||||
# Debian stretch
|
||||
deb http://apt.dockerproject.org/repo debian-stretch main
|
||||
EOF
|
||||
ln -sf "${AVAILABLE}"/docker.list "${ACTIVE}"/docker.list
|
||||
bash -c "apt-key adv --keyserver hkp://p80.pool.sks-keyserv:w
|
||||
ers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D"
|
||||
|
||||
apt-get update && apt-get install -y --force-yes devuan-keyring
|
||||
|
||||
#bash -c "cat > /etc/apt/sources.list.d/x2go.list" <<'EOF'
|
||||
## apt-key adv --recv-keys --keyserver keys.gnupg.net E1F958385BFE2B6E
|
||||
## X2Go Repository (release builds)
|
||||
#deb http://packages.x2go.org/debian jessie main
|
||||
#
|
||||
## X2Go Repository (sources of release builds)
|
||||
#deb-src http://packages.x2go.org/debian jessie main
|
||||
#
|
||||
## X2Go Repository (nightly builds)
|
||||
##deb http://packages.x2go.org/debian jessie heuler
|
||||
#
|
||||
## X2Go Repository (sources of nightly builds)
|
||||
##deb-src http://packages.x2go.org/debian jessie heuler
|
||||
#
|
||||
## apt-get install x2goserver x2goserver-xsession
|
||||
#EOF
|
||||
|
|
@ -0,0 +1,42 @@
|
|||
# Generate GPG public private key pair, run `gpg --full-gen-key`.
|
||||
|
||||
#FIXME unattended key generation does not work.
|
||||
|
||||
EMAIL=default@foo.bar
|
||||
|
||||
#export GNUPGHOME="$(mktemp -d)"
|
||||
cat >keydetails <<EOF
|
||||
%echo Generating a basic OpenPGP key
|
||||
Key-Type: RSA
|
||||
Key-Length: 2048
|
||||
Subkey-Type: RSA
|
||||
Subkey-Length: 2048
|
||||
Name-Real: User 1
|
||||
Name-Comment: User 1
|
||||
Name-Email: ${EMAIL}
|
||||
Expire-Date: 0
|
||||
%no-ask-passphrase
|
||||
%no-protection
|
||||
%pubring pubring.kbx
|
||||
%secring trustdb.gpg
|
||||
# Do a commit here, so that we can later print "done" :-)
|
||||
%commit
|
||||
%echo done
|
||||
EOF
|
||||
|
||||
gpg --verbose --batch --gen-key keydetails
|
||||
|
||||
# Set trust to 5 for the key so we can encrypt without prompt.
|
||||
echo -e "5\ny\n" | gpg2 --command-fd 0 --expert --edit-key ${EMAIL} trust;
|
||||
|
||||
# Test that the key was created and the permission the trust was set.
|
||||
gpg --list-keys
|
||||
|
||||
# Test the key can encrypt and decrypt.
|
||||
gpg -e -a -r ${EMAIL} keydetails
|
||||
|
||||
|
||||
# `pass` must be installed and initialized to encrypt passwords.
|
||||
# Be sure it is installed and run `pass init <yourgpgemail>`.
|
||||
# creates ${HOME}/.password-store/
|
||||
pass init ${EMAIL}
|
||||
|
|
@ -1,3 +1,4 @@
|
|||
#!/usr/bin/env bash
|
||||
apt-get -y install mpv
|
||||
|
||||
mkdir -p ~/.config/mpv
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
#FIXME: Install khard contacts support in mutt NOT TESTED YET
|
||||
|
||||
apt-get install -y khard
|
||||
|
||||
|
||||
# khard integration
|
||||
# khard is a command-line addressbook that uses locally-stored carddav address book entries.
|
||||
# You can use vdirsyncer to sync those with CardDAV servers.
|
||||
# Create new contact with:
|
||||
# 'khard new -a address_book -i template.yaml'
|
||||
# or with:
|
||||
# 'cat template.yaml | khard new -a address_book'
|
||||
|
||||
NEOMUTTCONF=~/.config/mutt
|
||||
|
||||
cat >> ${NEOMUTTCONF}/muttrc <<'EOF'
|
||||
## khard integration
|
||||
# khard is a command-line addressbook that uses locally-stored carddav address book entries.
|
||||
# You can use vdirsyncer to sync those with CardDAV servers.
|
||||
# Create new contact with:
|
||||
# 'khard new -a address_book -i template.yaml'
|
||||
# or with:
|
||||
# 'cat template.yaml | khard new -a address_book'
|
||||
|
||||
set query_command= "khard email -p %s"
|
||||
bind editor <Tab> complete-query
|
||||
bind editor ^T complete
|
||||
macro index,pager A \
|
||||
"<pipe-message>khard add-email<return>" \
|
||||
"add the sender email address to khard"
|
||||
|
||||
|
||||
EOF
|
||||
|
||||
mkdir -p ~/.contacts/family/
|
||||
mkdir -p ~/.contacts/friends/
|
||||
mkdir -p ~/.contacts/business/
|
||||
|
||||
# /usr/share/doc/khard/examples/khard/khard.conf.example
|
||||
~/.config/khard/khard.conf <<'EOF'
|
||||
[addressbooks]
|
||||
[[family]]
|
||||
path = ~/.contacts/family/
|
||||
[[friends]]
|
||||
path = ~/.contacts/friends/
|
||||
[[business]]
|
||||
path = ~/.contacts/business/
|
||||
|
||||
[general]
|
||||
debug = no
|
||||
default_action = list
|
||||
editor = vim
|
||||
merge_editor = vimdiff
|
||||
|
||||
[contact table]
|
||||
# display names by first or last name: first_name / last_name
|
||||
display = first_name
|
||||
|
||||
# group by address book: yes / no
|
||||
group_by_addressbook = no
|
||||
|
||||
# reverse table ordering: yes / no
|
||||
reverse = no
|
||||
|
||||
# append nicknames to name column: yes / no
|
||||
show_nicknames = no
|
||||
|
||||
# show uid table column: yes / no
|
||||
show_uids = yes
|
||||
|
||||
# sort by first or last name: first_name / last_name
|
||||
sort = last_name
|
||||
|
||||
# localize dates: yes / no
|
||||
localize_dates = yes
|
||||
|
||||
# set a comma separated list of preferred phone number types in descending priority
|
||||
# or nothing for non-filtered alphabetical order
|
||||
preferred_phone_number_type = pref, cell, home
|
||||
|
||||
# set a comma separated list of preferred email address types in descending priority
|
||||
# or nothing for non-filtered alphabetical order
|
||||
preferred_email_address_type = pref, work, home
|
||||
|
||||
[vcard]
|
||||
# extend contacts with your own private objects
|
||||
# these objects are stored with a leading "X-" before the object name in the vcard files
|
||||
# every object label may only contain letters, digits and the - character
|
||||
# example:
|
||||
# private_objects = Jabber, Skype, Twitter
|
||||
private_objects = Jabber, Skype, Twitter
|
||||
|
||||
# preferred vcard version: 3.0 / 4.0
|
||||
preferred_version = 3.0
|
||||
|
||||
# Look into source vcf files to speed up search queries: yes / no
|
||||
search_in_source_files = no
|
||||
|
||||
# skip unparsable vcard files: yes / no
|
||||
skip_unparsable = no
|
||||
EOF
|
||||
|
||||
|
|
@ -0,0 +1,124 @@
|
|||
#FIXME: NOT TESTED YET needs notmuch-mutt installed first
|
||||
#FIXME: add afew tagging: https://readthedocs.org/projects/afew/downloads/pdf/latest/
|
||||
|
||||
apt-get install -y afew # provides /usr/bin/afew
|
||||
|
||||
|
||||
mkdir -p ~/.config/afew/
|
||||
|
||||
# Put a list of filters into ~/.config/afew/config :
|
||||
cat > ~/.config/afew/config <<'EOF'
|
||||
# This is the default filter chain
|
||||
[SpamFilter]
|
||||
[KillThreadsFilter]
|
||||
[ListMailsFilter]
|
||||
[ArchiveSentMailsFilter]
|
||||
[InboxFilter]
|
||||
EOF
|
||||
|
||||
MAILDIR_PATH=
|
||||
# https://notmuchmail.org/initial_tagging/
|
||||
|
||||
# The [new] config section allows you to control which tags new messages receive. By default, notmuch config will use the tags inbox and unread.
|
||||
# An ad-hoc approach to initial message tagging, which sets all new messages to get the new tag:
|
||||
#sed -i 's,^\(tags=\).*,\1'new\;',' ~/.notmuch-config
|
||||
sed -i '/\[new\]/{n;s/.*/tags=new\;/}' .notmuch-config
|
||||
|
||||
# After running notmuch new, all new messages will be marked new. You can then do various tag post-processing by just acting on messages with that tag.
|
||||
|
||||
MAILDIR="$HOME/.local/share/mail" # set by mutt-wizard setup
|
||||
|
||||
# And create a post-new hook for notmuch.
|
||||
mkdir -p ${MAILDIR}/.notmuch/hooks
|
||||
|
||||
cat > ${MAILDIR}/.notmuch/hooks/post-new.notmuch.example <<EOF
|
||||
# immediately archive all messages from "me"
|
||||
notmuch tag -new -- tag:new and from:me@example.com
|
||||
|
||||
# delete all messages from a spammer:
|
||||
notmuch tag +deleted -- tag:new and from:spam@spam.com
|
||||
|
||||
# tag all message from notmuch mailing list
|
||||
notmuch tag +notmuch -- tag:new and to:notmuch@notmuchmail.org
|
||||
|
||||
# finally, retag all "new" messages "inbox" and "unread"
|
||||
notmuch tag +inbox +unread -new -- tag:new
|
||||
EOF
|
||||
|
||||
# Note: the queries do not generally include tag:new because this is implied when afew is run with the –new flag.
|
||||
cat > ${MAILDIR_PATH}/.notmuch/hooks/post-new.afew.example <<EOF
|
||||
[ArchiveSentMailsFilter]
|
||||
|
||||
[Filter.1]
|
||||
message = Delete all messages from spammer
|
||||
query = from:spam@spam.com
|
||||
tags = +deleted;-new
|
||||
|
||||
[Filter.2]
|
||||
message = Tag all messages from the notmuch mailing list
|
||||
query = to:notmuch@notmuchmail.org
|
||||
tags = +notmuch
|
||||
|
||||
[InboxFilter]
|
||||
|
||||
EOF
|
||||
|
||||
cat > ${MAILDIR_PATH}/.notmuch/hooks/post-new <<'EOF'
|
||||
!/bin/sh
|
||||
/usr/bin/afew --tag --new
|
||||
EOF
|
||||
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
cat > ~/.config/afew/afew.config-example <<'EOF'
|
||||
# global configuration
|
||||
[global]
|
||||
|
||||
#[MailMover]
|
||||
#folders = INBOX Junk
|
||||
#max_age = 15
|
||||
|
||||
##rules
|
||||
#INBOX = 'tag:spam':Junk 'NOT tag:inbox':Archive
|
||||
#Junk = 'NOT tag:spam and tag:inbox':INBOX 'NOT tag:spam':Archive
|
||||
|
||||
# This is the default filter chain
|
||||
#[SpamFilter]
|
||||
#[KillThreadsFilter]
|
||||
#[ListMailsFilter]
|
||||
#[ArchiveSentMailsFilter]
|
||||
#[InboxFilter]
|
||||
|
||||
# Let's say you like the SpamFilter, but it is way too polite
|
||||
|
||||
# 1. create an filter object and customize it
|
||||
#[SpamFilter.0] # note the index
|
||||
#message = meh
|
||||
|
||||
# 2. create a new type and...
|
||||
#[ShitFilter(SpamFilter)]
|
||||
#message = I hatez teh spam!
|
||||
|
||||
# create an object or two...
|
||||
#[ShitFilter.0]
|
||||
#[ShitFilter.1]
|
||||
#message = Me hatez it too.
|
||||
|
||||
# 3. drop a custom filter type in ~/.config/afew/
|
||||
#[MyCustomFilter]
|
||||
|
||||
|
||||
# To create a custom generic filter, define it inline with
|
||||
# your above filter chain. E.g.:
|
||||
|
||||
# ...
|
||||
# [ListMailsFilter]
|
||||
#
|
||||
# [Filter.1]
|
||||
# query = from:boss@office.com
|
||||
# tags = +office
|
||||
#
|
||||
# [ArchiveSentMailsFilter]
|
||||
# ...
|
||||
EOF
|
||||
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
#FIXME: Install notmuch mail indexer for mutt NOT TESTED YET
|
||||
|
||||
# NB the following macro is already in mutt-wizard.muttrc
|
||||
#macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
||||
|
||||
|
||||
apt-get install -y notmuch-mutt
|
||||
|
||||
|
||||
NEOMUTTCONF="$HOME/config/mutt/"
|
||||
MAILDIR="$HOME/.local/share/mail" # set by mutt-wizard setup
|
||||
|
||||
cat >> ${NEOMUTTCONF}/muttrc <<'EOF'
|
||||
# notmuch
|
||||
set nm_default_uri = "notmuch:///home/default/.local/share/mail"
|
||||
virtual-mailboxes "My INBOX" "notmuch://?query=tag:inbox"
|
||||
|
||||
macro index <F8> \
|
||||
"<enter-command>unset wait_key<enter><shell-escape>/usr/bin/notmuch-mutt --prompt search<enter><change-folder-readonly>~/.cache/mutt_results<enter>" \
|
||||
"search mail (using notmuch)"
|
||||
|
||||
macro index <F9> \
|
||||
"<enter-command>unset wait_key<enter><pipe-message>/usr/bin/notmuch-mutt thread<enter><change-folder-readonly>~/.cache/mutt_results<enter><enter-command>set wait_key<enter>" \
|
||||
"search and reconstruct owning thread (using notmuch)"
|
||||
|
||||
|
||||
tag-transforms "attachment" "@" \
|
||||
"encrypted" "" \
|
||||
"signed" "✎"
|
||||
|
||||
tag-formats "attachment" "GA" \
|
||||
"encrypted" "GE" \
|
||||
"signed" "GS"
|
||||
EOF
|
||||
|
||||
mkdir -p ${MAILDIR}/.notmuch/hooks
|
||||
cat > ${MAILDIR}/.notmuch/hooks/post-new.notmuch.example <<EOF
|
||||
# immediately archive all messages from "me"
|
||||
notmuch tag -new -- tag:new and from:me@example.com
|
||||
|
||||
# delete all messages from a spammer:
|
||||
notmuch tag +deleted -- tag:new and from:spam@spam.com
|
||||
|
||||
# tag all message from notmuch mailing list
|
||||
notmuch tag +notmuch -- tag:new and to:notmuch@notmuchmail.org
|
||||
|
||||
# finally, retag all "new" messages "inbox" and "unread"
|
||||
notmuch tag +inbox +unread -new -- tag:new
|
||||
EOF
|
||||
|
|
@ -0,0 +1,409 @@
|
|||
#!/usr/bin/bash
|
||||
cd /var/tmp
|
||||
apt-get install -y neomutt urlscan w3m w3m-img ripmime isync msmtp vdirsyncer pass mailsync libnotify-bin lynx urlview
|
||||
|
||||
echo 'alias mutt="neomutt "' >> ~/.zsh_aliases.d/002_neomutt.zsh
|
||||
|
||||
BASE_USER=LukeSmithxyz
|
||||
BASE_REPO=mutt-wizard
|
||||
PROJECT=${BASE_USER}/${BASE_REPO}
|
||||
PRERELEASE=false
|
||||
# RELEASE=$(curl "https://api.github.com/repos/${PROJECT}/releases?per_page=5" | jq -r '.[0] | select( .prerelease = false ) |.tag_name')
|
||||
# VERSION=$(echo "${RELEASE}" | cut -c 2- | cut -f1 -d"-")
|
||||
VERSION=$( date +%Y-%m-%d_ )git
|
||||
DOWNLOAD_DIR=/tmp
|
||||
|
||||
# make a containing directory
|
||||
mkdir -p /var/tmp/${BASE_REPO}-"${RELEASE}"
|
||||
cd /var/tmp/${BASE_REPO}-"${RELEASE}" || exit
|
||||
|
||||
cat > ./description-pak << EOF
|
||||
A system for automatically configuring mutt and isync with a simple interface and safe passwords
|
||||
EOF
|
||||
|
||||
cat > ./checkinstall_it.sh << 'EOF'
|
||||
# '$ mw add' and follow the prompts.
|
||||
|
||||
MUTTWIZARDCONF="/usr/local/share/mutt-wizard"
|
||||
MUTTDIR="$HOME/.config/mutt"
|
||||
ACCDIR="${MUTTDIR}/accounts"
|
||||
COLORSCHEMES="${MUTTDIR}/colorschemes"
|
||||
FONTS="${MUTTDIR}/fonts"
|
||||
|
||||
mkdir -p ${COLORSCHEMES}
|
||||
mkdir -p ${fonts}
|
||||
mkdir -p $ACCDIR
|
||||
|
||||
git clone https://github.com/sheoak/neomutt-powerline-nerdfonts.git ${MUTTDIR}/powerline
|
||||
|
||||
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/neonwolf-256.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/zenburn.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/vombatidae.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/solarized-dark-256.neomuttrc
|
||||
|
||||
#wget -c -P ${COLORSCHEMES} https://git.sthu.org/?p=shutils.git;a=blob_plain;f=dotfiles/mutt/colors-gruvbox-shuber.muttrc;hb=master
|
||||
#wget -c -P ${COLORSCHEMES} https://git.sthu.org/?p=shutils.git;a=blob_plain;f=dotfiles/mutt/colors-gruvbox-shuber-extended.muttrc;hb=master
|
||||
|
||||
cat >${COLORSCHEMES}/colors-gruvbox-shuber-extended.muttrc <<EOF
|
||||
color compose header color223 color234
|
||||
color compose security_encrypt color175 color234
|
||||
color compose security_sign color109 color234
|
||||
color compose security_both color142 color234
|
||||
color compose security_none color208 color234
|
||||
EOF
|
||||
|
||||
cat >${COLORSCHEMES}/colors-gruvbox-shuber.muttrc <<EOF
|
||||
# gruvbox dark (contrast dark):
|
||||
|
||||
# bg0 = 234
|
||||
# bg1 = 237
|
||||
# bg2 = 239
|
||||
# bg3 = 241
|
||||
# bg4 = 243
|
||||
#
|
||||
# gray = 245
|
||||
#
|
||||
# fg0 = 229
|
||||
# fg1 = 223
|
||||
# fg2 = 250
|
||||
# fg3 = 248
|
||||
# fg4 = 246
|
||||
#
|
||||
# red = 167
|
||||
# green = 142
|
||||
# yellow = 214
|
||||
# blue = 109
|
||||
# purple = 175
|
||||
# aqua = 108
|
||||
# orange = 208
|
||||
|
||||
|
||||
# See http://www.mutt.org/doc/manual/#color
|
||||
|
||||
color attachment color109 color234
|
||||
color bold color229 color234
|
||||
color error color167 color234
|
||||
color hdrdefault color246 color234
|
||||
color indicator color223 color237
|
||||
color markers color243 color234
|
||||
color normal color223 color234
|
||||
color quoted color250 color234
|
||||
color quoted1 color108 color234
|
||||
color quoted2 color250 color234
|
||||
color quoted3 color108 color234
|
||||
color quoted4 color250 color234
|
||||
color quoted5 color108 color234
|
||||
color search color234 color208
|
||||
color signature color108 color234
|
||||
color status color234 color250
|
||||
color tilde color243 color234
|
||||
color tree color142 color234
|
||||
color underline color223 color239
|
||||
|
||||
color sidebar_divider color250 color234
|
||||
color sidebar_new color142 color234
|
||||
|
||||
color index color142 color234 ~N
|
||||
color index color108 color234 ~O
|
||||
color index color109 color234 ~P
|
||||
color index color214 color234 ~F
|
||||
color index color175 color234 ~Q
|
||||
color index color167 color234 ~=
|
||||
color index color234 color223 ~T
|
||||
color index color234 color167 ~D
|
||||
|
||||
color header color214 color234 "^(To:|From:)"
|
||||
color header color142 color234 "^Subject:"
|
||||
color header color108 color234 "^X-Spam-Status:"
|
||||
color header color108 color234 "^Received:"
|
||||
|
||||
color body color142 color234 "[a-z]{3,256}://[-a-zA-Z0-9@:%._\\+~#=/?&,]+"
|
||||
#color body color142 color234 "[a-zA-Z]([-a-zA-Z0-9_]+\\.){2,256}[-a-zA-Z0-9_]{2,256}"
|
||||
color body color208 color234 "[-a-z_0-9.%$]+@[-a-z_0-9.]+\\.[-a-z][-a-z]+"
|
||||
color body color208 color234 "mailto:[-a-z_0-9.]+@[-a-z_0-9.]+"
|
||||
color body color234 color214 "[;:]-*[)>(<lt;|]"
|
||||
color body color229 color234 "\\*[- A-Za-z]+\\*"
|
||||
|
||||
color body color214 color234 "^-.*PGP.*-*"
|
||||
color body color142 color234 "^gpg: Good signature from"
|
||||
color body color167 color234 "^gpg: Can't.*$"
|
||||
color body color214 color234 "^gpg: WARNING:.*$"
|
||||
color body color167 color234 "^gpg: BAD signature from"
|
||||
color body color167 color234 "^gpg: Note: This key has expired!"
|
||||
color body color214 color234 "^gpg: There is no indication that the signature belongs to the owner."
|
||||
color body color214 color234 "^gpg: can't handle these multiple signatures"
|
||||
color body color214 color234 "^gpg: signature verification suppressed"
|
||||
color body color214 color234 "^gpg: invalid node with packet of type"
|
||||
EOF
|
||||
|
||||
# split the existing mutt-wizard.muttrc into two to separate the colours from everything else so other colourschemes can be used.
|
||||
cat > ${MUTTWIZARDCONF}/mutt-wizard.muttrc <<'EOF'
|
||||
# vim: filetype=neomuttrc
|
||||
# This file contains all of mutt-wizard's default settings.
|
||||
# mutt-wizard will have this file sourced from your muttrc.
|
||||
# In the interest of seamless updating, do not edit this file.
|
||||
# If you want to override any settings, set those in your muttrc.
|
||||
set mailcap_path = /usr/local/share/mutt-wizard/mailcap
|
||||
set date_format="%y/%m/%d %I:%M%p"
|
||||
set index_format="%2C %Z %?X?A& ? %D %-15.15F %s (%-4.4c)"
|
||||
set sort = 'reverse-date'
|
||||
set smtp_authenticators = 'gssapi:login'
|
||||
set query_command = "abook --mutt-query '%s'"
|
||||
set rfc2047_parameters = yes
|
||||
set sleep_time = 0 # Pause 0 seconds for informational messages
|
||||
set markers = no # Disables the `+` displayed at line wraps
|
||||
set mark_old = no # Unread mail stay unread until read
|
||||
set mime_forward = yes # attachments are forwarded with mail
|
||||
set wait_key = no # mutt won't ask "press key to continue"
|
||||
set fast_reply # skip to compose when replying
|
||||
set fcc_attach # save attachments with the body
|
||||
set forward_format = "Fwd: %s" # format of subject when forwarding
|
||||
set forward_quote # include message in forwards
|
||||
set reverse_name # reply as whomever it was to
|
||||
set include # include message in replies
|
||||
set mail_check=60 # to avoid lags using IMAP with some email providers (yahoo for example)
|
||||
auto_view text/html # automatically show html (mailcap uses w3m)
|
||||
auto_view application/pgp-encrypted
|
||||
alternative_order text/plain text/enriched text/html
|
||||
bind index,pager i noop
|
||||
bind index,pager g noop
|
||||
bind index \Cf noop
|
||||
|
||||
# General rebindings
|
||||
bind index j next-entry
|
||||
bind index k previous-entry
|
||||
bind attach <return> view-mailcap
|
||||
bind attach l view-mailcap
|
||||
bind editor <space> noop
|
||||
bind index G last-entry
|
||||
bind index gg first-entry
|
||||
bind pager,attach h exit
|
||||
bind pager j next-line
|
||||
bind pager k previous-line
|
||||
bind pager l view-attachments
|
||||
bind index D delete-message
|
||||
bind index U undelete-message
|
||||
bind index L limit
|
||||
bind index h noop
|
||||
bind index l display-message
|
||||
bind index <space> tag-entry
|
||||
#bind browser h goto-parent
|
||||
macro browser h '<change-dir><kill-line>..<enter>' "Go to parent folder"
|
||||
bind index,pager H view-raw-message
|
||||
bind browser l select-entry
|
||||
bind pager,browser gg top-page
|
||||
bind pager,browser G bottom-page
|
||||
bind index,pager,browser d half-down
|
||||
bind index,pager,browser u half-up
|
||||
bind index,pager S sync-mailbox
|
||||
bind index,pager R group-reply
|
||||
bind index \031 previous-undeleted # Mouse wheel
|
||||
bind index \005 next-undeleted # Mouse wheel
|
||||
bind pager \031 previous-line # Mouse wheel
|
||||
bind pager \005 next-line # Mouse wheel
|
||||
bind editor <Tab> complete-query
|
||||
|
||||
macro index,pager a "<enter-command>set my_pipe_decode=\$pipe_decode pipe_decode<return><pipe-message>abook --add-email<return><enter-command>set pipe_decode=\$my_pipe_decode; unset my_pipe_decode<return>" "add the sender address to abook"
|
||||
macro index \Cr "T~U<enter><tag-prefix><clear-flag>N<untag-pattern>.<enter>" "mark all messages as read"
|
||||
macro index O "<shell-escape>mbsync -a<enter>" "run mbsync to sync all mail"
|
||||
macro index \Cf "<enter-command>unset wait_key<enter><shell-escape>read -p 'Enter a search term to find with notmuch: ' x; echo \$x >~/.cache/mutt_terms<enter><limit>~i \"\`notmuch search --output=messages \$(cat ~/.cache/mutt_terms) | head -n 600 | perl -le '@a=<>;s/\^id:// for@a;$,=\"|\";print@a' | perl -le '@a=<>; chomp@a; s/\\+/\\\\+/ for@a;print@a' \`\"<enter>" "show only messages matching a notmuch pattern"
|
||||
macro index A "<limit>all\n" "show all messages (undo limit)"
|
||||
|
||||
# Sidebar mappings
|
||||
set sidebar_visible = yes
|
||||
set sidebar_width = 20
|
||||
set sidebar_short_path = yes
|
||||
set sidebar_next_new_wrap = yes
|
||||
set mail_check_stats
|
||||
set sidebar_format = '%B%?F? [%F]?%* %?N?%N/? %?S?%S?'
|
||||
bind index,pager \Ck sidebar-prev
|
||||
bind index,pager \Cj sidebar-next
|
||||
bind index,pager \Co sidebar-open
|
||||
bind index,pager \Cp sidebar-prev-new
|
||||
bind index,pager \Cn sidebar-next-new
|
||||
bind index,pager B sidebar-toggle-visible
|
||||
EOF
|
||||
|
||||
cat > ${MUTTWIZARDCONF}/mutt-wizard-colors.muttrc <<'EOF'
|
||||
# Default index colors:
|
||||
color index yellow default '.*'
|
||||
color index_author red default '.*'
|
||||
color index_number blue default
|
||||
color index_subject cyan default '.*'
|
||||
|
||||
# New mail is boldened:
|
||||
color index brightyellow black "~N"
|
||||
color index_author brightred black "~N"
|
||||
color index_subject brightcyan black "~N"
|
||||
|
||||
# Tagged mail is highlighted:
|
||||
color index brightyellow blue "~T"
|
||||
color index_author brightred blue "~T"
|
||||
color index_subject brightcyan blue "~T"
|
||||
|
||||
# Other colors and aesthetic settings:
|
||||
mono bold bold
|
||||
mono underline underline
|
||||
mono indicator reverse
|
||||
mono error bold
|
||||
color normal default default
|
||||
color indicator brightblack white
|
||||
color sidebar_highlight red default
|
||||
color sidebar_divider brightblack black
|
||||
color sidebar_flagged red black
|
||||
color sidebar_new green black
|
||||
color normal brightyellow default
|
||||
color error red default
|
||||
color tilde black default
|
||||
color message cyan default
|
||||
color markers red white
|
||||
color attachment white default
|
||||
color search brightmagenta default
|
||||
color status brightyellow black
|
||||
color hdrdefault brightgreen default
|
||||
color quoted green default
|
||||
color quoted1 blue default
|
||||
color quoted2 cyan default
|
||||
color quoted3 yellow default
|
||||
color quoted4 red default
|
||||
color quoted5 brightred default
|
||||
color signature brightgreen default
|
||||
color bold black default
|
||||
color underline black default
|
||||
color normal default default
|
||||
|
||||
# Regex highlighting:
|
||||
color header blue default ".*"
|
||||
color header brightmagenta default "^(From)"
|
||||
color header brightcyan default "^(Subject)"
|
||||
color header brightwhite default "^(CC|BCC)"
|
||||
color body brightred default "[\-\.+_a-zA-Z0-9]+@[\-\.a-zA-Z0-9]+" # Email addresses
|
||||
color body brightblue default "(https?|ftp)://[\-\.,/%~_:?&=\#a-zA-Z0-9]+" # URL
|
||||
color body green default "\`[^\`]*\`" # Green text between ` and `
|
||||
color body brightblue default "^# \.*" # Headings as bold blue
|
||||
color body brightcyan default "^## \.*" # Subheadings as bold cyan
|
||||
color body brightgreen default "^### \.*" # Subsubheadings as bold green
|
||||
color body yellow default "^(\t| )*(-|\\*) \.*" # List items as yellow
|
||||
color body brightcyan default "[;:][-o][)/(|]" # emoticons
|
||||
color body brightcyan default "[;:][)(|]" # emoticons
|
||||
color body brightcyan default "[ ][*][^*]*[*][ ]?" # more emoticon?
|
||||
color body brightcyan default "[ ]?[*][^*]*[*][ ]" # more emoticon?
|
||||
color body red default "(BAD signature)"
|
||||
color body cyan default "(Good signature)"
|
||||
color body brightblack default "^gpg: Good signature .*"
|
||||
color body brightyellow default "^gpg: "
|
||||
color body brightyellow red "^gpg: BAD signature from.*"
|
||||
mono body bold "^gpg: Good signature"
|
||||
mono body bold "^gpg: BAD signature from.*"
|
||||
color body red default "([a-z][a-z0-9+-]*://(((([a-z0-9_.!~*'();:&=+$,-]|%[0-9a-f][0-9a-f])*@)?((([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?|[0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+)(:[0-9]+)?)|([a-z0-9_.!~*'()$,;:@&=+-]|%[0-9a-f][0-9a-f])+)(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*(/([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*(;([a-z0-9_.!~*'():@&=+$,-]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?(#([a-z0-9_.!~*'();/?:@&=+$,-]|%[0-9a-f][0-9a-f])*)?|(www|ftp)\\.(([a-z0-9]([a-z0-9-]*[a-z0-9])?)\\.)*([a-z]([a-z0-9-]*[a-z0-9])?)\\.?(:[0-9]+)?(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*(/([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*(;([-a-z0-9_.!~*'():@&=+$,]|%[0-9a-f][0-9a-f])*)*)*)?(\\?([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?(#([-a-z0-9_.!~*'();/?:@&=+$,]|%[0-9a-f][0-9a-f])*)?)[^].,:;!)? \t\r\n<>\"]"
|
||||
EOF
|
||||
|
||||
cat >> ${MUTTDIR}/muttrc <<'EOF'
|
||||
source accounts/1-cyteen42.muttrc
|
||||
source /usr/local/share/mutt-wizard/mutt-wizard.muttrc
|
||||
#source /usr/local/share/mutt-wizard/mutt-wizard-colors.muttrc
|
||||
|
||||
set sort = threads
|
||||
set sort_aux = reverse-last-date-received
|
||||
color progress white red
|
||||
|
||||
|
||||
#source colorschemes/neonwolf-256.neomuttrc
|
||||
#source colorschemes/zenburn.neomuttrc
|
||||
#source colorschemes/vombatidae.neomuttrc
|
||||
source colorschemes/solarized-dark-256.neomuttrc
|
||||
|
||||
# for solarized:
|
||||
# you must load solarized 16 colors theme BEFORE this
|
||||
# you terminal 16 colors must be set to solarized theme
|
||||
source powerline/powerline.neomuttrc
|
||||
#source powerline/powerline-rounded.neomuttrc
|
||||
|
||||
# for gruvbox:
|
||||
source colorschemes/colors-gruvbox-shuber.muttrc
|
||||
|
||||
# For neomutt uncomment this line:
|
||||
source colorschemes/colors-gruvbox-shuber-extended.muttrc
|
||||
|
||||
|
||||
# you must load gruvbox theme BEFORE this
|
||||
# you terminal 16 colors must be set to gruvbox theme
|
||||
#source powerline/colors/gruvbox-powerline.neomuttrc
|
||||
#source powerline/powerline.neomuttrc
|
||||
|
||||
EOF
|
||||
|
||||
|
||||
|
||||
mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
|
||||
cat > $ACCDIR/1-${PROFILE_NAME}.muttrc <<EOF
|
||||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account ${PROFILE_NAME}
|
||||
set realname = ${REAL_NAME}
|
||||
set from = ${FROM}
|
||||
set sendmail = "/usr/bin/msmtp -a mutt"
|
||||
alias me ${REAL_NAME} <${EMAIL}>
|
||||
set folder = "/home/${USER_NAME}/.local/share/mail/mutt"
|
||||
set header_cache = /home/${USER_NAME}/.cache/mutt-wizard/
|
||||
set message_cachedir = /home/${USER_NAME}/.cache/mutt-wizard/
|
||||
set mbox_type = Maildir
|
||||
EOF
|
||||
|
||||
# auto-generated with mutt-wizard: 'mw add' and follow the instructions
|
||||
# mailboxes populated from the email account imap server so for a clean
|
||||
# account just put in the standard =Inbox =Drafts =Trash =Sent =Junk
|
||||
PROFILE_NAME=cyteen42
|
||||
EMAIL=cyteen42@yahoo.co.uk
|
||||
REAL_NAME="cyteen may"
|
||||
|
||||
mkdir -p $ACCDIR/${PROFILE_NAME}
|
||||
|
||||
cat > $ACCDIR/${PROFILE_NAME}.muttrc <<EOF
|
||||
# vim: filetype=neomuttrc
|
||||
# muttrc file for account ${PROFILE_NAME}
|
||||
set realname = ${REAL_NAME}
|
||||
set from = "${EMAIL}"
|
||||
set sendmail = "msmtp -a ${PROFILE_NAME}"
|
||||
alias me ${REAL_NAME} <${EMAIL}>
|
||||
set folder = "/home/default/.local/share/mail/${PROFILE_NAME}"
|
||||
set header_cache = /home/default/.cache/mutt-wizard/${PROFILE_NAME}/headers
|
||||
set message_cachedir = /home/default/.cache/mutt-wizard/${PROFILE_NAME}/bodies
|
||||
set mbox_type = Maildir
|
||||
|
||||
bind index,pager gg noop
|
||||
bind index,pager g noop
|
||||
bind index,pager M noop
|
||||
bind index,pager C noop
|
||||
bind index gg first-entry
|
||||
macro index o "<shell-escape>mailsync -V ${PROFILE_NAME}<enter>" "run mbsync to sync ${PROFILE_NAME}"
|
||||
unmailboxes *
|
||||
|
||||
set spoolfile = "+Inbox"
|
||||
set record = "+Sent"
|
||||
set postponed = "+Drafts"
|
||||
set trash = "+Trash"
|
||||
mailboxes "=Bulk\ Mail" "=eBay\ -\ won" "=eBay\ -\ dispatched" "=Archives.2013" "=2600hz\ Blog" "=devuan_list" "=Drafts" "=Inbox" "=aliexpress" "=Raspberry\ Pi" "=Archives.2014" "=paypal" "=greencycle\ taken" "=tutum" "=Junk" "=dinodirect" "=Archives.2017" "=eBay\ -\ confirmed" "=greencycle\ offered" "=diyaudio" "=Trash" "=greencycle\ wanted" "=artisan" "=Draft" "=Archives.2015" "=eBay" "=Archives" "=eBay\ -\ Ending" "=Sent" "=dealextreme" "=eBay\ -\ new\ items" "=Archive" "=Drafts.2013"
|
||||
macro index,pager gi "<change-folder>=Inbox<enter>" "go to inbox" # mw-autogenerated
|
||||
macro index,pager Mi ";<save-message>=Inbox<enter>" "move mail to inbox" # mw-autogenerated
|
||||
macro index,pager Ci ";<copy-message>=Inbox<enter>" "copy mail to inbox" # mw-autogenerated
|
||||
macro index,pager gs "<change-folder>=Sent<enter>" "go to sent" # mw-autogenerated
|
||||
macro index,pager Ms ";<save-message>=Sent<enter>" "move mail to sent" # mw-autogenerated
|
||||
macro index,pager Cs ";<copy-message>=Sent<enter>" "copy mail to sent" # mw-autogenerated
|
||||
macro index,pager gd "<change-folder>=Drafts<enter>" "go to drafts" # mw-autogenerated
|
||||
macro index,pager Md ";<save-message>=Drafts<enter>" "move mail to drafts" # mw-autogenerated
|
||||
macro index,pager Cd ";<copy-message>=Drafts<enter>" "copy mail to drafts" # mw-autogenerated
|
||||
macro index,pager gt "<change-folder>=Trash<enter>" "go to trash" # mw-autogenerated
|
||||
macro index,pager Mt ";<save-message>=Trash<enter>" "move mail to trash" # mw-autogenerated
|
||||
macro index,pager Ct ";<copy-message>=Trash<enter>" "copy mail to trash" # mw-autogenerated
|
||||
macro index,pager gj "<change-folder>=Junk<enter>" "go to junk" # mw-autogenerated
|
||||
macro index,pager Mj ";<save-message>=Junk<enter>" "move mail to junk" # mw-autogenerated
|
||||
macro index,pager Cj ";<copy-message>=Junk<enter>" "copy mail to junk" # mw-autogenerated
|
||||
macro index,pager ga "<change-folder>=Archives.2013<enter>" "go to archive" # mw-autogenerated
|
||||
macro index,pager Ma ";<save-message>=Archives.2013<enter>" "move mail to archive" # mw-autogenerated
|
||||
macro index,pager Ca ";<copy-message>=Archives.2013<enter>" "copy mail to archive" # mw-autogenerated
|
||||
EOF
|
||||
|
||||
|
||||
#mbsync ${PROFILE_NAME}
|
||||
50
020_mutt.sh
50
020_mutt.sh
|
|
@ -1,50 +0,0 @@
|
|||
#!/usr/bin/env bash
|
||||
gpgme
|
||||
|
||||
mu
|
||||
|
||||
|
||||
|
||||
# https://neomutt.org/guide/
|
||||
|
||||
apt-get install -y neomutt urlscan w3m w3m-img ripmime isync khard msmtp vdirsyncer notmuch-mutt pass mailsync libnotify-bin lynx urlview
|
||||
|
||||
mkdir ~/Mail
|
||||
NEOMUTTCONF=~/.config/mutt
|
||||
COLORSCHEMES=${NEOMUTTCONF}/colorschemes
|
||||
FONTS=${NEOMUTTCONF}/fonts
|
||||
mkdir -p ${COLORSCHEMES}
|
||||
|
||||
|
||||
MUTT_CONF=~/.mutt
|
||||
mkdir -p ${MUTT_CONF}
|
||||
|
||||
cat > ${MUTT_CONF}/muttrc <<'EOF'
|
||||
EOF
|
||||
|
||||
git clone https://github.com/sheoak/neomutt-powerline-nerdfonts.git ${NEOMUTTCONF}/powerline
|
||||
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/neonwolf-256.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/zenburn.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/vombatidae.neomuttrc
|
||||
wget -c -P ${COLORSCHEMES} https://raw.githubusercontent.com/neomutt/neomutt/master/contrib/colorschemes/solarized-dark-256.neomuttrc
|
||||
|
||||
# edit neomutt configuration:
|
||||
cat > ~/.config/neomutt/neomuttrc <<"EOF"
|
||||
source colorschemes/vombatidae.neomuttrc
|
||||
# for solarized:
|
||||
# you must load solarized 16 colors theme BEFORE this
|
||||
# you terminal 16 colors must be set to solarized theme
|
||||
source powerline/powerline.neomuttrc
|
||||
|
||||
# for gruvbox:
|
||||
# you must load gruvbox theme BEFORE this
|
||||
# you terminal 16 colors must be set to gruvbox theme
|
||||
#source powerline/colors/gruvbox-powerline.neomuttrc
|
||||
#source powerline/powerline.neomuttrc
|
||||
EOF
|
||||
|
||||
#gpg --full-gen-key
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
#!/usr/bin/env bash
|
||||
|
||||
DRIVER_VER=2.46
|
||||
|
||||
cd /var/tmp
|
||||
wget -c https://chromedriver.storage.googleapis.com/${DRIVER_VER}/chromedriver_linux64.zip
|
||||
unzip chromedriver_linux64.zip
|
||||
|
||||
pip3 install selenium
|
||||
|
||||
cat > protonMailGenerator.py <<EOF
|
||||
from selenium import webdriver
|
||||
import time
|
||||
|
||||
url = 'https://protonmail.com/'
|
||||
|
||||
driver = webdriver.Chrome('/var/tmp/chromedriver')
|
||||
driver.get(url)
|
||||
|
||||
driver.find_element_by_xpath('//*[@title="Sign Up"]').click()
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
driver.find_element_by_class_name('panel-heading').click()
|
||||
|
||||
time.sleep(4)
|
||||
|
||||
driver.find_element_by_id('freePlan').click()
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
driver.find_element_by_id('username').send_keys('usernameForUser')
|
||||
|
||||
time.sleep(1.5)
|
||||
|
||||
driver.find_element_by_id('password').send_keys('passwordForUser')
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
driver.find_element_by_id('passwordc').send_keys('passwordForUser')
|
||||
|
||||
time.sleep(2)
|
||||
|
||||
driver.find_element_by_class_name('signUpProcess-btn-create').click()
|
||||
|
||||
time.sleep(1)
|
||||
|
||||
driver.find_element_by_id('confirmModalBtn').click()
|
||||
EOF
|
||||
|
||||
python3 protonMailGenerator.py
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
#!/usr/bin/env bash
|
||||
set +x
|
||||
#apt-get install -y rng-tools gnupg2
|
||||
|
||||
sudo rngd -b -r /dev/urandom
|
||||
|
||||
export GNUPGHOME="$(mktemp -d)"
|
||||
cat >keydetails <<EOF
|
||||
%echo Generating a basic OpenPGP key
|
||||
Key-Type: DSA
|
||||
Key-Length: 1024
|
||||
Subkey-Type: ELG-E
|
||||
Subkey-Length: 1024
|
||||
Name-Real: Joe Tester
|
||||
Name-Comment: with stupid passphrase
|
||||
Name-Email: joe@foo.bar
|
||||
Expire-Date: 0
|
||||
Passphrase: abc
|
||||
# Do a commit here, so that we can later print "done" :-)
|
||||
%commit
|
||||
%echo done
|
||||
EOF
|
||||
|
||||
gpg --batch --full-gen-key keydetails
|
||||
|
||||
gpg --list-secret-keys
|
||||
|
||||
echo -e "5\ny\n" | gpg --command-fd 0 --expert --edit-key joe@foo.bar trust;
|
||||
|
||||
gpg --list-keys
|
||||
|
||||
gpg -e -a -r joe@foo.bar keydetails
|
||||
Loading…
Reference in New Issue