torlink search无头搜索:一条命令输出JSON并接入jq,构建你的自动化脚本流水线

torlink search无头搜索:一条命令输出JSON并接入jq,构建你的自动化脚本流水线 torlink search无头搜索一条命令输出JSON并接入jq构建你的自动化脚本流水线【免费下载链接】torlink A sleek, zero-setup torrent finder and downloader that lives right in your terminal.项目地址: https://gitcode.com/gh_mirrors/tor/torlinktorlink 是一款零配置的终端 torrent 搜索与下载工具而search无头模式是它的隐藏利器一条命令即可把多源聚合搜索结果输出为一份标准 JSON直接管道给jq解析轻松搭建你的自动化脚本流水线。本文带你用最短路径掌握 torlink headless 搜索的完整用法。30秒上手安装与首次运行torlink 只依赖 Node.js无需任何数据库或配置文件。安装 Node 之后在终端里只需一条命令npx torlnk这会打开交互式 TUI。而今天的主角是它的无头子命令——不启动界面、不占屏幕跑完即退出torlnk search dune --category movies执行后标准输出里只会出现一份 JSON 文档随后进程立即退出。这是专为脚本设计的输出形态见 src/index.tsx 中的注释说明One JSON document on stdout, then exit: the shape a script can pipe into jq。JSON 输出结构一次读懂每个字段search命令返回的 JSON 文档由 5 个顶层字段组成定义在 src/cli/search.ts 的SearchDocument接口中字段含义示例query你的搜索词dunecategory搜索的分类未指定时为allmoviescount去重后的结果总数42sources每个数据源的执行状态见下文results合并去重后的资源列表见下文results中每一项包含 torrent 的关键元数据类型定义见 src/sources/types.tsname名称、sizeBytes大小、seeders/leechers做种与下载人数、source来源站点、magnet磁力链接、infoHash哈希等。sources字段则记录了每个数据源的健康状况方便你排查某个站点是否离线yts: { ok: true, count: 12, error: null, code: null }, x1337-movies: { ok: false, count: 0, error: source unavailable, code: HTTP 503 }用 jq 过滤 JSON5 个最实用的管道命令拿到 JSON 后jq就是你的瑞士军刀。以下命令覆盖了最常见的自动化场景① 只看名称和种子数按健康度排序输出torlnk search dune --category movies \ | jq -r .results[] | \(.seeders)\t\(.name)② 提取前 5 大资源的磁力链接结果默认已按种子数降序排列见下文排序机制torlnk search big buck bunny \ | jq -r .results[:5] | .[].magnet③ 筛选大于 1GB 且种子数超过 10 的资源torlnk search ubuntu --category games \ | jq -r .results[] | select(.sizeBytes 1073741824 and .seeders 10) | .name④ 检查哪些数据源离线了torlnk search matrix \ | jq -r .sources | to_entries[] | select(.value.ok false) | \(.key): \(.value.code)⑤ 判断结果总数是否达到阈值驱动后续动作torlnk search my show --category tv \ | jq -e .count 10分类过滤与排序机制--category支持四个取值games、movies、tv、anime参数解析见 src/cli/args.ts。各分类对应的数据源如下分类数据源GamesFitGirlMoviesYTS、The Pirate Bay、1337x、BitTorrentedTVEZTV、The Pirate Bay、1337x、BitTorrentedAnimeNyaa、SubsPleaseall默认以上全部指定分类可以显著减少无关节点、加快响应。返回前结果会经过两道处理按infoHash去重多个源返回同一资源时保留种子数最多的一条并合并其 tracker 列表逻辑在 src/ui/dedupe.ts再按种子数降序 → 发布时间降序排序见 src/ui/sort.ts。因此results的第一个元素永远是当下最健康的资源管道取.[0]即可。退出码设计脚本错误处理的关键很多工具搜不到结果就报错torlink 的退出码设计更讲究见 src/cli/search.test.ts 中的测试用例退出码 0至少有一个数据源成功响应——哪怕结果为空健康但没搜到仍是成功退出码 1所有数据源全部失败——网络断了或站点集体下线脚本应据此重试或告警。这意味着你写set -e的脚本时可以直接依赖退出码if torlnk search something /tmp/result.json; then # 至少一个源正常安全解析 JSON jq -r .results[0].magnet /tmp/result.json else # 所有源都挂了告警或稍后重试 echo torlink: all sources failed 2 fi进阶一条完整的自动化流水线把上面的能力组合起来下面是一个定时扫描 → 筛选健康资源 → 生成下载清单的完整脚本可直接放入 crontab#!/usr/bin/env bash set -euo pipefail QUERYmy show CATEGORYtv MIN_SEEDERS5 MAGNET$(torlnk search $QUERY --category $CATEGORY \ | jq -r --argjson min $MIN_SEEDERS \ [.results[] | select(.seeders $min)] | first | .magnet // empty) if [ -n $MAGNET ]; then echo $MAGNET /var/log/torlink-queue.txt fi再配合 torlink 的其他无头模式还能构建更长的流水线watch模式可以自动下载投递到指定目录的.torrent文件serve模式提供 HTTP API 接收磁力链接详见torlnk --help与 README.md。小结torlnk search query [--category ...]一条命令输出单份 JSON天生为管道而生结果自动去重、按健康度排序results[0]即最优资源退出码区分搜不到与全挂了脚本错误处理更精准配合jq的select、切片与first几分钟就能搭起自己的搜索自动化。零配置、纯标准输出、确定性的 JSON 结构——这就是 torlink headless 模式值得写进你脚本库的全部理由。【免费下载链接】torlink A sleek, zero-setup torrent finder and downloader that lives right in your terminal.项目地址: https://gitcode.com/gh_mirrors/tor/torlink创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考