☰
如何给Aliens Eye添加自定义平台?sites.d即插即用插件完整教程
2026/9/25 18:57:08 网站建设 项目流程

如何给Aliens Eye添加自定义平台?sites.d即插即用插件完整教程

【免费下载链接】Aliens_eyeHunt down 840+ social media accounts using AI项目地址: https://gitcode.com/gh_mirrors/al/Aliens_eye

Aliens Eye 是一款 AI 驱动的 OSINT 用户名扫描工具,可同时在 840+ 个社交媒体平台上查找同名账号。内置平台清单来自 sites.json,但如果你想扫描的工具没有收录某个平台,无需修改任何源码——只要往sites.d/目录丢一个 JSON 文件,平台就会即插即用。本篇教程带你从零完成第一次自定义平台添加。

一、先搞懂:平台是怎么"定义"的?

Aliens Eye 里每个平台本质上只有一条数据:平台名 → 主页 URL 模板。例如内置清单 sites.json 中的一条:

"telegram": "https://t.me/{}"

{}是占位符,扫描时会被替换成用户名。整个查找过程就是把用户名填进模板、批量访问 800 多个平台,再交给 30 维特征向量 + 机器学习混合检测器判断账号是否存在(详见 WORKING.md)。

所以"添加平台"这件事,难度只在于找到目标平台的用户主页 URL 规律。

二、sites.d 插件文件格式(3 步上手)

第 1 步:找到目标平台的 URL 规律

在浏览器里打开一个你确认存在的账号主页,观察地址栏。常见的形态有:

平台 URL 形态示例模板写法
/用户名example.com/johnhttps://example.com/{}
@用户名example.com/@johnhttps://example.com/@{}
/u/用户名example.com/u/johnhttps://example.com/u/{}
/profile/用户名example.com/profile/johnhttps://example.com/profile/{}
子域名形式john.example.comhttps://{0}.example.com/

第 2 步:写一个 JSON 文件

在项目根目录下新建sites.d/文件夹(没有就建一个),放入文件,比如my_platform.json:

{ "my_platform": "https://myplatform.com/user/{}", "another_site": "https://another.site/@{}" }

格式要求很简单(scanner.py 中的load_site_plugins实现):

  • 顶层必须是一个JSON 对象,键是平台名(自定义,扫描结果里会显示这个名字),值是带{}占位符的 URL 模板;
  • 一个文件里可以放多个平台,平台再多也可以拆成多个文件;
  • 文件名必须以.json结尾,其他扩展名会被忽略;
  • 文件内容无效(如 JSON 语法错误)时会被静默跳过,不会导致扫描崩溃——但你也得自己检查格式。

第 3 步:验证生效

指定刚写的目录再跑一次扫描:

aliens_eye myusername --site my_platform

启动日志里出现Merged 1 plugin site(s) from sites.d directories就说明插件合并成功了。用--site my_platform过滤能最快看到效果,不用等 840 个平台全部扫完。

三、插件放在哪?三种位置任选

load_site_plugins默认按以下顺序合并(scanner.py):

  1. ./sites.d/—— 当前工作目录下的sites.d,临时试验最方便;
  2. 用户配置目录的sites.d/—— 全局生效。Linux 下一般是~/.config/aliens_eye/sites.d/(由 platformdirs 按系统自动确定),一次配置、处处可用; 3生效;
  3. --sites-dir参数—— 命令行临时追加一个额外目录,例如:
aliens_eye myusername --sites-dir /path/to/extra_sites

三个位置的文件全部合并,适合"内置 840 个 + 我的个人插件 + 团队协作目录"这种分层管理。

四、重名覆盖规则:谁说了算?

平台名冲突时,合并顺序决定了最终结果,优先级从低到高是:

内置 sites.json → ./sites.d/ → 用户配置目录 → --sites-dir

也就是说:后加载的覆盖先加载的。你想给某个已收录平台换一个更准的 URL 模板(比如它改版了),只需在sites.d里用同一个平台名写新模板即可覆盖内置定义,完全不需要动源码。

五、常见问题排查清单

Q1:扫描时找不到我加的平台?

  • 检查文件后缀是否为.json(scanner.py 只 glob*.json);
  • 用python3 -m json.tool 文件名验证 JSON 语法是否合法;
  • 确认顶层是对象{}而不是数组[]。

Q2:用户名带特殊字符怎么办?无需担心。模板填充走 format_site_url,用户名会先做百分号编码再填入,@、空格、中文等字符都不会弄坏 URL;如果模板本身format失败,还有replace("{}", ...)兜底。

Q3:结果总显示 Not Found,但账号明明存在?这是检测器的事,不是插件的事。建议用aliens_eye selfcheck看该平台精确率,或先用--no-ml对比纯启发式结果。平台 JS 渲染重(主页是空壳、内容靠前端加载)的话,可装aliens-eye[browser]启用 Playwright 兜底。

Q4:插件能用于 API/库调用吗?能。api.load_sites() 同样走插件合并逻辑,Python 里构建自己的工具链时无需任何额外配置。

六、写在最后

场景推荐位置
临时试一个平台./sites.d/
个人常用平台用户配置目录sites.d/
团队共享平台包单独目录 +--sites-dir

整个机制只有"一个 JSON 对象 + 一个占位符"这么简洁,配合 config.example.json 里的其他配置项,你完全可以把 Aliens Eye 改造成贴合自己调查习惯的定制版扫描器。添加完自己的第一批平台后,不妨再用aliens_eye selfcheck验证一下新平台的检测准确度——这才是即插即用插件的完整闭环。

【免费下载链接】Aliens_eyeHunt down 840+ social media accounts using AI项目地址: https://gitcode.com/gh_mirrors/al/Aliens_eye

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询