-
Notifications
You must be signed in to change notification settings - Fork 4
Releases: fscarmen/cfnat
Releases · fscarmen/cfnat
v0.0.8
fix: v0.0.8 align health check timeout with user-configured delay_ms
- replace hardcoded 2000ms timeout in
health_check_ipandcarrier_health_check_ipwithg_cfg.delay_ms - fix mismatch where a low
-delay(e.g. 500ms) kept an IP alive in health checks while client connections timed out against the same IP - apply the fix to all 8 dial + probe calls across Baidu and Carrier health check paths
fix: v0.0.8 健康检查超时改为与用户设置的 -delay 一致
- 将
health_check_ip和carrier_health_check_ip中硬编码的 2000ms 超时替换为g_cfg.delay_ms - 修复当
-delay设为较低值(如 500ms)时,健康检查用 2000ms 判定 IP 可用,但客户端连接用 500ms 超时而连不上的问题 - 同步修复百度直连模式和运营商模式共 8 处 dial + probe 调用
Assets 29
- sha256:a3b945c1149031bf6eaf6d95c06751b1846157ef1b62762b35b90e225bb56c6748.5 KB
2026年06月17日T01:06:06Z - sha256:db5d359b67cd899074d5fa086aabb6e9a8ee87e8bc6072603c3d46c9e8e0c00c85.3 KB
2026年06月17日T01:06:06Z - sha256:84fbdfb69ca7d9dc8e78c87ae84107437eb4ed6d97a5949b68b623a3e7918ec249.4 KB
2026年06月17日T01:06:06Z - sha256:695091f9cffe329f794a08f8c2f9f71f148823212f74fdb63ffa54ab87180ef0120 KB
2026年06月17日T01:06:06Z - sha256:46eee25e52fae423c92d529846b075bd19adc3e5858d57077c6c045e4312fea550.2 KB
2026年06月17日T01:06:06Z - sha256:a8154d43e5547cbff71c1d6840abaf0580bde70a0dc1ac1dbf206b94f1720b59123 KB
2026年06月17日T01:06:06Z - sha256:0fdd838b51f4570714641a1fcc49897d6484b5103402493e546de3c41de7900766 KB
2026年06月17日T01:06:06Z - sha256:4afb4a8a48c3b2d149bb49033ec704ef48ff6d98af9a8a70a927c4f3f05f6c95129 KB
2026年06月17日T01:06:06Z - sha256:d9521a5cdc3f9b9d3402bb403e81e86d20aa1c33ad5e3c6fbc7bb89b0687e3e541.8 KB
2026年06月17日T01:06:06Z - sha256:1190bb613901179a4f04583fb9088444c75bba3195b8e492e81fca8eaf89832341.4 KB
2026年06月17日T01:06:06Z -
2026年06月17日T01:02:59Z -
2026年06月17日T01:02:59Z - Loading
v0.0.7
feat: release v0.0.7 with dual listening mode (direct + baidu proxy)
- support -direct-listen and -baidu-listen parameters
- add mixed mode when direct-listen and baidu-listen are the same address
- refactor carrier listening logic and health check for better clarity and stability
- simplify Config structure and remove legacy multi-carrier resolver code
- improve connection selection and fallback between direct and baidu proxy
feat: 发布 v0.0.7,支持双监听模式(直连 + 百度前置代理)
- 支持 -direct-listen 和 -baidu-listen 参数
- 新增两个监听地址相同时的 mixed 混合模式
- 重构运营商监听逻辑与健康检查,提升代码清晰度和稳定性
- 精简 Config 结构体,移除遗留的多运营商解析代码
- 优化直连与百度前置代理的连接选择和回退机制
Assets 29
v0.0.6
feat: release v0.0.6 with carrier listen priority over Baidu proxy config
- force
-baidu-proxy=trueautomatically when-carrier-listensis configured - make carrier split-port mode take priority over explicit
-baidu-proxy=false - add startup notice when carrier listen mode enables Baidu proxy automatically
- simplify carrier listen examples by removing the need to set
-baidu-proxy=true - update README to document
-carrier-listenspriority and automatic Baidu proxy behavior
feat: 发布 v0.0.6,让运营商监听优先于百度代理配置
- 配置
-carrier-listens时自动强制启用-baidu-proxy=true - 让运营商分端口模式优先于显式设置的
-baidu-proxy=false - 添加启动提示,说明运营商监听模式会自动启用百度前置代理
- 简化运营商分池示例,不再需要手动设置
-baidu-proxy=true - 更新 README,说明
-carrier-listens的优先级和自动启用百度前置代理行为
Assets 29
v0.0.5
feat: release v0.0.5 with unified C source and simplified cache startup
- merge Linux, macOS, and Windows implementations into cfnat.c
- replace split source files with platform-specific conditional compilation
- keep Windows support for Winsock2, WinINet, DNS API, and Unicode console output
- keep Linux and macOS support for POSIX sockets, pthreads, and built-in DNS TXT lookup
- update GitHub Actions to build all platforms from cfnat.c
- update release packaging to include the unified source file
- refresh README with single-source build commands and platform notes
feat: 发布 v0.0.5,合并 C 源码并简化缓存启动逻辑
- 将 Linux、macOS、Windows 三个平台实现合并到 cfnat.c
- 使用平台条件编译替代分裂源码维护
- 保留 Windows 的 Winsock2、WinINet、DNS API 和 Unicode 控制台输出支持
- 保留 Linux 与 macOS 的 POSIX socket、pthread 和内置 DNS TXT 查询支持
- 更新 GitHub Actions,所有平台统一从 cfnat.c 构建
- 更新 release 打包,只附带统一后的源码文件
- 更新 README,补充单源码构建命令和平台说明
Assets 29
v0.0.4
feat: release v0.0.4 with fast-start cache and scan optimization
- add startup cache system for previously verified candidate IPs
- enable immediate startup from cached healthy IPs before full scan
- add background refresh scanning and automatic cache rewrite
- separate cache files for IPv4 / IPv6 and Baidu proxy modes
- improve scan progress visibility and runtime diagnostics
feat: 发布 v0.0.4,加入快速启动缓存与扫描优化
- 添加历史有效 IP 启动缓存系统
- 启动时优先使用缓存中的健康 IP,避免每次全量扫描
- 添加后台刷新扫描与自动缓存回写
- 为 IPv4 / IPv6 与百度代理模式分别使用独立缓存文件
- 改进扫描进度显示与运行统计日志
Assets 30
v0.0.3
feat: release v0.0.3 C build with proxy routing and platform fixes
- add Baidu CONNECT proxy support with carrier-specific listen pools
- simplify candidate selection to always use the lowest score IP and fail over to the next best candidate
- add scan progress, scan statistics, and
UNKfallback for TCP-reachable candidates without readableCF-RAY - fix Windows 7 console output by writing Unicode logs through
WriteConsoleW - fix Windows data downloads by replacing external
curl/wgetcalls with WinINet - update release builds for Linux glibc dynamic and supported musl static targets
- normalize runtime data files to
ips-v4.txt,ips-v6.txt, andlocations.json - refresh README for v0.0.3 usage, build matrix, troubleshooting, and platform notes
feat: 发布 v0.0.3 C 版,加入代理分流并修复多平台兼容问题
- 添加百度 CONNECT 前置代理和运营商独立监听池
- 简化候选选择逻辑,始终使用 score 最低 IP,并在失败后切换到下一个最优候选
- 添加扫描进度、扫描统计,以及 TCP 可达但无法读取
CF-RAY时的UNK候选回退 - 通过
WriteConsoleW输出 Unicode 日志,修复 Windows 7 控制台中文乱码 - 使用 WinINet 替代外部
curl/wget,修复 Windows 数据文件下载问题 - 更新发布构建,提供 Linux glibc 动态版和受支持的 musl 静态版
- 统一运行数据文件为
ips-v4.txt、ips-v6.txt和locations.json - 更新 README,补充 v0.0.3 用法、构建矩阵、排错和平台说明
Assets 30
v0.0.2
feat: unify select-based routing model across C platforms
- replace public mode flags with
-select=best|first|rotate|randomacross Linux, macOS, and Windows - implement score-based candidate ranking for
bestusing latency and loss rate instead of exposing internal sort modes - add IPv6 listen address parsing and socket binding support, including bracketed forms like
[::]:port - consolidate runtime logging into
-log=silent|error|warn|info|debugand improve interruptible wait behavior for cleaner shutdown - optimize long-running resource cleanup and keep candidate / location memory release paths aligned
feat: 统一 C 版跨平台的 select 路由模型
- 在 Linux、macOS 和 Windows 中统一改为对外使用
-select=best|first|rotate|random - 将
best改为基于延迟与丢包率的 score-based 综合评分,不再暴露内部排序模式 - 增加 IPv6 监听地址解析与绑定支持,包括
[::]:port这类方括号形式 - 将运行时日志统一收口为
-log=silent|error|warn|info|debug,并优化可中断等待逻辑以改善退出行为 - 优化常驻运行时的资源回收,统一候选池与 location 数据释放路径
Assets 23
v0.0.1
A lightweight Cloudflare IP scanner and TCP forwarding tool.