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, 隐私保护, 零依赖