AngerPacket 使用手册

从安装到精通,每一步都有图有真相。不会编程也能看懂!

5分钟快速上手

跟着这几步走,5分钟后你就能抓到第一个包!
1

下载并启动 AngerPacket

根据你的系统使用上方一键安装命令或下载双击运行。终端会显示管理地址。

Web管理: https://127.0.0.1:20000
代理端口: 1080
2

打开浏览器访问后台

浏览器输入 https://127.0.0.1:20000,用默认账号密码登录。

默认账号: admin
默认密码: admin123
第一次登录后请立即修改密码!
3

配置代理用户

进入「用户管理」→ 创建一个代理账号(用户名+密码),这个账号将用于你的APP/游戏连接代理。

4

设置APP/游戏代理

在你的手机/模拟器/电脑上设置代理:

# 代理类型: SOCKS5
服务器: 你电脑的IP地址
端口: 1080
用户名: 你创建的账号
密码: 你设置的密码
5

开始抓包!

回到后台 → 点击「封包面板」,你就能实时看到所有经过代理的流量!每条封包都显示方向、大小、十六进制内容。

用支持socks5协议的代理客户端连接,就能在后台看到对应的封包数据。

下载与安装

单文件分发,一行命令启动。支持 Linux / Windows / macOS 全平台。

专业版 — 拥有完善的规则系统和商业化功能
Linux 一键安装
# 一行命令完成下载、安装、配置 systemd 服务
sudo bash -c "$(curl -fsSL https://www.anger.us.kg/download/install.sh)"

# 安装完成后自动启动,可通过以下命令管理:
systemctl start angerpacket    # 启动
systemctl stop angerpacket     # 停止
systemctl status angerpacket   # 查看状态
systemctl restart angerpacket  # 重启
Windows 安装

下载后双击运行,首次启动会提示设置管理员账号密码

下载专业版 Windows

启动后访问 https://127.0.0.1:20000 进入管理面板

macOS 一键安装
# 一行命令完成下载和安装
sudo bash -c "$(curl -fsSL https://www.anger.us.kg/download/install.sh)"

# 如提示未签名开发者,前往:
# 系统偏好设置 → 安全性与隐私 → 通用 → 仍要打开
免费版 — 仅保留基础功能和部分特色功能
Linux 一键安装
# 一行命令完成下载、安装、配置 systemd 服务
sudo bash -c "$(curl -fsSL https://www.anger.us.kg/downloadm/install.sh)"

# 安装完成后自动启动,可通过以下命令管理:
systemctl start angerpacket-free    # 启动
systemctl stop angerpacket-free     # 停止
systemctl status angerpacket-free   # 查看状态
systemctl restart angerpacket-free  # 重启
Windows 安装

下载后双击运行,首次启动会提示设置管理员账号密码

下载免费版 Windows

启动后访问 https://127.0.0.1:20000 进入管理面板

macOS 一键安装
# 一行命令完成下载和安装
sudo bash -c "$(curl -fsSL https://www.anger.us.kg/downloadm/install.sh)"

# 如提示未签名开发者,前往:
# 系统偏好设置 → 安全性与隐私 → 通用 → 仍要打开

系统要求

操作系统

Linux 3.10+ / Windows 10+ / macOS 11+

CPU 架构

amd64 / x86_64 / arm64

内存

≥ 128 MB

磁盘

≥ 50 MB(含数据库)

注意:首次运行时,程序会在同级目录创建 angerconfig/ 文件夹存放所有配置和数据。不要删除这个文件夹!

代理设置详解

AngerPacket 的代理是什么?

简单说:AngerPacket 在你的电脑上开了一个 SOCKS5 代理服务器。你把手机/模拟器/其他程序的网络流量指向这个代理,所有流量就会先经过 AngerPacket,然后你就能看到、修改这些流量。

→ AngerPacket → 互联网

你的设备 → 代理服务器 → 目标网站/游戏服务器

如何设置代理?(以安卓为例)

1

如果是局域网搭建请确保手机和电脑在同一个WiFi

2

查看电脑/服务器IP:终端输入 ifconfig(Linux/Mac)或 ipconfig(Windows)

3

在代理客户端配置socks5

代理类型: SOCKS5
主机名: 192.168.1.100 (换成你电脑的局域网IP/服务器ip)
端口: 1080
用户名: 你创建的用户名
密码: 你设置的密码

代理端口和Web端口

端口默认值用途
Web管理端口20000浏览器访问后台管理界面(HTTPS)
SOCKS5代理端口1080设备连接此端口使用代理
兑换API端口PRO配置决定卡密兑换接口
代理控制台PRO30000二级代理登录管理

抓包查看

这是最核心的功能!在后台「封包面板」中,你能看到所有经过代理的流量。

封包面板布局

封包列表

左侧显示所有捕获的封包,每条显示:时间、方向(发送/接收)、大小、来源

Hex查看器

点击任意封包,右侧显示完整的十六进制内容和ASCII对照

搜索过滤

支持按Hex值、文本、端口、域名等条件过滤封包

实时统计

显示封包总数、流量大小、连接数等实时数据

如何看懂封包数据?

# 一个封包长这样:
方向: SEND 端口: 8080 大小: 64字节
00000000 48 54 54 50 2F 31 2E 31 20 32 30 30 20 4F 4B 0D |HTTP/1.1 200 OK.|
00000010 0A 43 6F 6E 74 65 6E 74 2D 54 79 70 65 3A 20 74 |.Content-Type: t|
小技巧:左边是原始十六进制数据,右边是ASCII文本对照。如果看到可读的英文,说明这是HTTP/文本协议;如果全是乱码,说明是加密或二进制协议。

封包对比功能

选中两条封包,可以并排对比它们的差异。适合分析不同操作产生的封包有何不同。

封包修改(规则引擎)

这是 AngerPacket 的核心杀器:拦截特定封包,修改其中的数据,再发送出去。

两种规则类型

类型优先级用途
特别处理 SpecialRules 最高 最先匹配,命中后跳过普通规则。用于关键封包单独处理。
修改器 ModRules 常规封包修改。支持多次命中、包长过滤等高级条件。

一个规则包含什么?

{
  "name": "修改金币数量",
  "port": "8080",              // 匹配端口,支持 80-443, 80,443
  "domain": "game.example.com",  // 匹配域名,支持 *.example.com
  "pattern": "AABB??CCDD",      // 特征码(Hex),?? = 任意字节
  "dir": "recv",                // 方向: send(发出)/recv(收到)/both(双向)
  "enabled": true,            // 是否启用
  "block": false,             // 是否拦截(true=丢弃此包)
  "length": ">10",             // 包长度条件 >n, <n, =n, =n~m
  "occurrence": "3",           // 第几次命中才修改,0=每次都改
  "mods": [                  // 修改操作列表
    { "offset": 8, "value": "00000064" }  // 从第8字节开始,写入 00 00 00 64 (=100)
  ]
}

高级:命中次数控制 (Occurrence)

有时候你不想每次都修改同一封包。比如:

高级:命中重置 (OccurrenceReset)

设置一个"重置条件"——当触发某个条件时,命中计数器归零。比如:

这就像一个"开关闸门":闸门关着时不修改,条件触发→闸门打开→开始修改。

自动替换(Auto Reply)

与规则修改不同,Auto Reply 是完全替换封包内容。匹配到封包后,不修改它,而是直接用你准备好的数据替换。

使用场景

配置示例

{
  "name": "替换登录响应",
  "dir": "recv",                // 拦截服务器返回的包
  "port": "8080",
  "match_pattern": "48454C4F",  // 匹配特征 = "HELO"
  "block": true,               // 拦截原包不转发
  "response_hex": "4F4B21"        // 替换内容 = "OK!"
}

多条替换(顺序发送)

使用 response_hexes 数组可以依次发送多条数据:

"response_hexes": [
  "48656C6C6F",    // 第1条: "Hello"
  "576F726C64"      // 第2条: "World"
]

递增变量 {INC:变量名}

这是一个高级功能:在替换内容中使用递增计数器。

写法效果示例输出
{INC:SEQ}紧凑Hex递增0000000100000002
{INC:SEQS}空格分隔Hex递增00 00 00 0100 00 00 02

可以配置初始值(init_hex)和步长(step_hex)。

实战技巧:很多游戏封包里有序号字段,用 {INC} 自动递增序号,模拟正常通信。

SSL/TLS 解密(HTTPS抓包)

正常代理无法看到 HTTPS 加密流量。AngerPacket 通过中间人(MITM)技术解密 HTTPS。

工作原理(简单版)

→ AngerPacket(解密) → 真实服务器

AngerPacket 充当"翻译官",在你和服务器之间解密、查看、重新加密流量

设置步骤

1

安装CA证书

首次运行后,angerconfig/ 目录下会生成 ca.crt 文件。把它安装到你的设备上:

  • 安卓:设置 → 安全 → 加密与凭据 → 安装证书 → CA证书
  • iOS:用Safari下载ca.crt → 设置 → 通用 → VPN与设备管理 → 安装
  • Windows:双击ca.crt → 安装证书 → 受信任的根证书颁发机构
不安装证书就无法解密HTTPS流量!
2

配置SSL解密规则

编辑 angerconfig/ssl_decrypt.json,添加要解密的域名:

{
  "enabled": true,
  "domains": ["*.example.com", "api.game.com"],
  "target_ports": [443]
}
3

重启AngerPacket

配置生效后,访问这些域名的HTTPS流量就能看到了!

文件映射

把服务器返回的某个文件替换成你本地的文件。特别适合替换游戏的配置文件、资源文件等。

工作原理

请求 config.json → 映射到本地 → 返回你的config.json

配置方法

编辑 angerconfig/file_mapping.json

{
  "mappings": [
    {
      "url_path": "/api/config.json",
      "local_file": "file_mapping/my_config.json",
      "domain": "game.example.com"
    }
  ]
}

本地文件放在 angerconfig/file_mapping/ 目录下。

实战:找到游戏加载的配置文件URL → 下载原文件 → 修改数值 → 放到file_mapping目录 → 重启代理 → 游戏就会使用你修改后的配置!

出站拦截

阻止特定流量发出。支持黑名单/白名单模式。

拦截模式

模式效果
close直接断开连接
403返回 HTTP 403 Forbidden
502返回 HTTP 502 Bad Gateway
refused拒绝连接

拦截条件

实用场景:屏蔽游戏的统计上报服务器,防止被封号检测。

伪心跳

很多游戏/应用会定期发送心跳包来保持连接。AngerPacket 可以自动回复心跳包,让客户端以为服务器还在。

配置示例

{
  "name": "游戏心跳",
  "dir": "send",
  "match_pattern": "484542",  // 匹配心跳包特征
  "block": true,              // 拦截不转发
  "response_hex": "4845424F4B"  // 自动回复 "HEBOK"
}
设置 "block": false 则同时转发原包+发送回复(双向都发)。

用户账号管理

创建代理用户

在后台「用户管理」面板中创建SOCKS5代理用户:

属性说明
用户名代理登录用户名
密码使用bcrypt加密存储,安全
最大连接数限制该用户同时能建立多少连接
单IP限制开启后该账号只能在一个IP上使用
到期时间账号过期后自动失效

用户状态追踪

信息说明
当前连接数实时显示该用户正在使用的连接数
最后连接IP最后一次连接的IP地址
最后连接时间最后一次连接的时间

用户在线追踪 PRO

此功能为专业版独有

专业版会记录每个用户的在线时段累计在线时长

非常适合按用量计费的场景。

二级代理(分销系统)PRO

此功能为专业版独有

你可以创建二级代理账号,让代理帮你卖账号。代理登录 端口30000 的独立控制台。

代理权限(精细控制)

权限可选值说明
查看统计允许/禁止代理能否看自己的收入和用户统计
创建卡密allow / deny / requestrequest=提交工单等待审批
删除卡密allow / deny / request同上
删除用户allow / deny / request同上
修改到期allow / deny / request给用户续费
修改连接数allow / deny / request调整用户连接上限
卡密前缀自定义限制代理只能用指定前缀
卡密最大天数数字限制代理创建的卡密最长有效期
每日制卡上限数字限制代理每天最多生成多少卡密

权限模式说明

模式行为
allow代理可以直接执行操作
deny代理完全不能执行此操作
request代理提交工单,管理员审批后执行
推荐配置:给信任的代理设置 allow,给新代理设置 request,既能控制风险又不会卡死销售。

卡密系统 PRO

此功能为专业版独有

生成卡密(兑换码),用户可以自己用卡密注册账号或续费。

卡密兑换流程

生成卡密 → 发给用户 → 用户自助兑换 → 自动创建/续费账号

生成卡密

# 在后台或通过API生成:
数量: 100
前缀: VIP- (卡密格式:VIP-XXXX-XXXX-XXXX)
天数: 30 (兑换后账号有效期30天)

用户自助兑换

用户访问兑换接口,输入卡密+用户名+密码即可:

POST /api/redeem
{
  "code": "VIP-ABCD-EFGH-IJKL",
  "username": "player001",
  "password": "mypassword"
}

# 用户名规则: 4-32位字母数字下划线
# 密码规则: 最少6位
# 用户不存在 → 自动创建;已存在 → 自动续费

卡密状态

状态说明
未使用卡密尚未被兑换
已使用显示使用者、使用时间

工单审批系统 PRO

此功能为专业版独有

当代理的某些权限设为 request 时,代理操作会生成工单,等待管理员审批。

支持的工单类型

类型触发操作
删除用户代理要删除某个用户
批量续费代理要给用户加时间
修改连接数代理要改用户连接上限
生成卡密代理要生成卡密
删除卡密代理要删除卡密
批量删卡密代理要批量删除卡密

审批流程

代理提交 → 管理员收到通知 → 通过 / 拒绝 → 自动执行
审批通过后自动执行对应操作,无需管理员手动操作!

配置文件说明

所有配置文件在 angerconfig/ 目录下:

文件用途
runtime.json运行时配置(端口、动态密码等)
web_settings.jsonWeb管理界面设置
rules.json基本封包规则
mod_rules.json修改规则
auto_reply.json自动替换规则
ssl_decrypt.jsonSSL解密域名列表
file_mapping.json文件映射配置
proxy.dbSQLite数据库(用户、设置等)
ca.crt / ca.keyMITM CA证书和私钥
修改配置文件后需要重启 AngerPacket 才能生效!

Web管理界面设置

在后台「系统设置」中可以配置:

Web管理设置 (web_settings.json)

设置项说明
Web端口管理界面监听的端口,默认20000(HTTPS)
代理端口SOCKS5代理端口,默认1080
管理员密码修改后台登录密码
动态密码启用/禁用动态密码
HTTPS管理界面启用HTTPS

运行时配置 (runtime.json)

{
  "web_port": 20000,
  "proxy_port": 1080,
  "dynamic_password_enabled": false,
  "dynamic_password_secret": ""
}

十六进制匹配语法参考

在规则中使用Hex模式匹配封包时,支持以下通配符:

写法含义示例
XX精确匹配字节 0xXX48 54 → 匹配 "HT"
???匹配任意单字节48 ?? 54 → 匹配 "H?T"
0?高半字节固定0,低半字节任意0? → 00-0F
?0低半字节固定0,高半字节任意?0 → 00,F0
**匹配任意多字节(变长)AA ** BB → AA...BB

示例

// 匹配HTTP响应头开始 + 任意内容 + 结束标记
485454502F312E31 ** 0D0A0D0A
// "HTTP/1.1" + 任意内容 + "\r\n\r\n"

免费版 vs 专业版

免费版

  • SOCKS5代理服务器
  • 实时抓包查看
  • Hex封包分析
  • 封包规则修改
  • 自动替换 (Auto Reply)
  • SSL/TLS解密 (MITM)
  • 文件映射
  • 出站拦截
  • 伪心跳
  • 用户管理
  • Web管理面板
  • 动态密码

专业版 = 免费版 +

  • 二级代理/分销系统
  • 代理独立控制台 (端口30000)
  • 细粒度权限控制
  • 卡密/兑换码系统
  • 用户自助注册+续费
  • 工单审批系统
  • 用户在线时长追踪
  • 用户会话历史记录
  • 批量操作支持
总结:如果你只是自己用——免费版足够。如果你想卖代理账号赚钱——需要专业版。

常见问题

为什么我的手机连不上代理?

请检查以下几点:

  1. 手机和电脑是否在同一个WiFi下?
  2. 电脑防火墙是否允许1080端口?
  3. 代理类型是否选了SOCKS5(不是HTTP)?
  4. 用户名密码是否正确?
  5. 用户账号是否已过期
HTTPS流量抓不到怎么办?

需要两步:

  1. angerconfig/ca.crt 安装到设备的受信任根证书
  2. ssl_decrypt.json 中添加要解密的域名并启用
  3. 重启 AngerPacket

注意:部分APP有SSL Pinning(证书绑定),无法通过MITM解密。

规则修改不生效?

常见原因:

  1. "enabled": true 是否设置了?
  2. 端口号对不对?注意有些游戏用非标准端口
  3. 方向(dir)设对了吗?send=发出的包,recv=收到的包
  4. 特征码(pattern)是否精确匹配?建议先用抓包面板确认实际Hex值
  5. 修改配置文件后重启了吗?
支持UDP协议吗?

目前 AngerPacket 仅支持 TCP 连接(SOCKS5 CONNECT命令)。UDP暂不支持。大部分游戏和Web流量都是TCP,只有少数实时通信(如语音)使用UDP。

忘记管理员密码怎么办?

删除 angerconfig/proxy.db 文件并重启,系统会重新生成数据库,恢复默认密码 admin / admin123

这会删除所有用户数据、规则配置等!建议先备份。
支持多少并发连接?

取决于你的服务器性能。每个用户可单独设置最大连接数限制。Go语言的goroutine并发模型使得AngerPacket可以高效处理大量并发连接。

专业版的卡密可以在免费版用吗?

不可以。卡密系统、二级代理、工单审批等是专业版独有的数据库表结构,免费版没有这些功能模块。

能在服务器上24小时运行吗?

可以。推荐使用 screentmux 在后台运行:

# 使用 screen 后台运行
screen -S angerpacket
./AngerPacket_linux_amd64
# 按 Ctrl+A 再按 D 分离
# 重新连接: screen -r angerpacket

也可以用 systemd 做成系统服务实现开机自启。

AngerPacket 使用手册 · 持续更新中

遇到问题?联系技术支持获取帮助