v3.3.3
whois v3.3.3
本次版本在 v3.3.2 之上完成项目许可证由 GPL-3.0-or-later 迁移至 MIT(WP-12)、Windows/跨平台可移植性收口,以及完整的代理访问 RIR 站点能力(WP-13A–WP-13D:HTTP/HTTPS CONNECT 与 SOCKS4/4a/5/5h,含静态 OpenSSL 3.5.8 的 HTTPS proxy TLS);官方远程静态构建与 release 制品默认启用 TLS,--help 直接报告当前 HTTPS proxy TLS backend,终端用户无需了解内部构建开关。默认直连、stdout/stderr、RIR referral、DNS-health、batch strategy 与 retry metrics 契约保持不变。
This release builds on v3.3.2 with the project license migration from GPL-3.0-or-later to MIT (WP-12), Windows/cross-platform portability closure, and the complete proxy-access capability for RIR endpoints (WP-13A–WP-13D: HTTP/HTTPS CONNECT and SOCKS4/4a/5/5h including static OpenSSL 3.5.8 HTTPS-proxy TLS). Official remote static builds and release artifacts now default to TLS-enabled, and --help reports the current HTTPS proxy TLS backend so end users never touch internal build switches. Default direct connect, stdout/stderr, RIR referral, DNS-health, batch strategy, and retry-metrics contracts remain unchanged.
中文概要:
- 许可证迁移(WP-12):项目许可证由 GPL-3.0-or-later 改为 MIT,同步根
LICENSE、README 许可证说明及 23 个源/头文件的 SPDX/License 标识;第三方代码、数据、工具输出与依赖继续遵守各自许可证,不因根 LICENSE 变更自动重许可。 - 代理访问 RIR(WP-13):新增 HTTP/HTTPS CONNECT 与 SOCKS4/4a/5/5h 代理协议;
--proxy-family仅控制代理端点,凭据来自专用环境变量或代理 URL userinfo,代理端与目标端 DNS、失败与指标完全分离。HTTPS 代理以静态 OpenSSL 3.5.8 建立经证书/主机名验证的 TLS(TLS 1.2 下限、CONNECT 前 TLS、peer/SNI/hostname/IP 验证),信任源为嵌入式 Mozilla CA2026-08-13(121 张证书,SHA-256f66dff1bdf8f96060b8177976f8b7d9254bc89bc4db933d769f7384d28480bc9,MPL-2.0);SSL_CERT_FILE可显式覆盖且读取失败 fail-close;socks5h/socks4a由代理远程解析,socks5/socks4保留本地解析。socks5会在单个地址返回 general-failure 或 address-type-unsupported 时继续下一个本地候选;socks4与严格 IPv6-only 目标模式组合会在查询前报错,允许 IPv4 回退的偏好模式仍可用;远程解析模式因目标 IP 不可观测而显示unknown。A/B 阶段已并入共享 deadline、partial I/O 处理与 per-hopNO_PROXY绕过;socks5h/socks4a不调用本地目标 DNS。 - Windows/跨平台可移植性:集中
wc_strings.h大小写比较映射,修正ssize_t、平台头、sleep 与 64 位毫秒计时的条件编译,并补齐nanosleep的 POSIX feature-test macro、显式零初始化 retry metrics 的timespec起点。 - 产品交付收口:官方远程静态构建与 full/one-click release 默认或显式启用
WHOIS_TLS=1,普通本地make与显式WHOIS_TLS=0保留无 OpenSSL 兼容路径;中英文 USAGE 提供公网 CA 与私有SSL_CERT_FILE的 HTTPS 代理示例。受静态 OpenSSL 与嵌入 CA 影响,官方制品体积显著增大(各架构约 2–6 MiB),这是单文件零运行时依赖策略的固有代价。 - 验证(2026-09-03):WP-13B-1/2/3、WP-13C、WP-13D 的 Vx A/B 均 8/8 PASS;最终 Strict
lto-auto九架构构建/9 hash/Golden/referral、Batch 4/4、Selftest 5/5、12×6 redirect 72/72 与 CIDR body 4/4+draft 9/9 全 PASS;最终默认 TLS 同步轮无告警(out/artifacts/20260903-045122,360s),九制品 SHA-256 独立复算与清单一致、双 release 目录清单逐字一致、Windows 两目标均为 full-static。
已知限制 / Known limitation:
- 官方制品因静态链接 OpenSSL 3.5.8 并嵌入 121 张 CA 证书而体积增大(x86_64 约 2.1 MiB、win64 约 6.4 MiB 等);HTTPS 代理依赖嵌入式 CA,除非设置
SSL_CERT_FILE,否则需要信任源内所含的根证书。 - 响应读取仍以
--buffer-size(默认 512 KiB)为实际接收上限,超限时静默截断且不标记截断状态(继承自 v3.3.2,本版未改变行为)。 - Official binaries grow (roughly 2.1 MiB for x86_64 and 6.4 MiB for win64, etc.) because OpenSSL 3.5.8 is statically linked and 121 CA certificates are embedded; HTTPS proxies trust the embedded CA unless
SSL_CERT_FILEis set. - The actual receive cap remains
--buffer-size(512 KiB by default); when a response exceeds it, the current release silently truncates without a truncation marker (inherited from v3.3.2; behavior is unchanged in this release).
English summary:
- License migration (WP-12): changes the project license from GPL-3.0-or-later to MIT and synchronizes the root
LICENSE, README license notice, and SPDX/License identifiers across 23 source/header files; third-party code, data, tool output, and dependencies remain under their respective licenses and are not automatically relicensed. - Proxy access to RIR (WP-13): adds HTTP/HTTPS CONNECT and SOCKS4/4a/5/5h proxy schemes.
--proxy-familyselects only the proxy endpoint, credentials come from dedicated environment variables or proxy-URL userinfo, and proxy-side DNS/failures/metrics are fully separated from the target. HTTPS proxies use static OpenSSL 3.5.8 with verified TLS (TLS 1.2 minimum, TLS before CONNECT, peer/SNI/hostname/IP verification) trusting the embedded Mozilla CA of 2026-08-13 (121 certificates, SHA-256f66dff1bdf8f96060b8177976f8b7d9254bc89bc4db933d769f7384d28480bc9, MPL-2.0);SSL_CERT_FILEoverrides explicitly and fails closed on read errors.socks5h/socks4aresolve remotely whilesocks5/socks4keep local resolution.socks5advances to the next local candidate after general-failure or address-type-unsupported for one address;socks4fails before lookup with a strict IPv6-only target mode while preference modes retaining IPv4 fallback remain valid; remote-resolution modes showunknownbecause the selected target IP is unobservable. The A/B stages also deliver a shared deadline, partial-I/O handling, per-hopNO_PROXYbypass, and no local target DNS forsocks5h/socks4a. - Windows/cross-platform portability: centralizes case-insensitive comparison in
wc_strings.hand fixes conditional handling forssize_t, platform headers, sleeps, and 64-bit millisecond timing, plus the POSIX feature-test macro required bynanosleepand explicit zero-initialization of the retry-metricstimespecorigin. - Product delivery closure: official remote statics and full/one-click releases default to or explicitly set
WHOIS_TLS=1, while normal localmakeand explicitWHOIS_TLS=0retain an OpenSSL-free compatibility path; the bilingual usage guides provide public-CA and privateSSL_CERT_FILEHTTPS-proxy examples. Official binaries grow to roughly 2–6 MiB each because of static OpenSSL and the embedded CA — the inherent cost of the single-file zero-runtime-dependency policy. - Verification (2026-09-03): Vx A/B pass 8/8 for WP-13B-1/2/3, WP-13C, and WP-13D; the final Strict
lto-autonine-architecture build/9-hash/Golden/referral, Batch 4/4, Selftest 5/5, 12x6 redirect 72/72, and CIDR body 4/4 plus draft 9/9 all pass. The final default-TLS synchronized round is warning-free (out/artifacts/20260903-045122, 360s), all nine artifact SHA-256 hashes recompute to the manifest, both release directories match byte-for-byte, and both Windows targets are full-static.
下载 / Downloads
-
静态多架构 / Static multi-arch (GitHub Release v3.3.3):
-
CI glibc 构建 / CI glibc build:
-
校验 / Checksums: