PiHiker/arkapi
GitHub: PiHiker/arkapi
一个以比特币微支付驱动的匿名按调用付费 API 网关,提供安全侦察、OSINT、AI 等多类端点,无需注册即可使用。
Stars: 1 | Forks: 0
# ArkAPI
[](https://arkapi.dev)
[](./LICENSE)
[](https://go.dev/)
[](https://en.bitcoin.it/wiki/Signet)
[](https://ark-protocol.org/)
**由 Bitcoin 驱动的按调用付费 API。无需账户。无需长期 API 密钥。只需聪。**
[实时站点](https://arkapi.dev) ·
[API 文档](https://arkapi.dev/docs/) ·
[OpenAPI 规范](https://arkapi.dev/openapi.json) ·
[为会话充值](https://arkapi.dev/fund/)
[](https://arkapi.dev)
ArkAPI 是一个 Bitcoin 原生 API 网关,通过微支付来计量对安全、OSINT、AI 和实用工具端点的访问。用聪为匿名会话充值,然后调用任何端点,直到余额耗尽。
它使用 [Second](https://second.tech/) 的 [Bark](https://github.com/ark-bitcoin/bark) 钱包和 [Ark 协议](https://ark-protocol.org/) 在 Signet 测试网络上进行会话充值。目前,每个会话可以通过 Signet Lightning 发票或 Signet Ark 地址进行充值。
### 为什么选择 ArkAPI?
- **无需注册** — 只需一个 POST 请求即可创建会话,无需电子邮件或 OAuth
- **无需轮换 API 密钥** — 会话是由 Bitcoin 充值的短期 bearer token
- **对 Agent 友好** — 机器可读的 OpenAPI 规范、`llms.txt` 和 `.well-known/arkapi.json`,支持自主发现
- **按需付费** — 每次调用定价从 1 到 100 聪不等,无订阅费
- **极小数据足迹** — 无账户,无电子邮件 — 仅保留会话状态和账单记录
- **可自托管** — MIT 许可证的 Go 二进制文件,附带用于所有依赖项的 Docker Compose
## 前置条件
- Go 1.25+
- Docker 和 Docker Compose
- MySQL 或 MariaDB
- 如果需要生产级前端,可使用 Apache 或其他反向代理
- 在宿主机或容器构建路径中可用的 `dig` 和 `whois`
## 快速开始
```
# 1. 创建 Signet 会话
curl -X POST https://arkapi.dev/v1/sessions
# 2. 使用返回的 token 调用 API
TOKEN="ak_your_token_here"
curl -H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"domain":"example.com"}' \
https://arkapi.dev/api/dns-lookup
```
## 发现与索引
ArkAPI 发布机器可读的元数据,以便 AI agent 和工具可以在无需自定义胶水代码的情况下发现端点:
| URL | 用途 |
|-----|---------|
| [`openapi.json`](https://arkapi.dev/openapi.json) | 完整的 OpenAPI 3 规范,包含 `x-cost-sats` 定价 |
| [`.well-known/arkapi.json`](https://arkapi.dev/.well-known/arkapi.json) | 轻量级服务清单 |
| [`llms.txt`](https://arkapi.dev/llms.txt) | LLM 友好的纯文本摘要 |
| [`llms-full.txt`](https://arkapi.dev/llms-full.txt) | 扩展的 LLM 参考 |
| [`sitemap.xml`](https://arkapi.dev/sitemap.xml) | 用于爬虫的 XML 站点地图 |
| [`bitcoin-news/`](https://arkapi.dev/bitcoin-news/) | Bitcoin News API 的专用着陆页 |
OpenAPI 规范包括 bearer token 身份验证 (`Authorization: Bearer ak_xxx`)、请求/响应模式,以及以聪为单位的明确单端点定价。
如果您部署自己的实例,请生成您自己的 IndexNow 验证密钥,而不是重用生产环境的密钥。
## API 参考
### 公开端点(无需身份验证)
| 方法 | 路径 | 描述 |
|--------|------|-------------|
| GET | `/health` | 健康检查,返回 `{"status":"ok"}` |
| GET | `/v1/catalog` | 列出所有端点和定价 |
| POST | `/v1/sessions` | 创建新会话 |
### 受保护端点(需要身份验证)
全部需要请求头:`Authorization: Bearer ak_xxxxx`
| 方法 | 路径 | 成本 | 描述 |
|--------|------|------|-------------|
| GET | `/v1/balance` | 免费 | 检查会话余额 |
| POST | `/api/ai-chat` | 100 聪 | 由 ArkAPI 管理推理的匿名 AI 聊天 |
| POST | `/api/ai-translate` | 25 聪 | 带有风格控制的高质量 AI 翻译,输出更自然 |
| POST | `/api/domain-intel` | 25 聪 | 聚合 DNS、WHOIS、TLS、请求头、电子邮件身份验证、security.txt、robots.txt、改进的技术指纹、HTTP 行为和已解析的 IP 情报 |
| GET | `/api/btc-price` | 1 聪 | 10 种主要法定货币的实时 Bitcoin 现货价格,带有可选的货币筛选、市场统计和 Alternative.me 的恐惧贪婪指数 (fear_greed sentiment) |
| POST | `/api/prediction-market-search` | 4 聪 | 搜索开放的 Polymarket 预测市场 |
| POST | `/api/translate` | 3 聪 | 带有源语言自动检测的自托管文本翻译 |
| POST | `/api/url-to-markdown` | 5 聪 | 从任何公开 URL 提取干净的 Markdown |
| POST | `/api/axfr-check` | 12 聪 | 检查域是否允许 DNS 区域传输,并在可用时返回暴露的 AXFR 记录 |
| POST | `/api/cve-lookup` | 3 聪 | 在 NVD 中查找 CVE,包含严重性、CWE、KEV 和参考链接 |
| POST | `/api/dns-lookup` | 3 聪 | 以结构化 JSON 返回完整 DNS 记录 |
| POST | `/api/bitcoin-address` | 3 聪 | 验证主网 Bitcoin 地址并获取链上余额数据 |
| POST | `/api/bitcoin-news` | 2 聪 | 多来源 Bitcoin 新闻头条,带有跨信息流去重和 AI 辅助的单项情感分析 |
| POST | `/api/cve-search` | 4 聪 | 按关键字搜索 NVD CVE |
| POST | `/api/hash-crack` | 25 聪 | 使用 fasttrack 字典加上 John Wordlist 规则恢复弱 MD5、SHA1、SHA256 或 NTLM 哈希 |
| POST | `/api/domain-check` | 3 聪 | 通过 WHOIS 检查域可用性 |
| POST | `/api/email-auth-check` | 4 聪 | SPF、DKIM 和 DMARC 状态及 A-F 评级 |
| POST | `/api/headers` | 3 聪 | 带有评分的 HTTP 安全头审计 |
| POST | `/api/image-generate` | 25 聪 | AI 图像生成,提供短期下载 URL |
| POST | `/api/ip-lookup` | 3 聪 | IP 地理定位、ISP、ASN、大致位置及 Google 地图链接 |
| POST | `/api/qr-generate` | 2 聪 | 从文本或 URL 生成二维码 PNG |
| POST | `/api/screenshot` | 15 聪 | 服务器端网页截图及下载 URL |
| POST | `/api/ssl-check` | 5 聪 | SSL 证书分析 |
| POST | `/api/weather` | 3 聪 | 当前天气 + 7 天预报 |
| POST | `/api/whois` | 5 聪 | 解析为干净 JSON 的 WHOIS 数据 |
### 创建会话
**Signet 充值模式**(当前线上模式):
```
curl -X POST -H "Content-Type: application/json" \
-d '{"amount_sats": 500}' \
https://arkapi.dev/v1/sessions
```
同时返回一个 Signet Lightning 发票和一个 Signet Ark 地址。支付任意一个即可激活会话:
```
{
"token": "ak_xxx",
"funding": {
"lightning_invoice": "lntbs...",
"ark_address": "tark1...",
"payment_hash": "abc123..."
},
"amount_sats": 500,
"balance_sats": 0,
"status": "awaiting_payment",
"expires_in": 86400
}
```
当前线上公开充值页面:[为会话充值](https://arkapi.dev/fund/)
此部署仅运行在 **Signet 测试网络**上。同一会话对象支持两种充值途径,一旦任意一种支付结算,ArkAPI 就会激活余额。
### 请求/响应示例
### 响应格式
所有 API 端点返回一致的响应包装器:
```
{
"success": true,
"data": { ... },
"cost_sats": 3,
"balance_remaining": 9997,
"response_ms": 142,
"endpoint": "/api/dns-lookup"
}
```
错误时(不收费):
```
{
"success": false,
"error": "description of what went wrong",
"cost_sats": 0,
"endpoint": "/api/dns-lookup"
}
```
## 架构
```
Internet
|
v
Cloudflare (SSL termination)
|
v
Apache (reverse proxy on host)
| proxies /health, /v1/*, /api/* to localhost:8080
| serves static landing page at /
v
+-----------------------------------------------+
| Docker / Host Services |
| |
| +--------------+ +----------------------+ |
| | arkapi |--->| bark (barkd) | |
| | Go binary | | Ark wallet | |
| | :8080 | | :3000 (localhost) | |
| | (host net) | +----------------------+ |
| +------+-------+ |
| | +----------------------+ |
| +----------->| LibreTranslate | |
| | | :5001 (localhost) | |
| | +----------------------+ |
| | +----------------------+ |
| +----------->| Screenshotter | |
| | | :9010 (localhost) | |
| | +----------------------+ |
| | |
| +-----------> MySQL :3306 (host) |
+---------|---------------------------------------+
|
+----> External / host-local upstreams
- ComfyUI (:8188 on host in reference deployment)
- Cloudflare AI
- Open-Meteo
- NVD API
- Polymarket Gamma API
- Public DNS / WHOIS / RDAP services
```
### 组件
- **Apache** — 宿主机上的示例反向代理。将 `/health`、`/v1/*` 和 `/api/*` 路由到 Go 后端,并可在 `/` 提供静态站点服务。
- **Cloudflare** — Web 层前可选的 DNS、TLS 和 CDN 层。
- **arkapi 容器** — 以 `network_mode: host` 运行的 Go 二进制文件。在 `127.0.0.1:8080` 上提供 API 服务,处理会话、身份验证、速率限制、计费,并调用本地辅助服务和外部上游 API。安装 `dig`、`whois` 和 `curl` 以用于基于命令的处理器。
- **bark 容器** — Second 在 Bitcoin Signet 上的 `barkd` 守护进程。在 `127.0.0.1:3000` 上暴露 REST API,并处理 Lightning 发票和 Ark 地址充值的会话资金检测。钱包数据持久化在 `bark-data` Docker 卷中。
- **translate 容器** — 在 `127.0.0.1:5001` 上的自托管 LibreTranslate 服务。
- **screenshotter 容器** — 在 `127.0.0.1:9010` 上的基于 Playwright 的截图服务。
- **MySQL** — 在 `127.0.0.1:3306` 上的宿主数据库,用于会话、余额和调用日志。`arkapi` MySQL 用户的作用域限定在 `arkapi` 数据库。
- **DB-IP Lite MMDB 文件** — 由 `/api/ip-lookup` 从磁盘读取的自托管 IP 地理定位数据库。非外部服务。
- **外部上游服务** — 在本地基础设施并非真实数据源的情况下,ArkAPI 也会调用上游服务:
- 参考部署中位于 `127.0.0.1:8188` 的 **ComfyUI**,用于 `/api/image-generate`
- **Cloudflare AI**,用于 `/api/ai-chat` 和 `/api/ai-translate`
- **Open-Meteo**,用于 `/api/weather`
- **NVD API**,用于 `/api/cve-search` 和 `/api/cve-lookup`
- **Polymarket Gamma API**,用于 `/api/prediction-market-search`
- **公共 WHOIS、RDAP 和 DNS 基础设施**,用于域名和注册情报
### AI 聊天安全说明
- `/api/ai-chat` 限制为每个 token `5次/天`。
- 完全重复的请求可能会从 ArkAPI 缓存中提供服务,但成功的调用仍会被计费。
- 拒绝调用方提供的 `system_prompt`。
- 调用方提供的聊天记录只能包含 `user` 和 `assistant` 角色;拒绝 `system` 角色输入。
- 内置的系统指令明确拒绝泄露隐藏提示内部配置。
### 网络
- arkapi 使用 `network_mode: host`,以便它能访问宿主机本地的 MySQL 和绑定到 localhost 的辅助服务。
- arkapi 本身仍旨在通过 Apache 访问,并可选择通过 Cloudflare 访问。
- bark 仅向 `127.0.0.1` 暴露 3000 端口 —— 无法从互联网访问。
- ComfyUI 在参考部署中使用时,仅监听 `127.0.0.1:8188` —— 无法从互联网访问。
- LibreTranslate 仅向 `127.0.0.1` 暴露 5001 端口 —— 无法从互联网访问。
- Screenshotter 仅向 `127.0.0.1` 暴露 9010 端口 —— 无法从互联网访问。
- 在参考部署中,只有 Web 层在端口 `80` 和 `443` 上面向互联网。Bark、ComfyUI、翻译、截图和数据库服务均保持绑定到 localhost。
- 如果您需要可选的流量报告,请将 `ARKAPI_ADMIN_TRAFFIC_LOG_PATH` 设置为可读的 Web 访问日志路径。
## 服务器运维
### 文件位置
以下路径使用参考部署布局。请根据您的设置进行调整。
| 路径 | 用途 |
|------|---------|
| `./` | 项目根目录 —— 源代码和 compose 文件 |
| `./.env` | 环境变量 (chmod 600,不纳入 git) |
| `./docker-compose.yml` | 主服务 (arkapi + bark + translate + screenshotter) |
| `./translate/Dockerfile` | 专用的自托管 LibreTranslate 容器 |
| `./docker-compose.consumer.yml` | 测试消费者钱包 |
| `site/` | 静态站点文件(由您的反向代理提供服务) |
### Docker 命令
```
# 查看运行中的容器
sudo docker compose ps
# 查看日志
sudo docker logs arkapi
sudo docker logs bark
sudo docker logs arkapi-translate
sudo docker logs arkapi-screenshotter
# 重启所有内容
sudo docker compose restart
# 重新构建并重启(在代码更改之后)
sudo docker compose up -d --build
# 停止所有内容
sudo docker compose down
```
### Bark 钱包管理
```
# 检查钱包余额(通过 REST API,因为 barkd 持有锁)
curl -s http://127.0.0.1:3000/api/v1/wallet/balance
# 获取钱包地址
curl -s -X POST http://127.0.0.1:3000/api/v1/wallet/addresses/next
# 列出待处理的 Lightning invoices
curl -s http://127.0.0.1:3000/api/v1/lightning/receives
# 从 signet faucet 获取资金
# https://signet.2nd.dev
```
### 运行测试
```
# 完整 API 测试套件(测试模式)
bash scripts/test.sh
# Bark 支付流程测试(需要已注资的消费者钱包)
bash scripts/test-bark.sh
```
### 切换支付模式
编辑 `.env`:
```
# 测试模式 — 即时免费余额,无需 bark
ARKAPI_PAYMENT_MODE=test
# Bark 模式 — 需要 Lightning 支付才能激活会话
ARKAPI_PAYMENT_MODE=bark
```
然后重新构建:`sudo docker compose up -d --build`
## 配置
所有配置均通过环境变量完成。将 `.env.example` 复制到 `.env` 并进行编辑:
| 变量 | 默认值 | 描述 |
|----------|---------|-------------|
| `ARKAPI_PORT` | `8080` | HTTP 服务器端口 |
| `ARKAPI_BIND_HOST` | `127.0.0.1` | HTTP 服务器绑定地址 |
| `ARKAPI_DB_USER` | `arkapi` | MySQL 用户名 |
| `ARKAPI_DB_PASS` | — | MySQL 密码 |
| `ARKAPI_DB_HOST` | `127.0.0.1` | MySQL 主机 |
| `ARKAPI_DB_PORT` | `3306` | MySQL 端口 |
| `ARKAPI_DB_NAME` | `arkapi` | MySQL 数据库名 |
| `ARKAPI_PAYMENT_MODE` | `test` | `test` 或 `bark` |
| `ARKAPI_BARK_URL` | `http://127.0.0.1:3000` | barkd REST API URL |
| `ARKAPI_BARK_TOKEN` | — | barkd 认证 token(如果需要) |
| `ARKAPI_DEFAULT_BALANCE_SATS` | `10000` | 测试模式下的起始余额 |
| `ARKAPI_SESSION_TTL_HOURS` | `24` | 会话过期时间(小时) |
| `ARKAPI_SESSION_CREATE_LIMIT` | `10` | 每个时间窗口的最大会话创建数 |
| `ARKAPI_SESSION_CREATE_WINDOW_SECONDS` | `3600` | 会话创建的速率限制窗口 |
| `ARKAPI_API_RATE_LIMIT` | `60` | 每个 IP 每个窗口的最大 API 调用次数 |
| `ARKAPI_API_RATE_WINDOW_SECONDS` | `60` | API 调用的速率限制窗口 |
## 数据库模式
`arkapi` MySQL 数据库中的两个表:
**sessions** — 已充值的 API 会话
```
token VARCHAR(64) PRIMARY KEY
balance_sats BIGINT NOT NULL DEFAULT 0
status ENUM('awaiting_payment','active','expired')
created_at TIMESTAMP
last_used_at TIMESTAMP NULL
expires_at TIMESTAMP NULL
payment_hash VARCHAR(255) NULL
lightning_invoice TEXT NULL
```
**call_log** — 记录每次 API 调用
```
id BIGINT AUTO_INCREMENT PRIMARY KEY
session_token VARCHAR(64) NOT NULL
endpoint VARCHAR(100) NOT NULL
cost_sats INT NOT NULL
response_ms INT NOT NULL DEFAULT 0
status_code SMALLINT NOT NULL DEFAULT 200
created_at TIMESTAMP
```
## 安全
- **仅限本地的服务绑定** — 参考部署仅在 `80/443` 上暴露 Web 层;后端服务保留在 localhost
- **SSRF 防护** — `/api/headers` 拒绝环回、私有、链路本地和云元数据 IP
- **速率限制** — 会话创建和 API 调用的每 IP/路径限制
- **会话过期** — 在身份验证中间件中强制执行,每次使用时刷新
- **请求大小限制** — 1MB 请求体上限,不接受尾部多余的 JSON
- **非 root 容器** — arkapi 在容器内以 `uid=999` 运行
- **MySQL 隔离** — `arkapi` 用户只能访问 `arkapi` 数据库
- **`.env` 权限** — `chmod 600`,位于 Web 根目录之外
- **Bark 仅限本地** — barkd REST API 绑定到 `127.0.0.1:3000`,无法从互联网访问
- **防止 SQL 注入** — 所有查询均使用参数化语句
- **防止命令注入** — 域名/IP 输入在执行 shell 前经过验证
### 钱包助记词备份
Signet 助记词存储在本地的 `WALLETS.md` (chmod 600,已加入 gitignore) 中以及 Docker 卷内。
公共仓库可以携带 `WALLETS.example.md` 作为安全模板,但绝不包含真实的助记词文件。
**在迁移至主网之前:**
1. 生成**新**钱包 —— 不要重用 Signet 助记词
2. 将商家助记词备份到 Docker 外部的安全位置(加密备份、硬件钱包或密码管理器)
3. 切勿将助记词提交到 git
4. 消费者测试钱包是一次性的,主网上不需要
查看助记词:
```
# Merchant
sudo docker exec bark cat /root/.bark/mnemonic
# Consumer(仅限测试)
sudo docker exec bark-consumer cat /root/.bark/mnemonic
```
### 上线前检查清单
- [ ] 在公开发布前将 `ARKAPI_DEFAULT_BALANCE_SATS` 设置为 `0` 或将 `ARKAPI_PAYMENT_MODE` 设置为 `bark`
- [ ] 考虑将 CORS 源从 `*` 限制为特定域
- [ ] 在测试部署中通过 Signet 水龙头为商家 Bark 钱包充值
- [ ] 使用 Lightning、Ark 充值或两者测试至少一次完整的会话激活流程
- [ ] 在主网上线前安全备份商家钱包助记词
- [ ] 在发布前确认 `.env`、`WALLETS.md` 和 `CLOUDFLARE.md` 保持未跟踪状态
### 发布规范
- 仅将实际密钥保存在本地私有文件中,例如 `.env`、`WALLETS.md` 和 `CLOUDFLARE.md`
- 发布经过清理的模板,例如 `.env.example`、`WALLETS.example.md` 和 `CLOUDFLARE.example.md`,以替代真实文件
- 将 `go.sum` 保留在仓库中,以使构建保持可复现
## 充值流程 (Bark / Ark)
```
Consumer ArkAPI barkd
| | |
| POST /v1/sessions | |
| {"amount_sats": 5000} | |
|----------------------------->| |
| | create funding options |
| |------------------------------>|
| |<------------------------------|
| {"token":"ak_...", | |
| "funding": { | |
| "lightning_invoice": | |
| "ark_address": | |
| }, | |
| "status":"awaiting_payment"} |
|<-----------------------------| |
| | |
| Option A: pay Lightning invoice |
| Option B: send sats to Ark address |
|----------------------------->|------------------------------>|
| | |
| | poll / wallet state |
| |------------------------------>|
| |<------------------------------|
| | |
| | session activated |
| | balance_sats = 5000 |
| | |
| POST /api/domain-intel | |
| Authorization: Bearer ak_...| |
|----------------------------->| |
| {"success": true, | |
| "cost_sats": 25, | |
| "balance_remaining": 4975} | |
|<-----------------------------| |
```
## 项目结构
```
arkapi/
├── cmd/arkapi/main.go # Entry point, routing, server startup
├── internal/
│ ├── bark/
│ │ ├── client.go # barkd REST API client
│ │ └── poller.go # Background payment detection
│ ├── config/config.go # Environment-based configuration
│ ├── database/database.go # MySQL operations (sessions, billing)
│ ├── handlers/
│ │ ├── handlers.go # Shared handler logic, response formatting
│ │ ├── session.go # Session creation (test + bark modes)
│ │ ├── admin.go # Admin/traffic endpoints
│ │ ├── ai_chat.go # Anonymous AI chat (Cloudflare AI)
│ │ ├── ai_translate.go # AI-powered translation
│ │ ├── axfr_check.go # DNS zone transfer check
│ │ ├── bitcoin_address.go # Bitcoin address validation
│ │ ├── bitcoin_news.go # Bitcoin RSS news aggregation
│ │ ├── bitcoin_price.go # Live BTC spot price
│ │ ├── cve_lookup.go # CVE lookup (NVD)
│ │ ├── cve_search.go # CVE keyword search (NVD)
│ │ ├── dns_lookup.go # DNS record lookup
│ │ ├── domain_check.go # Domain availability check
│ │ ├── domain_intel.go # Aggregate domain intelligence
│ │ ├── email_auth_check.go # SPF/DKIM/DMARC audit
│ │ ├── headers.go # HTTP security headers audit (SSRF-safe)
│ │ ├── image_generate.go # AI image generation (ComfyUI)
│ │ ├── ip_lookup.go # IP geolocation (DB-IP Lite)
│ │ ├── markdown.go # URL to Markdown extraction
│ │ ├── prediction_market_search.go # Polymarket search
│ │ ├── qr_generate.go # QR code generation
│ │ ├── screenshot.go # Webpage screenshot
│ │ ├── ssl_check.go # SSL certificate analysis
│ │ ├── translate.go # Self-hosted translation (LibreTranslate)
│ │ ├── weather.go # Weather forecast (Open-Meteo)
│ │ └── whois.go # WHOIS lookup
│ └── middleware/
│ ├── auth.go # Bearer token auth + session validation
│ └── rate_limit.go # Per-IP/path rate limiting
├── scripts/
│ ├── bark-init.sh # Bark wallet init + daemon startup
│ ├── test.sh # API test suite (test mode)
│ └── test-bark.sh # Lightning payment flow test
├── sql/
│ ├── schema.sql # Initial database schema
│ └── 002_bark_columns.sql # Bark payment columns migration
├── Dockerfile # ArkAPI Go container (multi-stage)
├── Dockerfile.bark # Bark wallet daemon container
├── docker-compose.yml # Production services
├── docker-compose.consumer.yml # Test consumer wallet
├── .env.example # Configuration template (copy to .env)
├── .dockerignore
├── .gitignore
└── go.mod
```
## 技术
- **Go 1.25** — 核心 API 服务器和请求编排
- **MySQL 或 MariaDB** — 会话、余额和计费日志
- **Docker Compose** — ArkAPI 和本地辅助服务的编排
- **Apache 或其他反向代理** — 参考部署中的前端 Web 层
- **Cloudflare** — DNS、TLS/CDN,以及用于聊天和 AI 翻译的 AI 推理
- **Second Bark v0.1.0-beta.8** — 用于会话资金检测的 Ark 钱包守护进程
- **Bitcoin Signet** — 当前用于测试的线上充值网络
- **ComfyUI** — 用于 `/api/image-generate` 的宿主机本地图像生成上游服务
- **LibreTranslate** — 用于 `/api/translate` 的本地翻译后端
- **Playwright** — 用于 `/api/screenshot` 的本地截图渲染后端
- **Open-Meteo** — `/api/weather` 的上游天气数据
- **DB-IP Lite** — 用于 `/api/ip-lookup` 中 IP 地理定位的自托管 MMDB 文件
- **NVD API** — 用于搜索和查找的上游 CVE 数据
- **Polymarket Gamma API** — 上游市场发现数据
- **RDAP / WHOIS / DNS 工具** — 注册和域名情报输入
- **ARM64 友好部署** — 示例 Bark 镜像目前针对 ARM64 架构
## 贡献
欢迎贡献!请先开一个 issue 来讨论您想要更改的内容。
1. Fork 本仓库
2. 创建一个功能分支 (`git checkout -b feature/my-change`)
3. 提交您的更改
4. 向 `main` 分支发起 Pull Request
## 许可证
[MIT](./LICENSE) © [PiHiker](https://github.com/PiHiker)
域名情报 (25 sats)
``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"domain":"example.com","ai_summary":true}' \ https://arkapi.dev/api/domain-intel ``` 返回 DNS、WHOIS、TLS、请求头、电子邮件身份验证、security.txt、robots.txt、技术指纹、HTTP 行为、子域名提示、CT 子域名、网络摘要、发现、建议以及可选的 AI 摘要。 公开指南:[Domain Intel](https://arkapi.dev/domain-intel/)匿名 AI 聊天 (100 sats)
``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"prompt":"How is Ark different from Lightning?"}' \ https://arkapi.dev/api/ai-chat ``` 公开指南:[Anonymous AI Chat](https://arkapi.dev/ai-chat/)AI 翻译 (25 sats)
``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"text":"Bonjour tout le monde","target_language":"en","style":"natural"}' \ https://arkapi.dev/api/ai-translate ``` 公开指南:[AI Translate](https://arkapi.dev/ai-translate/)BTC 价格 (1 sat)
``` curl -H "Authorization: Bearer $TOKEN" \ https://arkapi.dev/api/btc-price curl -H "Authorization: Bearer $TOKEN" \ "https://arkapi.dev/api/btc-price?currency=USD" curl -H "Authorization: Bearer $TOKEN" \ "https://arkapi.dev/api/btc-price?currencies=USD,EUR,CAD" ``` 公开指南:[BTC Price](https://arkapi.dev/btc-price/)预测市场搜索 (4 sats)
``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"query":"bitcoin etf","limit":5}' \ https://arkapi.dev/api/prediction-market-search ``` 公开指南:[Prediction Market Search](https://arkapi.dev/prediction-market-search/)更多端点示例(翻译、URL 转 Markdown、AXFR、CVE、DNS、WHOIS、SSL、请求头、天气、IP)
**翻译 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"text":"Hola, me llamo ArkAPI.","target_language":"en"}' \ https://arkapi.dev/api/translate ``` **URL 转 Markdown (5 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"url":"https://example.com"}' \ https://arkapi.dev/api/url-to-markdown ``` **AXFR 检查 (12 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"domain":"example.com"}' \ https://arkapi.dev/api/axfr-check ``` **CVE 查找 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"cve":"CVE-2024-3400"}' \ https://arkapi.dev/api/cve-lookup ``` **哈希破解 (25 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"hash":"482c811da5d5b4bc6d497ffa98491e38","type":"md5","mode":"fasttrack"}' \ https://arkapi.dev/api/hash-crack ``` **DNS 查找 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"domain":"example.com"}' \ https://arkapi.dev/api/dns-lookup ``` **WHOIS (5 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"domain":"example.com"}' \ https://arkapi.dev/api/whois ``` **SSL 检查 (5 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"domain":"google.com"}' \ https://arkapi.dev/api/ssl-check ``` **HTTP 请求头审计 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"url":"https://google.com"}' \ https://arkapi.dev/api/headers ``` **天气 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"city":"New York"}' \ https://arkapi.dev/api/weather ``` **IP 查找 (3 sats):** ``` curl -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"ip":"8.8.8.8"}' \ https://arkapi.dev/api/ip-lookup ``` 公开指南:[IP Lookup](https://arkapi.dev/ip-lookup/)标签:AI, API网关, Ark协议, Bitcoin, Docker, ESC4, EVTX分析, GitHub, Golang, Go语言, MIT开源协议, OpenAPI, OSINT, REST API, Session机制, Signet测试网, 人工智能, 加密货币, 匿名支付, 安全编程, 安全防御评估, 实时处理, 微支付, 按次付费, 无服务器, 无需账户, 日志审计, 比特币, 版权保护, 特征检测, 用户模式Hook绕过, 程序破解, 网络安全, 自主代理, 自动化代码审查, 自托管, 闪电发票, 闪电网络, 隐私保护