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.8.2

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.8.2
File Size Uploaded
sharefile_webui-1.8.2.tar.gz 271.0 kB Details

Built distribution (wheel)

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

Total release size: 555.9 kB

Release files / sharefile_webui-1.8.2.tar.gz

Download URL sharefile_webui-1.8.2.tar.gz
Size 271.0 kB
Tags Source
SHA-256 checksum
How to use checksums
5573308ea4d72e31372b588d7d85e2229b4ab4804e087a9a8c671e2f9cc9062b
BLAKE2b-256 checksum
How to use checksums
0b59b364ae81efdaa3e71d32f1fa5c8f6b9fc5a2bc7cc41324da8b218a211676
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.8.2-py3-none-any.whl

Download URL sharefile_webui-1.8.2-py3-none-any.whl
Size 284.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
450755db9a0e3f2f71f18bcfdef4dfcb364e5a4f4d4d0dbcd52fb0cf5e1f76df
BLAKE2b-256 checksum
How to use checksums
0c6d1c28fd8d1ad3e7ffae3f5ad099891922d8e2bdb5bbdf2d77d01f6158226c
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

This release

1.8.2 This release

2 release files

1.8.1

2 release files

1.8.0

2 release files

1.7.9

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