Cross OS virtual drive functionality
Asked Answered
T

10

12

Looking for online resources to implement a virtual drive functionality similar to ones implemented in products listed here

The solution should be cross OS (win, pc, linux) preferably using a well behaving framework. Currently the answer to this question is widely dispersed with no clear option on what to use:

Current suggestions I've found:

  1. Fuse (not really sure on the status of various windows ports)
  2. Dokan library
  3. Custom namespace extensions (windows only, sources in various CodeProject articles)
  4. Commercial frameworks (windows) - LogicNP, Eldos
  5. WebDav

Please list one suggestion per answer and I'll update the question accordingly. The purpose of the question is to create the best reference point for such questions...

It seems WebDav would be easiest to implement cross OS so further information on this would be appreciated.

Thrombus answered 27/2, 2009 at 11:52 Comment(4)
What a virtual drive means? What it will be used for?Woosley
I was looking for a framework to help me implement something akin to zumodrive or dropbox. I'll check back periodically and update the question. It's community wiki so others can do so as well.Thrombus
My opinion - WebDAV is the way to go, it is perfect for files management. Probably you would not need to program the client side in this case, instead you can use built-in Windows and Mac OS WebDAV clients. As a server side framework I would recommend IT Hit WebDAV Server Engine for .Net and for Java: webdavsystem.com/serverSerow
Looking for the same (ideally above rudimentary C hacking). An answer should be burried in VeraCrypt's source code, which allows you to mount drives both on Windows, Mac and Linux...Preceptor
L
8

A simple solution is to use the native SMB client for each of your target platforms, then use that to mount a custom Samba filesystem implemented using Samba's VFS API. Custom NFS servers have been used to implement cross platform Unix virtual file systems, but SMB is a much better choice to support Windows and Linux.

If you need the VFS to access client-side resources, you must run the Samba server with your VFS on the client and then use a loopback or localhost network to mount the drive. Samba is widely ported including a port to Win32 using Cygwin as an adapter.

Lightman answered 27/2, 2009 at 16:19 Comment(1)
This is as close to an answer as I got. Still no simple solution exists so I guess we're back to reinventing the wheel.Thrombus
M
5

WebDAV. In a heartbeat. It's cross-platform by nature, and there's a substantial amount of client support, as well as decent open source server code. Apache mod_dav is your friend.

Check out WebDAV client support on Mac, Windows, and Linux:

Open source WebDAV servers:

And don't forget to look at WebDAV resources.

Mohenjodaro answered 27/2, 2009 at 11:52 Comment(1)
I wrote a custom WebDAV file system and supporting all the various buggy clients is a huge task. My company eventually limited support to just a few clients (Windows web folders, MS Office) that had bugs we knew. If I did it again, I'd write a Samba VFS plug-in.Lightman
R
2

I use jungledisk on all of the mentioned platforms to backup and share files. If you look at their download page, you'll see all of the platforms it's compatible with. I backup my webserver (CentOS x64), a mac OSX 10.5, and a dual-boot pc (Vista/Fedora) all under one license!

  • All versions use WebDav
  • Linux version also has FUSE capability
  • Uses Amazon's affordable S3 storage platform
  • Soon to add Cloud Files support (Mosso) at 15¢/gb no charge for I/O.

JungleDisk

Repairman answered 27/2, 2009 at 11:52 Comment(0)
D
1

You can use Alfresco JLAN. JLAN is a Java-Client and Java-Server Implementation of the protocols CIFS, NFS und FTP. With JLAN can files be shared over the network, which are available via a network drive.

The download is at http://sourceforge.net/project/showfiles.php?group_id=143373&package_id=248550

Degust answered 27/2, 2009 at 11:52 Comment(0)
C
1

SSHFS (requires SFTP on the host side). There are some bugs with it, but we've had good luck with it overall.

Clareta answered 27/2, 2009 at 11:52 Comment(0)
S
1

VirtualBox' VDI. It's Open Source.

Shellashellac answered 27/2, 2009 at 12:16 Comment(1)
VirtualBox is a whole virtual machine, not just a virtual disk. To answer the question, you'd need a guest OS serving SMB, WebDAV or something like that. And that would be a pretty big waste of disk and performance.Nebuchadnezzar
N
0

Fuse won't work on Windows.

My choice would be:

  • FUSE for Unix/Mac
  • EldoS Callback File System or Filter (we're currently using Filter) for Windows (http://www.eldos.com/)

Regards

Nagle answered 27/2, 2009 at 12:10 Comment(0)
A
0

Jungle disk

Acidosis answered 27/2, 2009 at 12:11 Comment(1)
I'm not looking for implemented solution but a way to implement the solutionThrombus
S
0

What about simple FTP? Or NAS? Stick with a standard protocol and you shouldn't have any problems integrating with it. I wrote a Linux SFTP filesystem extension once Back In The Day, but with most OSes supporting user-mode filesystems nowadays, it shouldn't be too hard to integrate with whatever you might choose.

Skull answered 27/2, 2009 at 13:31 Comment(0)
C
-1

Microsoft Live Mesh will give you synchronized folders across Windows, Mac, your online Mesh storage, and Windows Mobile phones.

Censure answered 27/2, 2009 at 11:52 Comment(1)
You're missing Linux. Also, Microsoft and cross-platform do not go hand in hand.Gland

© 2022 - 2024 — McMap. All rights reserved.