Skip to main content

A simple LAN storage.

Project description

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

  1. Run hash.py to set the login password.
  2. Edit config.py to 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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Nerd-Storage-0.2.1.tar.gz (1.9 MB view details)

Uploaded Source

Built Distribution

Nerd_Storage-0.2.1-py3-none-any.whl (34.8 kB view details)

Uploaded Python 3

File details

Details for the file Nerd-Storage-0.2.1.tar.gz.

File metadata

  • Download URL: Nerd-Storage-0.2.1.tar.gz
  • Upload date:
  • Size: 1.9 MB
  • Tags: Source
  • Uploaded using 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

File hashes

Hashes for Nerd-Storage-0.2.1.tar.gz
Algorithm Hash digest
SHA256 22dcff5e8489d7368b9e7d05bddd46d43e0a5f53a3c1384b381afd928d551686
MD5 97cbc694f8e9032a24cd6d790a9749f9
BLAKE2b-256 caec45c9e0042632494ab4f291950ea1594a7a8d81d4aaa26054c82870a28780

See more details on using hashes here.

File details

Details for the file Nerd_Storage-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: Nerd_Storage-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 34.8 kB
  • Tags: Python 3
  • Uploaded using 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

File hashes

Hashes for Nerd_Storage-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1294b2e61f6b145878cf30ce268685dfd2bb9cdf070393469f01534fe3319d6d
MD5 e008027cce557b073ef210b7db5ee5a9
BLAKE2b-256 944e34d91fa0a41dbbeb83f58c416085e96f6487b84c5d159a6927d42c3c728e

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page