SAFE Drive - help with testing

UPDATE: new features available to test

I’ve just pushed some working [ahem] new features to the development branch, so if anyone would like to test them by running from node (ie not the packaged version) by all means give it a try.

You should git pull && git checkout development branch and use the instructions from the README to run under node. I’ll be working on a packaged version for release next week, but it would be good to get some more testing to run these new things through their paces.

New (buggy) features:

  • Speed. Things are now much faster, and you can use the file manager to browse your SAFE files without it appearing to hang.

  • Create and Update Files.

    • You can create/update files into an existing folder (created using Web Hosting Manager) from the command line and piping into a file (e.g. echo Hello world > ~/SAFE/_public/mydomain/www-root/index.html).
    • Copy file, make directory, recursive copy should also work so you should be able to copy websites too and from your SAFE Drive.
    • Create a file and/or update its modification time using (Linux) touch
    • You can also create/update files from some apps, but many don’t work properly yet (e.g. failing to save changes). I think vim works, but maybe doesn’t clean up temp files.
  • File Sharing via SAFE Web Mounts. Since all websites are public files, you can share files by saving them on a website domain, and others can access the files of any website from their SAFE drive by mounting its folder.
    For example, to mount the websites at safe://heaven and safe://cat.ashi:

    ls ~/SAFE/_webMounts/heaven
    ls ~/SAFE/_webMounts/cat.ashi
    ls ~/SAFE/_webMounts
    tree ~/SAFE/_webMounts
    # etc
    

    No cats were harmed in the making of this feature

    This feature also illustrates automount (see next bullet).

  • Automount Default Containers. Only _public and _publicNames are supported by SAFE Network just now, but later you will have _documents, _videos and so on. If these are not already mounted, you can force them to mount just by accessing them. You can test this by commenting out the default mount for _publicNames in bin.js and then trying:

    ls ~/SAFE # shows _publicNames is not yet mounted
    ls ~/SAFE/_publicNames # mounts and lists directory
    ls ~/SAFE # show _publicNames is now mounted
    

If you do any testing please reply to this post to let me know, and if you find any issues please file them on github, mentioning the development branch.

See the OP for help if you are not sure where to start

Things I haven’t tested but if they are feasible for you to have a go:

  • Decentralised Git. Create a ‘headless’ (possibly the wrong term) git repository on your SAFE drive, set it as remote for your local git repo, and push changes to it, have others clone it and pull changes etc
  • Backup/Sync. Would be great if somebody would try using rsync to keep a public share of files updated, and to show that it can be used for backup. Also other apps than rsync but that’s one I know is awesome and will prioritise.

@lukas I made the changes I think might help get this to work on Windows so if you are still available, feel free to give it a go.

7 Likes