StaiLee/Ikelos

GitHub: StaiLee/Ikelos

一款基于 Go 并发架构和 Bubble Tea TUI 的战术级网站镜像克隆工具,能高效创建可离线浏览的像素级网站副本。

Stars: 2 | Forks: 0

Ikelos

badge badge badge badge badge

# 🧬 IKELOS - 现实转换器 ## 📖 概述 **IKELOS** 不仅仅是一个网页抓取工具;它是一台**战术现实转换引擎**。 以象征逼真梦境的希腊神祇命名,Ikelos 可以为任何目标网站创建完美且可离线浏览的镜像。基于高性能并发 Golang 架构构建,它能够绕过现代网站防护机制(如懒加载、WAF),提供像素级完美的复刻品。 **Version 7.0 "THE ARCHITECT"** 引入了重新定义的“神级” TUI、支持代理的高级隐身功能,以及针对现代 Web 的智能资源解析能力。 ### ✨ 全知全能特性 (v7.0.0) * **🛡️ 隐身与代理支持 (新增):** 原生支持 HTTP/SOCKS 代理,并配备庞大的 user-agent 轮换池,以规避 IP 封禁和 WAF。 * **⏸️ 战术暂停 (新增):** 随时按下 `P` 键即可冻结引擎,分析实时日志,并无缝恢复操作。 * **🧠 智能资源解析 (新增):** * **Srcset 解码:** 下载响应式 `srcset` 属性中定义的高分辨率图像。 * **深度 CSS 分析:** 检测并下载隐藏在 `@import` 规则和复杂 `url()` 定义中的资源。 * **💾 MD5 哈希存储:** 智能文件管理使用 MD5 哈希处理复杂的 URL 和查询字符串,彻底消除“文件名过长”错误及文件系统损坏问题。 * **🕷️ Sitemap 猎手:** 自动检测并解析 `sitemap.xml` 和 `robots.txt`,发现未在首页链接的隐藏页面。 * **⚡ 蜂群引擎:** 大规模并发下载器,能够利用数百个微线程占满带宽。 * **👁️ 懒加载终结者:** 检测并强制下载隐藏资源(`data-src`, `data-original`),确保不会出现图片破裂或“灰块”。 * **🎨 动态主题:** * **🔵 MIRROR:** 赛博朋克青/蓝色(高保真)。 * **🔴 BLITZ:** 激进的岩浆红(最高速度)。 * **🟣 SHADOW:** 虚空紫(隐身/低调)。 ## ⚡ 安装说明 ### 前置条件 * 已安装 **Go 1.21** 或更高版本。 * 支持 **TrueColor** 的终端。 ### 快速安装 ``` # 1. Clone 仓库 git clone [https://github.com/StaiLee/Ikelos.git] cd Ikelos # 2. 安装 dependencies go mod tidy # 3. Build binary go build -ldflags="-s -w" -o ikelos main.go ``` ## 🚀 使用说明 Ikelos 将复杂的镜像任务简化为战术模式,现已加入高级路由选项。 ``` ./ikelos -url [FLAGS] ``` ### 🛡️ 战术模式 | 模式 | 代码 | 描述 | 最佳使用场景 | | :--- | :--- | :--- | :--- | | **MIRROR** | `-mode mirror` | **(默认)** 高保真。平衡递归与速度。 | UI/UX 抄取,离线备份。 | | **SHADOW** | `-mode shadow` | **隐身 / 规避。** 缓慢,随机抖动,模拟人类行为。 | 受保护站点 (Cloudflare),WAF。 | | **BLITZ** | `-mode blitz` | **激进抓取。** 最大线程,最短超时。 | 数据囤积,CTFs,文档抓取。 | ### 🚩 命令参数 | 参数 | 描述 | | :--- | :--- | | `-url` | 目标网站 (例如,`https://example.com`)。 | | `-out` | 克隆站点的输出目录 (默认:`./cloned_site`)。 | | `-proxy` | **(新增)** 代理 URL (例如,`http://127.0.0.1:8080` 或 `socks5://...`)。 | | `-ua` | **(新增)** 自定义 User-Agent 字符串 (覆盖轮换机制)。 | | `-depth` | 递归深度。`2` 为标准值。 | | `-threads` | 并发 worker 数量 (默认:`20`)。 | | `-nositemap` | 禁用 *Sitemap 猎手* 模块 (严格抓取)。 | ### 🎮 运行时控制 * **`P`**: 切换 **暂停/恢复**。 * **`Q`** 或 **`Ctrl+C`**: 中止任务并保存当前状态。 ### 💡 操作示例 **1. “幽灵”提取 (代理 + 隐身)** 通过本地 Tor 代理并带有随机延迟来克隆受保护的站点。 ``` ./ikelos -url [https://protected-target.com](https://protected-target.com) -mode shadow -proxy socks5://127.0.0.1:9050 ``` **2. 档案备份 (高保真)** 创建完美的镜像,遵循 `robots.txt` 的同时挖掘隐藏的 sitemap 链接。 ``` ./ikelos -url [https://awwwards.com](https://awwwards.com) -mode mirror -out ./archives/awwwards ``` **3. 突袭抓取 (最高速度)** 使用 50 个线程下载文档站点,为追求速度而忽略 sitemap。 ``` ./ikelos -url [https://docs.python.org](https://docs.python.org) -mode blitz -threads 50 -nositemap ``` ## 🏗️ 技术架构 Ikelos v7.0 是一场关于 **Go 并发机制**与 **HTML 外科手术**的工程教学: 1. **猎手:** 扫描 `robots.txt` 和 `sitemap.xml` 以构建初始目标图谱。 2. **大脑 (爬虫):** 管理线程安全的 `Visited` 映射表,处理暂停状态,并通过信号量控制的队列分发任务。 3. **蜂群 (Worker):** 数百个 Goroutines 通过持久化的 HTTP Transport 同时获取资源。 4. **外科医生 (解析器):** 使用 `goquery` 解析 DOM,注入本地 MD5 哈希路径,解析 CSS `@import`/`url()`,并解密 `srcset` 属性。 5. **监督者 (TUI):** 一个独立的 Bubble Tea 事件循环以 60fps 渲染仪表盘,提供实时的“实时动态”和分段进度可视化,且不会阻塞引擎运行。 ## ⚠️ 免责声明 **Ikelos 仅供教育目的、数字存档及授权的安全测试使用。** 克隆您不拥有的网站可能会违反服务条款或版权法。开发者对任何滥用行为不承担责任。 ## 📜 许可证 基于 MIT 许可证分发。请查看 `LICENSE` 了解更多信息。
标签:EVTX分析, Go, Ruby工具, Web侦察, 代理支持, 告警, 命令行工具(TUI), 实时处理, 日志审计, 网页克隆