Tahoe-LAFS works with pyFilesystem. It is not officially maintained by Tahoe-LAFS devs, but it works.
Here is the email that this is based off of: http://tahoe-lafs.org/pipermail/tahoe-dev/2011-August/006663.html
-
Get and install Dokan lib at http://dokan-dev.net/en/download/#dokan
-
Get pyfilesystem at http://code.google.com/p/pyfilesystem/downloads/list or do a
pip install fs
and skip to step 4. -
Install pyfilesystem:
cmd> python setup.py build
cmd> python setup.py install
- Verify that pyfilesystem is installed:
cmd> python
python>>> import fs
python>>> fs.__version__
- Mount test/public grid to F:\ letter
cmd> python
python>>> from fs.contrib.tahoelafs import TahoeLAFS
python>>> from fs.expose import dokan
python>>> fs = TahoeLAFS('URI:DIR2:ddg5n76x6stjb35psrcn7i3ytu:etbtnftlaeylm4gmi7mxzq6pg2ntgra7dyjeronyoo4pvkgtttqa')
python>>> mp = dokan.mount(fs, "f", foreground=True)
This works fine. I have a slightly different setup since this also works with FUSE.
On Windows, follow the above steps up to and including step 4.
On Linux, do a pip install fs
and make sure fuse is installed.
Then you can edit this script:
URI='URI:DIR2:ctmtx2awdo4xt77x5xxaz6nyxm:n5t546ddvd6xlv4v6se6sjympbdbvo7orwizuzl42urm73sxazqa'
mountPoint='f' #Windows with dokan
# mountPoint='/mnt/tahoe' #Linux with FUSE
import time
from fs.contrib.tahoelafs import TahoeLAFS
try:
from fs.expose import dokan
fs = TahoeLAFS(URI)
mp = dokan.mount(fs, mountPoint)
except:
from fs.expose import fuse
fs = TahoeLAFS(URI)
mp = fuse.mount(fs, mountPoint)
Replace URI with your URI on your grid. The above URI is the test writable URI in the TestGrid. Replace the mountPoint variable with the Windows drive letter or the UNIX filesystem path for the fuse mount point on all other systems.
Run the script and it will mount the URI at the specified location. If you want to unmount it, find out where dokanctl.exe is and run it from the command line dokanctl.exe /u f:
. Sometimes I have to force the unmount on Windows. Use fusermount -u /mnt/tahoe
on the FUSE systems.