aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README49
1 files 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.