From adf204a2b54eb5fc47e97042012be0e407ac7e42 Mon Sep 17 00:00:00 2001 From: Guilhem Moulin Date: Mon, 7 Sep 2015 15:49:21 +0200 Subject: Add a note imapsync vs. offlineimap. --- README | 49 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/README b/README index 4192812..1195720 100644 --- a/README +++ b/README @@ -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. +imapsync is a fast bidirectional synchronization program for +QRESYNC-capable IMAP servers. Consult the manual for more information. -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. +####################################################################### + + +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, imapsync 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 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. + ####################################################################### @@ -53,3 +70,11 @@ type=imaps. 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 + + +####################################################################### + + +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. -- cgit v1.2.3