Ahlyx/Ahlyx-Labs

GitHub: Ahlyx/Ahlyx-Labs

整合多源威胁情报查询、TCP端口扫描和系统监控的统一安全工具平台,提供在线API和自托管能力。

Stars: 0 | Forks: 0

# Ahlyx Labs **线上地址:** [ahlyxlabs.com](https://ahlyxlabs.com) · **API:** [api.ahlyxlabs.com](https://api.ahlyxlabs.com) ## 概述 Ahlyx Labs 将三个安全工具整合到一个 monorepo 中:一个多源 **Security Enrichment API**、一个具备 OT/ICS 端口感知能力的 TCP **Network Scanner**,以及一个实时 **Hardware Dashboard**。[Render](https://render.com) 上的单个 Go 二进制文件处理所有后端路由;Vercel 部署作为静态文件在 `ahlyxlabs.com` 域名下提供所有前端服务。 ## 工具 ### Security Enrichment API 聚合来自多个来源针对 IP、域名、URL 和文件哈希的威胁情报。每个查询并发地访问所有相关源,合并结果,并使用在部分失败时优雅降级的 TTL 缓存响应。 | Endpoint | Description | |---|---| | `GET /api/v1/ip/{address}` | IP 地理位置、滥用评分、VirusTotal、bogon/Tor 检测 | | `GET /api/v1/domain/{name}` | WHOIS、DNS 记录、SSL、VirusTotal、OTX | | `GET /api/v1/url?url=` | Google Safe Browsing、URLScan、VirusTotal | | `GET /api/v1/hash/{hash}` | VirusTotal、MalwareBazaar、CIRCL HashLookup | **情报来源:** AbuseIPDB · VirusTotal · IPinfo · AlienVault OTX · Google Safe Browsing · URLScan · MalwareBazaar · CIRCL HashLookup · WHOIS · DNS · SSL ### Network Scanner TCP 端口扫描器,包含精选的 OT/ICS 端口映射以及通用服务端口。接受子网或单个主机作为输入。最大子网大小为 /24。 | Endpoint | Description | |---|---| | `GET /api/v1/scanner/scan?subnet=` | 扫描子网或主机的开放 TCP 端口 | ### Hardware Dashboard 运行后端的主机(Render VM)的实时系统遥测数据。 | Endpoint | Description | |---|---| | `GET /api/v1/hardware/system` | 操作系统、主机名、架构、处理器 | | `GET /api/v1/hardware/cpu` | 型号、核心数、时钟速度、使用率 | | `GET /api/v1/hardware/ram` | 总量、已用、可用、交换分区 | | `GET /api/v1/hardware/disk` | 每个分区的使用情况 + I/O 总计 | | `GET /api/v1/hardware/network` | 每个接口的地址 + 流量总计 | ### 健康检查 ``` GET /health → 200 OK {"status":"ok"} ``` ## 架构 ``` Ahlyx-Labs/ ├── cmd/server/main.go ← single entrypoint, registers all route groups ├── internal/ │ ├── shared/ ← cache, config, middleware, rate limiter, response helpers │ ├── enrichment/ ← handlers, services (one file per source), models, validators │ ├── scanner/ ← TCP scanner logic, OT/ICS port map, handler │ └── hardware/ ← system telemetry handler and models └── frontend/ ├── landing/ ├── enrichment/ ├── scanner/ ├── hardware/ ├── robots.txt ├── sitemap.xml └── vercel.json ``` **后端:** Go 1.25 · [chi](https://github.com/go-chi/chi) 路由器 · 按 IP 限制的令牌桶算法(`golang.org/x/time/rate`)· 内存 TTL 缓存(`sync.RWMutex`)· Docker 化以适配 Render **前端:** 原生 JS / HTML / CSS · 暗色终端设计风格 · Vercel Analytics + Speed Insights · GA4 (G-99NT7YXMY8) · 所有页面均包含同意横幅 **基础设施:** Render(后端)· Vercel(前端)· Cloudflare(DNS, 代理) ## 速率限制 | 路由组 | 限制 | |---|---| | `/api/v1/ip`, `/api/v1/domain`, `/api/v1/hash` | 每个 IP 30 次/分钟 | | `/api/v1/url` | 每个 IP 10 次/分钟 | | `/api/v1/scanner/scan` | 每个 IP 5 次/分钟 | | `/api/v1/hardware/*` | 每个 IP 30 次/分钟 | ## 缓存 响应根据来源可靠性使用 TTL 分层缓存在内存中: | 条件 | TTL | |---|---| | 所有来源成功 | 1 小时 | | 任意来源失败 | 15 分钟 | | 所有来源失败 | 不缓存 | ## 环境变量 API 密钥在 Render 仪表板中设置,**不提交到仓库**。请参阅 `.env.example` 获取完整列表。 | 变量 | 使用方 | |---|---| | `ABUSEIPDB_API_KEY` | Enrichment — IP | | `VIRUSTOTAL_API_KEY` | Enrichment — IP, domain, URL, hash | | `IPINFO_API_KEY` | Enrichment — IP | | `OTX_API_KEY` | Enrichment — domain | | `GOOGLE_SAFE_BROWSING_API_KEY` | Enrichment — URL | | `URLSCAN_API_KEY` | Enrichment — URL | | `MALWAREBAZAAR_API_KEY` | Enrichment — hash | | `PORT` | 服务器监听端口(默认:`8080`)| | `CACHE_TTL_SECONDS` | 覆盖完全成功的 TTL(默认:`3600`)| ## 本地开发 ### 前置条件 - Go 1.25+ - Docker(可选,用于容器构建) ### 本地运行 ``` git clone https://github.com/Ahlyx/Ahlyx-Labs.git cd Ahlyx-Labs cp .env.example .env # 在 .env 中填写 API keys go run ./cmd/server ``` 服务器在 `http://localhost:8080` 启动。在浏览器中直接打开任意 `frontend/*/index.html`,或使用静态文件服务器提供 `frontend/` 目录服务。 ### Docker ``` docker build -t ahlyx-labs . docker run --env-file .env -p 8080:8080 ahlyx-labs ``` ## 部署 ### 后端 → Render 1. **New → Web Service** → 连接 `Ahlyx/Ahlyx-Labs` 2. 环境:**Docker** · 分支:`master` · 根目录:*(留空)* 3. 在 Render 仪表板中添加所有 7 个 API 密钥作为环境变量 4. 部署 → 服务 URL:`ahlyx-labs.onrender.com` 5. 在 Render → Settings → Custom Domains 中添加自定义域名 `api.ahlyxlabs.com` 6. 验证:`curl https://api.ahlyxlabs.com/health` ### 前端 → Vercel 1. **New Project** → 导入 `Ahlyx/Ahlyx-Labs` 2. 根目录:`frontend` · 框架预设:**Other** · 构建命令:*(空)* · 输出目录:`./` 3. 部署 → 添加自定义域名 `ahlyxlabs.com` 和 `www.ahlyxlabs.com` ### DNS → Cloudflare ``` A @ → 216.198.79.1 (proxy ON) CNAME www → 990da1196320c862.vercel-dns-017.com (proxy ON) CNAME api → ahlyx-labs.onrender.com (proxy ON) ``` ### 验证 ``` curl https://api.ahlyxlabs.com/health curl "https://api.ahlyxlabs.com/api/v1/ip/8.8.8.8" # 在浏览器中打开 https://ahlyxlabs.com # 在 GA4 Realtime report 中检查您的访问 ``` ## 模块 ``` github.com/Ahlyx/Ahlyx-Labs ``` ## 许可证 MIT
标签:AbuseIPDB, Ask搜索, Cloudflare, CMS安全, DAST, ESC4, EVTX分析, GitHub, Go语言, HTTP/HTTPS抓包, HTTP工具, ICS工控安全, IP查询, JavaScript, MITRE ATT&CK, OSINT, OSV, OT安全, Render, Serverless, Shodan替代, Sigma 规则, TCP端口扫描, URL扫描, Vercel, VirusTotal, 云原生部署, 哈希检测, 域名分析, 威胁情报, 威胁数据富化, 密码管理, 开发者工具, 态势感知, 恶意软件分析, 插件系统, 无线安全, 日志审计, 硬件监控, 程序破解, 系统仪表盘, 网络安全, 网络扫描器, 网络资产监控, 请求拦截, 调试辅助, 隐私保护