Skip to content

theonlytechnohead/adar

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adar

Network coding for automated distributed storage system: adar

What is this?

This is my BAdvSci(Hons) research project

Please see DEFINITIONS.md and/or SPEC.md for further details and descriptions

I want to implement this myself

Please see SPEC.md

Requirements

Python 3.10 or later

For Windows For Unix (GNU+Linux, macOS)
Windows Projected File System Filsystem in Userspace (FUSE) as required by fusepy

Running (from source)

1. Clone from GitHub

~ $ git clone https://github.com/theonlytechnohead/adar.git

2. Install simplenc

~ $ cd adar/python/simple_nc-main
~/adar/python/simple_nc-main $ pip install .

3. Install requirements

~ $ cd adar/python
~/adar/python $ pip install -r requirements.txt
For Windows systems For Unix systems (GNU+Linux, macOS)
enable Windows Projected File System in Turn Windows features on or off ensure that FUSE is working, e.g. with the libfuse library

Alternatively for Windows, in an elevated Powershell prompt (Run as Administrator):

PS > Enable-WindowsOptionalFeature -Online -FeatureName Client-ProjFS -NoRestart

4. Run the program

~ $ cd adar/python
~/adar/python $ python3 main.py

The mount directory will present itself for file storage

You can run adar on additional computers to pair and connect to them, which will allow the storage to be distributed

Building (from source)

Follow the steps above for running from source, verify all is working as expected.

1. Install pyinstaller

pip install pyinstaller

2. Build

~ $ cd adar
~/adar $ pyinstaller --onefile python/main.py

The build output will be located in ~/adar/dist