aboutsummaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
Diffstat (limited to 'README')
-rw-r--r--README59
1 files changed, 42 insertions, 17 deletions
diff --git a/README b/README
index 4192812..44190f3 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.
-
-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.