#下载 #交互式用户界面 #种子 #命令行界面

bin+lib nyaa

一个用于从 nyaa.si 浏览和下载种子的交互式用户界面工具

14 个版本 (7 个重大变更)

0.9.1 2024年6月30日
0.8.1 2024年5月2日
0.7.0 2024年3月21日
0.2.0 2023年11月18日

#2242命令行工具

Download history 179/week @ 2024-04-29 26/week @ 2024-05-06 13/week @ 2024-05-13 40/week @ 2024-05-20 12/week @ 2024-05-27 21/week @ 2024-06-03 185/week @ 2024-06-10 35/week @ 2024-06-17 155/week @ 2024-06-24 94/week @ 2024-07-01 23/week @ 2024-07-08 20/week @ 2024-07-15 24/week @ 2024-07-22 23/week @ 2024-07-29 4/week @ 2024-08-05 17/week @ 2024-08-12

每月 70 次下载

GPL-3.0-or-later

3.5MB
7.5K SLoC

nyaa 🐈‍⬛

一个用于浏览和从 nyaa.si 下载动漫种子的简单交互式用户界面。


animated

目录

⚡ 安装

使用包管理器

### 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(通过 home-manager)

inputs 中添加到 flake.nix

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

添加到 home.nix 导入并启用

imports = [
  inputs.nyaa.homeManagerModule
]
programs.nyaa.enable = true;

有关更多信息,请参阅 Wiki

Windows/Linux 二进制文件

Linux 和 Windows 的二进制文件可在 发行版 页面找到。

从源码

要从源码安装,您必须安装 gitcargo 以及 Rust 版本 $\ge$ 1.75。

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

📗 Wiki

有关配置、主题、源和下载客户端集成的详细信息,请参阅 Wiki

⌨️ 快捷键

类似于 Vim 等模式化文本编辑器,有几个模式。每个模式都有自己的快捷键,可以在该模式下按 F1? 查找。其中一些重要的快捷键包括

  • hjkl 或箭头键进行一般导航
  • /i 搜索
  • Ctrl-s 切换源
  • d 切换下载客户端
  • c 切换分类
  • s 切换排序(S 为反向排序)
  • f 切换过滤器
  • t 切换主题
  • nplh 用于翻页
  • q 退出

有关所有模式和它们的快捷键列表,请参阅 Wiki 上的 快捷键

🌐 代理

如果您的地区无法访问 nyaa.sitorrentgalaxy,请尝试使用以下代理之一(nyaa 代理TorrentGalaxy 代理)。找到可用的代理后,将源配置中的 base_url 的值替换为可用的代理 URL。对于 nyaa,我推荐使用 nyaa.land,因为它非常兼容,通常也能正常工作。以下是 nyaa.land 的配置示例:

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

如果您有自己的代理设置,您可以通过添加以下内容来使用它:

request_proxy = "localhost:8118"

到您的配置文件顶部。将值替换为您代理的 IP 地址和端口。

⚙️ 配置

Linux 的配置文件位置是

~/.config/nyaa/config.toml

在 Windows 上是

C:\Users\%USERNAME%\AppData\Roaming\nyaa\config\config.toml

默认配置

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 指的是应用程序打开时默认选择的主题。可能的值包括 DefaultDraculaGruvboxCatppuccin Macchiato。您还可以使用自定义的 用户定义主题

default_source 指的是应用程序打开时默认选择的数据源。可能的值包括 NyaaTorrentGalaxySukebei。每个数据源都有自己的配置。有关每个数据源配置的更多信息,请参阅 wiki

download_client 指的是应用程序打开时默认选择的下载客户端。每个下载客户端都有自己的配置。有关每个下载客户端配置的更多信息,请参阅 wiki

下载客户端集成

📋 剪贴板

默认情况下,nyaa 使用 OSC52 将文本复制到剪贴板。它是一种大多数终端都支持的 ANSI 转义序列。一些流行终端对 OSC52 的支持状态如下:

终端 OSC52 支持
alacritty
contour
far2l
foot
gnome terminal(和其他 VTE-based 终端) 尚未
hterm
iterm2
kitty
konsole 尚未
qterminal 尚未
rxvt
st (但需要启用,请参阅 此处
terminal.app 否,但请参阅 解决方案
tmux
urxvt (使用脚本,请参阅 此处
wezterm
windows terminal
xterm.js(Hyper 终端)
zellij

来源: vim-oscyank

如果您的终端不受支持,您应该通过向您的 config.toml 中添加以下内容来禁用 OSC52:

[clipboard]
osc52 = false

这将使 nyaa 使用替代方法进行复制,例如 X11 选择或 wl-clipboard。有关剪贴板的更多信息,请参阅 wiki;

🎨 自定义主题

请参阅 wiki 了解如何添加 用户定义主题

🗺️ 规划中的功能

  • 鼠标支持
  • 自定义用户定义的数据源
  • 除了 nyaa 之外的数据源
  • 用户定义主题
  • 与 torrent 客户端的集成
  • RPM 发布
  • Nyaa 代理/镜像支持
  • 页面导航
  • 选择 HTML 源代码抓取器或 RSS 源

依赖项

~21–41MB
~693K SLoC