Skip to content

njyeung/reels

Repository files navigation

npm AUR Homebrew Latest Release

Stars Last Commit macOS Linux Go Report Card License

REELS TUI

Doomscrollbrainrotmaxxing in the terminal


Prerequisites

Terminal

You need a terminal that supports the Kitty graphics protocol:

Chrome (LINUX ARM64 ONLY)

Chrome is automatically downloaded on first run if no system Chrome/Chromium is found; No action is needed for most platforms. The exception is Linux ARM64, where Chrome For Testing isn't available yet (coming Q2 2026!). If you are on Linux ARM64, you'll need to install Chromium manually before running Reels.

Usage

reels

Flags

  • --headed - Run browser in headed mode (visible browser window)
  • --login - Open browser window to log in to Instagram

Controls

reels.conf bind Default Action
key_next j Next reel (scrolls panels when open)
key_previous k Previous reel (scrolls panels when open)
key_seek_backward h Seek backward by 5 seconds
key_seek_forward l Seek forward by 5 seconds
key_like space Like/unlike
key_share_select space Select friend in share panel. Overrides any other bind while share panel is open
key_pause p Pause/resume current reel
key_save b Save/Unsave (bookmark) current reel
key_navbar e Toggle navbar, a condensed version of the help menu
key_comments_open c Open comments
key_comments_close C Close comments
key_share_open s Open share panel. Allows you to share reels with instagram's suggested top friends.
key_share_close S Close Share panel & sends to friends' DMs (if any are selected)
key_copy_link y Copy reel link to clipboard
key_mute m Mute current reel
key_vol_up ] Volume up
key_vol_down [ Volume down
key_reel_size_inc = Enlarge video
key_reel_size_dec - Shrink video
key_help_open ? Help panel shows the current keybinds
key_help_close ? Close help panel
key_quit q Quit
key_quit ctrl+c Quit

All keybinds are configurable in reels.conf. Each action supports multiple binds. Open/close pairs (like key_comments_open and key_comments_close) can be bound to the same key to toggle.

Installation

npm (macOS ARM64 / Linux x86_64 & ARM64)

npm install -g @reels/tui
reels

Homebrew (macOS ARM64 / Linux x86_64 & ARM64)

brew tap njyeung/tap
brew install reels
reels

AUR (Arch Linux x86_64 & ARM64)

yay -S reels-bin
reels

Pre-built Binaries

Download the latest release from GitHub Releases:

Platform Binary
Linux (x86_64) reels-linux-amd64
Linux (ARM64) reels-linux-arm64
macOS (Apple Silicon) reels-darwin-arm64

Building from Source (For Developers)

Requires Go 1.25+ and FFmpeg 8+ development libraries.

Pre-built binaries ship with FFmpeg statically linked. For development, dynamically linking against a system FFmpeg makes building and iteration faster (simply go build -o reels). You can still build using docker, but I highly recommend installing the correct versions of FFmpeg following the directions below:

macOS: Requires ffmpeg-full from Homebrew (brew install ffmpeg-full), MacPorts, or FFmpeg 8+ built from source. The standard brew install ffmpeg is missing required framework link flags.

Linux: Requires FFmpeg 8+ development libraries from your package manager (e.g. sudo pacman -S ffmpeg on Arch, sudo apt install ffmpeg on Debian/Ubuntu). This usually works fine as long as your packages are updated.

# brew install ffmpeg-full      on macOS
# sudo apt install ffmpeg       on Linux
# ffmpeg -version               should be 8+
git clone https://github.com/njyeung/reels.git
cd reels
go build -o reels .

File Paths

  • Settings: ~/.config/reels/reels.conf
  • Cache: ~/.cache/reels/
  • Chrome Data: ~/.local/shared/reels/

Default settings

# Default config (created on first run)

show_navbar = true
retina_scale = 2    # auto detects 2 on macOS, 1 on Linux by default
reel_width = 270
reel_height = 480
reel_size_step = 30
volume = 1
gif_cell_height = 5
panel_shrink_steps = 4  # how many reel_size_steps to shrink when opening a panel

# Configurable keybinds (multiple binds per action supported)
key_next = j
key_previous = k
key_pause = p
key_mute = m
key_like = space
key_navbar = e
key_vol_up = ]
key_vol_down = [
key_reel_size_inc = =
key_reel_size_dec = -
key_copy_link = y
key_save = b
key_seek_forward = l
key_seek_backward = h
key_share_open = s
key_share_close = S
key_share_select = space
key_comments_open = c
key_comments_close = C
key_help_open = ?
key_help_close = ?
key_quit = q
key_quit = ctrl+c

About

instagram reels in your terminal

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors