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 hashes)

Uploaded Source

Built Distribution

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

Uploaded Python 3

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