Project Icon

toru

命令行动漫种子流媒体工具

Toru是一款面向动漫爱好者的命令行工具,支持浏览和搜索nyaa.si上的最新动漫内容。用户可通过MPV等播放器直接从命令行流式观看动漫,Toru将内容以localhost形式提供,便于访问。此工具还可作为磁力链接的种子客户端使用,支持Linux、MacOS、Android和Windows等多个平台,简化了流媒体观看和种子下载流程。




Toru: 直接从命令行即时流式传输种子

Toru是为动漫爱好者设计的命令行工具。通过Toru的直观界面浏览nyaa.si上的最新发布或搜索特定标题。使用MPV或您喜欢的视频播放器或浏览器直接从命令行流式传输剧集。 Toru通过localhost提供所选动漫,使其像任何HTTP链接一样易于访问。它还可以作为磁力链接的便捷种子客户端。使用Toru简化您的流媒体和种子下载体验。

https://github.com/sweetbbak/toru/assets/75046310/4a2a8c2e-3a11-4771-b79e-66e4de77a8b8

目录

安装

快速安装预编译二进制文件

export PREFIX="$HOME/bin"
wget "https://github.com/sweetbbak/toru/releases/download/v0.1/toru_$(uname -s)_$(uname -m).tar.gz" -O - | tar -xz
mv toru "${PREFIX}"

在Windows上

iwr -Uri "https://github.com/sweetbbak/toru/releases/download/v0.1/toru_Windows_x86_64.zip" -OutFile toru_Windows_x86_64.zip

使用Nix

nix profile install github:sweetbbak/toru
安装Go 安装go 该项目需要go 1.21.7或更高版本。
go install github.com/sweetbbak/toru/cmd/toru@latest
从源代码构建

建议使用Go并配合gup,以便轻松更新

git clone https://github.com/sweetbbak/toru.git && cd toru
go build -o toru ./cmd/toru

您也可以使用justfile

git clone https://github.com/sweetbbak/toru.git && cd toru
just

或使用makefile

git clone https://github.com/sweetbbak/toru.git && cd toru
make build

在非nixOS发行版上使用dockerpodmanshell.nix文件 这将自动拉取正确版本的Go并安装just,使构建变得简单。

git clone https://github.com/sweetbbak/toru.git && cd toru
# 将项目目录挂载到容器内
podman run --volume $(pwd):/toru -ti docker.io/nixos/nix:latest
# 在容器内运行:
cd /toru
nix-shell
just

为不同平台和架构构建

运行以下命令查找目标架构和平台:

go tool dist list

然后在使用构建命令之前使用环境变量GOOSGOARCH

示例:

GOOS=linux GOARCH=arm64 go build -o toru ./cmd/toru

如果您这样做,请随时为平台创建一个问题,报告构建情况 到目前为止,Android和Termux以及arm 6存在问题。

如果您使用nix或已安装nix,可以直接使用shell.nix并运行justmake

示例

搜索动漫:

toru search -j "one piece" # 输出json
toru search -i "one piece" # 使用fzf交互式搜索

toru进行中的示例

所选种子将开始播放,视频播放器关闭后, 您将有选择另一集、进行新的搜索查询或退出的选项。

查看 nyaa.si上最新的动漫,在交互式fzf会话中

toru search --latest

搜索特定关键词或系列

toru search "Akuyaku"

如果您知道内容的磁力链接,可以直接下载或流式传输

toru stream --magnet 'magnet:?xt=urn:btih:1...announce'
toru download --magnet 'magnet:?xt=urn:btih:1...announce'

以上所有操作都会输出一个可用于流式传输种子的链接 'http://localhost:8080/stream?ep=torrent_info_hash' 您可以像处理任何其他http链接一样使用此链接,用mpvvlc进行流式传输,下载它,使用yt-dlp,或在浏览器中打开等...

使用代理Nyaa站点

这对于绕过地理限制和浏览"特殊"Nyaa站点很有帮助

toru search --proxy="https://sukebei.nyaa.si" -i
toru search --proxy="https://nyaa.ink.iss" -i

处理输入和输出

您可以使用toru搜索动漫和其他媒体类型,然后以多种格式输出结果。 以Json格式输出并使用jq解析输出:

toru search --latest --json | jq -r '.[]|.Name,.Magnet'

从json文件打开缓存的搜索会话

toru search --json "one piece" > cache.json
toru search --from-json cache.json --interactive

以人类可读格式输出:

toru search "akuyaku 99 1080p"
# 输出:
[Erai-raws] Akuyaku Reijou Level 99 - 01 [1080p][Multiple Subtitle] [ENG][POR-BR][SPA-LA][SPA][ARA][FRE][GER][ITA][RUS]
2024-01-09 07:36:29
下载次数:1203
[33|0]
大小:727 MB
magnet:... [ 此处为磁力链接 ]

使用toru创建您自己的CLI工具

# 使用toru创建JSON文件
toru search --latest --json > out.json
# 这是一个使用fzf和toru创建简单界面来选择和播放种子的示例
# 您也可以用任何CLI种子客户端替换toru
cat out.json | jq '.[].Name' | \
fzf --preview='cat out.json | jq -r ".[{n}]"' \
  --bind "enter:become(cat out.json | jq -r '.[{n}].Magnet')" | \
  xargs toru stream --magnet

Shell补全

ZSH

安装bash补全

  • completions目录中的_toru文件复制到您的$FPATH

  • 使用 echo $FPATH | sed "s/:/\n/g" 查看 $FPATH 中的目录列表

  • 在交互式 shell 中运行此命令或将其添加到 .zshrc 文件中

source <(toru init --zsh)

BASH

安装 bash 补全

  • completions 目录中的 _toru_bash 文件放入你的补全路径

  • 在交互式 shell 中运行此命令或将其添加到 .bashrc 文件中

source <(toru init --bash)

[!重要]
toru 目前处于早期开发阶段!为了提供一致和流畅的体验, CLI 界面可能会发生变化。非常欢迎关于项目结构、包组织和 toru 用户界面的 PR、建议和反馈。

目前在 Linux、Mac 和 Windows 上测试通过 我非常感谢有人能报告在任何 BSD、其他小众设备或架构上的功能情况 Android 上的 termux 目前存在 UDP 问题。我对 Android 的工作原理不太了解

功能

  • 从种子流式播放动画
  • 添加 Nyaa.si 作为来源
  • 为韩国和美国电影添加通用种子追踪器库
  • 打包为各种格式(AUR、DEB、Flatpak、AppImage、发布二进制文件)
  • 确保跨平台兼容性并致力于保持一致性(应该可以工作,但目前未经测试)

更新日志

2024-05-21

  • 添加了 zsh 和 bash 补全
  • 支持多文件种子

2024-03-1

  • 添加了 --proxy,允许使用 nyaa 代理站点和 sukebi
  • 添加了禁用 ipv6 的功能
  • 子命令 "run" 现在接受尾随搜索词参数

适合参与的问题

  • 为你的发行版添加一个包
  • 修复交互式搜索时进度条和 fzf 界面之间的竞态条件

路线图

  • 后台守护进程化并在套接字上监听命令(用户可选,有时这很烦人)
  • 简单的种子客户端功能(下载|做种|添加磁力链接|流式传输|搜索)
  • nyaa.si 外添加其他追踪器
  • 使用 bubbletea 扩展用户界面

贡献

Fork 项目!
创建你的功能分支:git checkout -b my-new-feature
提交你的更改:git commit -m '添加一些功能'
推送到分支:git push origin my-new-feature
提交一个拉取请求 🤘

欢迎 PR!本项目目前使用 Golang 1.22.2 请确保使用 gofmt 格式化 go 文件,使用 alejandra 格式化 nix 文件。除非是小改动 或关于拼写错误、自述文件或文档的更改,否则我可能会拒绝直接提交到 main 分支的 PR。

为什么要做这个?

因为抓取非常烦人,而且经常会失效。此外,_有人_在为那些服务器付费。 种子更能抵抗下架,希望能有更长的寿命。

致谢

种子库: anacrolix/torrent

Nyaa 包修改自: Feyko/nyaa-go

支持

考虑创建 PR、解决 TODO 列表中的小问题、提出问题以帮助改进功能或给我买杯咖啡!

moe-visitor-counter moe

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号