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

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.8
File Size Uploaded
sharefile_webui-1.7.8.tar.gz 270.8 kB Details

Built distribution (wheel)

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

Total release size: 555.4 kB

Release files / sharefile_webui-1.7.8.tar.gz

Download URL sharefile_webui-1.7.8.tar.gz
Size 270.8 kB
Tags Source
SHA-256 checksum
How to use checksums
da397d4ddd2048d85b1b36dfe26bc38bfef8d1250a7b32944ca17f077e389d4f
BLAKE2b-256 checksum
How to use checksums
c4dc26d044258b1530c1691c7c780c7f3086ec4a205193856e3d68252e052b80
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.8-py3-none-any.whl

Download URL sharefile_webui-1.7.8-py3-none-any.whl
Size 284.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fdf86d3d09feacdc951013cf4c808c29a1ebb87455baa664a641213336d2e78b
BLAKE2b-256 checksum
How to use checksums
3f8302589e35e0ebd3a7592b04d11659cf13074f63a819d8bd03a7e0041e9037
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

1.7.9

2 release files

This release

1.7.8 This release

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