推荐一个自动化教育SRC漏洞挖掘系统--AutoHunter

前言

欢迎来到 AutoHunter 部署与使用指南!本文旨在为安全研究人员和开发者提供一份详尽的 AutoHunter 系统部署手册。AutoHunter 是一个自动化 SRC 漏洞挖掘系统,集成了 FOFA 资产测绘与 LLM 多 worker 自主挖掘/审核/情报沉淀功能,能够显著提升漏洞挖掘效率。

无论你是安全新手还是经验丰富的渗透测试人员,本指南都将帮助你快速搭建并运行 AutoHunter 系统。我们将从最基础的 Docker 部署开始,逐步深入到本地源码部署、环境变量配置、常见问题排查等各个环节,确保你能够顺利启动并使用这个强大的自动化工具。

在开始之前,请确保你已经准备好以下资源:

  • 一个可用的 FOFA 账号(或 Hunter 等其他网络空间测绘引擎的 API Key)
  • AI 大模型的 API Key(如 DeepSeek、通义千问等)
  • 基本的命令行操作知识
  • Python 3.9+ 和 Node.js 16+ 环境(如果选择本地源码部署)

让我们开始吧!

下载资源

GitHub - StanleyNull/AutoHunter: 自动化 SRC 漏洞挖掘系统:FOFA 资产测绘 + LLM 多 worker 自主挖掘/审核/情报沉淀。Powered By StanleyNull · GitHub

如何部署

要将 AutoHunter 部署到本地电脑,推荐优先使用 Docker 方式 (最省心,环境隔离好),其次是 本地源码运行。以下是具体步骤:

一、Docker 部署(推荐)

项目根目录包含 Dockerfile,说明支持容器化部署,这是最简单的方式。

  1. 安装 Docker Desktop

    • Windows/Mac:前往官网下载并安装 Docker Desktop。
    • Linux:使用包管理器安装 docker.iodocker-compose
  2. 克隆项目代码

    复制代码
    git clone https://github.com/StanleyNull/AutoHunter.git
    cd AutoHunter
  3. 配置环境变量

    • 复制 .env.example.env

      复制代码
      cp .env.example .env
    • 编辑 .env 文件,填入你的 API Key、数据库地址、FOFA Token 等必要配置。

  4. 构建并启动容器

    复制代码
    docker compose up --build -d

    若无 docker-compose.yml,可手动构建镜像并运行:

    复制代码
    docker build -t autohunter .
    docker run -d --name autohunter -p 8000:8000 --env-file .env autohunter
  5. 访问服务

    • 前端页面:http://localhost:8000(端口根据实际配置调整)
    • 后端 API:通常在 http://localhost:8000/api 或类似路径

二、本地源码部署(适合开发者调试)

  1. 安装依赖环境

    • Python ≥ 3.9(项目语言占比76%)
    • Node.js ≥ 16(前端 Vue 项目)
    • PostgreSQL / MySQL(根据 .env 配置选择数据库)
  2. 克隆并进入项目

    复制代码
    git clone https://github.com/StanleyNull/AutoHunter.git
    cd AutoHunter
  3. 安装 Python 依赖

    复制代码
    pip install -r requirements.txt
  4. 安装前端依赖并构建

    复制代码
    cd frontend
    npm install
    npm run build
    cd ..
  5. 配置环境变量

    • 同 Docker 部署步骤,复制并编辑 .env 文件。
    • (这步不清楚的可以看翻到后面,我写了两种方法)
  6. 初始化数据库

    解释: 这条命令会自动检测数据库变化并更新表结构。如果看到类似 INFO alembic.runtime.migration Context impl SQLiteImpl 或 Running upgrade 的字样且没有报错,就说明成功了。(若有报错,可往后翻,有详细解决办法)

复制代码
   python manage.py migrate  # Django 项目
   # 或
   alembic upgrade head      # Flask + SQLAlchemy 项目
  1. 启动服务

AutoHunter 是前后端分离的架构,你需要分别启动后端和前端。请打开两个终端窗口(或者在一个终端里分步操作):

  1. 启动后端 (核心服务)

这一步负责调用 AI 和 FOFA 接口。(若报错,往后翻,有详细解决方法)

  1. 确保终端路径在 E:\desktop\AutoHunter (项目根目录)。

  2. 输入以下命令并回车:

    uvicorn main:app --reload

  3. 成功标志 :看到类似 Uvicorn running on http://127.0.0.1:8000 的绿色字样,且没有红色报错。

  4. 启动前端 (网页界面)

这一步让你能通过浏览器访问工具。

现在打开浏览器,访问前端终端里显示的那个地址(通常是 http://localhost:5173),你应该就能看到 AutoHunter 的登录或主界面了!

🚀 开始使用

  1. 不要关闭上面的后端终端,新开一个终端窗口。

  2. 先进入前端文件夹:

    复制代码
    cd frontend
  3. 启动开发服务器:

    复制代码
    npm run dev
  4. 成功标志 :看到 Local: http://localhost:5173/ (端口号可能是 5173 或 3000)。

✅ 你现在可以做的下一步操作:

点击顶栏「新建」按钮 (截图中右上角"任务"按钮旁边应该有个"+"或"新建"入口)

(我上面那个夜间模式的截图是还没认证的)要在令牌输入一开始.env文件中设置的密码认证了才会显示,(若存在疑问,可以往后翻,有详细解决步骤)

,尝试创建第一个漏洞挖掘任务。 观察控制台 :按 F12 打开浏览器开发者工具 → 切换到 Network(网络)标签页 → 点击"新建"或任何按钮时,看是否有请求发送到 http://127.0.0.1:8001

  • 如果看到 200 状态码 → 前后端通信正常!

  • 如果看到红色报错(如 CORS、404、500)→ 别慌,往后翻,我帮你定位问题。

    # 问题 原因 解决
    1 看不到「新建任务」按钮 未认证,authRoleRef !== 'full' 输入令牌登录
    2 FOFA 报「不符合规范」 FOFA 账号是注册用户,无 API 配额(0/0) 换用 Hunter 等其他免费引擎
    3 API 请求 404 Vite 代理端口写错(8000),且该端口上跑的是别的程序 改用 18800 端口
    4 API 请求 500 后端跑在 8000,Vite 代理指向 18800(空端口) 统一端口为 18800

测试后端接口 :打开 http://127.0.0.1:8001/docs,看看 FastAPI 自动生成的 Swagger 文档里有没有 /tasks/create 之类的接口,可以手动点"Try it out"测试一下。


💡 小提醒:

  1. 若你右上角显示"未认证",说明系统可能有登录/权限机制。如果点击"新建"没反应或提示需要登录,你可能需要先注册或登录一个账号(看有没有"登录"或"注册"按钮)。
  2. 如果"新建"按钮点不动,也可能是前端还没绑定事件,或者后端接口还没写好------这时候就要看控制台报错了。

第二种本地源码方式如何部署环境变量

"复制并编辑 .env 文件"听起来很专业,其实操作非常简单。你可以把它理解为**给软件填写"账号密码"和"设置"**的过程。

因为项目作者不能把他的私人密钥公开,所以他提供了一个模板文件.env.example)。你需要把这个模板复制一份,改个名字,然后填入你自己的信息,程序才能跑起来。

以下是针对 Windows 和 Mac 用户的"保姆级"操作教程:

第一步:找到文件

在你克隆下来的 AutoHunter 文件夹里,你会看到两个长得很像的文件:

  1. .env.example(这是模板,不要直接改它
  2. .gitignore 等其它文件

第二步:复制并重命名(二选一)

方法 A:使用命令行(最快,推荐)

如果你已经打开了终端(Terminal / CMD / PowerShell)并且停留在项目目录下,直接运行这一行命令:

  • Windows (PowerShell):

    复制代码
    copy .env.example .env
  • Mac / Linux:

    复制代码
    cp .env.example .env

    运行完后,文件夹里会多出一个叫 .env 的新文件。

方法 B:手动操作(鼠标流)
  1. 在文件夹里右键点击 .env.example
  2. 选择"复制"。
  3. 在空白处右键"粘贴"。
  4. 把新生成的文件重命名为 .env(注意:Windows 可能会提示你"如果改变文件扩展名可能会导致文件不可用",点击 ;如果看不见 .example 后缀,请确保文件名就是 .env 而不是 .env.txt)。

第三步:编辑内容(填空)

  1. 打开文件 :右键点击刚才生成的 .env 文件,选择用记事本 (Windows)或 文本编辑(Mac)打开。推荐用 VS Code 打开,会有颜色高亮,看着不累。

  2. 填写信息 :你会看到类似下面的内容:

  3. 怎么填?

这个 .env 文件虽然看起来很长,但其实你只需要关注最前面的几个核心配置,后面的大部分参数保持默认即可。

  • 根据文件开头的注释提示,我为你整理了**"三步极简配置法"**:

    第一步:配置 AI 大模型(必填)

    这是整个系统的大脑,不填这个程序无法运行

    找到文件开头的 【必填】AI / LLM 通道 区域,默认已经帮你选好了 DeepSeek,你只需要填入你的 API Key:

  • 我是用的阿里云的api,操作步骤网站上写的很详细了,我就不多说了

    💡 提示:如果你没有 Key,可以去 DeepSeek 开放平台注册获取。如果你用的是其他模型(如通义、Kimi),请修改对应的 BASE_URL 和 MODEL。

    第二步:配置 FOFA 测绘 Key(强烈推荐)

    这个工具是用来自动搜集目标资产的,如果不填,你只能手动录入目标,会失去很多自动化功能。

    找到 【推荐】FOFA 网络空间测绘 Key 区域:

    复制代码
    # 👉 【在这里填入你的 FOFA Key】
    FOFA_KEY=你的FOFA_Key
    下面的保持留空即可
    FOFA_BASE_URL=
    FOFA_ALLOWED_HOSTS=

    💡 提示:去 FOFA 官网 (fofa.info) 登录个人中心(或者直接访问 网络空间测绘,网络空间安全搜索引擎,网络空间搜索引擎,安全态势感知 - FOFA网络空间测绘系统),复制你的 API Key 填进去。

    第三步:配置访问控制令牌(保护你的控制台)

    为了防止别人偷偷访问你的本地服务,强烈建议设置一个访问密码。

    找到 【强烈建议】访问控制令牌 区域:

    复制代码
    # 👉 【在这里填入一个足够长的随机字符串作为密码】
    AUTOHUNTER_API_TOKEN=MySuperSecretPassword123!
    下面两个只读和观摩权限,本地自己用可以留空
    AUTOHUNTER_READ_TOKEN=
    AUTOHUNTER_OBSERVER_TOKEN=
    🛑 剩下的需要改吗?

    完全不需要!

    文件里剩下的 服务监听内置应用层 WAFWorker 挖掘预算并发与线程池 等几百行参数,作者已经为你调好了默认值,直接保持原样,千万不要去动它们

第四步:保存

  1. 填好后,直接按 Ctrl + S (Windows) 或 Command + S (Mac) 保存,然后关掉文件。

  2. 确保文件名是 .env(不要变成 .env.txt)。

  3. 确认无误后,你就可以回到上面

  4. 打开终端执行 python manage.py migrate 开始启动啦!

初始化数据库常见问题

问题1:

这个错误是因为 Alembic 找不到迁移脚本的配置路径,通常发生在项目结构不完整或配置文件缺失时。

1. 检查项目根目录是否存在 alembic.ini 文件

  • 打开你的 AutoHunter 项目文件夹(就是 E:\desktop\AutoHunter)。
  • 确认根目录下有一个名为 alembic.ini 的文件。如果没有,说明项目初始化不完整,需要从源码重新拉取或手动创建。

2. 检查 alembic 文件夹是否存在

  • 在根目录下,应该有一个名为 alembic 的文件夹(注意不是 alembic.ini)。
  • 这个文件夹里必须包含 env.pyversions/ 子文件夹。如果缺少,说明迁移环境未初始化。

✅ 修复方法

如果上述文件缺失,你需要重新初始化 Alembic 环境:

复制代码
# 在项目根目录执行
alembic init alembic

这会创建 alembic.inialembic/ 文件夹。

然后再次运行:

复制代码
alembic upgrade head

⚠️ 特别注意

  • 不要手动删除 alembic 文件夹:它包含数据库版本历史,删了会导致数据丢失。
  • 如果项目是克隆的 Git 仓库 :检查 .gitignore 是否误忽略了 alembic/versions/,导致迁移文件未下载。
  • Windows 路径问题 :确保项目路径中没有中文或特殊字符(如 E:\desktop\AutoHunter 是安全的,但 E:\桌面\AutoHunter 可能出问题)。

完成以上步骤后,数据库初始化就能正常进行了。

问题2:

这个错误是因为 Alembic 在尝试连接数据库时,找不到你配置的数据库驱动(dialect)。从报错 sqlalchemy.exc.NoSuchModuleError: Can't load plugin: sqlalchemy.dialects:driver 来看,问题出在 alembic.ini 文件里的数据库连接字符串配置不正确。

按上述步骤还是报错

问题原因

Alembic 依赖 SQLAlchemy 来连接数据库。SQLAlchemy 需要知道你要连的是什么数据库(比如 SQLite、MySQL、PostgreSQL),以及用什么驱动去连。你的配置里写的是 driver,这不是一个真实的数据库类型,所以 SQLAlchemy 找不到对应的"方言包"来翻译指令。

解决方法

你需要打开项目根目录下的 alembic.ini 文件,找到 sqlalchemy.url 这一行,把它改成正确的数据库连接地址。

如果你用的是 SQLite(推荐新手使用)若不知道自己用的是什么,那大概率就是这个

这是最简单的方案,不需要安装额外的数据库软件。把 sqlalchemy.url 改成:

复制代码
sqlalchemy.url = sqlite:///./app.db

这会在你当前目录下创建一个名为 app.db 的 SQLite 数据库文件。

如果你用的是 MySQL

你需要先安装 MySQL 驱动:

复制代码
pip install pymysql

然后把 sqlalchemy.url 改成:

复制代码
sqlalchemy.url = mysql+pymysql://用户名:密码@localhost:3306/数据库名
如果你用的是 PostgreSQL

你需要先安装 PostgreSQL 驱动:

复制代码
pip install psycopg2-binary

然后把 sqlalchemy.url 改成:

复制代码
sqlalchemy.url = postgresql+psycopg2://用户名:密码@localhost:5432/数据库名

修改后再次执行

保存 alembic.ini 文件后,回到终端重新运行:

复制代码
alembic upgrade head

如果配置正确,这次就不会报错了,数据库表结构会自动创建成功。

启动服务常见问题

后端问题1:

这个错误 Could not import module "main" 意思是:Uvicorn 在当前目录下找不到名为 main.py 的文件。

这通常是因为你运行命令的目录不对,或者项目的主入口文件名字不叫 main.py。请按以下步骤排查:

确认主入口文件名

  1. 打开你的项目文件夹 E:\desktop\AutoHunter
  2. 仔细看一眼根目录下的文件列表。
  3. 找找看有没有叫 main.py 的文件?
    • 如果没有 :找找有没有叫 app.pyserver.py 或者 run.py 的文件?如果有,把启动命令里的 main 换成那个文件名(例如:uvicorn app:app --reload)。
    • 如果有:请继续看下一步。

确认当前终端路径

虽然你的截图显示路径是 E:\desktop\AutoHunter,但有时候终端的"视觉路径"和"实际工作目录"不一致。

请在当前终端输入以下命令并回车,强制刷新一下路径:

复制代码
cd E:\desktop\AutoHunter

然后再重新运行启动命令:

复制代码
uvicorn main:app --reload

检查文件是否被隐藏或后缀名错误

有时候 Windows 会隐藏已知文件类型的扩展名。

  • 你可能看到了一个叫 main 的文件,但它实际可能是 main.txt 或者 main.py.txt
  • 解决方法 :在文件夹上方的菜单栏点击"查看",勾选"文件扩展名",确保那个文件确实叫 main.py

若找不到.py文件(如图所示)根目录下确实没有 main.py,但是有一个 app 文件夹

最后发现在app文件夹里有

现在,请回到你的终端(PowerShell),输入下面这个绝对正确的命令

复制代码
uvicorn app.main:app --reload

💡 命令解析

  • app (第一个):代表项目根目录下的 app 文件夹。
  • main :代表文件夹里的 main.py 文件。
  • :app (第二个):代表代码里定义的那个 FastAPI 实例变量名(通常都叫 app)。

执行后观察:

如果看到绿色的 Uvicorn running on http://127.0.0.1:8000,就说明后端启动成功了!

后端问题2:

若还是报错:端口被占用模块导入路径错误

🔧 第一步:解决 WinError 10013(端口被占)

这个错误 以一种访问权限不允许的方式做了一个访问套接字的尝试,99% 的情况是因为 8000 端口被其他程序占用了(比如之前的 Uvicorn 进程没关干净,或者微信、其他开发工具占了)。

✅ 解决方法:换一个端口启动

在终端里输入以下命令,把端口从 8000 改成 8001:

复制代码
uvicorn app.main:app --reload --port 8001

如果 8001 也被占了,就换 8002、8080 等,直到成功为止。

🛠️ 进阶:找出并杀掉占用端口的进程(可选)

如果你想彻底解决,可以查一下谁占了 8000 端口:

复制代码
netstat -ano | findstr :8000

你会看到一个 PID(比如 12345),然后用任务管理器或命令杀掉它:

复制代码
taskkill /PID 12345 /F

📦 第二步:解决 Attribute "app" not found(模块导入错误)

这个错误 Error loading ASGI app. Attribute "app" not found in module "app",说明你运行的命令 uvicorn app:app --reload 是错的------它试图把整个 app 文件夹当作一个模块,但里面没有直接定义一个叫 app 的变量。

✅ 正确命令(再次强调)

你必须指定到具体的文件:

复制代码
uvicorn app.main:app --reload
  • app.main → 进入 app 文件夹,找到 main.py
  • :app → 在 main.py 里找那个叫 app 的 FastAPI 实例

🚀 最终推荐启动命令(一步到位)

结合上面两点,最稳妥的启动方式是

复制代码
uvicorn app.main:app --reload --port 8001

执行后,如果看到绿色的 Uvicorn running on http://127.0.0.1:8001,就说明后端成功了!

认证令牌常见问题

问题一:看不到「新建任务」和「设置」按钮

现象:页面显示「还没有任务」,顶部导航栏没有「新建」按钮。

根本原因 :前端有访问控制,App.vue:175-178 代码中写了:

复制代码
<router-link v-if="authRoleRef === 'full'" to="/create" ...>
  <span>新建</span>
</router-link>

只有当用户的认证角色为 full 时,这两个按钮才会渲染。没有令牌 = 未认证 = 角色为 null = 按钮被隐藏。

解决:在顶部导航栏点击「令牌」按钮,输入 .env文件自己设置的密码即可。


问题二:FOFA 报「不符合规范」

现象:在任务中使用 FOFA 引擎搜索时,返回错误提示。

根本原因 :FOFA 账号类型为「注册用户」(免费账号),API 配额为 0/0。FOFA 当前政策是:注册账号仅能通过 Web 界面使用,API 接口需要付费会员或单独购买 API 点数。截图显示:

复制代码
身份权限: 注册用户
API查询次数余额: 0/0
API数据返回额度: 0/0

这不是账号密码错误,是账号类型本身就没有 API 调用权限。

解决 :改用其他免费有 API 的引擎。已在 .env 第 65 行配置了 Hunter(奇安信)的 Key:HUNTER_KEY=ff.。。。。(自己的API)。创建任务时把引擎选为「Hunter」即可。


问题三:修改 .env 后令牌仍然无效

现象 :修改了 AUTOHUNTER_API_TOKEN 为**。。。(.env文件自己设置的的密码)**,前端输入后提示令牌无效。

根本原因:有两个叠加问题:

  1. 后端进程在启动时通过 app/config.py:10-24_load_dotenv() 加载 .env 文件到 os.environ,之后每次令牌校验(app/security.py:48-49)都是从内存的环境变量读取。修改文件后必须重启后端进程才能生效,光刷新浏览器没用。
  2. 浏览器本地还缓存了旧令牌:之前访问过的令牌被存储在 localStoragecookie (ah_api_token) 中,每次请求都会自动带上旧令牌,导致即使 .env 正确,请求中发出去的还是旧令牌。

解决 :后端重启 + 浏览器清缓存(localStorage.clear() + 删除 cookie)。


问题四:API 请求返回 404({"detail":"Not Found"}

现象 :所有 /api/* 请求(/api/auth/status/api/tasks/api/settings 等)均返回 404。

根本原因vite.config.js:13 中 Vite 代理配置的端口写错了:

复制代码
"/api": { target: "http://localhost:8000", ... }

端口 8000 上运行的不是 AutoHunter 后端,而是一个 Acunetix 漏洞扫描系统 。访问 http://localhost:8000/docs 可以看到那是一个完全不同的 Swagger 文档(路由是 /api/v1/configuration/api/v1/plugins 等)。所以 Vite 把前端请求转发到了 Acunetix 的后端,Acunetix 不认识 AutoHunter 的 /api/auth/status 等路由,返回 404。

解决:将 Vite 代理端口改为 AutoHunter 实际运行的端口(18800)。但最初改好后又出现了问题五。


问题五:API 请求返回 500(Internal Server Error

现象 :把 Vite 代理改到 18800 后,请求返回空的 500 错误(响应体为空,Content-Type 为 text/plain)。

根本原因 :之前为了修复问题四,临时把 Vite 代理从 8000 改成了 18800,但后端仍然跑在 8000 端口(uvicorn app.main:app --reload --port 8000)。所以请求被转发到了 18800 端口,而那个端口上没有任何服务在监听 → 空连接 → 500 错误。

解决 :将后端也改为 18800 端口启动:uvicorn app.main:app --reload --port 18800,同时 Vite 代理保持 18800。前后端端口统一后问题消失。

若F12之后

  • 点击「响应」标签(在「标题」旁边)

  • 里面的内容(错误堆栈)是空的
    说明后端在返回响应之前就崩溃了。这不是令牌问题,是后端本身的问题。

    1. 确认后端是否在运行

      curl -s http://localhost:18800/health

    或(在powershel里)

    复制代码
    curl.exe -s http://localhost:18800/health
  • 如果返回 {"ok": true} --- 后端在跑

  • 如果连接失败 --- 后端根本没启动

  • 也在浏览器里测试一下:访问 http://localhost:8000/docs (FastAPI 自带的 Swagger 文档),看看能不能打开。这样能确认后端是否真的正常启动了。

  • 若浏览器访问显示:则localhost:8000 上跑的根本不是 AutoHunter 的后端 ,而是另一个 Acunetix 漏洞扫描系统的后端(看 /docs 里的路由:/api/v1/configuration/api/v1/plugins 这些)。

所以你现在有两个选择:

方案一:让 AutoHunter 跑在别的端口(推荐)

在 AutoHunter 后端的终端里,先按 Ctrl+C 停掉当前的 uvicorn,然后用一个不同的端口重新启动:

复制代码
cd e:\desktop\AutoHunter
uvicorn app.main:app --reload --port 18800

然后把 Vite 代理也改成 18800:

但这样你就需要停掉现在跑在 8000 端口的东西。你可以先看看:

复制代码
netstat -ano | findstr :8000

然后把 Vite 代理改回 8000,确保前端代理到正确的后端。

第一步:停掉当前后端,改用 18800 端口启动

后端终端 (跑 uvicorn 的那个)按 Ctrl+C 停掉,然后执行

复制代码
cd e:\desktop\AutoHunter
uvicorn app.main:app --reload --port 18800
第二步:重启 Vite 前端

前端终端 (跑 npm run dev 的那个)按 Ctrl+C 停掉,然后执行:

复制代码
cd e:\desktop\AutoHunter\frontend
npm run dev
第三步:验证后端

在浏览器访问 http://localhost:18800/docs ,应该能看到 AutoHunter 的 Swagger 文档(而不是之前的 Acunetix)。

第四步:清除浏览器缓存并登录

在浏览器控制台执行:

复制代码
localStorage.clear();
document.cookie = 'ah_api_token=; expires=Thu, 01 Jan 1970 00:00:00 GMT; path=/';
location.reload();

然后在令牌输入框粘贴之前.env文件,你自己填入的密码

再检查一下后端运行情况:

同时请在另一个终端执行:

复制代码
curl.exe -s http://localhost:18800/health

显示这样就是没问题啦,再重新启动一下服务,浏览器刷新一下

功能都完整就可以开始漏洞扫描啦!


💡 常见问题(避坑指南)

  1. 我看不到 .env.example 文件?
    • 有些系统会隐藏以 . 开头的文件。请在文件夹上方点击"查看",勾选"隐藏的项目"。
  2. 保存后变成了 .env.txt
    • 这是 Windows 新手的经典坑。记事本默认会加个 .txt 后缀。你需要开启Windows的"显示文件扩展名"功能,把后面的 .txt 删掉,确保它就叫 .env
  3. Key 从哪里来?
    • 这个项目主要依赖 FOFA (网络空间测绘)和 LLM(大模型,如 ChatGPT/DeepSeek)。你需要去 FOFA 官网注册获取 Key,以及去大模型服务商后台获取 API Key,填进去才能工作。

注意事项

  • API Key 安全 :切勿将真实密钥提交到 Git,.env 文件应加入 .gitignore
  • 端口冲突 :若 8000 端口被占用,可在 .env 或启动命令中修改。
  • 日志与调试 :查看容器日志 docker logs autohunter,或本地运行时观察终端输出。
  • 更新代码 :定期 git pull 获取最新修复和功能。

🚀 每日启动标准流程

以后每次启动这个项目,你都需要同时运行两个服务(后端和前端)。

为了让你操作更熟练,我把标准流程整理成了"傻瓜式"步骤。建议你在桌面上建个记事本,或者直接记住下面这套连招:

你需要打开 两个 终端窗口(或者在 VS Code 里 split 两个终端)。

终端 1:启动后端 (Python)
  1. 打开终端,确保在项目根目录 AutoHunter 下。

  2. 输入启动命令(记得带上端口号,因为你之前 8000 被占用了):

    复制代码
    uvicorn app.main:app --reload --port 8001

    注:如果下次 8001 没被占用,也可以试着去掉 --port 8001,直接用默认的 8000。

终端 2:启动前端 (Node.js)
  1. 打开一个新的终端窗口。

  2. 进入前端文件夹:

    复制代码
    cd frontend
  3. 启动开发服务器:

    复制代码
    npm run dev

    (如果这个报错,试一下 npm run serve)


💡 几个让开发更爽的小技巧

关于"不用每次都输命令"
  • 后端 :如果你用的是 VS Code,可以配置 .vscode/launch.json,按 F5 就能直接启动后端,不用手敲命令。
  • 前端:同理,VS Code 也可以配置一键启动前端。
关于"端口被占用"的终极解决

如果你不想每次都加 --port 8001,可以在每次关闭程序时,确保在终端里按 Ctrl + C 彻底停止服务,而不是直接叉掉窗口。这样端口通常会立即释放。

关于"依赖安装"
  • 不需要 每次都运行 pip install -r requirements.txt (后端) 或 npm install (前端)。
  • 只有当你更新了代码库(git pull)或者换了电脑时,才需要重新安装依赖。平时直接启动即可。

我下次打开的步骤(每个人可能有区别)

需要启动 3 个服务

第一步:启动后端(端口 18800)

打开一个终端:

PowerShell

复制代码
cd e:\desktop\AutoHunter
uvicorn app.main:app --reload --port 18800

第二步:启动前端(端口 5173)

再开一个终端

PowerShell

复制代码
cd e:\desktop\AutoHunter\frontend
npm run dev

第三步:访问并登录

浏览器打开 http://localhost:5173 ,点击顶部「令牌」按钮,输入.env文件中自己设置的


注意事项

  • 顺序无所谓,两个终端都启动好就行
  • 不要关终端,关了对应服务就停了
  • 如果之前那个 Acunetix 服务占着 8000 端口,不用管,AutoHunter 用的是 18800,不冲突
  • FOFA 没 API 配额,创建任务时用 Hunter 引擎(已在 .env 配置了 Key)
相关推荐
振浩微433射频芯片1 小时前
从门锁到考勤,VRC522B如何在近场读卡场景中“稳坐C位”?
网络·人工智能·单片机·物联网
码视野1 小时前
多宠 RFID 颈圈识别与湿粮半导体制冷保鲜分餐喂食器解决方案(软硬件一体化)
大数据·人工智能·python
九硕智慧建筑一体化厂家1 小时前
智慧建筑高效管控!楼宇自控系统赋能新能源园区智能运维
运维·人工智能·笔记·智慧城市
2601_954526752 小时前
2026 生成式搜索引擎底层技术演进与 GEO优化服务商推荐:大模型检索增强(RAG)管道与语义对齐工程实战
大数据·人工智能·搜索引擎
我有满天星辰2 小时前
Spring AI Prompt 实战:System Prompt、User Prompt 与 PromptTemplate
人工智能·spring·prompt
A15362552 小时前
WMS 仓储管理系统推荐:企业如何选适配的仓储管理系统
大数据·人工智能
学习中.........2 小时前
Transformer 训练资源估算:以 CS336 GPT-2 XL 配置为例
人工智能·python·算法·机器学习·自然语言处理
咯哦哦哦哦3 小时前
linux so库(arm)对比分析
linux·运维·arm开发
Setsuna_F_Seiei6 小时前
前端的 AI 学习之路 02 之 Provider 与 Structured Output - 规范化模型输入输出
人工智能·agent·ai编程