Skip to content

lilaf-sec/rednotes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

RedNotes 📝

Bash Shell License: MIT

Terminal-based notes manager with targets, fzf search, clipboard copy, and notifications.


Features

  • 📌 Target system (store notes per IP/host)
  • 📝 Add notes quickly using fzf
  • 📂 Manage multiple note files
  • 🔍 Search inside notes with instant preview (bat)
  • 📋 Copy selected note line directly to clipboard
  • 🔔 Desktop notifications (notify-send)
  • 🪟 Automatically opens in a floating kitty window
  • 🌍 Works on Wayland (wl-copy) and X11 (xclip / xsel)

🖼️ Demo

RedNotes Demo


📦 Dependencies

You need the following tools installed:

Required

  • bash
  • fzf
  • notify-send (libnotify)
  • ip (iproute2)

Optional / recommended

  • kitty (for floating window mode)
  • nvim (or any editor)
  • bat (for preview mode, fallback to cat if not installed)

Clipboard support

  • Wayland: wl-copy
  • X11: xclip or xsel

⚙️ Installation

Clone the repository, make the script executable, and move it into your PATH:

git clone https://github.com/lilaf-sec/rednotes.git
cd rednotes
chmod +x rednotes
cp rednotes ~/.local/bin/

🛠️ Configuration

Configuration is done by editing the variables at the top of the script.
Environment variables can also override defaults.

Variable Default Description
NOTES_DIR $HOME/Documents/notes Where notes are stored
TARGET_FILE $NOTES_DIR/target/target_ip File that stores current target
EDITOR_CMD nvim Editor used in manage mode
PREVIEW_CMD bat --color=always --style=plain Preview command
NOTIFY_ICON $HOME/.config/fastfetch/code.png Icon for notifications
DEFAULT_EXT .txt Default extension for new note files

Example:

NOTES_DIR="$HOME/Documents/rednotes"
EDITOR_CMD="nano"
DEFAULT_EXT=".md"
PREVIEW_CMD="cat"

🚀 Usage

Add a note

rednotes add
  • If no target is set, you can select a file or type a new one.
  • If a target is set, notes go automatically into <target>.txt.

Manage notes

rednotes manage

Inside the manager:

  • ALT-E → Edit selected file
  • ALT-N → Create a new file
  • ALT-D → Delete selected file
  • ENTER → Copy selected note line

🎯 Target System

Set a target

rednotes set 192.168.1.10

Or set target automatically

rednotes 192.168.1.10
rednotes example.com

Show current target

rednotes show

Copies target to clipboard automatically if possible.

Clear target

rednotes clear

🌐 Network Helpers

Show private IP

rednotes ip

Copies your local IP to clipboard + shows notification.

Show VPN IP

rednotes vpn

Detects VPN interfaces (tun, tap, wg, ppp, etc... ) and shows/copies VPN IP.


🧠 Tips

  • Fast bind with Hyprland, bspwm.

Hyprland

# REDNOTES
bind = $mainMod, W, exec, ~/.local/bin/rednotes add  # Add a note for the current target
bind = $mainMod SHIFT, W, exec, ~/.local/bin/rednotes manage  # Browse and manage notes
bind = $mainMod SHIFT, T, exec, ~/.local/bin/rednotes show  # Show/copy current target
bind = $mainMod SHIFT, I, exec, ~/.local/bin/rednotes ip  # Show/copy private IP
bind = $mainMod SHIFT, V, exec, ~/.local/bin/rednotes vpn  # Show/copy VPN IP

windowrule = match:class floating_notes, float on, size 1250 400, move (monitor_w*0.18) (monitor_h*0.05)  # Floating kitty window

bspwm

# REDNOTES
super + shift + t
    ~/.local/bin/rednotes show  # Show/copy current target

super + w
    ~/.local/bin/rednotes add   # Add a note for the current target

super + shift + w
    ~/.local/bin/rednotes manage  # Browse and manage notes

super + shift + i
    ~/.local/bin/rednotes ip  # Show/copy private IP

super + shift + v
    ~/.local/bin/rednotes vpn  # Show/copy VPN IP

bspc rule -a floating_notes state=floating rectangle=1250x400+300+50  # Floating kitty window

About

Terminal-based notes manager with fzf interface, clipboard support and target system

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages