Awesome
<div align="center"> <h1>nyaa πββ¬</h1> <h3>A simple TUI for browsing and downloading anime torrents from nyaa.si.</h3> <a href="https://github.com/Beastwick18/nyaa/actions"><img src="https://img.shields.io/github/check-runs/Beastwick18/nyaa/main?label=build" /></a> <a href="https://github.com/Beastwick18/nyaa/releases/latest"><img src="https://img.shields.io/github/v/release/Beastwick18/nyaa.svg?color=#2ea043" /></a> <a href="https://aur.archlinux.org/packages/nyaa"><img src="https://img.shields.io/aur/version/nyaa?color=blue" /></a> <a href="https://aur.archlinux.org/packages/nyaa-bin"><img src="https://img.shields.io/aur/version/nyaa-bin?color=blue&label=aur%20(bin)" /></a> <a href="https://crates.io/crates/nyaa"><img src="https://img.shields.io/crates/v/nyaa" /></a> <br /> <a href="https://crates.io/crates/nyaa"><img src="https://img.shields.io/crates/d/nyaa?label=crates.io%20downloads&color=orange" /></a> <a href="https://github.com/Beastwick18/nyaa/releases/latest"><img src="https://img.shields.io/github/downloads/Beastwick18/nyaa/total?label=github%20downloads&color=#2ea043" /></a> </div> <p align="center"> <img src="assets/tty.gif" width="800" alt="animated" /> </p>Table of Contents
β‘ Installation
With a package manager
### With cargo
cargo install nyaa
### On Arch Linux (AUR)
yay -S nyaa # or `nyaa-bin` for a pre-compiled binary
### Ubuntu/Debian (.deb file from latest release)
# with `apt`:
sudo apt install ./nyaa-VERSION-x86_64.deb
# or `dpkg`:
sudo dpkg -i ./nyaa-VERSION-x86_64.deb
### Fedora (.rpm file from latest release)
sudo dnf install ./nyaa-VERSION-x86_64.rpm
### With `nix profile`
nix profile install github:Beastwick18/nyaa
### nix (flakes) run without installing
nix run github:Beastwick18/nyaa
Nix (via home-manager)
Add to inputs
in flake.nix
nyaa = {
url = "github:Beastwick18/nyaa";
inputs.nixpkgs.follows = "nixpkgs";
};
Add to home.nix
imports and enable
imports = [
inputs.nyaa.homeManagerModule
]
programs.nyaa.enable = true;
Check the wiki for more information
Windows/Linux Binaries
Binaries for Linux and Windows are available on the releases page.
From Source
To install from source, you must have git
, cargo
, and Rust version $\ge$ 1.75 installed.
git clone https://github.com/Beastwick18/nyaa
cd nyaa
cargo install --path .
π Wiki
For detailed information on configuration, themes, sources, and download client integration check the Wiki.
β¨οΈ Keybinds
Like modal text editors such as Vim, there are several modes. Each have their own keybinds, which can be found out by pressing F1
or ?
while in that mode. Some of the important ones are:
- <kbd>hjkl</kbd> or arrow keys for general navigation
- <kbd>/</kbd> or <kbd>i</kbd> to search
- <kbd>Ctrl</kbd>-<kbd>s</kbd> to change sources
- <kbd>d</kbd> to change download client
- <kbd>c</kbd> to change category
- <kbd>s</kbd> to change sort (<kbd>S</kbd> for reverse sort)
- <kbd>f</kbd> to change filter
- <kbd>t</kbd> to change theme
- <kbd>n</kbd>, <kbd>p</kbd> or <kbd>l</kbd>, <kbd>h</kbd> for next and previous page
- <kbd>q</kbd> to quit
For a list of all modes and their respective keybinds, check Keybinds on the wiki.
π Proxies
If either nyaa.si
or torrentgalaxy
is not accessible in your region, try one of the proxies (nyaa proxies, TorrentGalaxy proxies). Once you find one that works, replace the value for base_url
in the source config with the working proxy url. For nyaa
, I would recommend nyaa.land
, as it is very compatible, and usually working. Here's what the config for nyaa.land
would look like:
[source.nyaa]
base_url = 'nyaa.land'
If you have your own proxy setup, you use it by adding:
request_proxy = "localhost:8118"
to the top of your config. Replace the value with the IP and port for your proxy.
βοΈ Configuration
The location of the config file for linux is:
~/.config/nyaa/config.toml
and on windows is
C:\Users\%USERNAME%\AppData\Roaming\nyaa\config\config.toml
Default Config
theme = "Default" # the theme to use by default
default_source = "Nyaa" # the source to use by default
download_client = "qBittorrent" # the download client to use by default
date_format = "%Y-%m-%d %H:%M" # date format for results (unset by default)
request_proxy = "localhost:8118" # request proxy for sending requests through (unset by default)
timeout = 30 # request timeout for sources and clients (measured in seconds)
scroll_padding = 6 # scroll padding for results table
save_config_on_change = true # save config when changing sources/themes
[source.nyaa]
# ...
[source.torrentgalaxy]
# ...
[client.cmd]
# ...
# ...
theme
refers to the theme selected by default when the app is opened. Possible values are Default
, Dracula
, Gruvbox
, or Catppuccin Macchiato
. You can also use custom user-defined themes.
default_source
refers to the source selected by default once the app is opened. Possible values are Nyaa
, TorrentGalaxy
, or Sukebei
. Each source has its own configuration. Check the wiki for more information on each sources config.
download_client
refers to the download client selected by default once the app is opened. Each download client has its own configuration. Check the wiki for more information on each download clients config.
Download Client Integration
- Check the wiki for connecting to your torrent client:
π Clipboard
By default, nyaa uses OSC52 to copy to the clipboard. It's a type of ANSI escape sequence supported by most terminals. The state of support for some popular terminals are:
Terminal | OSC52 support |
---|---|
alacritty | yes |
contour | yes |
far2l | yes |
foot | yes |
gnome terminal (and other VTE-based terminals) | not yet |
hterm | yes |
iterm2 | yes |
kitty | yes |
konsole | not yet |
qterminal | not yet |
rxvt | yes |
st | yes (but needs to be enabled, see here) |
terminal.app | no, but see workaround |
tmux | yes |
urxvt | yes (with a script, see here) |
wezterm | yes |
windows terminal | yes |
xterm.js (Hyper terminal) | yes |
zellij | yes |
Source: vim-oscyank
If your terminal is not supported, you should disable OSC52 by adding
[clipboard]
osc52 = false
to your config.toml
. This will make nyaa use an alternative method for copying, such as X11 selections or wl-clipboard. To see more info on clipboards, check the wiki;
π¨ Custom Themes
Check the wiki for how to add User-defined Themes
πΊοΈ Planned Features
- Mouse support
- Custom user-defined sources
-
Sources other than nyaa -
User-defined themes -
Integration with torrent clients -
RPM Release -
Nyaa proxies/mirrors support -
Page navigation -
Choice between HTML scraper or RSS feed