Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/Beastwick18/nyaa

A nyaa.si tui tool for browsing and downloading torrents
https://github.com/Beastwick18/nyaa

anime cli nyaa nyaa-magnet-links nyaa-rss nyaa-si nyaasi ratatui rust rust-lang terminal-user-interface torrent torrent-downloader torrent-management torrent-search torrent-search-engine tui

Last synced: 14 days ago
JSON representation

A nyaa.si tui tool for browsing and downloading torrents

Lists

README

        


nyaa πŸˆβ€β¬›


A simple TUI for browsing and downloading anime torrents from nyaa.si.











animated

## Table of Contents

- [Installation](#-installation)
- [With Cargo](#with-cargo)
- [On Arch Linux](#on-arch-linux-aur)
- [Using nix (flakes)](#using-nix-flakes)
- [Ubuntu/Debian](#ubuntudebian)
- [Windows/Linux Binaries](#windowslinux-binaries)
- [From Source](#from-source)
- [Keybinds](#%EF%B8%8F-keybinds)
- [Proxies](#-proxies)
- [Configuration](#%EF%B8%8F-configuration)
- [Download Client Integration](#download-client-integration)
- [Custom Themes](#-custom-themes)
- [Planned Features](#%EF%B8%8F-planned-features)

## ⚑ Installation

### With cargo

```sh
cargo install nyaa
```

### On Arch Linux ([AUR](https://aur.archlinux.org/packages/nyaa))

```sh
yay -S nyaa
```

or

```sh
yay -S nyaa-bin
```

### Using nix (flakes)

#### Run without installing

```sh
nix run github:Beastwick18/nyaa
```

#### Install (via `home-manager`)

Add to `inputs` in `flake.nix`

```nix
nyaa = {
url = "github:Beastwick18/nyaa";
inputs.nixpkgs.follows = "nixpkgs";
};
```

Add to `home.nix`

```nix
home.packages = [ inputs.nyaa.packages.x86_64-linux.default ];
```

#### Install (via `nix profile`)

```sh
nix profile install github:Beastwick18/nyaa
```

### Ubuntu/Debian

Download the .deb file from the [latest release](https://github.com/Beastwick18/nyaa/releases/latest) and install with `apt`:

```sh
sudo apt install ./nyaa-VERSION-x86_64.deb
```

or `dpkg`

```sh
sudo dpkg -i ./nyaa-VERSION-x86_64.deb
```

### Windows/Linux Binaries

Binaries for Linux and Windows are available on the [releases](https://github.com/Beastwick18/nyaa/releases/latest) page.

### From Source

To build from source, you must have both `git` and `cargo` installed.

```sh
git clone https://github.com/Beastwick18/nyaa
cd nyaa
cargo install --path .
```

## ⌨️ 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:

- hjkl or arrow keys for general navigation
- / or i to search
- Ctrl-s to change sources
- d to change download client
- c to change category
- s to change sort (S for reverse sort)
- f to change filter
- t to change theme
- n, p or l, h for next and previous page
- q to quit

For a list of all modes and their respective keybinds, check [Keybinds](https://github.com/Beastwick18/nyaa/wiki/Keybinds) on the wiki.

## 🌐 Proxies

If either `nyaa.si` or `torrentgalaxy` is not accessible in your region, try one of the proxies ([nyaa proxies](https://nyaatorrents.info/#proxy), [TorrentGalaxy proxies](https://torrends.to/proxy/torrentgalaxy)). 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:

```toml
[source.nyaa]
base_url = 'nyaa.land'
```

If you have your own proxy setup, you use it by adding:

```toml
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`

```toml
theme = "Default"
default_source = "Nyaa"
download_client = "Cmd"
date_format = "%Y-%m-%d %H:%M" # Unset by default
request_proxy = "localhost:8118" # Unset by default
timeout = 30 # Timeout for requests, measured in seconds

[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`. Custom themes coming soon!

- `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](https://github.com/Beastwick18/nyaa/wiki#download-clients) for more information on each download clients config.

- `date_format` refers to the formatting of the dates in the Date column of the results table. Refer to [chrono's documentation](https://docs.rs/chrono/latest/chrono/format/strftime/index.html) for information on how to format the date.

- `request_proxy` refers to the url to proxy request through. This is not to be confused with _nyaa_ proxies, which are defined with `base_url`.

- `timeout` refers to how long the program will wait for a search request before it times out. This value is measured in seconds. You may want to increase this if your request times are usually long.

### Download Client Integration

- Check the wiki for connecting to your torrent client:
- [qBittorrent](https://github.com/Beastwick18/nyaa/wiki/qBittorrent)
- [Transmission](https://github.com/Beastwick18/nyaa/wiki/Transmission)
- [rqbit](https://github.com/Beastwick18/nyaa/wiki/rqbit)
- [Download to folder](https://github.com/Beastwick18/nyaa/wiki/Download-to-folder)
- [Open with default app](https://github.com/Beastwick18/nyaa/wiki/Open-with-default-app)
- [Run command](https://github.com/Beastwick18/nyaa/wiki/Run-command)

# 🎨 Custom Themes
Check the wiki for how to add [User-defined Themes](https://github.com/Beastwick18/nyaa/wiki/User%E2%80%90defined-Themes)

## πŸ—ΊοΈ Planned Features

- [ ] Mouse support
- [ ] Sources other than nyaa/Custom user-defined sources
- [x] ~~User-defined themes~~
- [x] ~~Integration with torrent clients~~
- [x] ~~RPM Release~~
- [x] ~~Nyaa proxies/mirrors support~~
- [x] ~~Page navigation~~
- [x] ~~Choice between HTML scraper or RSS feed~~