vib

July 25, 2026 ยท View on GitHub

Built With Ratatui Crates.io Version GitHub Release Last Commit

A terminal file browser with LocalSend built in. Manage, organize, and move files around your machine, then send or receive them across your devices without leaving the terminal.

vib Main Interface

LocalSend Overlay Hub


Features

  • Dual-pane browsing with independent tab navigation
  • Native LocalSend integration for local network file transfers
  • File operations: cut, copy, paste, create folders, and rename
  • Multi-select tagging for batch operations and file transfers
  • Persistent directory bookmarks
  • Built-in text file preview with line scrolling
  • Transfer status indicators, confirmation prompts, and progress banners
  • Catppuccin-themed terminal UI

Keyboard Shortcuts

KeyAction
Up / Down / k / jNavigate active pane
Enter / l / RightOpen directory
Backspace / h / Left / EscGo to parent directory
TabSwitch active pane
1 / 2Switch to Pane 1 or Pane 2
wClose secondary pane

File Operations

KeyAction
SpaceSelect / deselect highlighted item
vSelect / deselect all items in directory
cCopy selected item(s)
xCut selected item(s)
pPaste clipboard contents
nCreate new folder
r / F2Rename file or folder

Text Preview Pane

KeyAction
Ctrl+d / Shift+S / PageDownScroll preview down
Ctrl+u / Shift+W / PageUpScroll preview up

Directory Bookmarks

KeyAction
bBookmark current directory
B / m / Ctrl+bOpen Bookmarks menu
d / DeleteRemove bookmark (inside menu)

LocalSend & File Transfer

KeyAction
tToggle LocalSend hub
sSend selected item(s) via LocalSend
F5 / rRescan local network for LocalSend devices
y / EnterAccept incoming transfer
dDecline incoming transfer

Application

KeyAction
q / Ctrl+CExit

Installation

From Crates.io

cargo install vib --version 0.1.0-beta.1
# or
cargo install vib --prerelease

Building from Source

Requires Rust 1.80+.

git clone https://github.com/ayanchavand/vib.git
cd vib
cargo build --release
./target/release/vib

Configuration & Storage

  • Bookmarks Storage: ~/.config/vib/bookmarks.json
  • Default Downloads: Saves to ~/Downloads or the active working directory.

Troubleshooting

Device not appearing during send

Linux Firewall. LocalSend uses port 53317 (TCP and UDP).

  • UFW:
    sudo ufw allow 53317/tcp
    sudo ufw allow 53317/udp
    
  • FirewallD:
    sudo firewall-cmd --add-port=53317/tcp --permanent
    sudo firewall-cmd --add-port=53317/udp --permanent
    sudo firewall-cmd --reload
    
  • iptables:
    sudo iptables -A INPUT -p tcp --dport 53317 -j ACCEPT
    sudo iptables -A INPUT -p udp --dport 53317 -j ACCEPT
    

Multiple Network Interfaces. Docker or Tailscale interfaces may capture multicast traffic. Press F5 or r to rescan subnets and verify devices are on the same local access point.


License

MIT