File Sharing - amitsri/rostyman-releases GitHub Wiki

File Sharing

Rostyman's File Sharing module lets you send files, folders, and chat messages directly to other devices on the same network — no cloud, no internet, no account required. Transfer speeds are limited only by your local network.


Getting Started

Open the File Sharing panel from the left sidebar. The panel has three main sections:

Tab What it shows
Devices All discovered devices on your network
Groups Device groups you have created
History All past transfers (sent and received)

Enable File Sharing

Toggle Enable File Sharing in the File Sharing settings (or from the top of the panel). When enabled, Rostyman starts its local transfer server and begins listening for other devices. The status bar at the bottom of the app shows a sharing icon while active.


Device Discovery (mDNS)

Rostyman uses mDNS (Bonjour) to automatically discover other Rostyman instances on the same Wi-Fi or wired network — no IP addresses needed.

  • Turn Auto-Discovery on to broadcast your presence and discover others
  • Turn it off to go hidden immediately — other devices see you go offline within seconds
  • If mDNS is unavailable (blocked by your network), you can add a device manually by IP address

Each discovered device shows:

  • Device name and OS
  • Online / Offline status (green dot = last seen within 5 minutes)
  • Rostyman version

Stable Device Identity

Rostyman identifies devices by a permanent hardware ID (BIOS UUID on Windows, IOPlatformUUID on macOS, machine-id on Linux) — not by IP address. This means contacts and block lists remain intact even when a device changes IP, reconnects to a different network, or reinstalls Rostyman.


Sending Files

Click Send Files (top-right of the panel or from the Sent Files tab of any device) to open the Send Files dialog:

  1. Add files or folders — click Add File, Add Folder, or drag and drop
  2. Select recipients — choose one or more devices from the list
  3. Optional: set a password — the recipient must enter it to decrypt the files
  4. Click Send

Progress appears in the panel in real time. The recipient sees an approval request before the transfer starts (see Incoming Transfers below).


Device Chat

Open any device and switch to the Messages tab to chat with that device. Messages are end-to-end via TLS over your local network.

Sending Messages

  • Type in the input box at the bottom and press Enter to send
  • Type :shortcodes: like :thumbsup: or :rocket: — they convert to emoji automatically

Emoji Reactions

  • Hover over any message to reveal the quick-reaction bar above it
  • Click one of the 6 quick picks, or click ➕ to open the full picker (700+ emojis, 7 categories, searchable)
  • Your reaction appears as a pill below the bubble — click it again to remove
  • Reactions sync to the other device in real time

Message Delivery Status

Each sent message shows a small indicator:

  • ⏳ Pending — other device is currently offline; will deliver automatically when they reconnect
  • ✓ Sent — left your device
  • ✓ Delivered — confirmed received
  • ✗ Failed — could not be delivered after retries

Offline Message Queuing

If the other device is offline, your message is queued and delivered automatically when they come back online. Rostyman retries in the background for up to 24 hours.

File Attachments in Chat

Files sent alongside a message appear as an attachment card inside the bubble on both sides once the transfer completes. Click the card to open the file, or click the folder icon to reveal it in your file manager.


Incoming Transfers

When another device sends you files, an approval dialog appears:

  • Shows the sender, file names, file sizes, and any attached message
  • Click Accept to receive, Reject to decline, or Reject & Block Files to decline and block future transfers from that device

You can change the approval mode in Settings:

  • Strict — always ask before receiving (default)
  • Auto — accept transfers from all devices without asking

Groups

Groups let you view activity across multiple devices in one place.

Creating a Group

  1. Click New Group in the Groups tab
  2. Enter a name
  3. Select the devices to include
  4. Click Create Group

Group Tabs

Tab What it shows
Members All devices in the group with live online/offline status
Messages Merged read-only timeline of all messages with group member devices, with date separators (Today / Yesterday / date) and emoji reactions
Sent Files All files you have sent to any device in the group
Received Files All files received from devices in this group

Note: Sending messages directly from the group tab (group broadcast messaging) is coming in a future release. The Messages tab is currently view-only.


Trust, Aliases, and Blocking

Right-click any device (or use the device menu) to:

Action What it does
Trusted / Not Trusted Mark a device as trusted
Set Alias Give the device a custom display name
Favorite Pin the device to the top of the list
Block File Transfers Reject all incoming file transfers from this device
Block Messages Reject all incoming messages from this device

Blocks apply by hardware ID — a blocked device cannot bypass it by changing IP addresses or reinstalling Rostyman.


Transfer History

The History tab shows all past transfers. Click any entry to see the files it contained. Use the Show in Folder button to open the received file's location in your file manager.


Settings

Open Settings → File Sharing to configure:

Setting Description
Enable File Sharing Turn the sharing module on or off
Download Location Where received files are saved (default: Downloads folder)
Approval Mode Strict (always ask) or Auto (accept all)
Auto-Discovery Broadcast your presence and find others automatically
Discovery Interval How often to scan for nearby devices (5 s – 1 min)

Logs

Each device tab has a Logs sub-tab showing a detailed log of all activity with that device — connections, transfers, messages, and errors. Logs can be filtered by level and category, exported to a file, or copied to the clipboard.


Quick Share (Right Panel)

Quick Share is a fast-access panel in the right sidebar for sending files and messages to trusted devices without opening the full File Sharing panel.

Opening Quick Share

Press Ctrl+J (or click the panel icon in the status bar) and select the Quick Share tab from the vertical strip on the right edge of the window.

How to Use

  1. Add files — drag and drop files onto the panel, or click Add Files to browse
  2. Select a device — search and pick from your trusted, non-blocked devices. A green dot shows which devices are currently online
  3. Optional message — attach a text message (supports :shortcode: → emoji conversion automatically)
  4. Optional password — check Password protect to encrypt the transfer
  5. Click Send

Transfer Status

Status Meaning
Waiting for approval Recipient has been notified
Sending (N%) Transfer in progress
Delivered Recipient received all files
Failed Transfer could not complete

File Inbox (Right Panel)

File Inbox shows all incoming file transfer requests. A badge on the tab shows how many pending approvals are waiting.

Opening File Inbox

Press Ctrl+J and select the File Inbox tab from the right panel strip.

Reviewing Requests

Each incoming transfer entry shows:

  • Sender name and device
  • File names (up to 3 listed, "+N more" for additional files)
  • Total file count and size
  • Any message attached by the sender

Actions

Action When What it does
Accept Pending Begin receiving the files
Reject Pending Decline the transfer
Reject & Block Pending Decline and block all future transfers from that device
Dismiss ✕ Completed / Timed out Remove the entry

Password-Protected Transfers

If the sender encrypted the transfer, a password field appears after you click Accept. Enter the passphrase the sender used to decrypt and receive the files.

Progress & Completion

A progress bar tracks the download. Once complete, a Show in Folder link opens the download location. Use Clear Completed to batch-dismiss all finished entries at once.