tools

File Sharing Server

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.

Features

Requirements

Installation

Option 1: Editable install (development)

pip install -e .

Option 2: Standard install

pip install .

After install, you can run either:

file-sharing-server --help

or:

python -m file_sharing_server --help

Quick Start

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.

CLI Usage

Global option:

python -m file_sharing_server --data-dir ./data <command> [options]

Commands:

share

Create 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:

list

List active shares.

python -m file_sharing_server list

remove

Remove share by ID.

python -m file_sharing_server remove <share_id>

config

Update share settings.

python -m file_sharing_server config <share_id> --max-size 1000 --allowed-types iso,zip

status

Show status, including data dir and active share count.

python -m file_sharing_server status

Data and Logs

Default runtime data directory is ./data (or custom via --data-dir).

Typical files:

Security Notes

Packaging and Builds

Development

Install dev dependencies:

pip install -r requirements-dev.txt

Run lint/tests as configured in your environment.

License

MIT License. See LICENSE.