File: tramp-crypt.el.html

Access functions for encrypted remote files. It uses encfs to encrypt / decrypt the files on a remote directory. A remote directory where you wish files to be encrypted must be declared in tramp-crypt-directories via command tramp-crypt-add-directory. All files in that directory, including all subdirectories, are stored encrypted. This includes file names and directory names.

This package is just responsible for the encryption part. Copying of the encrypted files is still the responsibility of the remote file name handlers.

A password protected encfs configuration file is created the very first time you access an encrypted remote directory. It is kept in your user directory (usually "~/.emacs.d/") with the url-encoded directory name as part of the basename, and ".encfs6.xml" as suffix. Do not lose this file and the corresponding password; otherwise there is no way to decrypt your encrypted files.

If the user option tramp-crypt-save-encfs-config-remote is non-nil (the default), the encfs configuration file ".encfs6.xml" is also kept in the encrypted remote directory. It depends on you, whether you regard the password protection of this file as sufficient security.

If you use a remote file name with a quoted localname part, this localname and the corresponding file will not be encrypted/ decrypted. For example, if you have an encrypted remote directory
"/nextcloud:user@host:/encrypted_dir", the command

  C-x d /nextcloud:user@host:/encrypted_dir

will show the directory listing with the plain file names, and the command

  C-x d /nextcloud:user@host:/:/encrypted_dir

will show the directory with the encrypted file names, and visiting a file will show its encrypted contents. However, it is highly discouraged to mix encrypted and non-encrypted files in the same directory.

To disable encryption for a particular remote directory, use the command tramp-crypt-remove-directory.

Defined variables (9)

tramp-crypt-directoriesList of encrypted remote directories.
tramp-crypt-enabledNon-nil when encryption support is available.
tramp-crypt-encfs-configEncfs configuration file name.
tramp-crypt-encfs-optionConfiguration option for encfs.
tramp-crypt-encfs-programName of the encfs program.
tramp-crypt-encfsctl-programName of the encfsctl program.
tramp-crypt-file-name-handler-alistAlist of handler functions for crypt method.
tramp-crypt-methodMethod name for encrypted remote directories.
tramp-crypt-save-encfs-config-remoteWhether to keep the encfs configuration file in the encrypted remote directory.

Defined functions (45)

tramp-crypt-add-directory(NAME)
tramp-crypt-cleanup-connection(VEC)
tramp-crypt-command-completion-p(SYMBOL BUFFER)
tramp-crypt-config-file-name(VEC)
tramp-crypt-decrypt-file(ROOT INFILE OUTFILE)
tramp-crypt-decrypt-file-name(NAME)
tramp-crypt-dissect-file-name(NAME)
tramp-crypt-do-copy-or-rename-file(OP FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES)
tramp-crypt-do-encrypt-or-decrypt-file(OP ROOT INFILE OUTFILE)
tramp-crypt-do-encrypt-or-decrypt-file-name(OP NAME)
tramp-crypt-encrypt-file(ROOT INFILE OUTFILE)
tramp-crypt-encrypt-file-name(NAME)
tramp-crypt-file-name-for-operation(OPERATION &rest ARGS)
tramp-crypt-file-name-handler(OPERATION &rest ARGS)
tramp-crypt-file-name-p(NAME)
tramp-crypt-get-remote-dir(VEC)
tramp-crypt-handle-access-file(FILENAME STRING)
tramp-crypt-handle-copy-file(FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS KEEP-DATE PRESERVE-UID-GID PRESERVE-EXTENDED-ATTRIBUTES)
tramp-crypt-handle-delete-directory(DIRECTORY &optional RECURSIVE TRASH)
tramp-crypt-handle-delete-file(FILENAME &optional TRASH)
tramp-crypt-handle-directory-files(DIRECTORY &optional FULL MATCH NOSORT COUNT)
tramp-crypt-handle-file-attributes(FILENAME &optional ID-FORMAT)
tramp-crypt-handle-file-executable-p(FILENAME)
tramp-crypt-handle-file-exists-p(FILENAME)
tramp-crypt-handle-file-locked-p(FILENAME)
tramp-crypt-handle-file-name-all-completions(FILENAME DIRECTORY)
tramp-crypt-handle-file-ownership-preserved-p(FILENAME &optional GROUP)
tramp-crypt-handle-file-readable-p(FILENAME)
tramp-crypt-handle-file-system-info(FILENAME)
tramp-crypt-handle-file-writable-p(FILENAME)
tramp-crypt-handle-insert-directory(FILENAME SWITCHES &optional WILDCARD FULL-DIRECTORY-P)
tramp-crypt-handle-lock-file(FILENAME)
tramp-crypt-handle-make-directory(DIR &optional PARENTS)
tramp-crypt-handle-rename-file(FILENAME NEWNAME &optional OK-IF-ALREADY-EXISTS)
tramp-crypt-handle-set-file-modes(FILENAME MODE &optional FLAG)
tramp-crypt-handle-set-file-times(FILENAME &optional TIME FLAG)
tramp-crypt-handle-set-file-uid-gid(FILENAME &optional UID GID)
tramp-crypt-handle-set-visited-file-modtime(&optional TIME-LIST)
tramp-crypt-handle-unlock-file(FILENAME)
tramp-crypt-handle-verify-visited-file-modtime(&optional BUF)
tramp-crypt-maybe-open-connection(VEC)
tramp-crypt-remove-directory(NAME)
tramp-crypt-run-real-handler(OPERATION ARGS)
tramp-crypt-send-command(VEC &rest ARGS)
tramp-register-crypt-file-name-handler()

Defined faces (0)