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:

ColumnDescription
TypeIcon indicating text, file, or zip
Name / PreviewFilename or text preview
SizeFormatted size (KB, MB)
StatusQueued or Received badge
ActionsDelete 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

BadgeColorMeaning
QueuedBlueItem is waiting to be received
ReceivedGreenItem 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:

BadgeColorMeaning
ConnectedGreenSSE stream is live
ReconnectingYellowConnection lost, retrying in 3 seconds
DisconnectedRedUnable 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:

ResourceVersion
Bootstrap CSS + JS5.3.3
Bootstrap Icons1.11.3
Alpine.js3.x.x

ℹ️ Info: If the receiving machine cannot reach cdn.jsdelivr.net, the UI will appear unstyled. See Network Requirements for firewall rules.