A simple flask-based file sharing / distribution service
Project description
netfshare
A flask-based local network file sharing tool.
Not for production environements. Use with care.
Installation and use
-
Install the
netfsharepython package:py -m pip install netfshare -
Navigate to the directory that you want to share the contents of.
-
(OPTIONAL) To secure your WSGI application, set a custom
SECRET_KEYenvironment variable, or create a.envfile in the shared directory defining theSECRET_KEY:SECRET_KEY=my_secret_key -
Run
netfshareto start the sharing service:py -m netfshare
The service cam+n be accessd at <your-local-ip>:5000.
Make sure your machine is discoverable in the local network and that the required firewall rules are active.
Admin access
The netfshare app automatically recognizes a client that's accessing the app from the host (machine running the app) as admin.
If you're having issues with admin access (e.g. you're not recognized as admin despite accessing the app from your local machine), try accessing the app directl at:
http://127.0.0.1:<port>
Sharing settings
Visit the service website Admin interface from the machine running the service to manage the sharing settings.
netfshare supports downloading the contents (subdirectories) of your shared folder, as well as uploading clients' content to selected directories inside the shared folder.
Only downloads of whole subdirectories are supported, as .zip archives. To make files available for downalod, they must be placed inside a subdirectory of the sharedfolder, and the appropriate sharing mode must be set for this subdirectory in the Admin web interface.
Currently, the supported sharing modes are:
read_only: whole subdirectories of the shared folder can be downloaded as a.ziparchive.upload_only: clients can upload their data into a selected subdirectory of the shared folder. The uploaded content is placed inside a subfolder with the user's selected name. Currently, only a single upload by each user is allowed.
Localization
netfshare supports localization using flask-babel.
The client-facing routes of the app are translated into English and Slovenian.
To update the translations after adding / modifying app text, run the following to get new text to bt translated and update the Slovenian translation file,:
pybabel extract -F babel.cfg -o messages.pot .
pybabel update -i messages.pot -d netfshare/translations
Now edit / add new translations in translations/sl/LC_MESSAGES/messages.po and compile the new translations:
pybabel compile -d netfshare/translations
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters