Skip to content

Repository files navigation

45Flow

45Flow

45Flow is a secure file collaboration and transfer platform designed for media-heavy workflows. It combines an Electron desktop client with a Linux-based server service (houston-broadcaster) to provide controlled file sharing, upload portals, and video review — all managed from a single dashboard.

📖 Full User Guide: See docs/45Flow_User_Guide.md for complete step-by-step instructions with screenshots.


Key Features

  • Share files via secure links — Generate expiring, access-controlled links for viewing, downloading, and commenting on files
  • Upload portals — Create links that let external collaborators upload files directly to your server
  • Local uploads — Transfer files from your workstation to the server with optional review copy generation and watermarking
  • Client-side transcoding — Process videos on your workstation before upload using local CPU/GPU, reducing server load and speeding up review copy availability
  • Video review with timecoded comments — Browser-based HLS player with threaded, frame-accurate commenting
  • Role-based access control — System and custom roles (View, Comment, Download, Upload) enforced per link
  • review copy generation & watermarking — Generate 720p/1080p review copies and apply watermark overlays to protect original media
  • Link management dashboard — Search, filter, edit, disable, and monitor all links from one place
  • Auto-discovery — Desktop client finds servers automatically via mDNS/Bonjour

Supported Platforms

ComponentPlatforms
Desktop ClientmacOS (Intel & Apple Silicon), Windows (x64), Linux (DEB & RPM)
ServerLinux — Rocky/RHEL 8+, Ubuntu 20.04+
StorageZFS-backed recommended

Quick Start

1. Install the Desktop Client

Download the latest release from the Releases page and install:

OSFileInstall
macOS (Apple Silicon)*-mac-arm64.dmgDrag to Applications
macOS (Intel)*-mac-x64.dmgDrag to Applications
Windows*-win-x64.exeRun installer
Ubuntu/Debian*-linux-amd64.debsudo apt install ./45flow-*.deb
Rocky/RHEL*-linux-x86_64.rpmsudo dnf install ./45flow-*.rpm

2. Connect to Your Server

  1. Open 45Flow — your server should appear automatically if houston-broadcaster is running.
  2. If not, enter the server IP manually.
  3. Log in with your server credentials.

3. Start Sharing

From the Dashboard, use the three main actions:

ActionWhat It Does
New File Share LinkSelect files on the server → configure access → generate a link
Upload Files LocallyPick local files → choose destination → upload to server
New Upload LinkPick a destination folder → configure access → generate an upload portal link

For detailed walkthroughs of every feature, see the Full User Guide.


Architecture

┌─────────────────────┐ SSH + API (9095) ┌──────────────────────────┐
│ 45Flow Desktop │◄────────────────────────────────►│ houston-broadcaster │
│ (Electron App) │ │ (Node.js service) │
└─────────────────────┘ └──────────┬───────────────┘
│
┌──────────▼───────────────┐
│ ZFS Storage / Files │
└──────────┬───────────────┘
│
┌─────────────────────┐ HTTPS (443) ┌──────────▼───────────────┐
│ Browser (Viewer) │◄────────────────────────────────►│ Video Player / Upload │
│ Share recipients │ │ (Vue.js SPA) │
└─────────────────────┘ └──────────────────────────┘
  • Desktop Client — Electron app for connecting, uploading, and managing links
  • houston-broadcaster — Node.js server handling API, file serving, transcoding, and link validation
  • Video Player — Browser-based Vue.js app served to share/upload link recipients

Port Requirements

PortProtocolPurpose
22TCPSSH (client ↔ server)
9095TCPAPI (client ↔ server)
443TCPHTTPS — share/upload links (must be forwarded for external sharing)

Security

  • All uploads quarantined and malware-scanned before acceptance
  • Links support expiration, password protection, and role-restricted access
  • HTTPS required for external access
  • Server validates all API requests with JWT authentication

Development

# Install dependencies
yarn install
# Run in development mode
yarn dev
# Build for production
yarn build

License

See LICENSE.

About

45Flow is a self-hosted workflow tool for sharing and uploading files remotely from your server

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages