Skip to content

About

CB File Hub is a fast, privacy-first, cross-platform file manager focused on powerful file tagging and instant search, with customizable thumbnails, smart media browsing, and seamless network streaming (SMB/FTP/WebDAV) for Windows and Android.

Topics

Resources

Stars

15 stars

Watchers

0 watching

Forks

Repository files navigation

CB File Hub

Build and Test Build and Release

CB File Hub logo

Download from Microsoft Store Get it on Google Play

English | Tiếng Việt

CB File Hub is a cross-platform file manager for large media libraries. It combines visual browsing, tabs, tags, albums, torrent management and downloads, media viewing and editing, network and SSH access, settings/tag backups, disk cleanup, and an AI assistant in one workspace.

Website: coolbird.net

Key Highlights

  • AI-assisted file management: Search, organize, review suspicious files, and guide cleanup workflows with CB Agent.
  • Disk cleaner with AI review: Scan large drives, inspect junk candidates, and ask CB Agent before deleting uncertain files or folders.
  • Media-first browsing: Use thumbnails, gallery views, and video previews designed for photo and video heavy folders.
  • Tabbed workflow on desktop and mobile: Keep multiple locations open and switch contexts quickly.
  • Tags, smart albums, and discovery tools: Organize large libraries beyond folder names.
  • Local, network, and SSH access: Work with local storage, SMB, FTP, WebDAV, SFTP, and saved SSH hosts from one app.
  • SSH workspace: Keep SSH hosts and keys organized, open an in-app terminal, or browse the same host through SFTP.
  • Torrent library and downloads: Index torrents wherever you store them, import client libraries, merge duplicates, and choose when and where to download.
  • Backups and personalization: Back up settings and tags locally or to available cloud integrations; choose themes, accents, views, and thumbnail preferences.

Preview

Desktop workflow

CB File Hub desktop file browser preview

Desktop file browsing with tabs, tags, and rich previews

CB File Hub AI-assisted search preview

AI-assisted search beside the file browser

CB File Hub disk cleaner scan results

Disk cleanup with scan results, category review, and CB Agent guidance

CB File Hub tag management workspace

Tag library and tag management

CB File Hub SSH workspace with a saved host

SSH workspace with saved hosts, keys, and trusted-host access

CB File Hub hierarchical tag tree

Parent and child tag hierarchy

CB File Hub manage tags dialog for assigning tags to a file

Assign tags directly from a file context menu

CB File Hub network connections with SMB and WebDAV services

Network connections with SMB, WebDAV, FTP, and SFTP services

CB File Hub disk cleaner results

Disk cleaner results and review workflow

Torrent library and downloads

Import qBittorrent backups with an optional confirmed cleanup of source files

Import qBittorrent backups and review optional source cleanup.

Import saved torrent files from a Transmission profile or custom folder

Import other clients from a detected profile or a custom folder.

Add a torrent link with a valid clipboard magnet filled in

Open Add link with a valid clipboard magnet filled in.

Choose a torrent download folder and whether to start immediately

Choose the download folder and whether to start immediately.

These images render the production Flutter dialogs with sample data. Vietnamese previews are also available.

Mobile workflow

CB File Hub mobile home preview

Mobile home

CB File Hub mobile file grid preview

File grid

CB File Hub mobile tabs preview

Tabs and saved locations

CB File Hub mobile tags preview

Tags and tag browsing

AI Agent

The AI side panel sits beside the file browser. Ask it to find files, clean up duplicates, or organize folders — it shows results inline and asks for approval before making any changes.

Disk Cleaner

Scan a drive, inspect bulky folders and junk candidates, then ask CB Agent for a risk-aware review before cleaning anything uncertain.

AI-guided cleanup review

In the disk cleaner, you can right-click any file or folder and ask CB Agent whether it should be deleted. The agent receives the current path, type, size, file count, and junk classification, then explains what the item is likely used for, the risks of deleting it, and gives a clear recommendation to delete, keep, or review it manually.

Main Features

File management and browsing

  • Browse local storage and network locations in a unified interface.
  • Open directories in multiple tabs.
  • Use the same tab-oriented workflow across desktop and mobile.
  • Pin folders, drives, or favorite locations to the sidebar.
  • Restore the last opened tab workspace when returning to the app.
  • Split a tab into two panes; use list, tiles, grid, details, tree, or column views.
  • Search with optional regular expressions, sort, select multiple items, and use keyboard shortcuts and drag and drop.
  • Follow file operations and supported app updates in the Status Center.

AI file agent

  • Search across folders with natural-language requests instead of exact file names.
  • Create files and folders from user intent when routine setup work gets repetitive.
  • Manage files with guided actions such as rename, move, copy, delete, and batch organization.
  • Find files that may need attention, including broken media, missing thumbnails, duplicates, odd names, or misplaced items.
  • Sort messy downloads, recordings, photos, and videos into clearer folder structures.
  • Assist with larger cleanup workflows while keeping file operations visible and controllable.
  • Optionally run compatible models on-device for local cleanup advice, with model selection and context-window controls in Settings.

Disk cleaner

  • Scan Windows drives for large folders, temporary files, browser caches, recycle-bin content, and other cleanup candidates.
  • Browse scan results in a virtualised tree that remains responsive with large directory counts.
  • Select cleanup candidates manually or by category.
  • Review selected files and folders with CB Agent before deleting.
  • Move supported cleanup targets to the Recycle Bin instead of deleting blindly.
  • Inspect installed-app storage, cleanable data, and available Windows usage evidence so large or rarely used apps can be reviewed before taking action.

Tagging and discovery

  • Add tags to files to create your own organization layer beyond folder names.
  • Search by tag using direct tag paths and multi-tag filtering.
  • Reuse recent and popular tags for faster tagging.
  • Display tags directly in file and gallery views for quick visual context.
  • Build a parent/child tag hierarchy and browse it as an expandable tree.
  • Filter and sort tags in the tag manager, and switch between list, grid, and tree layouts.

Tree view

  • Browse hierarchical data as a virtualised, expandable tree that stays smooth even with very large folders.
  • Available in the tag manager (parent/child tags), the local file browser, and network browsers (SMB/FTP).
  • Folders load their children on demand the first time they are expanded, then cache the result.

Media workflow

  • Generate image, video, and folder thumbnails.
  • Tune video thumbnail extraction position from settings.
  • Choose whether thumbnails fill their frame or preserve their full aspect ratio.
  • Browse dedicated image and video gallery views.
  • Use the built-in video player for local and supported network files.
  • Support desktop-oriented media workflows such as external opening and focused playback.
  • Edit images with crop, rotation, flip, tonal adjustments, filters, and markup.
  • Play supported audio/video, choose audio tracks and subtitles, capture video frames, and use desktop picture-in-picture or a separate playback window.

Torrent library and downloads

  • Keep a shared index while storing .torrent files in user-selected locations, or organize metainfo with Copy/Move modes.
  • Browse large libraries with lazy loading, configurable files per page, familiar views, search, sorting, and detailed torrent columns.
  • Press F5 to discover new torrents from configured sources and quickly skip files already indexed.
  • Add local .torrent files, magnets, or HTTP/HTTPS torrent URLs. Add link prefills a valid magnet from the clipboard.
  • Choose a payload destination and whether to start immediately; remember that choice and pause/resume/stop downloads.
  • In Torrent settings, optionally skip download options and use the saved folder/start preference; choose a folder once if none is saved.
  • Reuse an existing Torrent tab for magnet/file activations; queue consecutive requests and show their dialogs in order.
  • Confirm a merge for duplicate info hashes, combining trackers and sources while retaining the existing download task and destination.
  • Import qBittorrent backups, with optional source cleanup after explicit confirmation and while qBittorrent is closed; keep downloaded content.
  • Import saved .torrent files from µTorrent, BitTorrent, Transmission, and Deluge, with profile discovery and manual folder selection.
  • Copy magnet links from the context menu for single or multiple selections. Track progress, speeds, seeds, peers, trackers, and more.
  • Desktop downloads use aria2 and support BitTorrent v1/hybrid torrents. See the Torrent guide for platform details.

Network access

  • Browse SMB shares.
  • Connect to FTP and SFTP servers.
  • Connect to WebDAV locations.
  • Generate thumbnails for supported network files.
  • Stream supported media directly from network locations.
  • Store network credentials locally for faster reconnects.

SSH workspace

  • Save and organize SSH host profiles, with password or private-key authentication.
  • Import existing OpenSSH / PEM keys, generate new keys, and copy public keys when provisioning a server.
  • Discover eligible hosts and keys from the local .ssh folder without running shell commands.
  • Verify and manage trusted host fingerprints, including an explicit warning when a host key changes.
  • Open an interactive in-app SSH terminal, reconnect or clear its session, and open remote files through SFTP in the current or a new tab.

Archives

  • Browse archive contents as virtual folders without extracting everything first.
  • Extract a selected entry or an entire archive when needed.
  • Support ZIP, TAR, GZip, BZip2, and common compressed TAR variants; on Windows, use installed 7-Zip for 7z and RAR archives.

Album automation

  • Create albums for curated collections.
  • Create smart albums driven by dynamic rules.
  • Match files into albums automatically based on filename patterns.
  • Scope rules to selected source folders so albums stay relevant instead of noisy.

Backups, appearance, and updates

  • Export and restore settings and tags with ZIP backups.
  • Back up to available Google Drive, Dropbox, and OneDrive integrations using your own accounts, including multiple connected drives.
  • Choose light/dark appearance, accent colors, default views, preview settings, and thumbnail fitting.
  • Use English or Vietnamese; optional AI providers, cloud integrations, and local models depend on your configuration.
  • Use the Microsoft Store update path for Store installations and the supported update flow for other distribution types.

Platforms

  • Windows
  • Android
  • Linux
  • macOS

Downloads

Latest packaged builds are published here:

Download Latest Release

More information and downloads: coolbird.net

Available package types include:

  • Windows: portable ZIP, EXE installer, MSI installer
  • Android: APK and AAB
  • Linux: tar.gz
  • macOS: DMG (Universal: Apple Silicon and Intel, macOS 12 or later)

Quick Start

Windows

  1. Download the latest Windows package from the releases page.
  2. Install with the EXE or MSI package, or extract the portable ZIP.
  3. Run cb_file_manager.exe.

Android

  1. Download the latest APK.
  2. Allow installation from unknown sources if needed.
  3. Install and launch the app.

Linux

tar -xzf CBFileManager-<version>-linux.tar.gz
cd bundle
./cb_file_manager

macOS

  1. Download CBFileHub-<version>-macos.dmg, open it, and drag CB File Hub into Applications.
  2. Open the app. The build is not notarized, so macOS says it cannot verify it: click Done (not Move to Trash).
  3. Open System Settings → Privacy & Security and click Open Anyway next to the CB File Hub message, then confirm with your password. After that the app opens normally.
  4. Grant Full Disk Access when the app asks. Click Grant Permission: System Settings opens on the Full Disk Access list, with a CB File Hub icon floating beside it. Drag that icon into the list, approve with Touch ID or your password, and choose Quit & Reopen.

Without Full Disk Access the app still runs, but macOS asks separately for Desktop, Documents, Downloads, and external or network drives, and keeps some folders out of reach.

Release builds are ad-hoc signed, so macOS may drop Full Disk Access after an update. Switch it on again in the same list. If macOS reports the app as damaged, run xattr -dr com.apple.quarantine "/Applications/CB File Hub.app" and open it again. The DMG includes the install and Full Disk Access steps in English and Vietnamese.

Development

This repository is a workspace, not a single Flutter package:

cb_file_manager/   main Flutter app
mobile_smb_native/ local SMB/CIFS FFI plugin
scripts/           build, screenshot, version, and CI helpers
installer/         Windows installer configuration and macOS DMG notes
justfile           primary developer command runner

Run just recipes from the repository root. Run direct flutter and dart commands from cb_file_manager/.

Prerequisites

  • Flutter SDK 3.47.2 stable
  • Dart SDK bundled with that Flutter SDK
  • just
  • Git Bash on Windows, used by the repository justfile
  • Visual Studio 2022 with C++ tools for Windows builds
  • Android SDK and JDK 17+ for Android builds
  • GTK3 development libraries for Linux builds
  • Xcode and CocoaPods for macOS builds, on macOS 12 or later

Local setup

git clone https://github.com/coolbirdzik/cb-file-hub.git
cd cb-file-hub
just deps
cd cb_file_manager
flutter run

On macOS, run flutter run -d macos from cb_file_manager/.

Enable the developer overlay only for local development:

flutter run --dart-define=CB_SHOW_DEV_OVERLAY=true

macOS development signing

Debug builds are ad-hoc signed by default, which gives the app a new identity on every rebuild, so macOS drops the Full Disk Access you granted each time. To keep it, sign Debug builds with your own Apple Development certificate:

cd cb_file_manager/macos/Runner/Configs
cp Signing.local.xcconfig.example Signing.local.xcconfig
# Set DEVELOPMENT_TEAM to your team ID (the OU= field):
security find-certificate -c "Apple Development" -p | openssl x509 -noout -subject

Signing.local.xcconfig is git-ignored and only affects Debug builds; CI and release builds are unchanged. Grant Full Disk Access once more after the first signed build.

Common commands

# From the repository root
just              # list recipes
just deps         # install dependencies
just verify       # format check + analyze
just test         # unit and widget tests
just e2e-parallel # Windows E2E tests
just clean

Build commands

just windows
just windows-msi
just android
just android-aab
just linux
just macos        # DMG in cb_file_manager/build/macos/dmg/

Direct Flutter commands are also valid when run inside cb_file_manager/:

flutter pub get
flutter test
flutter analyze
dart format --output=none --set-exit-if-changed .
flutter test integration_test -d windows --dart-define=CB_E2E=true

Screenshot automation

Generate lightweight showcase screenshots for the main app features on desktop and Android:

# Windows desktop screenshots
./scripts/capture_screenshots.sh desktop

# Android screenshots, using first connected Android device or emulator
./scripts/capture_screenshots.sh android

# Both targets
./scripts/capture_screenshots.sh all

On Windows PowerShell, use the native script instead of the Bash wrapper:

# Windows desktop screenshots
./scripts/capture_screenshots.ps1 desktop

# Android screenshots, using the first connected Android device or emulator
./scripts/capture_screenshots.ps1 android

# Both targets
./scripts/capture_screenshots.ps1 all

Output files are copied to:

screenshots/auto/desktop/
screenshots/auto/android/

The screenshot scripts use a dedicated showcase E2E flow and export only the final hero frames for each featured scenario, not every intermediate test step. Desktop and Android run different scene lists, because the two shells look nothing alike: desktop captures the multi-pane workspace, file tag-assignment dialog, SSH workspace, SMB/WebDAV network catalog, and disk cleaner, while Android captures the home, file grid, tab manager, and tag screens that feed the four mobile promo slots.

Android requires a connected device or running emulator visible in flutter devices. The test process writes its frames inside the app sandbox, so the script pulls them off the device with adb before copying them into screenshots/auto/android/.

Generate promotional artwork from the captured screenshots:

python scripts\make_promo_images.py

The generated artwork is written to screenshots/promo/desktop/, screenshots/promo/mobile/, screenshots/promo/tablet7/, the matching Vietnamese folders under screenshots/promo/vi/, Turkish and Chinese desktop promos under screenshots/promo/tr/ and screenshots/promo/zh/, and the text-free Microsoft Store hero art in screenshots/promo/store/. Use --desktop-only --languages tr,zh to regenerate only some languages.

Render the English/Vietnamese Torrent dialog images with sample data from cb_file_manager/:

flutter test --no-pub tool/capture_torrent_screenshots_test.dart --dart-define=CB_CAPTURE_SCREENSHOTS=true

This opt-in widget capture writes screenshots/features/torrents/en/ and vi/. It does not launch the desktop app or use the user's torrent library.

Microsoft Store and Google Play descriptions

Both stores use the same concise descriptions in store/listings/, one per app language (English, Vietnamese, Turkish, Simplified Chinese). Edit each language's .txt once; its bullet points also generate Microsoft Store features. The sibling .json holds the short description, Google Play language code and the Microsoft Store screenshots/hero art. CI checks text limits and image sizes and uploads a store-listings preview. MSIX submissions apply the text and images in Partner Center; AAB submissions include the text in the same Google Play edit as the app bundle. See the content guide.

Testing

just verify
just test
just e2e-parallel

Project Structure

cb_file_manager/
├── lib/                Flutter application source
├── test/               Unit and widget tests
├── integration_test/   E2E and showcase screenshot tests
├── tool/               E2E runner, dashboard, and reporting tools
└── pubspec.yaml

mobile_smb_native/      Local SMB/CIFS FFI plugin
scripts/                Build, screenshot, release, and CI scripts
installer/              Windows installer definitions and macOS DMG notes
docs/                   Feature and UI implementation notes

Documentation

Contributing

Contributions are welcome. Open an issue for bugs or feature requests, or submit a pull request if you want to improve the app.

About

CB File Hub is a fast, privacy-first, cross-platform file manager focused on powerful file tagging and instant search, with customizable thumbnails, smart media browsing, and seamless network streaming (SMB/FTP/WebDAV) for Windows and Android.

Topics

Resources

Stars

15 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages