- Shell 100%
| accounts | ||
| scripts | ||
| .gitignore | ||
| colors.mutt | ||
| mailcap | ||
| neomuttrc | ||
| README.md | ||
neomutt-config
Privacy-focused NeoMutt configuration with:
- Multi-account support (IMAP/SMTP)
- GPG/ECC signing on all accounts
- Mail2news via Tor — post to Usenet anonymously through a
.onionSMTP gateway - Cyberpunk color theme
pass(1) integration for credential management (no plaintext passwords)
Requirements
| Package | Purpose |
|---|---|
neomutt |
MUA |
gpg |
Signing/encryption |
pass |
Password storage |
torsocks |
Tor proxy for mail2news |
netcat |
SMTP raw send (openbsd-netcat) |
tor |
Tor daemon |
vim |
Composing messages |
lynx |
HTML email rendering in terminal |
pandoc |
Markdown → HTML compose (opt.) |
Installation
git clone https://github.com/YOUR_USERNAME/neomutt-config
cd neomutt-config
# Copia i file di configurazione
mkdir -p ~/.config/neomutt/accounts
cp neomuttrc ~/.config/neomutt/neomuttrc # oppure ~/.neomuttrc
cp colors.mutt ~/.config/neomutt/colors.mutt
cp mailcap ~/.config/neomutt/mailcap
cp accounts/* ~/.config/neomutt/accounts/
cp scripts/m2n-post.sh ~/.config/neomutt/m2n-post.sh
chmod +x ~/.config/neomutt/m2n-post.sh
# Cache per header/body IMAP
mkdir -p ~/.cache/neomutt/{headers,bodies}
Setup account email
Ogni account ha un file in ~/.config/neomutt/accounts/. Modifica i valori:
set from = "user@example.com"
set imap_user = "user@example.com"
set folder = "imap://mail.example.com:143"
set smtp_url = "smtp://user%40example.com@mail.example.com:587"
Password con pass
Usa pass per non avere password in chiaro:
pass insert email/account1
Nel file account:
set imap_pass = "`pass email/account1`"
set smtp_pass = "`pass email/account1`"
Generare una chiave ECC (Ed25519) con GPG
gpg --full-generate-key
# → scegli: (9) ECC (sign and encrypt) oppure (10) ECC (sign only)
# → curva: Ed25519
# → scadenza: a tua scelta (consigliato: 1-2 anni)
# → nome e indirizzo
# Mostra il fingerprint
gpg --list-secret-keys --keyid-format LONG
# Esempio output:
# sec ed25519/AABBCCDDEEFF0011 2024-01-01
# Key fingerprint = AABB CCDD EEFF 0011 ...
# uid Your Name <user@example.com>
Copia il fingerprint (es. AABBCCDDEEFF0011) nel campo pgp_default_key e pgp_sign_as del file account.
Chiave dedicata per mail2news
Si consiglia una chiave separata per i post Usenet, non legata alla propria identità email:
gpg --full-generate-key
# → usa un nome/email non riconducibile a te (es. "Anonymous <anon@anonymous.invalid>")
Aggiorna FINGERPRINT_CHIAVE_ECC_MAIL2NEWS in accounts/mail2news e in scripts/m2n-post.sh.
Mail2news via Tor
Il sistema mail2news permette di inviare post Usenet attraverso un gateway SMTP .onion, senza rivelare il proprio IP.
Configurazione
- Avvia il daemon Tor
- Modifica
scripts/m2n-post.shcon i tuoi valori:
SMTP_ONION="INDIRIZZO.onion" # server mail2news .onion
SMTP_PORT="25"
MAIL2NEWS_TO="mail2news@INDIRIZZO.onion"
FROM_ADDR="anon@anonymous.invalid"
GPG_KEY="FINGERPRINT_CHIAVE_ECC_MAIL2NEWS"
- In NeoMutt premi F9 per aprire lo script interattivo
Flusso del post
F9 → Newsgroup → Subject → [References se Re:] → vim → Revisione → Invio
Il messaggio viene firmato con GPG/ECC prima dell'invio (clearsign inline, compatibile con i lettori Usenet).
Server mail2news noti su Tor
Cerca gateway mail2news pubblici su Tor in:
- gruppi
alt.privacy,alt.anonymous.messages - [Tor hidden services directories]
Keybindings
| Tasto | Azione |
|---|---|
| F2 | Account 1 |
| F3 | Account 2 |
| F4 | Account 3 |
| F9 | Nuovo post mail2news |
| B | Toggle sidebar |
| Ctrl+P / Ctrl+N | Sidebar su/giù |
| j/k | Navigazione vim-like |
| r/R | Reply / Reply-all |
| p | Menu GPG in composizione |
Account FOG SMTP
FOG è un relay SMTP custom raggiungibile via Tor (.onion). Se usi il tuo server:
set smtp_url = "smtp://YOUR_FOG_ONION.onion:25"
set ssl_starttls = no
set ssl_force_tls = no
Assicurati di avviare torsocks prima di NeoMutt oppure configura un proxy SOCKS5:
torsocks neomutt
Struttura file
~/.config/neomutt/
├── neomuttrc # configurazione principale
├── colors.mutt # tema cyberpunk
├── mailcap # handler MIME
├── m2n-post.sh # script mail2news
└── accounts/
├── account1 # account email 1
├── account2 # account email 2
├── account3 # account con FOG SMTP
└── mail2news # mittente fisso per Usenet