Nerd-Storage
A simple LAN storage.
Description
Nerd-Storage is a simple web server for sharing files on the local network.
It supports the download of files and directories, the upload of multiple files at once, making a directory, updates and deletions.
The user can also upload an existing directory as a .zip file which will then be extracted inside the storage as a folder.
Prerequisites
-
Linux
-
Python 3.6+
Dependencies
Installation
pip install Nerd-Storage
Usage
Run: nerdstorage
To access the storage go to: http://<server-local-ip-addr>:5000/
To print help information: nerdstorage --help
Configuration
- Run
hash.pyto set the login password. - Edit
config.pyto set the storage path.
This command will output the full path of hash.py and config.py:
pip show Nerd-Storage | grep 'Location' | grep -o -E '[/].+' | xargs -I@ printf '@/nerdstorage/hash/hash.py\n@/nerdstorage/config.py\n'
Large Files
This feature allows the upload of files of size equal to or greater than the RAM of the machine running Nerd-Storage.
For example if the application is running on a machine with 4GB of RAM to upload a file of size equal to or greater than 4GB this feature has to be used.
Related issue: github.com/0xHaru/Nerd-Storage/issues/1
Brief Explanation
The client uses flow.js to split the file into chunks and send them independently. The server saves each chunk as a separate file, then once all the chunks have been received the server merges them together to recreate the original file.
CLI
nerdcli is a command line interface for Nerd-Storage.
Useful link for newbies: unix.stackexchange.com/questions/storing-shell-scripts
usage: nerdcli [--parameter]
--login login
--logout logout
--ls PATH list directory content
--download PATH download file or directory
--mkdir PATH make a directory
--upload PATH FILE_PATH upload a file
--upload-dir PATH FILE_PATH upload a .zip as a directory
--delete PATH delete a file or directory
Config:
Set IP and PORT.
Script path: /path/to/script
Examples:
https://github.com/0xHaru/Nerd-Storage/blob/master/cli/examples.md
Project home page: https://github.com/0xHaru/Nerd-Storage
Demo
Release 0.0.9
License
This project uses the following license: GPLv3.
Release files for Nerd-Storage 0.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| Nerd-Storage-0.2.1.tar.gz | 1.9 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| Nerd_Storage-0.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.0 MB
Release files / Nerd-Storage-0.2.1.tar.gz
| Download URL | Nerd-Storage-0.2.1.tar.gz |
|---|---|
| Size | 1.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
22dcff5e8489d7368b9e7d05bddd46d43e0a5f53a3c1384b381afd928d551686
|
|
BLAKE2b-256 checksum How to use checksums |
caec45c9e0042632494ab4f291950ea1594a7a8d81d4aaa26054c82870a28780
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.6
|
Release files / Nerd_Storage-0.2.1-py3-none-any.whl
| Download URL | Nerd_Storage-0.2.1-py3-none-any.whl |
|---|---|
| Size | 34.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1294b2e61f6b145878cf30ce268685dfd2bb9cdf070393469f01534fe3319d6d
|
|
BLAKE2b-256 checksum How to use checksums |
944e34d91fa0a41dbbeb83f58c416085e96f6487b84c5d159a6927d42c3c728e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/3.4.1 importlib_metadata/4.0.0 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.60.0 CPython/3.9.6
|