SAFE as a mountable disk (safe-vfs): First version



looking for this was the reason i stumbled over maidsafe in the first place that and accelerated file transports.

VERY HAPPY RUP :stuck_out_tongue_winking_eye:


tried on ubuntu 14.04 here and same result.

very excited to have a mountable fs though!! brilliant news…



Thank you for your service. Can’t wait to try this on functional network.


Agreed, it’s a great development. Can’t wait to see it in action.

1 Like

So not just for diagnostics and doesnt weaken network, but was unexpected?

My Ubuntu 16.04 box gives me this error
willie@gagarin:~/projects/maidsafe$ ruby -v
ruby 2.3.1p112 (2016-04-26) [x86_64-linux-gnu]
willie@gagarin:~/projects/maidsafe$ locate libruby
willie@gagarin:~/projects/maidsafe$ ./mount.safevfs /mnt/test
willie@gagarin:~/projects/maidsafe$ /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfuse-1.1.2/lib/rfuse.rb:3:in require': cannot open shared object file: No such file or directory - /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfuse-1.1.2/lib/rfuse/ (LoadError) from /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfuse-1.1.2/lib/rfuse.rb:3:in<top (required)>'
from /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfusefs-1.0.3/lib/fuse/rfusefs-fuse.rb:2:in require' from /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfusefs-1.0.3/lib/fuse/rfusefs-fuse.rb:2:in<top (required)>'
from /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfusefs-1.0.3/lib/rfusefs.rb:3:in require' from /tmp/selfextract.stFB26/lib/vendor/ruby/2.2.0/gems/rfusefs-1.0.3/lib/rfusefs.rb:3:in<top (required)>'
from main.rb:1:in require' from main.rb:1:in

So either some dreadfully hacky symlinking - that will probably break other stuff - OR find a way of forcing a local install of ruby v2.2 that will work nicely…

@anon71598723 Fullest respect, but any chance you can do some ruby magic to make this work with v2.3 ?? Pretty please?


I don’t see how this can weaken the network.

It was expected and MaidSafe had an old pre Rust prototype (safe-drive I think) that was later archived (pending more urgent tasks). As always MaidSafe have encouraged any independent Devs who wanted to look at taking this on, leaving MaidSafe free to do the higher priority tasks. I looked at it myself a while back but felt it was a bit beyond me, and at least two others have looked into doing this.

It makes access of SAFE files more convenient for the user. As with running any app, that can affect individual user security, but I don’t think there are any particular concerns with this compared to granting other apps access to your SAFE files.


And now, we (community) need to find those portable apps, create a public share and let folk play around with secured apps, then onwards to microkernels and more. It’s a good path to follow.

In terms of harming the network, there are two sides,

  1. This will mean lots of data on possibly small testnets, good for testing safecoin “network protection” though
  2. In terms of take-up it will accelerate for sure, so balances out 1 to a large degree, as long as much take up is vaults as well.

So all in all good for testing, but is more load faster on the network. Should be interesting though and for sure for users it will be simple to see security etc.


@anon71598723 biig, very very biiig. This is awesome. Thank you!! :gift:


@anon71598723 you inspired me to see what I could do!

It’s not a mountable drive per se. But I’ve shimmed up some nodejs to watch a folder and theoretically write that to the network.

It was surprisingly setting up basic file system watching was pretty easy. Hooking in via safe-js seems to work so far.

I’ve not gone deep at all, more just a POC/me playing around to see what would be possible. (I suspect node might not be the best choice for this sort of thing. But at least getting it up was fast). For the curious: It might work on your system. Heh, but it’s only tested against mockrouting etc, so YMMV.

And now: :bed:


I’m not sure if I’m the only one, but this is the first thing that I need when the network goes live to start backing up all my old photos I have on ugly DVDs, this is great @anon71598723!

I’m imagining having a bootable linux on a usb with the SAFE browser and this app to mount my private folders, and I can go anywhere in the planet with all my files virtually in my pocket and being SAFE even if I loose it, can’t wait!


Great stuff.

I mucked around with GFS2 some years ago and was happy to have a concurrent access distributed file system running.

Now we have safe-vfs So much better because of its security and global access without tunnels to connect various offices to head office.

I can see this will perhaps have the greatest use out of most of the safe APPs/services. For instance once it can access my private data to store/read then any current application (non-SAFE) can read/write to SAFE as if its on the native system.

I can see big companies who refuse to use global-SAFE will implement a company version of safe and do away with their file systems using tunnels to provide corporate access to corporate data by implementing a version of this


After far far too much messing with rbenv and ruby-build I finally decided on a hacky symlink to try to get this running on my Ubuntu 16.04 box

All it took was:

willie@gagarin:~$ cd /usr/lib/x86_64-linux-gnu/
willie@gagarin:/usr/lib/x86_64-linux-gnu$ sudo ln -s

Can’t wait to try this out on a running testnet :slight_smile:
Thank you @anon71598723


Could we maybe put Alpha 1 back up or something, @MaidSafe ? There’s no network right now, correct?

Lots of new things here to play with on a network

have a look at lizardfs if you haven’t already…

from a great bunch of polish devs… free if not ha version…

you can build a nice erasure code based cluster in next to no time, perfect backend for farming. swallows pretty much any disk in any server… whack on a copy of unbuntu, pop in your disks, xfs them up, install lizardfs, setup… easy… documentation was a bit iffy in the past, now much better.

or use for general storage and safe-vfs as backup which is my intention…




can i get a pointer on your symlink method so i can cobble into my test system?

would like to try this sucker out, but am waiting for lourelorg to sort the issue…


For Ubuntu 16.04 with fuse and ruby installed via apt-get


Must look harder next time…



no luck with this on my 14.04 vm… will wait for fixed version when its kindly made available…


Sorry didn’t see your question in time

I did a symlink in /usr/lib64 pointing to the lib that rvm installed in my home :

ln -s /home/nice/.rvm/rubies/ruby-2.2.0/lib/ /usr/lib64/

Your lib may be located somewhere else, too. Also, the script wants 2.2 , so I had to install ruby 2.2 and make it default with :

rvm install 2.2.0

rvm use 2.2.0 --default