anotherhadi/iknowyou

GitHub: anotherhadi/iknowyou

这是一个自托管的开源情报(OSINT)聚合平台,通过统一的Web界面并行运行数十种侦察工具,实时流式展示针对单一目标的调查结果。

Stars: 3 | Forks: 0

logo # 我知道你 **自托管 OSINT 聚合平台** 通过一个简洁的 Web 界面,针对单个目标并行运行数十个开源情报工具。 [![Go](https://img.shields.io/badge/Go-1.25+-00ADD8?style=flat&logo=go)](https://go.dev) [![Astro](https://img.shields.io/badge/Astro-Svelte-FF5D01?style=flat&logo=astro)](https://astro.build) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE) [![Self-hosted](https://img.shields.io/badge/deployment-self--hosted-blueviolet)](https://github.com/anotherhadi/iknowyou)
## 它是什么? IKY (iknowyou) 是一个**自托管 OSINT (开源情报) 平台**,它将侦察工具集中到一个单一的响应式 Web 界面中。无需在终端、浏览器标签页和互不相连的 CLI 工具之间来回切换,只需输入一次目标,即可实时获取流式结果。 专为需要速度和可视性且不愿牺牲控制权的安全研究人员、渗透测试人员和 OSINT 调查员而设计。 **支持的目标类型:** `email`、`username`、`domain`、`IP`、`phone`、... ## 功能 - **并行执行**:所有工具同时运行;结果一到达即流式显示 - **配置文件系统**:创建命名配置文件以启用/禁用特定工具,或根据调查类型(快速侦察 vs 全面扫描)覆盖其配置 - **工具级配置**:全局或按配置文件设置 API 密钥、速率限制和选项 - **工具可用性检查**:依赖外部二进制文件的工具会报告其状态;界面会显示哪些工具已就绪,哪些需要配置,以及哪些不可用 - **搜索历史**:完成的搜索会保留在内存中;无需重新运行即可查看结果 - **可扩展架构**:添加新工具只需一个实现单一接口的 Go 文件,并在一行代码中注册 - **生产就绪**:配置基于 YAML,并支持只读模式(适用于 Nix 管理的部署)。提供 NixOS 模块。 ## 配置文件 配置文件允许您自定义运行哪些工具以及如何运行,而无需触及全局配置。 | Profile | Type | Description | | ---------- | -------- | ---------------------------------------------------------------------------- | | `default` | Built-in | 所有工具激活,默认设置 | | `hard` | Built-in | 所有工具激活,包括那些可能在目标上留下痕迹的工具 | | _(custom)_ | User | 您自己的启用/禁用工具组合以及工具级配置覆盖 | 您可以在 **Profiles** 页面创建和管理自定义配置文件。 ## 有用链接 - [查看工具列表](.github/docs/tools.md) - [了解其工作原理](.github/docs/how-it-works.md) - [了解如何贡献](.github/CONTRIBUTING.md) ## 部署
在 NixOS 上部署 1. 在 `flake.nix` 文件中,在 `inputs` 部分添加 `iknowyou` 并导入 `iknowyou.nixosModules.default` 模块: ``` { inputs = { iknowyou.url = "github:anotherhadi/iknowyou"; }; outputs = { # ... modules = [ inputs.iknowyou.nixosModules.default ]; # ... } } ``` 2. 启用服务: ``` services.iknowyou = { enable = true; port = 8080; openFirewall = true; }; ``` 所有工具依赖项都会自动包含在内。
## 配置
通过 Web 界面 无需任何文件。API 密钥、工具设置和配置文件均可通过 **Settings** 页面进行管理。更改会自动写回配置文件。 这仅在配置文件可写时有效。在具有只读存储路径的 NixOS 上,请改用以下方法之一。
通过 YAML 文件 创建 `/etc/iky/config.yaml`(或任何路径,然后将 `IKY_CONFIG` 指向它): ``` tools: github-recon: token: ghp_yourtoken whoisfreaks: api_key: yourkey ipinfo: token: yourtoken breachdirectory: api_key: yourkey profiles: quick: enabled: - whois - dig - crt.sh disabled: [] ``` 只需包含您想要配置的工具——其他所有内容将回退到默认值。
通过 Nix + sops-nix (NixOS) API 密钥绝不应放入 Nix store(全局可读)。使用 [sops-nix](https://github.com/Mic92/sops-nix) 将配置文件存储为加密机密,并在启动时以正确的权限解密。 1. 将您的 IKY 配置添加到您的 sops 加密机密文件中(例如 `secrets/iky.yaml`): ``` iky-config: | tools: github-recon: token: ghp_yourtoken whoisfreaks: api_key: yourkey ipinfo: token: yourtoken profiles: quick: enabled: - whois - dig - crt.sh disabled: [] ``` 2. 声明该机密并将服务指向它: ``` sops.secrets."iky-config" = { owner = "iknowyou"; mode = "0400"; restartUnits = [ "iknowyou.service" ]; }; services.iknowyou = { enable = true; configFile = config.sops.secrets."iky-config".path; }; ``` 该模块会自动创建 `iknowyou` 组,并将其作为补充组添加到服务中,因此 `DynamicUser` 可以读取该机密而无需静态用户。
## ⚠️ 法律免责声明 **IKY 仅适用于合法、授权的使用。** 本软件设计用于: - 对您拥有或已获得**明确书面许可**进行测试的系统进行安全研究 - 在签署的工作范围内进行的渗透测试工作 - 遵守适用法律法规进行的 OSINT 调查 - 受控隔离环境中的教育目的 **在未经事先授权的情况下针对目标使用 IKY 可能是违法的**,这取决于计算机欺诈和隐私法律。IKY 的作者对因滥用、损坏、法律后果或本软件造成的任何伤害**不承担任何责任**。使用 IKY 即表示您同意,您有责任确保您的使用合法且合乎道德。
github | gitlab (mirror) | gitea (mirror)
标签:API集成, Astro, ESC4, Go语言, IP分析, OSINT, Web界面, 可扩展架构, 可观测性, 域名探测, 实时流, 并行执行, 情报聚合, 搜索历史, 日志审计, 用户名搜索, 电话号码查询, 程序破解, 自动化调查, 自托管, 邮箱查询