Skip to content

Latest commit

 

History

History
54 lines (35 loc) · 1.73 KB

README.md

File metadata and controls

54 lines (35 loc) · 1.73 KB

mountload

Mountload is a FUSE library written in Python that allows you to mount a remote directory over SFTP, while simultaneously downloading the directory to a second target location.

You can access the files in the mount directory as you normally would, but as soon as parts of the files have been downloaded mountload will use the target location as a local cache. You should use mountload if you want to immediately access remote files and directories without waiting for them to download first.

Mountload uses the excellent fusepy and paramiko libraries.

requirements

  • fuse 2.9.0+
  • python 3+

examples

To mount a remote directory:

./mountload.py sftp://[email protected]/path/to/remote/directory /path/to/copytarget /path/to/mount

After mounting the source URI once, you only need to supply the target and mountpoint. The source URI is stored in the metadata database in the target:

./mountload.py /path/to/copytarget /path/to/mount

To unmount, use fusermount:

fusermount -u /path/to/mount

notes

At the moment, mountload is in a severe alpha state and as such knows many limitations and quirks:

  • Downloading data will only happen on read() requests; background downloading is planned
  • SFTP network throughput has not been optimized as much as it could be
  • It will not notify you when all files have been downloaded
  • The source is expected to be read-only; remote changes to files will not be detected
  • It will probably burn down your house and steal your car

license

Mountload is released under MIT license. See license.txt for details.