eberkheevandClaude Opus 4.6 082a80a6c5 Harden server and fix client-side edge cases
Python: per-file error handling in cleanup, single stat() in download,
S_ISREG check, Content-Disposition escaping, Content-Length on all
responses, route prefix passed to handlers (no magic numbers), validate
empty upload, ensure_cert handles partial cert pair, narrower exception
catches.

JS: visibility-aware polling, concurrent upload guard, fetch r.ok checks,
missing .catch() on delete/loadFiles, REFRESH_SEC→REFRESH_MS rename,
explicit parseInt radix, transition: all→specific properties.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 20:47:47 +04:00
2026-03-10 20:23:55 +04:00
2026-03-10 20:23:55 +04:00
2026-03-10 20:23:55 +04:00

Share

Local network file sharing via web page. Drag & drop, Ctrl+V paste, download.

No dependencies — Python 3 stdlib only.

Quick start

python3 share.py

Open http://localhost:8888 in a browser. The network address is printed at startup.

Options

python3 share.py -p 3001 -d ~/Downloads/shared --ttl 7
Flag Default Description
-p, --port 8888 Port
-d, --dir ~/Downloads/shared Upload directory
--ttl 7 File lifetime in days (0 = keep forever)

systemd (Arch)

Service file: ~/.config/systemd/user/share.service

systemctl --user enable --now share    # start + autostart
systemctl --user restart share         # restart
systemctl --user stop share            # stop
journalctl --user -u share -f          # logs

Features

  • Drag & drop files onto the page
  • Ctrl+V to paste images / files from clipboard
  • Click the drop zone to open file picker
  • Upload progress bar
  • File list with download and delete
  • Auto-cleanup of old files (configurable via --ttl)
S
Description
Веб-сервис обмена файлами по локальной сети с drag-and-drop и автоочисткой
Readme
147 KiB
Languages
HTML 43.3%
Python 42.5%
Shell 14.2%