# 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 `.onion` SMTP 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 ```bash 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](https://www.passwordstore.org/) per non avere password in chiaro: ```bash 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 ```bash 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 ``` 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: ```bash gpg --full-generate-key # → usa un nome/email non riconducibile a te (es. "Anonymous ") ``` 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 1. Avvia il daemon Tor 2. Modifica `scripts/m2n-post.sh` con i tuoi valori: ```bash 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" ``` 3. 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: ```bash 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 ```