PUBLIC-INBOX-EDIT(1)

πŸ’… public-inbox-edit(1) β€” the public-inbox user manual, bestie edition

okay so. you're here because you need to destructively edit messages in a public inbox πŸ’€ and honestly? the name of this tool is doing the absolute most, but it's not lying. let's get into it.


✨ SYNOPSIS ✨

public-inbox-edit -m MESSAGE-ID --all|INBOX_DIR

public-inbox-edit -F RAW_FILE --all|INBOX_DIR [.. INBOX_DIR]

🌸 DESCRIPTION 🌸

public-inbox-edit lets you edit messages inside a given inbox so you can remove sensitive information from them. that's the whole vibe. 🫢

but bestie, listen. this is a last resort situation only. the way it literally causes discontiguous git history and draws more attention to the sensitive data in mirrors? yeah. it's giving "loud exit, everyone looks up". 😭


πŸŽ€ OPTIONS πŸŽ€

  • --all β€” edits the message in all inboxes configured in ~/.public-inbox/config. it's the alternative to naming individual inbox directories on the command line, so you don't have to type them all out like a peasant. ✨
  • -m MESSAGE-ID β€” edits the message matching the MESSAGE-ID you give it. if that MESSAGE-ID is ambiguous, you're gonna need --force or you gotta use the --file of the original. no shortcuts, sorry. πŸ™ˆ
  • -F FILE β€” edits the message matching the Message-ID: header and the content given in FILE. this needs the unmodified raw message, and ngl the contents of FILE will not itself be modified. super useful when a Message-ID is ambiguous because of filtering/munging rules or other edits. πŸ‘‘
  • --force β€” forcibly performs the edit even if the Message-ID is ambiguous. main character energy, use responsibly. πŸ”₯
  • --raw β€” does not perform "From " line escaping. by default it generates an mboxrd variant file to detect unpurged messages in the new mbox. this makes sense if your configured publicinbox.mailEditor is a regular editor and not something like mutt -f. πŸ’œ

βš™οΈ CONFIGURATION βš™οΈ

publicinbox.mailEditor

the command used to perform the edit. an example would be mutt -f, and then you'd use the facilities in mutt(1) to edit the mail. this is chef's kiss for editing attachments or Base64-encoded emails, which are genuinely so much harder to edit with a normal editor (the one configured via GIT_EDITOR, VISUAL or EDITOR). 🧚

Default: none


🌈 ENVIRONMENT 🌈

  • GIT_EDITOR / VISUAL / EDITOR β€” public-inbox-edit will fall back to using one of these variables (in that order) if publicinbox.mailEditor is unset.
  • PI_CONFIG β€” the default config file, normally ~/.public-inbox/config. see public-inbox-config(5) for the deets. πŸ“–

πŸ’€ LIMITATIONS πŸ’€

bestie. read this part. i'm so serious.
  • only v2 repositories are supported. that's it, that's the list of supported repos.
  • it's safe to run while the normal inbox writing tools are active: public-inbox-mda(1), public-inbox-watch(1), public-inbox-learn(1).
  • running this in parallel with public-inbox-xcpdb(1) or public-inbox-index --reindex can lead to errors or edited data remaining indexed. do not do that. i'm begging.
  • incremental public-inbox-index(1) (without --reindex) is fine. βœ…
  • keep in mind this is a last resort, because it will be disruptive to anyone using git(1) to mirror the inbox being edited. yeah. sorry to them. 😭

πŸ“¬ CONTACT πŸ“¬

feedback welcome via plain-text mail to <mailto:meta@public-inbox.org>

the mail archives are hosted at <https://public-inbox.org/meta/> and <http://4uok3hntl7oi7b4uf4rtfwefqeexfzil2w6kgk2jn5z2f764irre7byd.onion/meta/>


Copyright 2019-2021 all contributors <mailto:meta@public-inbox.org>

License: AGPL-3.0+ <https://www.gnu.org/licenses/agpl-3.0.txt>


πŸ‘€ SEE ALSO πŸ‘€


and that's the whole page, bestie!! πŸ’– this one came from public-inbox.git, dated 1993-10-02, and yes i know that date is lowkey sus for a tool like this but that's literally what the footer said so i'm passing it along verbatim. mwah. πŸŽ€βœ¨

πŸ“¦ where this page comes from