Commit Graph

5622 Commits

Author SHA1 Message Date
avwo 777bcf69ba feat: handle client/server sent events 2026-06-14 13:36:19 +08:00
Frank 14a9407b4a fix: add authorityKeyIdentifier extension to fix Python SSL verification error
## 问题描述

Python 3.13+ 配合 urllib3 2.6.3 使用 Whistle 作为 HTTPS 代理时,SSL 证书验证失败:

```
urllib3.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED]
certificate verify failed: Missing Authority Key Identifier
```

## 根本原因

OpenSSL 3.x 和 Python 的 urllib3 对证书链验证更加严格。Whistle 动态生成的服务器证书只包含 `subjectAltName` 扩展,缺少 `authorityKeyIdentifier` 等必要扩展。

## 解决方案

为生成的证书添加完整的 X.509v3 扩展:
- `basicConstraints` (CA:FALSE)
- `keyUsage` (digitalSignature, keyEncipherment)
- `extKeyUsage` (serverAuth, clientAuth)
- `authorityKeyIdentifier` (从 ROOT_CRT 的 SKI 获取)

## 测试环境

- Python 3.13.5
- urllib3 2.6.3
- OpenSSL 3.5.5
- Node.js v24.14.0
- Whistle v2.10.2

此修复确保 Python 严格的 SSL 验证在使用 Whistle 进行 HTTPS 抓包时能够正常通过。
2026-03-31 15:26:04 +08:00
avwo b55839bdfa feat: refine Tools/Console 2026-03-25 21:57:54 +08:00
avwo 40a892cfb0 refactor: refine code 2026-03-21 22:37:04 +08:00
avwo f81fe36edd fix: https://github.com/avwo/whistle/issues/1297 2026-02-11 23:12:25 +08:00
avwo e880587b46 fix: https://github.com/avwo/whistle/issues/1296 2026-02-11 23:12:06 +08:00
avwo 1495110ab3 refactor: refine code 2026-02-07 23:53:20 +08:00
avwo b67ec50a0d refactor: refine code 2026-02-07 22:15:56 +08:00
avwo 007df8395e feat: allow disable custom certs 2026-02-01 23:29:45 +08:00
avwo db93be5cbc feat: disable request rules header by default 2026-02-01 23:29:02 +08:00
avwo 6ff4b95c7c refactor: refine code 2026-02-01 20:28:08 +08:00
avwo 9984c8c862 refactor: refine code 2026-01-31 10:51:48 +08:00
avwo c4740f3ef2 refactor: refine code 2026-01-31 07:41:12 +08:00
avwo 79087fbeeb feat: prevent the use of parent directory symbols 2026-01-31 07:39:36 +08:00
avwo 0ae2073ce4 feat: dark mode 2026-01-24 12:37:17 +08:00
avwo 5c808c7748 refactor: refine code 2026-01-10 00:27:21 +08:00
avwo 2be84f37a3 refactor: refine code 2026-01-01 22:00:16 +08:00
avwo c0812345a5 refactor: refine code 2025-12-27 00:07:12 +08:00
avwo d5007f3cd9 refactor: refine code 2025-12-21 21:53:22 +08:00
avwo 6fb5420218 feat: refactor the composer 2025-12-21 21:51:40 +08:00
avwo 5b34cb8551 feat: refactor the plugins loader 2025-12-21 21:49:57 +08:00
avwo c041cee4fc fix: fs-extra -> fs-extra2 2025-11-19 23:04:51 +08:00
avwo 2b1d4040a1 feat: save sessions 2025-11-16 23:07:11 +08:00
avwo 0d4ab6e064 feat: add Enabled Rules && Saved Sessions 2025-11-09 23:04:15 +08:00
avwo 1cfeaaed6d feat: ~/.whistlerc 2025-11-09 22:59:14 +08:00
avwo 42d6e85581 fix: frameScript 2025-11-09 22:58:30 +08:00
avwo 10f7c7730f fix: https://github.com/avwo/whistle/issues/1081#issuecomment-3500994521 2025-11-09 22:57:39 +08:00
avwo f4a49989cd feat: frameScript 2025-10-06 22:39:32 +08:00
avwo cc12e4e669 refactor: refine code 2025-09-14 23:10:09 +08:00
avwo c8b37391d9 feat: xxxFilter://chance:0.5 & handle EPROTO 2025-08-23 00:35:03 +08:00
avwo 6785a4fc64 feat: lineProps://originUrl 2025-08-10 22:58:28 +08:00
avwo c6b82ca222 feat: disable://doctype 2025-08-10 11:44:15 +08:00
avwo 7415f6005b refactor: refine code 2025-08-09 16:26:22 +08:00
avwo ccea7bf097 feat: transformReq & transformRes 2025-08-03 23:04:08 +08:00
avwo ee2ed263fe refactor: refine code 2025-08-03 23:03:53 +08:00
avwo 8989969b5e feat: enable://hideCaptureError 2025-07-13 01:23:37 +08:00
avwo 036adbb07c feat: add tpl var ${random} ${randomUUID} 2025-07-06 21:21:40 +08:00
avwo e92d902baa fix: https://github.com/avwo/whistle/issues/1200 2025-06-21 23:01:05 +08:00
avwo 9f5cbfedb4 refactor: refine code 2025-06-14 00:06:05 +08:00
avwo aea7e556ba feat: notAllowEnableHTTPS 2025-06-06 22:50:09 +08:00
avwo fb9fa34631 feat: install linux ca 2025-06-01 16:23:41 +08:00
avwo 1b77a5d59c feat: install plugins 2025-05-31 07:59:12 +08:00
avwo 3dbb5c8511 feat: ttfb 2025-05-02 23:28:07 +08:00
avwo 9bb54b1593 feat: refine qrcode 2025-05-02 14:58:19 +08:00
avwo 6b619613f6 refactor: refine code 2025-05-01 11:07:50 +08:00
avwo 5b3a4557c4 feat: internalOnly 2025-05-01 11:07:18 +08:00
avwo fcd02996e4 feat: lineProps://internal 2025-04-20 23:16:22 +08:00
avwo 454584599a refactor: refine code 2025-04-14 20:29:22 +08:00
avwo 8a0a673c99 feat: get temp files 2025-04-13 23:51:19 +08:00
avwo a7a896097e refactor: refine code 2025-04-13 23:27:58 +08:00