UserScanner 是一个 CLI 工具,帮助您在所有流行网站上选择唯一的用户名。

发布: (2025年11月30日 GMT+8 14:09)
3 min read
原文: Dev.to

Source:

概览

User Scanner 是一个命令行工具,可在一次命令中检查用户名在多个社交、开发者和创作者平台上的可用性。它易于贡献新站点支持,是一个协作式的 OSINT 用户名工具。

功能

  • ✅ 跨社交网络、开发者平台和创作者社区检查用户名。
  • ✅ 为每个平台提供清晰的 可用 / 已被占用 / 错误 输出。
  • ✅ 完全模块化——轻松添加新平台模块。
  • pip install 后即可直接使用 CLI。
  • ✅ 可作为用户名 OSINT 工具使用。

安装

pip install user-scanner

基本用法

扫描 所有 支持平台上的用户名:

user-scanner -u <username>

可选参数

  • 分类扫描(例如,开发者站点):

    user-scanner -u <username> -c dev
  • 列出所有模块

    user-scanner -l
  • 单模块扫描(例如,GitHub):

    user-scanner -u <username> -m github

示例输出

对用户名 johndoe078 运行工具会产生如下输出:

Checking username: johndoe078

== DEV SITES ==
  [✔] Codeberg: Available
  [✔] Cratesio: Available
  [✔] Dockerhub: Available
  [✘] Github: Taken
  [✔] Gitlab: Available
  [✔] Launchpad: Available
  [✔] Npmjs: Available
  [✔] Replit: Available

== SOCIAL SITES ==
  [✔] Bluesky: Available
  [✘] Instagram: Taken
  [✔] Mastodon: Available
  [✔] Pinterest: Available
  [✘] Reddit: Taken
  [✔] Snapchat: Available
  [✔] Telegram: Available
  [✘] Threads: Taken
  [✔] X (Twitter): Available
  [✔] Youtube: Available

== CREATOR SITES ==
  [✔] Devto: Available
  [✔] Hashnode: Available
  [✔] Kaggle: Available
  [✔] Medium: Available
  [✔] Patreon: Available

== COMMUNITY SITES ==
  [✔] Coderlegion: Available

== GAMING SITES ==
  [✔] Chess_com: Available
  [✔] Osu: Available
  ...
  ...
  ...

模块组织结构

项目的模块按类别分组:

user_scanner/
├── dev/        # 开发者平台(GitHub、GitLab 等)
├── social/     # 社交平台(Twitter/X、Reddit、Instagram 等)
├── creator/    # 创作者平台(Hashnode、Dev.to、Medium 等)
├── community/  # 社区平台(论坛、细分站点)
├── gaming/     # 游戏站点(chess.com 等——后续将继续扩展)

贡献指南

每个模块必须定义一个 validate_() 函数,接受用户名并返回:

返回码含义
1可用
0已被占用
2错误 / 无法检查

实现注意事项

  • 使用 httpx 进行 HTTP 请求。
  • 使用 colorama 实现彩色终端输出。
  • 若模块支持自定义参数,可选择性地定义 CLI 解析器。
  • 详细示例请参见仓库中的 CONTRIBUTING.md

依赖

  • httpx
  • colorama

许可证

本项目采用 MIT 许可证

征集帮助

community/gaming/ 分类仍然较小,欢迎贡献以扩展平台覆盖范围。

Back to Blog

相关文章

阅读更多 »

第1276天:职业攀升

星期六 在前往车站之前,我在当前的副项目上写了一些代码。取得了相当不错的进展,然后该出发了。Made i...

无状态 AI 应用背后的架构

项目一开始就做了一个看似冒险的决定:不使用后端数据库。当时并不需要持久化用户数据——获取用户的响应就是……

失去信心

请提供您希望翻译的文章摘录或摘要文本,我才能为您进行简体中文翻译。