A shared encrypted network file system.
The application has been tested on Ubuntu 22.04 LTS and macOS Sonoma 14.5 on M2. It should work fine both on ARM and x86 architectures. If you encounter any issues, please contact me.
The application requires the following packages to be installed on the system. The version of go has to be at least is 1.22.2.
Follow the official guidelines to install go on your system: golang.org.
Install the following packages:
$ sudo apt install fuse build-essential libsqlite3-dev
Install macFUSE. The latest version (4.7.2) should work just fine.
To compile the application, run the following command:
$ git clone https://github.com/bastienvty/netsecfs
$ cd netsecfs
$ go build .
Example of how to initialise and mount a file system. It is recommended to mount inside /tmp
to avoid any potential issues.
$ ./netsecfs init --storage data.db --meta meta.db myfs
$ ./netsecfs --meta meta.db /tmp/nsfs
We can now interact with the CLI of the application.
netsecfs> signup test admin
netsecfs> mount
The file system is now mounted at /tmp/nsfs
as user test
.
To get a list of all available commands, type help
.
We recommend to use the DB Browser for SQLite to inspect the content of the databases. It works on both Ubuntu and macOS.
This application is a proof of concept and should not be used in production.