zakhar-git/Steam-Recon

GitHub: zakhar-git/Steam-Recon

SteamRecon 是一款用于收集、分析和整理 Steam 平台公开资料数据的交互式 OSINT 情报调查工具。

Stars: 1 | Forks: 0

SteamRecon

交互式 Steam 资料情报与公开数据收集工具。

Русская версия · 安装说明 · 截图展示 · API keys · 来源

Python 3.10+ Windows, Linux and macOS Russian and English interface 37 sources Standalone HTML reports MIT License

GitHub stars GitHub issues GitHub forks

## 概述 **SteamRecon** 是一款本地 Python CLI 应用程序,用于收集、规范化和审查与 Steam 资料相关的公开信息。 该程序接受多种 Steam 标识符格式,将其解析为 SteamID64,运行已启用的来源连接器并生成结构化的 HTML 报告。报告整合了资料数据、公开好友、游戏、徽章、成就、媒体、公开库存、别名、头像历史、竞技游戏资料、来源诊断信息以及本地存储快照之间的变化。 SteamRecon 使用三种类型的来源: 1. **官方 Steam 页面和 API** 2. **公开的第三方 API 和页面** 3. **仅用于人工验证的链接指引** 该程序不会尝试绕过私人资料、身份验证页面、CAPTCHA、速率限制或服务限制。 ## SteamRecon 可以收集的内容 | 领域 | 可用数据 | |---|---| | 身份 | SteamID64, SteamID2, SteamID3, AccountID, 十六进制 Steam ID, 自定义 URL 和资料 URL | | 资料 | 显示名称、真实姓名、国家/地区、资料摘要、等级、创建日期、在线状态和隐私状态 | | 信誉 | VAC 封禁、游戏封禁、社区封禁、交易限制和外部信誉线索 | | 好友 | 公开好友列表、头像、在线状态、当前游戏和共同好友对比 | | 游戏 | 拥有的游戏、最近玩过的游戏、游戏时长、游戏图片、当前玩家数和游戏元数据 | | 社区 | 群组、评论、评测、徽章、成就、展示柜和资料计数器 | | 媒体 | 截图、艺术品、视频、创意工坊文件、指南和收藏 | | 库存 | Steam 社区、CS2、TF2 和 Dota 2 的公开库存 | | 历史 | 公开别名、已下载的头像、图像哈希值和本地资料快照 | | 竞技资料 | FACEIT, OpenDota, logs.tf, demos.tf, ETF2L 和 backpack.tf | | 诊断 | 来源状态、响应时间、HTTP 状态、重定向目标、解析的项目数和连接器错误 | ## 主要功能 - **交互式数字 CLI** - 无需命令行参数 - 无需方向键导航 - 选择数字并按 Enter 键 - **多种 Steam 标识符格式** - SteamID64 - SteamID2 - SteamID3 - AccountID - Steam 十六进制 ID - Steam 资料 URL - Steam 自定义 URL - 纯自定义名称 - **公开资料收集** - Steam 资料信息 - 好友和群组 - 评论和资料活动 - 游戏和近期活动 - 徽章和成就 - 评测和社区媒体 - 公开库存 - **来源诊断** - 真实的结果状态 - 每个请求的 HTTP 诊断 - 被阻止/私有/未找到检测 - 对于仅提供链接的服务不会伪造成功结果 - **本地调查历史** - 历史报告 - 资料快照 - 头像存档 - 变化检测 - **独立 HTML 报告** - 内嵌 CSS 和 JavaScript - 内嵌项目 Logo - 内嵌当前资料头像 - 搜索和筛选 - 可展开的集合 - 图片灯箱 - 深色和浅色主题 - 适合打印的布局 - **俄语和英语界面** ## 截图展示 ### 主菜单

SteamRecon main menu

SteamRecon 直接在交互式菜单中启动。每个操作都有数字快捷方式,因此无需记忆参数或子命令即可使用该工具。 在主菜单中,您可以: - 分析 Steam 资料; - 运行来源诊断; - 对比两个 Steam 资料; - 通过 AppID 检查游戏; - 重新打开之前的报告; - 查看存储的资料快照; - 配置 API keys 和收集限制; - 启用或禁用各个来源。 CLI 标头仅包含 SteamRecon 的 ASCII 艺术字。特意省略了版本文本、营销口号和装饰性面板。 ### 资料分析

SteamRecon profile collection process

在收集过程中,SteamRecon 会单独显示每个来源并报告其真实状态。 来源可能会返回有效数据、无公开记录、私有响应、缺失资料、缺失 API key、阻止页面或意外错误。一个连接器的失败不会停止其余的分析。 收集器还会记录: - 请求持续时间; - 重定向后的最终 URL; - HTTP 响应代码; - 内容类型; - 已解析的记录数; - 可选的请求失败情况; - 分页停止原因; - 配置的收集限制。 ### HTML 报告 — 资料概览

SteamRecon HTML profile overview

报告以可视化的资料标头开始,而不是原始表格。 如果可用,SteamRecon 会显示: - 当前的 Steam 头像; - 资料背景; - 头像边框; - 显示名称; - SteamID64; - 自定义资料 URL; - 账号等级; - 在线状态; - 国家/地区; - 主要公开计数器; - 直接进入资料和复制的按钮。 标头会根据资料实际暴露的信息进行调整。缺失的字段会被省略,而不是用编造的值填充。 ### HTML 报告 — 活动和好友分析

SteamRecon activity and friend analysis

活动部分总结了账号的公开足迹。 它可以包括: - 资料奖项; - 徽章数量; - 公开库存数量; - 声明和收集到的截图数量; - 评测; - 声明和解析到的好友数量; - 好友状态; - 好友当前正在玩的游戏; - 检测到的资料展示柜; - 收集到的媒体总数。 庞大的好友列表以可视化的卡片形式呈现,包含头像、资料链接、状态指示器和当前游戏信息。当 Steam 暴露公开好友数量时,SteamRecon 会根据该数量验证解析到的好友列表。 ### HTML 报告 — 媒体和社区内容

SteamRecon media, badges and community data

公开媒体和社区数据将作为可视化的集合呈现,而不是 JSON 转储。 根据资料的可见性设置,报告可以显示: - 徽章 artwork; - 成就图标; - 游戏封面图; - 截图; - artwork; - 创意工坊内容; - 评测图片; - 群组头像; - 评论作者头像; - 历史资料头像。 图片集合支持筛选、逐步扩展和全屏预览。超大页面默认会被折叠,因此包含数百名好友、数千款游戏或大型媒体库的资料依然保持流畅可用。 ## 工作原理 ``` Steam identifier │ ▼ Local format detection │ ▼ SteamID64 normalization │ ├── Official Steam sources ├── Public APIs and pages ├── Local analysis └── Manual external pivots │ ▼ Normalized profile model │ ├── HTML report ├── History record ├── Profile snapshot └── Avatar archive ``` 该程序不仅仅是简单组合页面文本。每个自动连接器都会返回规范化的字段、项目、结果状态和诊断数据。然后由报告渲染器决定如何显示这些记录。 ## 支持的输入格式 SteamRecon 会自动接受并规范化以下值: ``` 76561197960287930 STEAM_0:0:11101 [U:1:22202] 22202 steam:1100001000056ba https://steamcommunity.com/profiles/76561197960287930 https://steamcommunity.com/id/customname customname ``` | 输入 | 示例 | |---|---| | SteamID64 | `76561197960287930` | | SteamID2 | `STEAM_0:0:11101` | | SteamID3 | `[U:1:22202]` | | AccountID | `22202` | | 十六进制 Steam ID | `steam:1100001000056ba` | | 资料 URL | `https://steamcommunity.com/profiles/...` | | 自定义 URL | `https://steamcommunity.com/id/...` | | 自定义名称 | `customname` | ## 来源模型 SteamRecon 目前包含 **37 个来源定义**: | 来源类型 | 数量 | 行为 | |---|---:|---| | 自动来源 | 18 | 请求、解析、验证数据并将其添加到报告中 | | 仅链接来源 | 19 | 创建直接的查询链接或准备好的数值以供人工审查 | ### 自动来源 | 来源 | 模式 | 数据 | |---|---|---| | Steam 社区 | 官方页面/XML | 核心资料、可见字段、群组和游戏 | | Steam 别名历史 | 官方 endpoint | Steam 暴露的用户昵称 | | Steam 资料活动 | 本地解析器 | 计数器、链接、展示柜和公开活动 | | Steam 公开页面 | 官方 HTML | 好友、徽章、媒体、评测、创意工坊、指南和收藏 | | Steam Web API | 官方 API | 摘要、封禁、等级、游戏、好友、徽章和成就 | | Steam 公开库存 | 官方 endpoint | 公开的 Steam、CS2、TF2 和 Dota 2 库存摘要 | | socid-extractor | 本地库 | 在下载的资料 HTML 中找到的标识符和链接 | | OpenDota | 公开 API | Dota 2 资料、段位、胜负和近期比赛 | | FACEIT Data API | 官方 API | FACEIT 身份、ELO、技能等级和游戏统计 | | logs.tf | 公开 HTML | 玩家上传的竞技 TF2 日志 | | demos.tf | 公开 API | 与账号关联的公开 TF2 demos | | ETF2L | 公开 API | 竞技 TF2 资料和结果 | | backpack.tf | 公开 API | 公开交易和信誉字段 | | Steam 商店 | 官方 endpoint | 游戏元数据和图片 | | Steam 评测 | 官方 endpoint | 公开评测总数和评分摘要 | | Steam 当前玩家 | 官方 endpoint | 某 AppID 的当前玩家数 | | Steam Charts | 公开 HTML | 历史玩家数信息 | | SteamSpy | 公开 API | 拥有者估计值、标签、游戏时长和游戏统计 | ### 仅链接来源
显示所有手动查询来源 - SteamHistory - SteamID.uk - rep.tf - SteamRep - Faceit Finder - CSStats.gg - VacList - Community Ban List - STEAMID I/O - SteamID64.net - SteamID.xyz - FindSteamID - Steam Ladder - completionist.me - AStats - Steam Hunters - Dotabuff - SteamID.Pro - SteamAnalyst
## 来源结果状态 每个自动连接器都使用特定的结果状态。 | 状态 | 含义 | |---|---| | `ok` | 接收并解析了有效的公开数据 | | `degraded` | 收集到了有用的数据,但一个或多个可选请求失败 | | `empty` | 来源正确响应,但未返回匹配的记录 | | `private` | 请求的信息被隐私设置隐藏 | | `not_found` | 未找到匹配的账号或游戏资料 | | `needs_key` | 连接器需要尚未配置的 API key | | `blocked` | 自动化访问被拒绝、受限或遭到拦截 | | `link_only` | 已准备好手动查询链接;未获取任何数据 | | `skipped` | 来源已被禁用或其依赖项不可用 | | `error` | 发生意外的网络、解析或数据格式错误 | 这种区分非常重要。`403` 错误、CAPTCHA 页面、空白资料或准备好的 URL 绝不能被报告为成功的收集结果。 ## API keys SteamRecon 在进行核心的 Steam 社区收集时无需 API keys。API keys 可以解锁额外的官方或结构化数据。 ### API 支持矩阵 | API | 是否必需? | 启用的功能 | 配置位置 | |---|---:|---|---| | Steam Web API | 可选 | 官方摘要、封禁、等级、游戏、近期游戏、好友、徽章和成就 | 设置 → Steam Web API key | | FACEIT Data API | 可选 | FACEIT 玩家查询、游戏身份、ELO、等级和统计 | 设置 → FACEIT Data API key | | backpack.tf API | 可选 | 公开的 TF2 交易和信誉增强信息 | 设置 → backpack.tf API key | | OpenDota | 当前连接器中不需要 key | 公开的 Dota 2 资料和近期比赛数据 | 启用的来源 | | Steam Store / Reviews / current players | 无需用户 key | 公开的游戏信息 | 启用的来源 | | SteamSpy | 无需 key | 公开的游戏估算值和标签 | 启用的来源 | ### Steam Web API key 在 Steam 上创建 key: ``` https://steamcommunity.com/dev/apikey ``` 该 key 会启用官方 Steam Web API 连接器。 由于资料隐私设置,Steam 可能仍会保留信息。例如,当用户将好友列表设为私有时,官方好友列表 endpoint 可能会返回 `401 Unauthorized`。 ### FACEIT Data API key 创建 FACEIT 开发者应用和 API key: ``` https://developers.faceit.com/ ``` 连接器使用必需的 bearer authorization header 发送该 key。 ### backpack.tf API key 请求或管理 backpack.tf API key: ``` https://backpack.tf/developer/apikey/view ``` 请遵守 backpack.tf API 的限制和条款。SteamRecon 不会绕过 API 限制或速率限制进行抓取。 ### keys 的存储位置 通过 SteamRecon 设置菜单输入的 keys 将在本地保存: **Windows** ``` %USERPROFILE%\.steamrecon\settings.json ``` **Linux 和 macOS** ``` ~/.steamrecon/settings.json ``` 默认的 `.gitignore` 会排除本地运行时数据,但用户配置存储在代码库之外,作为一项额外保护措施。 ## 安装说明 ### 前置条件 - Python **3.10 或更高版本** - 用于实时收集的网络连接 - 支持 UTF-8 的终端 - Git,或下载的 ZIP 压缩包 Python 依赖项: | 包 | 用途 | |---|---| | `requests` | HTTP 请求和 API 调用 | | `beautifulsoup4` | 公开 HTML 解析 | | `Pillow` | 头像处理和图像哈希 | | `rich` | 终端渲染 | | `socid-extractor` | 本地标识符和链接提取 | ### 选项 1 — 使用 Git 克隆 ``` git clone https://github.com/zakhar-git/SteamRecon.git cd SteamRecon ``` ### 选项 2 — 下载 ZIP 1. 打开代码库。 2. 按下 **Code**。 3. 选择 **Download ZIP**。 4. 解压缩包。 5. 在解压后的 `SteamRecon` 目录中打开终端。 ### Windows ``` python -m venv .venv .venv\Scripts\activate python -m pip install --upgrade pip pip install -r requirements.txt python main.py ``` ### Linux 和 macOS ``` python3 -m venv .venv source .venv/bin/activate python -m pip install --upgrade pip pip install -r requirements.txt python main.py ``` ## 用法 在项目目录下运行 SteamRecon: ``` python main.py ``` 无需任何 CLI 参数。 ### 主菜单 ``` 1. Analyze Steam profile 2. Source diagnostics 3. Compare two profiles 4. Analyze game by AppID 5. History 6. Profile snapshots 7. Settings 8. Sources 9. About 0. Exit ``` ### 资料分析 1. 选择 **Analyze Steam profile**。 2. 输入受支持的 Steam 标识符。 3. 等待已启用的来源完成。 4. 打开生成的 HTML 报告。 5. 在使用收集的数据之前,请先查看来源状态。 ### 来源诊断 诊断功能会测试已启用的来源连接器,并创建一个单独的 HTML 报告,其中包含: - 来源模式; - 结果状态; - HTTP 代码; - 响应时间; - 最终 URL; - 内容类型; - 解析的项目数; - 分页详情; - 失败原因; - 是否缺少 API key; - 仅链接来源的手动可达性检查。 在安装 SteamRecon、更改 API keys 或发现第三方服务发生更改后,请使用诊断功能。 ### 资料对比 对比工作流会解析两个资料,并可显示: - 规范化的标识符; - 基础资料差异; - 公开的共同好友; - 来源可用性; - 直接的资料链接。 ### 游戏分析 输入 Steam AppID 以收集: - Steam 商店元数据; - artwork 和游戏描述; - 评测摘要; - 当前玩家数; - Steam Charts 数据; - SteamSpy 估算值和标签。 ## HTML 报告 报告将写入: ``` output/ ``` 资料报告的文件名类似于: ``` profile_76561198000000000_20260714_021500.html ``` 该报告是独立的。其布局、脚本、当前头像和自定义项目 Logo 均被嵌入到 HTML 文件中。 ### 报告部分 根据可用的公开数据,报告可能包含: - 资料概览; - Steam 标识符; - 账号状态和封禁; - 资料摘要; - 公开活动计数器; - 好友和当前游戏; - 群组; - 游戏和游戏时长; - 带 artwork 的徽章; - 带图标的成就; - 截图和 artwork; - 视频; - 创意工坊文件; - 指南和收藏; - 评测; - 评论; - 公开库存; - 别名; - 头像历史和哈希值; - Dota 2、FACEIT 和 TF2 资料; - 外部手动查询来源; - 本地快照变化; - 来源诊断和错误; - 版权归属和负责任使用声明。 ### 可视化行为 大型集合默认处于折叠状态。用户可以: - 在整个报告中进行搜索; - 筛选各个部分; - 展开更多卡片; - 折叠冗长的集合; - 打开公开资料和来源页面; - 复制标识符; - 在深色和浅色主题之间切换; - 在全屏查看器中打开图片; - 浏览图片预览; - 打印或将报告保存为 PDF。 原始的来源 JSON 不会被用作主要报告界面。 ## 自定义报告 Logo SteamRecon 可以将您自己的项目 Logo 嵌入到生成的每份 HTML 报告中。 创建或使用此目录: ``` output/logo/ ``` 使用以下首选文件名之一将一张图片放入其中: ``` output/logo/logo.png output/logo/logo.jpg output/logo/logo.jpeg output/logo/logo.webp ``` 支持的格式: - PNG - JPG - JPEG - WEBP 所选图片将被转换为 data URI 并嵌入到报告中。即使 HTML 文件被移动到另一个文件夹或计算机,它仍将继续显示该 Logo。 如果未找到 Logo,SteamRecon 将显示项目名称而不显示占位符头像。 ## 本地文件 SteamRecon 将运行时数据存储在代码库之外。 ### Windows ``` %USERPROFILE%\.steamrecon\ ├── settings.json ├── history.json ├── cache\ └── profiles\ └── \ ├── avatars\ └── snapshots\ ``` ### Linux 和 macOS ``` ~/.steamrecon/ ├── settings.json ├── history.json ├── cache/ └── profiles/ └── / ├── avatars/ └── snapshots/ ``` ### 设置 `settings.json` 包含: - 界面语言; - 主题色; - 请求超时; - API keys; - 启用的来源; - 收集限制; - 历史记录设置; - 快照设置; - 头像下载偏好。 ### 历史记录 `history.json` 存储对近期资料、诊断和游戏报告的引用。 ### 快照 每个已启用的资料快照都会在本地保存,并与之前的快照进行对比。 SteamRecon 可以识别以下方面的变化: - 显示名称; - 真实姓名; - 资料 URL; - 自定义 URL; - 头像; - 国家/地区; - 隐私状态; - Steam 等级; - 封禁字段; - 公开游戏和数量。 ### 头像存档 下载的头像存储在以下位置: ``` ~/.steamrecon/profiles//avatars/ ``` SteamRecon 可以计算: - SHA-256; - MD5; - dHash; - pHash; - 宽度; - 高度; - 图像格式; - 首次发现时间。 ## 环境变量 | 变量 | 用途 | |---|---| | `STEAMRECON_HOME` | 更改设置、历史记录、缓存和快照目录 | | `STEAMRECON_OUTPUT` | 更改报告输出目录 | | `STEAMRECON_NO_CLEAR` | 阻止终端清屏 | ### Windows 示例 ``` $env:STEAMRECON_HOME = "D:\SteamReconData" $env:STEAMRECON_OUTPUT = "D:\SteamReconReports" python main.py ``` ### Linux 和 macOS 示例 ``` export STEAMRECON_HOME="$HOME/.local/share/steamrecon" export STEAMRECON_OUTPUT="$HOME/Documents/SteamReconReports" python main.py ``` ## 收集限制 庞大的 Steam 账号可能包含数以千计的游戏、好友、徽章和媒体项目。SteamRecon 在“设置”菜单中提供了限制功能,以防止意外导致收集过程耗时过长。 | 设置 | 用途 | |---|---| | 游戏信息丰富限制 | 使用游戏数据来源进行信息丰富的最大游戏数量 | | 成就游戏限制 | 查询成就的最大游戏数量 | | 库存限制 | 每个库存处理的最大库存项目数 | | 公开页面限制 | 收集的公开好友、徽章或媒体记录的最大数量 | | 请求超时 | HTTP 请求的最大等待时间 | 在处理非常大的公开资料时,请逐步增加限制。 ## 隐私行为 SteamRecon 尊重每个来源的可见性规则。 - 不绕过私密资料字段。 - 不通过未经授权的访问重建隐藏的好友列表。 - 不访问私密库存。 - 不绕过登录页面和 CAPTCHA。 - 不规避 API 限制。 - 不将仅提供链接的服务呈现为自动收集的结果。 - API keys 保留在本地,并从报告中排除。 查询生成和报告渲染均在本地进行。公开值仅发送给收集所需的已启用外部来源。 ## 项目结构 ``` SteamRecon/ ├── docs/ │ ├── REFERENCES.md │ ├── SOURCES.md │ └── SOURCE_AUDIT.md ├── output/ │ ├── .gitkeep │ └── logo/ │ ├── .gitkeep │ └── README.txt ├── photo/ │ ├── menu.png │ ├── search.png │ ├── html_report.png │ ├── html_report2.png │ └── html_report3.png ├── steamrecon/ │ ├── data/ │ │ ├── report_template.html │ │ └── sources.json │ ├── sources/ │ │ ├── base.py │ │ ├── game_data.py │ │ ├── game_profiles.py │ │ ├── socid.py │ │ ├── steam_activity.py │ │ ├── steam_aliases.py │ │ ├── steam_api.py │ │ ├── steam_community.py │ │ ├── steam_inventory.py │ │ └── steam_public_pages.py │ ├── analyzer.py │ ├── app.py │ ├── avatar.py │ ├── browser.py │ ├── catalog.py │ ├── config.py │ ├── history.py │ ├── http.py │ ├── i18n.py │ ├── menu.py │ ├── models.py │ ├── paths.py │ ├── report.py │ ├── snapshot.py │ ├── steamid.py │ └── ui.py ├── tests/ ├── .gitignore ├── CHANGELOG.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── README_RU.md ├── main.py ├── requirements-dev.txt ├── requirements.txt └── pytest.ini ``` ## 测试 安装开发依赖项: ``` pip install -r requirements-dev.txt ``` 运行所有测试: ``` python -m pytest ``` 测试套件涵盖: - Steam ID 转换; - 数字菜单解析; - Steam 社区资料解析; - 别名; - 公开活动; - 公开库存; - OpenDota 规范化; - 游戏数据来源; - 来源目录验证; - 来源状态分类; - 公开好友; - 公开页面分页; - 资料快照; - 共同好友对比; - 报告渲染; - 诊断报告; - 大型资料测试夹具; - 自定义报告 Logo; - 可视化报告功能。 ## 故障排除 ### Steam Web API 显示 `needs_key` 在以下位置添加 Steam Web API key: ``` Settings → Steam Web API key ``` ### 好友列表缺失 可能的原因: - 资料好友列表是私密的; - Steam 返回了临时错误; - 公开好友页面发生了变化; - 公开页面来源被禁用; - 收集在配置的限制处停止。 运行 **Source diagnostics** 并检查 `steam_public_pages` 和 `steam_api` 的结果。 ### FACEIT 显示 `needs_key` 在设置中添加 FACEIT Data API key。即使没有 key,Faceit Finder 仍可作为手动查询来源使用。 ### 来源显示 `blocked` 服务可能返回了: - HTTP 403; - HTTP 429; - CAPTCHA; - Cloudflare 拦截; - 区域限制; - 身份验证页面。 SteamRecon 将此报告为 `blocked` 并继续执行其他来源。 ### 报告未显示自定义 Logo 检查文件是否位于: ``` output/logo/ ``` 使用以下名称之一: ``` logo.png logo.jpg logo.jpeg logo.webp ``` 添加文件后生成新报告。 ### 浏览器标签页过多 外部链接仅在用户选择后打开。请选择较少的来源或直接从 HTML 报告中打开链接。 ## 局限性 - Steam 和第三方页面结构可能在不另行通知的情况下发生变化。 - 不同资料的公开可见性有所不同。 - 即使某服务的公开页面可以在浏览器中打开,该服务也可能会阻止自动请求。 - API 速率限制和 key 权限由服务提供商控制。 - SteamRecon 无法保证第三方记录是最新的或正确的。 - 非常庞大的资料需要增加收集限制并耗费更多处理时间。 - 历史数据从公开来源获取可用时,或 SteamRecon 创建其第一个本地快照时开始。 - 缺失结果并不能证明不存在相关的账号或记录。 ## 负责任的使用 仅在涉及公开信息的合法调查中使用 SteamRecon。 请勿使用该工具: - 骚扰用户; - 绕过隐私设置; - 未经授权访问账号; - 规避服务限制; - 发布未经证实的指控; - 在没有正当理由的情况下暴露个人信息。 请手动审查每个结果,并在最终调查记录中保留来源背景。 ## 贡献 欢迎在以下方面做出贡献: - 修复失效的来源; - 新的公开且有文档记录的 API; - 改进的解析器; - 额外的测试; - 报告设计改进; - 俄语和英语翻译; - 文档更正。 在提交 Pull Request 之前: 1. 确认来源是可公开访问的。 2. 不要绕过身份验证、CAPTCHA 或速率限制。 3. 添加真实的连接器状态。 4. 包含诊断数据。 5. 为解析器添加测试。 6. 运行 `python -m pytest`。 7. 更新 `docs/SOURCES.md` 和 `docs/SOURCE_AUDIT.md`。 有关代码库指南,请参阅 [CONTRIBUTING.md](CONTRIBUTING.md)。 ## 版权归属 SteamRecon 使用来自 Steam 和独立第三方服务的公开信息。 Steam、Steam Logo 及相关标志归 Valve Corporation 所有。FACEIT、OpenDota、backpack.tf 及其他服务名称归其各自所有者拥有。 SteamRecon 不隶属于 Valve Corporation 或第三方来源的运营方。 每份生成的报告都包含来源归属,并提醒结果需要人工验证。 ## 许可证 SteamRecon 采用 [MIT 许可证](LICENSE) 发布。
标签:ESC4, OSINT, Python, 代码示例, 多模态安全, 实时处理, 情报搜集, 数据分析, 数据可视化, 文档结构分析, 无后门, 逆向工具