Instagram Monitor 详细部署教程

1. 项目简介

Instagram Monitor 是一款功能强大的实时 OSINT(开源情报)工具,用于追踪 Instagram 用户的活动。它可以监控用户的新帖子、Reels、故事更新、个人资料变更(如头像、简介、可见性)、关注者/关注列表变化,并提供精美的仪表盘和即时通知。

核心特性:

  • 实时追踪:监控新帖子、Reels、故事、关注者/关注变化、个人资料图片和简介更新
  • 媒体下载:匿名下载故事图片和视频,保存高质量帖子、Reels 视频和头像
  • 交互式仪表盘:提供终端仪表盘和 Web 仪表盘
  • 智能通知:支持邮件、Discord webhooks 和 ntfy 通知
  • 隐私与反检测:Be Human 模式、Jitter 模式、时间段限制、浏览器会话导入等功能

2. 部署前准备

2.1 系统要求

  • 操作系统:Linux、macOS 或 Windows
  • Python 版本:Python 3.9+(推荐 3.10+)
  • 网络:稳定的互联网连接

2.2 安装方式选择

Instagram Monitor 提供三种安装方式:

安装方式 适用场景 优势
PyPI 新手用户 一行命令完成安装
Docker 容器化部署 环境隔离,无需配置 Python
手动脚本 开发者 完全可控,便于调试

3. 方式一:PyPI 安装(推荐)

这是最简单的安装方式,适合大多数用户。

3.1 安装命令

打开终端,执行以下命令:

1
pip install instagram_monitor

3.2 运行设置向导

安装完成后,运行交互式设置向导:

1
instagram_monitor --setup

设置向导会引导你完成以下配置:

  • 选择要监控的 Instagram 账号
  • 设置登录方式(推荐导入浏览器会话)
  • 配置监控频率和通知选项
  • 选择界面模式(终端或 Web 仪表盘)

3.3 验证安装

运行诊断命令检查系统环境和配置是否正常:

1
instagram_monitor --doctor

4. 方式二:Docker 部署

如果你偏好容器化部署,可以使用 Docker 方式。

4.1 macOS 或 Windows

使用 macOS 终端或 Windows PowerShell,执行以下命令:

1
docker run --rm --pull=always -it --init -v "${PWD}:/data:z" -v instagram_monitor_session:/home/instagram/.config/instaloader misiektoja/instagram-monitor:latest --setup

注意:在 Windows 命令提示符中,需将 ${PWD} 替换为 %cd%

4.2 Linux

Linux 系统需要指定用户 ID 和组 ID,确保容器写入的文件归属于你:

1
docker run --rm --pull=always -it --init --user "$(id -u):$(id -g)" -v "$PWD:/data:z" -v instagram_monitor_session:/home/instagram/.config/instaloader misiektoja/instagram-monitor:latest --setup

4.3 Docker Compose 方式

下载 Compose 文件:

1
curl -fsSLO https://raw.githubusercontent.com/misiektoja/instagram_monitor/refs/heads/main/docker-compose.yml

Linux 用户需要导出用户 ID 和组 ID:

1
2
export INSTAGRAM_MONITOR_UID="$(id -u)"
export INSTAGRAM_MONITOR_GID="$(id -g)"

运行设置向导:

1
docker compose run --rm --pull=always instagram_monitor --setup

启动服务:

1
docker compose up

5. 方式三:手动脚本安装

适合需要修改源码或深度定制的开发者。

5.1 克隆项目

1
2
git clone https://github.com/misiektoja/instagram_monitor.git
cd instagram_monitor

5.2 安装依赖

1
pip install -r requirements.txt

主要依赖包括:instaloaderrequestspython-dateutilpytztzlocalpython-dotenv

5.3 运行程序

1
python3 instagram_monitor.py --setup

6. 初始配置

6.1 登录方式选择

Instagram Monitor 提供两种监控模式:

模式一:无需登录(匿名模式)

适合监控公开账号,功能有限:

1
instagram_monitor target_username

模式二:登录模式(推荐)

登录后可查看故事、Reels 和详细的关注者变化。推荐使用浏览器会话导入方式。

6.2 导入浏览器会话(推荐)

这是最可靠的登录方式,可以复用浏览器中已有的 Instagram 会话。

使用 Firefox 浏览器:

  1. 在 Firefox 中登录你的 Instagram 账号
  2. 运行以下命令导入会话:
1
instagram_monitor --import-browser-session --browser firefox

使用 Chrome/Brave/Chromium:

1
instagram_monitor --import-browser-session --browser chrome

说明:此方法的优势在于,如果你每隔几天在 Firefox 浏览器中正常使用该账号(如滚动浏览、点赞帖子),会被视为“良好”活动,有助于提高工具操作的可信度。

6.3 监控目标账号

导入会话后,使用以下命令监控目标:

1
instagram_monitor -u <your_insta_user> <target_insta_user>

7. 核心功能使用

7.1 查看模式

工具提供三种视图模式:

模式 说明 启动方式
传统文本模式 标准命令行输出,适合后台运行 默认模式
终端仪表盘 富交互终端界面,实时统计 --dashboard
Web 仪表盘 现代 Web 界面,浏览器访问 --web-dashboard

启动 Web 仪表盘:

1
instagram_monitor <target_insta_user> --web-dashboard

启动后,在浏览器中访问 http://localhost:5000 即可打开 Web 界面。

7.2 通知配置

邮件通知配置:

instagram_monitor.conf 文件中配置 SMTP 设置:

1
2
3
4
5
SMTP_SERVER=smtp.gmail.com
SMTP_PORT=587
SMTP_USERNAME=your_email@gmail.com
SMTP_PASSWORD=your_app_password
STATUS_NOTIFICATION=True

验证 SMTP 设置:

1
instagram_monitor --send-test-email

Discord 通知配置:

将 webhook URL 存储在 .env 文件中:

1
WEBHOOK_URL="https://discord.com/api/webhooks/..."

或通过命令设置:

1
instagram_monitor --set-webhook-url

7.3 检查间隔配置

自定义轮询间隔(单位:秒):

1
instagram_monitor <target_insta_user> -c 3600

建议:不建议使用低于 1 小时的间隔值,否则容易被 Instagram 的自动化工具检测机制发现。

7.4 多目标监控

同时监控多个账号:

1
instagram_monitor target1 target2 target3

或使用配置文件保存常用监控目标。

8. 反检测最佳实践

为避免被 Instagram 检测为自动化工具,建议遵循以下最佳实践:

  1. 使用专用 Instagram 账号:不要使用主账号进行监控
  2. 启用 2FA:提高账号可信度
  3. 限制监控数量:每会话最多监控 3-5 个账号
  4. 避免使用 VPN:会触发地理位置标记
  5. 启用 Be Human 模式:模拟真实用户行为
  6. 启用 Jitter 模式:添加类人延迟
  7. 使用 Firefox 会话:定期在浏览器中正常使用该账号

9. 常见问题与解决方案

9.1 登录问题

问题:无法导入浏览器会话或登录失败。

解决方案

  • 确保浏览器已登录 Instagram
  • 清除浏览器缓存后重新导入会话
  • 检查防火墙设置是否阻止工具访问网络

9.2 账号被标记

问题:Instagram 显示警告或要求验证。

解决方案

  • 在浏览器中手动点击“忽略”按钮
  • 降低检查频率
  • 启用 Be Human 模式
  • 定期在浏览器中正常使用该账号

9.3 无法查看故事或关注者

问题:只能看到帖子,无法查看故事和关注者列表。

解决方案:需要使用登录模式(模式二),通过浏览器会话导入后运行。

9.4 会话过期

问题:运行一段时间后会话失效。

解决方案

  • 重新导入浏览器会话
  • 确保定期在浏览器中使用该账号
  • 如果使用密码登录,可通过发送 SIGHUP 信号重新加载密码

10. 安全与伦理注意事项

根据项目行为准则,使用本工具时请注意:

  • 仅监控你拥有或获得明确许可的账号
  • 不要使用项目空间来协调跟踪或监视个人
  • 不要公开发布他人的 Instagram 数据
  • 尊重隐私,负责任地使用

11. 部署架构总结

部署方式 适用场景 安装命令 特点
PyPI 新手用户 pip install instagram_monitor 最简单,一行命令
Docker 容器化部署 docker run ... 环境隔离,无需配置 Python
手动脚本 开发者 git clone && pip install -r requirements.txt 完全可控,便于调试

部署完成后,你可以通过 instagram_monitor --setup 快速配置监控目标,或使用 instagram_monitor --web-dashboard 启动 Web 界面进行可视化管理。建议先从公开账号的匿名监控开始,熟悉工具功能后再配置登录模式以获取更全面的监控能力。