robtex/sdk

GitHub: robtex/sdk

轻量级 TypeScript SDK,封装 Robtex API 的 DNS、IP、比特币与闪电网络情报查询,解决多平台网络情报获取与分析的便捷性问题。

Stars: 1 | Forks: 0

# @robtex/sdk 轻量级 [Robtex](https://robtex.com) API SDK。DNS、IP、AS、比特币和闪电网络智能分析。 - 零依赖 - 纯 ESM JavaScript 与 JSDoc 类型 —— 无需构建步骤,无 `tsx`,可在原生 `node` (>=20) 运行 - 通过 JSDoc 提供编辑器智能感知(适用于 VS Code、WebStorm、Cursor 等) - 全平台支持:Node、Deno、Bun、Cloudflare Workers、浏览器 - 55 个端点,涵盖 DNS、被动 DNS、IP 信誉、地理位置、BGP、域名分析、比特币与闪电网络 ## 安装 ``` npm install @robtex/sdk ``` ## 快速开始 ``` import { Robtex } from '@robtex/sdk'; const api = new Robtex(); // DNS lookup const dns = await api.lookupDns({ hostname: 'google.com' }); // IP reputation — check against 100+ blocklists const rep = await api.ipReputation({ ip: '8.8.8.8' }); // Passive DNS — find all records for a domain const pdns = await api.pdnsForward({ domain: 'example.com' }); // Bitcoin address lookup const addr = await api.lookupBitcoinAddress({ address: '1A1zP1eP5QGefi2DMPTfTL5SLmv7DivfNa' }); ``` ## 认证(可选) 无需密钥即可使用(限制为每小时 10 次请求)。更高限制的三种方案: ``` // Free — no key, 10 req/hr const api = new Robtex(); // Pro API key — higher limits const api = new Robtex({ apiKey: 'your-key' }); // RapidAPI key — managed billing, plans from $19/mo const api = new Robtex({ rapidApiKey: 'your-rapidapi-key' }); ``` 在 https://rapidapi.com/robtex/api/robtex 获取 RapidAPI 密钥 ## 多步骤调查示例 ``` import { Robtex } from '@robtex/sdk'; const api = new Robtex(); // Investigate a domain: DNS + IP reputation + shared hosting const dns = await api.lookupDns({ hostname: 'suspicious-site.com' }); const ip = dns.records.find(r => r.type === 'A')?.value; if (ip) { const [reputation, shared, geo] = await Promise.all([ api.ipReputation({ ip }), api.domainSharedIp({ hostname: 'suspicious-site.com' }), api.ipGeolocation({ ip }), ]); console.log({ dns, ip, reputation, shared, geo }); } ``` ## 所有方法 ### DNS | 方法 | 描述 | |------|------| | `lookupDns({ hostname })` | 主机的所有 DNS 记录 | | `dnsA({ hostname })` | A 记录 | | `dnsAAAA({ hostname })` | AAAA 记录 | | `dnsMx({ hostname })` | MX 记录 | | `dnsNs({ hostname })` | NS 记录 | | `dnsTxt({ hostname })` | TXT 记录 | | `dnsCname({ hostname })` | CNAME 记录 | | `dnsSoa({ hostname })` | SOA 记录 | | `dnsPtr({ ip })` | IP 的 PTR 记录 | ### 反向 DNS | 方法 | 描述 | |------|------| | `reverseLookupDnsRecords({ Value, type?, limit?, offset? })` | 使用 DNS 值查询主机名 | | `reverseLookupIp({ ip, limit?, offset? })` | 指向某 IP 的主机名 | | `reverseLookupMx({ mx, limit?, offset? })` | 使用邮件服务器的主机名 | | `reverseLookupNs({ nameserver, limit?, offset? })` | 使用名称服务器的主机名 | | `reverseLookupCname({ target, limit?, offset? })` | 指向目标 CNAME 的主机名 | ### 历史反向 DNS | 方法 | 描述 | |------|------| | `historicReverseLookupIp({ ip, limit?, offset? })` | 曾指向某 IP 的主机名 | | `historicReverseLookupNs({ nameserver, limit?, offset? })` | 曾使用名称服务器的主机名 | | `historicReverseLookupMx({ mx, limit?, offset? })` | 曾使用邮件服务器的主机名 | | `historicReverseLookupCname({ target, limit?, offset? })` | 曾 CNAME 到目标的主机名 | ### 被动 DNS | 方法 | 描述 | |------|------| | `pdnsForward({ domain })` | 域名到 DNS 记录(返回数组) | | `pdnsReverse({ value, type? })` | 值到域名(返回数组) | | `pdnsReverseHistoric({ value, type? })` | 历史反向被动 DNS(返回数组) | ### IP 智能分析 | 方法 | 描述 | |------|------| | `ipReputation({ ip })` | 检查超过 100 个阻断列表 | | `ipGeolocation({ ip })` | 国家、城市、坐标 | | `ipNetwork({ ip })` | BGP 路由、ASN | | `ipToAsn({ ip })` | 将 IP 映射到 AS 编号 | | `ipBlocklistCheck({ ip })` | 威胁情报阻断列表(FireHOL、IPsum) | | `ipThreatIntel({ ip })` | AbuseIPDB、CIRCL BGP 排名 | ### 传统 IP/AS | 方法 | 描述 | |------|------| | `ipquery({ ip })` | 经典 IP 查询(DNS + 地理 + 网络) | | `asquery({ asn })` | 查询某个 AS 编号的网络 | ### AS / 路由 | 方法 | 描述 | |------|------| | `asInfo({ asn })` | AS 名称与组织 | | `asPrefixes({ asn })` | 通告的 BGP 前缀 | | `lookupAsWhois({ asn })` | AS 的 WHOIS 信息 | ### 域名分析 | 方法 | 描述 | |------|------| | `domainReputation({ hostname })` | 信誉与威胁数据 | | `domainRanking({ hostname })` | 流行度(Tranco、Majestic、Umbrella、CrUX) | | `domainBlocklistCheck({ hostname })` | DNS 阻断列表检查 | | `domainSharedIp({ hostname, limit? })` | 共享同一 IP 的域名 | | `domainSharedNs({ hostname, limit? })` | 共享相同名称服务器的域名 | | `domainSharedMx({ hostname, limit? })` | 共享同一邮件服务器的域名 | ### 主机名工具 | 方法 | 描述 | |------|------| | `parseHostname({ hostname })` | 解析为 eTLD、域名、子域名 | | `isSubdomain({ hostname })` | 检查是否为子域名 | | `registeredDomain({ hostname })` | 提取注册域名 | | `tldInfo({ tld })` | TLD 信息 | ### 闪电网络 | 方法 | 描述 | |------|------| | `lookupLightningNode({ pubkey })` | 通过公钥查询节点信息 | | `lookupLightningChannel({ short_channel_id })` | 查询通道信息 | | `lookupLightningChannelsPerNode({ pubkey, limit?, offset? })` | 查询某节点的通道 | | `getRecommendedLightningPeers({ pubkey, count? })` | 推荐对等节点 | | `searchLightningNodesByAlias({ alias, limit? })` | 按别名搜索节点 | | `latestLightningChannels({ count? })` | 最近打开的通道 | ### 比特币 | 方法 | 描述 | |------|------| | `lookupBitcoinTransaction({ txid })` | 查询交易详情 | | `lookupBitcoinAddress({ address })` | 查询地址信息与余额 | | `lookupBitcoinBlock({ height })` | 查询区块详情 | | `bitcoinAddressTransactions({ address, limit?, offset? })` | 查询地址交易历史 | | `bitcoinTransactionSpends({ txid })` | 查询花费该交易输出的交易 | | `bitcoinBlockchainStats({ start_height, end_height })` | 查询区块范围统计 | ### 工具方法 | 方法 | 描述 | |------|------| | `lookupMac({ mac })` | 查询 MAC 地址厂商(IEEE OUI) | | `checkEmail({ email })` | 通过 SMTP 验证邮箱 | | `ping()` | API 健康检查 | ## 通用调用 对于任意端点(包括未来新增端点): ``` const result = await api.call('some_endpoint', { param1: 'value' }); ``` ## 错误处理 ``` import { Robtex, RobtexError } from '@robtex/sdk'; const api = new Robtex(); try { await api.ipReputation({ ip: '8.8.8.8' }); } catch (e) { if (e instanceof RobtexError && e.status === 429) { console.log(`Rate limited. Retry after ${e.retryAfter}s`); } } ``` ## 自定义 Fetch 传入自定义 fetch 以支持代理、日志或测试: ``` const api = new Robtex({ fetch: (url, init) => { console.log('Fetching:', url); return globalThis.fetch(url, init); }, }); ``` ## 链接 - [Robtex](https://robtex.com) — Web 界面 - [API 文档](https://freeapi.robtex.com/api-docs.json) — OpenAPI 规范 - [MCP 服务器](https://mcp.robtex.com) — 模型上下文协议 - [RapidAPI](https://rapidapi.com/robtex/api/robtex) — 托管 API 市场 ## 许可证 MIT
标签:API客户端, AS信息, BGP, Bitcoin查询, Bun, CDN识别, Deno, DNS查询, ESM, GNU通用公共许可证, IntelliSense, IP信誉, IP地理定位, JSDoc类型, Lightning网络, MITM代理, Node.js, Robtex API, SEO: Bitcoin智能, SEO: DNS智能, SEO: IP声誉, SEO: Robtex SDK, Sigma 规则, TypeScript SDK, 域名分析, 多端运行, 安全研发, 开源SDK, 无构建步骤, 浏览器兼容, 程序员工具, 网络安全, 网络情报, 自定义脚本, 被动DNS, 隐私保护, 零依赖