Secure LAN file sharing with a browser-based UI.
This project lets you share one or more local folders over HTTP/HTTPS with token-based access, upload controls, and activity logging.
share, list, remove, config, status)pip install -e .
pip install .
After install, you can run either:
file-sharing-server --help
or:
python -m file_sharing_server --help
Share a folder and start the server:
python -m file_sharing_server share /path/to/folder
Default bind is 0.0.0.0:8000.
The command prints:
Open the printed URL in any browser on your network.
Global option:
python -m file_sharing_server --data-dir ./data <command> [options]
Commands:
shareCreate a share and start the server.
python -m file_sharing_server share /path/to/folder \
--host 0.0.0.0 \
--port 8000 \
--description "Team drop" \
--max-size 500 \
--allowed-types pdf,txt,zip \
--expires-in 24 \
--https
Options:
--host bind address (default 0.0.0.0)--port port (default 8000)--description text label for share--max-size max upload size in MB (default 500)--allowed-types comma-separated extensions--expires-in expiration in hours--ui-file custom HTML UI path--https enable TLS (self-signed cert)--no-rate-limit disable rate limitinglistList active shares.
python -m file_sharing_server list
removeRemove share by ID.
python -m file_sharing_server remove <share_id>
configUpdate share settings.
python -m file_sharing_server config <share_id> --max-size 1000 --allowed-types iso,zip
statusShow status, including data dir and active share count.
python -m file_sharing_server status
Default runtime data directory is ./data (or custom via --data-dir).
Typical files:
shares.json share metadatamaster_token.txt admin tokenactivity.log request/activity log--https on untrusted networks.pyproject.tomlfile_sharing_server.specbuild_linux.shbuild_windows.batBUILD.mdInstall dev dependencies:
pip install -r requirements-dev.txt
Run lint/tests as configured in your environment.
MIT License. See LICENSE.