Skip to main content

sharefile-webui

Simple and lightweight responsive web app for sharing files via URL link. Supports drag&drop chunk upload of large files, basic file and directory operations. Application is based on Python Flask, Flask-Restful and React for simple file administration. It can be comfortebly run on Raspberry Pi.

Usage

sharefile-webui --help
usage: sharefile-webui [-h] [-o HOST] [-p PORT] [-u ADD_USER] [-r REMOVE_USER] [-l] [-t] [-c] share_directory

Share Files WEB UI v1.5.0

positional arguments:
  share_directory       Directory where shares are stored.

optional arguments:
  -h, --help            show this help message and exit
  -o HOST, --host HOST  APP server host
  -p PORT, --port PORT  APP server port
  -u ADD_USER, --add-user ADD_USER
                        Add admin user in user@password format.
  -r REMOVE_USER, --remove-user REMOVE_USER
                        Remove admin user from users list.
  -l, --list-users      List existing admin users
  -t, --list-tokens     List file tokens into stdout
  -c, --clear-tokens    Clear file tokens database

Example:

sharefile-webui -u username@password
sharefile-webui -p 5555 /tmp

This example will share /tmp directory on http://localhost:5555 By requesting this URL you will be prompted to fill user and password to access admin UI to manage file sharing. For each file of directory you can generate secure token. When secure token is generated file could be shared via URL link like this http://localhost:5555/share/directory-name/file-name?token=12345.

Instalation

uv tool install sharefile-webui

systemd configuration

PORT=5555
SHARE_DIR=/tmp
echo "[Unit]
Description=ShareFileWebUI

[Service]
ExecStart=/bin/bash -c \"/usr/local/bin/sharefile-webui -p ${PORT} ${SHARE_DIR}  >> /var/log/sharefile-webui.log 2>&1 &\"
ExecStop=killall sharefile-webui
ExecRestart=/bin/bash -c \"killall sharefile-webui && /usr/local/bin/sharefile-webui  -p ${PORT} ${SHARE_DIR} >> /var/log/sharefile-webui.log 2>&1 &\"
ExecStatus=ps -ax | grep sharefile-webui
Type=forking

[Install]
WantedBy=multi-user.target
" > /lib/systemd/system/sharefile-webui.service
systemctl enable sharefile-webui.service

after that is possible to use

systemctl start sharefile-webui.service

Build it by your own

JS

Build JS production version is not nessesry, because it is already buid in sharefile_webui/static/js directory. But if you want to change something in UI, lets do it by running:

sudo apt update
sudo apt install nodejs npm
cd sharefile_webui_js
npm run build

or for comfortable local development

npm run watch

with auto build feature if any file is changed.

Py

uv build

or local installation

uv tool install .

Tips and Tricks

Upload file from command line

It is possile to simply upload file by CURL command via route /api/upload/.
usage:

curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/upload/DIRECTORY"

It is possible to upload file by CURL and share file automatically at ones via route /api/uploadandshare/
usage:

curl -X POST -H "Content-Type: multipart/form-data" -u "admin:pass" -F "file=@FILENAME" "http://localhost:5000/api/uploadandshare/DIRECTORY"

Screenshot

sharefile-webui screenshot

Metadata

Release files for sharefile-webui 1.7.9

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sharefile-webui 1.7.9
File Size Uploaded
sharefile_webui-1.7.9.tar.gz 270.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sharefile-webui 1.7.9
File Interpreter ABI Platform
sharefile_webui-1.7.9-py3-none-any.whl Python 3 none any Details

Total release size: 555.4 kB

Release files / sharefile_webui-1.7.9.tar.gz

Download URL sharefile_webui-1.7.9.tar.gz
Size 270.8 kB
Tags Source
SHA-256 checksum
How to use checksums
dd8a2568c12b5103cb81b08953e48b5d000be4ce84946580a754c681583d0c96
BLAKE2b-256 checksum
How to use checksums
8e61672ccb1be887b23e796be992ad1d3881c2ac6ede86028d389f9e85fa126e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / sharefile_webui-1.7.9-py3-none-any.whl

Download URL sharefile_webui-1.7.9-py3-none-any.whl
Size 284.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
80185237a794da2c9e6adabe94f77d74f3dfe64a4f5bf927029d3ffc934711c2
BLAKE2b-256 checksum
How to use checksums
c977ab6f32c951cade95eefa6001e6fcaeb0edf77f6815904bee2ba2a4078f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.23 {"installer":{"name":"uv","version":"0.11.23","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Linux Mint","version":"22.2","id":"zara","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release history Release notifications | RSS feed

1.8.3

2 release files

1.8.2

2 release files

1.8.1

2 release files

1.8.0

2 release files

This release

1.7.9 This release

2 release files

1.7.8

2 release files

1.7.7

2 release files

1.7.6

2 release files

1.7.5

2 release files

1.7.4

2 release files

1.7.3

2 release files

1.7.2

2 release files

1.7.1

2 release files

1.7.0

2 release files

1.6.9

2 release files

1.6.8

2 release files

1.6.7

2 release files

1.6.6

2 release files

1.6.5

2 release files

1.6.4

2 release files

1.6.3

2 release files

1.6.2

2 release files

1.6.1

2 release files

1.6.0

2 release files

1.5.14

2 release files

1.5.13

2 release files

1.5.12

2 release files

1.5.11

2 release files

1.5.10

2 release files

1.5.9

2 release files

1.5.8

2 release files

1.5.7

2 release files

1.5.6

2 release files

1.5.5

2 release files

1.5.4

2 release files

1.5.3

2 release files

1.5.2

2 release files

1.5.1

2 release files

1.5.0

2 release files

1.4.6

2 release files

1.4.5

2 release files

1.4.4

2 release files

1.4.3

2 release files

1.4.2

2 release files

1.4.1

2 release files

1.4.0

2 release files

1.3.8

2 release files

1.3.7

2 release files

1.3.6

2 release files

1.3.5

2 release files

1.3.4

2 release files

1.3.3

2 release files

1.3.2

2 release files

1.3.1

2 release files

1.3.0

2 release files

1.2.9

2 release files

1.2.8

2 release files

1.2.7

2 release files

1.2.6

2 release files

1.2.5

2 release files

1.2.4

2 release files

1.2.3

2 release files

1.2.2

2 release files

1.2.1

2 release files

1.2.0

2 release files

1.1.2

2 release files

1.1.0

2 release files

1.0.9

2 release files

1.0.8

2 release files

1.0.7

2 release files

1.0.6

2 release files

1.0.5

2 release files

1.0.4

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page