Skip to content

Releases: stellarshenson/jupyterlab_share_files_extension

1.2.20

10 Jun 11:13

Choose a tag to compare

First public release of the complete Share Files extension for JupyterLab. Every release ships the full feature set; this one delivers all of:

Sharing

  • Shares - read-only drops of files and folders created from the side panel, the file browser context menu ("Share Files...") or drag-and-drop; recipients download single files, folder ZIPs or everything at once
  • Requests - inboxes others upload into, organised per uploader, with live upload notifications and per-upload management
  • Connections - paste a peer's link to subscribe to their share or upload to their request; pick-up to any workspace folder, send-to-request with folder structure preserved
  • Standalone HTML page - every link works in a plain browser, no JupyterLab needed; QR code in the link dialog for phones

Security

  • Optional password protection - set a password at creation or later (right-click -> Set Password, or set-password on the CLI); it gates the standalone page, manifest, downloads and uploads; memorable passphrases generated via xkcdpass; the link dialog shows the password with its own copy button
  • Brute-force protection - unlock attempts rate limited per resource (the limits library): per-minute cap plus a mandatory cooldown, generous defaults (30/minute, 1s) tunable in config
  • Protected connections - connecting to a password-protected link prompts for the password, verifies it against the peer at connect time and unlocks automatically afterwards
  • Hardening - HTTPS-aware links, self-connect guard, path-traversal-safe storage, secrets chmod-600 and masked in output, cloudflared token passed via environment (never visible in ps)

Cloudflare tunnel sharing

  • Links usable from the whole internet through an outbound-only Cloudflare tunnel - chosen for security: edge-enforced HTTPS and path-restricted ingress mean only the extension's /public/... endpoints are routable; the hub login, authenticated APIs and the private network answer 404 at the edge
  • Provisioned end to end from the panel popup or cloudflare setup; public/private toggle via the cloud icon or cloudflare start/stop; per-user deterministic tunnel names; connector daemon guaranteed by the extension with configurable autostart; server-side link reachability check in the link dialog

CLI

  • jupyterlab_share_files exposes every panel operation as a subcommand: shares, requests, connections, passwords (--password, --generate-password, set-password, generate-password) and the full Cloudflare lifecycle (setup, validate, info, start, stop, reset); human-readable coloured output by default, --json for machines

Panel UX

  • Drag-and-drop everywhere (new share, add to share, upload to request), in-share folder browsing, open files directly in JupyterLab, copy/paste with the file browser, filtering, configurable polling, hidden-file toggle, delete-to-trash

Install: pip install jupyterlab-share-files-extension

Full feature list: RELEASE.md - per-version changes: CHANGELOG.md