Web UI
Web UI
Both cloud-share-sender and cloud-share-receiver include a built-in web UI that opens automatically in your default browser when you start the tool. The UI is built with Bootstrap 5, Alpine.js, and a dark theme β no installation required, everything is served by the tool itself (CDN resources loaded from jsDelivr).
Sender UI
The sender UI is served at http://localhost:5000 (or your custom port).
πΈ Screenshot needed: web-ui-sender-overview.png
Description: Full sender web UI showing the tab bar (Text, File, Zip Bundle), the queue table below, and the dark theme
Tab bar
The sender UI has three tabs for different item types:
Text tab
The Text tab contains:
- A large text area for entering or pasting content
- A character/byte counter showing current size vs. the 10 MB limit
- A Share button that encrypts and queues the text immediately
πΈ Screenshot needed: web-ui-sender-text-tab.png
Description: Text tab with a snippet of code in the text area and the Share button highlighted
File tab
The File tab contains:
- A drag-and-drop zone with a visual drop indicator
- A Browse button for opening a file picker
- The selected file name and size displayed after selection
- An Upload button
πΈ Screenshot needed: web-ui-sender-file-tab.png
Description: File tab showing the drop zone and a selected file ready to upload
Zip Bundle tab
The Zip Bundle tab contains:
- A multi-file drop zone
- A file list showing added files with remove (Γ) buttons
- An Add Files button
- An optional Zip Password field
- A Create & Queue button
πΈ Screenshot needed: web-ui-sender-zip-tab.png
Description: Zip Bundle tab with multiple files listed and a password field
Queue table
Below the tabs, the queue table lists all items currently in the sender’s memory:
| Column | Description |
|---|---|
| Type | Icon indicating text, file, or zip |
| Name / Preview | Filename or text preview |
| Size | Formatted size (KB, MB) |
| Status | Queued or Received badge |
| Actions | Delete button (ποΈ) |
πΈ Screenshot needed: web-ui-sender-queue.png
Description: Queue table showing a mix of text, file, and zip items with various statuses
Status badges
| Badge | Color | Meaning |
|---|---|---|
| Queued | Blue | Item is waiting to be received |
| Received | Green | Item has been downloaded by the receiver |
Delete button
Clicking the delete button (ποΈ) next to an item immediately removes it from the queue. The receiver queue updates in real time via SSE.
Toast notifications
When an item is successfully queued, a toast notification briefly appears in the corner of the screen confirming the action.
πΈ Screenshot needed: web-ui-sender-toast.png
Description: Toast notification saying “Item queued successfully” in the bottom-right corner
Receiver UI
The receiver UI is served at http://localhost:5001 (or your custom port).
πΈ Screenshot needed: web-ui-receiver-overview.png
Description: Full receiver web UI showing the queue list and connection status badge
Connection status badge
At the top of the receiver UI, a connection status badge shows whether the SSE event stream to the sender is active:
| Badge | Color | Meaning |
|---|---|---|
| Connected | Green | SSE stream is live |
| Reconnecting | Yellow | Connection lost, retrying in 3 seconds |
| Disconnected | Red | Unable to reach sender |
πΈ Screenshot needed: web-ui-receiver-status-badge.png
Description: Receiver header showing the green “Connected” badge
Queue list
The receiver queue list mirrors the sender queue, updating in real time. Each item shows:
- Item type icon
- Name or text preview
- Size
- A Receive button
πΈ Screenshot needed: web-ui-receiver-queue.png
Description: Receiver queue list showing several items ready to receive
Hash verification modal
After clicking Receive, a modal appears showing the hash verification result:
β Success state:
- Green checkmark icon
- “Hash verified” message
- The expected SHA-512 hash (from sender)
- The computed SHA-512 hash (receiver-computed)
- Both hashes match and are highlighted in green
- Copy to Clipboard button (for text) or Download button (for files/zips)
β Failure state:
- Red X icon
- “Hash mismatch” error message
- Both hashes displayed (they differ)
- An explanation that the item has been deleted from the sender
πΈ Screenshot needed: web-ui-receiver-hash-success.png
Description: Hash verification modal showing the green success state with matching hashes
πΈ Screenshot needed: web-ui-receiver-hash-failure.png
Description: Hash verification modal showing the red failure state with mismatched hashes
Auto-open behavior
By default, both tools open their web UI in your default browser on startup. To disable this:
cloud-share-sender --no-auto-open
cloud-share-receiver --no-auto-open
This is useful when running the tools in headless environments, CI pipelines, or scripts.
CDN resources
The UI loads the following resources from jsDelivr:
| Resource | Version |
|---|---|
| Bootstrap CSS + JS | 5.3.3 |
| Bootstrap Icons | 1.11.3 |
| Alpine.js | 3.x.x |
βΉοΈ Info: If the receiving machine cannot reach
cdn.jsdelivr.net, the UI will appear unstyled. See Network Requirements for firewall rules.