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


thanks very much… will try later…



tried from all angles, new ruby installs, old ruby installs, you name it… zilch…

i’ll have to be patient… lol



yes this ruby stuff is really messy :slight_smile:


Bugger patience…
Post the full error you get when you issue the mount.safevfs command.


Quick update: Sorry guys about this symlink problem. I got a new customer yesterday and unfortunately I’ll be super busy over the next days. I’ll try to find a time to fix this although.

A mental note for the next time: I could have written it either in Ruby or Go. Ruby was a terrible choice, but Go library is outdated and so I would have to re-factor it in order to make it work. I guess it wasn’t a good choice.


Never apologise for getting on with RealJob
It works in Ruby with a wee bit effort and we should be able to work out a general fix once we see a few more error messages.
It’s a major step forward, thank you.


I suppose the general fix for this version is to have installed somewhere where ld_library_path points to. Or a symlink pointing to it if it lives somewhere else.
That is, figuring out what a clean ruby installation with versions is.
Hey don’t apologise, indeed, you just coded one of the major stones of the castle. :smile:


You dont actually NEED
You just need to fool the system into thinking that the actual libruby.blah on your system is called

At least that’s the way I understand it and it seems to work OK…

Hopefully someone who really knows what they are talking about will come along soon and explain it better.

Do a “locate libruby” on your system - find the one with .so in the name. THen symlink that to in the apprpriate directory. On my Ubuntu 16.04 that is /usr/lib/x86_64-linux-gnu.
I think that holds true across all versions of Linux but again don’t take my word for it.


In fedora 64 this resides in /usr/lib64/

I suppose tricking the script to think your libruby is 2.2 works if you have a more recent version, or at least a version that is compatible with what the script uses of the library.


Worked for me :+1: :+1:


Yeah I should have made that clear - as long as your actual version of ruby >2.2 then you are OK

$ ruby --version

will soon tell you.



NO Ruby, NO Fuse libs necessary. Just download mount.safevfs and execute it.

PS: Tested on a brand new Vultr instance (Fedora 24 x64).


Just released version 0.3, with support to shared folders ("/outside" folder).

To share a public folder, assign a domain to it first. Then others can use “mkdir YOUR-DOMAIN” to see your shared files.

Next version should enable the ability to create domains and assign them to public folders using symbolic links.


If someone has download it on the last 20 minutes, please download it again. There was a bug on that version.


Nothing can stop you !! Thank you so much for all the great work !!

Having public and private shares as vfs will open doors to so many uses and projects ! And make it transparent and no brainer for the users.

Say we are a team of people working on a movie, but we don’t live on the same time zone, and we need to collaborate.
Now all it takes is mounting the safe drive, creating a private share for the team, and bam, just save the files in here from our everyday software.

We could have a git repo in such a share, too. Either private or public.
Bam, safe-github just got born :slight_smile:

How about a mailbox in a share ? What could happen if we tell something like sendmail to use it as its mail folder ?

This stuff is really crazy :smiley:


Good stuff. Look forward to trying this later. In the meantime I can’t save to the Private folder. Is that just my setup or is that the same for everyone?


I notice too, that when I save to private/, things go to public/ instead. looks like there is a bug here


on ubuntu 17.04:

root@safefs:~# /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in initialize': Connection refused - connect(2) for "localhost" port 8100 (Errno::ECONNREFUSED) from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:inopen’
from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:879:in block in connect' from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/timeout.rb:74:intimeout’
from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:878:in connect' from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:863:indo_start’
from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:852:in start' from /tmp/selfextract.daGD7o/lib/ruby/lib/ruby/2.2.0/net/http.rb:1375:inrequest’
from /tmp/selfextract.daGD7o/lib/vendor/ruby/2.2.0/gems/ruby-safenet-0.5.5/lib/safenet.rb:121:in auth' from /tmp/selfextract.daGD7o/lib/vendor/ruby/2.2.0/gems/ruby-safenet-0.5.5/lib/safenet.rb:68:inget_valid_token’
from /tmp/selfextract.daGD7o/lib/vendor/ruby/2.2.0/gems/ruby-safenet-0.5.5/lib/safenet.rb:544:in delete_file' from main.rb:80:ininitialize’
from main.rb:551:in new' from main.rb:551:in

will now grab a copy of fedora and vm it up to test…



looks like you don’t have a launcher running. Apparently, mount.safevfs doesn’t handle this case - Until we have a live test network, you could try this one :


ah ha!!!

of course, didn’t cross my mind a launcher would be needed…

thanks for that…

will have another go… will still grab fedora as i haven’t played with it for a long time… :wink:

cheers dude!