diff options
Diffstat (limited to 'README')
-rw-r--r-- | README | 59 |
1 files changed, 42 insertions, 17 deletions
@@ -1,17 +1,34 @@ -imapsync performs stateful synchronization between two IMAP4rev1 -servers. Such synchronization is made possible by the QRESYNC extension -from [RFC7162]; for convenience reasons servers must also support -LIST-EXTENDED [RFC5258], LIST-STATUS [RFC5819] and UIDPLUS [RFC4315]. -Furthermore, while imapsync can work with servers lacking support for -LITERAL+ [RFC2088] and MULTIAPPEND [RFC3502], these extensions greatly -improve performance by reducing the number of required round trips hence -are recommended. - -Consult the manual for more information. - -imapsync is Copyright© 2015 Guilhem Moulin ⟨guilhem@fripost.org⟩, and -licensed for use under the GNU General Public License version 3 or -later. See ‘COPYING’ for specific terms and distribution information. +InterIMAP is a fast two-way synchronization program for QRESYNC-capable +IMAP4rev1 servers. Consult the manual for more information. + + +####################################################################### + + +Compared to IMAP-to-Maildir synchronization solutions like OfflineIMAP, +adding an IMAP server between the Maildir storage and the MUA saves +loads of readdir(2) system calls and other File System quirks; moreover +the abstraction layer offered by the IMAP server makes the MUA and +synchronization program agnostic to the storage backend (Maildir, mbox, +dbox,...) in use. + +IMAP synchronization of a mailbox is usually two-folds: 1/ detect and +propagate changes (flag updates and message deletions) to existing +messages, then 2/ copy the new messages. The naive way to perform the +first step is to issue a FETCH command to list all messages in the +mailbox along with their flags and UIDs, causing heavy network usage. +Instead, InterIMAP takes advantage of the QRESYNC extension from +[RFC7162] to perform stateful synchronization: querying changes since +the last synchronization only gives a phenomenal performance boost and +drastically reduces the network traffic. + +For convenience reasons servers must also support LIST-EXTENDED +[RFC5258], LIST-STATUS [RFC5819] and UIDPLUS [RFC4315]. Furthermore, +while InterIMAP can work with servers lacking support for LITERAL+ +[RFC2088] and MULTIAPPEND [RFC3502], these extensions greatly improve +performance by reducing the number of required round trips hence are +recommended. + ####################################################################### @@ -33,14 +50,14 @@ the AUTHENTICATE command. For instance the following configuration snippet saves bandwidth and brings a significant speed gain compared to type=imaps. - local: $XDG_CONFIG_HOME/imapsync: + local: $XDG_CONFIG_HOME/interimap: [remote] type = tunnel command = /usr/bin/ssh user@imap.example.net local: ~/.ssh/config: Host imap.example.net - IdentityFile ~/.ssh/id-imapsync + IdentityFile ~/.ssh/id-interimap IdentitiesOnly yes ControlPath /run/shm/%u@%n ControlMaster auto @@ -52,4 +69,12 @@ type=imaps. Compression yes remote: ~user/.ssh/authorized_keys: - command="/usr/lib/dovecot/imap",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-... id-imapsync + command="/usr/lib/dovecot/imap",no-agent-forwarding,no-port-forwarding,no-pty,no-user-rc,no-X11-forwarding ssh-... id-interimap + + +####################################################################### + + +InterIMAP is Copyright© 2015 Guilhem Moulin ⟨guilhem@fripost.org⟩, and +licensed for use under the GNU General Public License version 3 or +later. See ‘COPYING’ for specific terms and distribution information. |