SPC is a cloud based file storage system like dropbox where the user can choose among three of the encryption schemes provided by the developers, namely:- AES, ARC4, Blowfish.
The cloud is safe and secure to store any confidential information as the server has no knowledge about the encryption schemes and keys. A proof of concept example for a Zero-Knowledge based server.
From the client folder, use the install.sh script. Note: The sript requires execution permissions and sudo permissions for installation.
$ chmod +x install.sh
$ ./install.sh
The following are the various steps that you need to follow to create a personal space on the server and getting started with storing your sensitive files:- Note: At any point of time you can see your saved settings and your files if any by running the command spc --status from the terminal)
Note: Before logging in you must sign-up on our web-client
$ spc --version
$ spc --help
Use the following commands to enter your credentials and configure your cloud.
Changing/adding your credentials
$ spc config --edit
Username: <username>
Password: <password>
Confirm password: <password>
Deleting currently saved credentials
$ spc config --delete
View current status:
$ spc server
Setting the url:
$ spc server --set_url
Enter domain: <Domain url, for example: 127.0.0.1>
Enter port: <Current port, for example 8000>
Disconnecting from the url:
$ spc server --disconnect
$ spc --observe <observe path>
$ spc en-de --list
- By entering the details on the terminal
$ spc en-de --update
- By using a schema file
$ spc en-de --update -f <path of the schema file>
- To display the scheme on the terminal
$ spc en-de --dump
- To dump the encryption scheme in the given file
$ spc en-de --dump -f <path of the file>
To sync with your SPC, enter the following command and choose any of the offered syncing strategies.
$ spc --sync
Choose spc sync approach:
1. Mirror local directory to server
2. Merge Server and disk contents and perform overwrites on server
3. Merge Server and disk contents and perform overwrites on client
Enter choice[1-3] or s to show status: <your choice>
The following commands should be used with caution.
- Upload your files to the server (performs overwrites on the server):
$ spc --upload
- Download files from the server (performs overwrites on the client):
$ spc --download
- Delete all files on the server:
$ spc --delete
Please note that you cannot use more than one client to sync with the server. If one client is already modifying the database, no client of the same user would be able to connect.
You can easily sign-up and login on our web-client. The url of the web client is specified by the server. If running locally, enter 127.0.0.1:8000 in your web browser.
If there is any requirement to view your files remotely from a web-browser then that can also be done easily using our web-client. Just give your spc user credentials, the encryption schema and key and enjoy the rendering of all common file formats saved by you like text, image, pdf, audio and some formats of video.
SPC server is a Django based server employing Django rest API.
First go to the server/djangoserver folder and run the following commands:-
$ python3 manage.py makemigrations
$ python3 manage.py migrate
In the server/djangoserver folder run
$ python3 manage.py runserver 0.0.0.0:<port>
For local server the server URL will be 127.0.0.1:8000. This URL will be the URL of the home page of our web-client.