Unclaimed project
Are you a maintainer of apfree-wifidog ? Claim this project to take control of your public changelog and roadmap.
Claim this project Changelog
apfree-wifidog apfree-wifidog is a high-performance captive portal solution that serves as a gateway between your wireless networks and the Internet. Optimized for both HTTP and HTTPS traffic, it ensures secure border control while enabling seamless user authentication and efficient network management. 技术交流QQ群 331230369
apfree-wifidog c captive-portal libevent openwrt wifi +1
Last updated about 12 hours ago
© 2026 AnnounceHQ. All rights reserved.
Back to changelogNew November 30, 2025
Release 8.11.2719 / 版本发布 8.11.2719 Release 8.11.2719
This release includes significant improvements and bug fixes since version 7.10.2082.
🚀 Major Features
Portal Authentication Enhancements
Add portal authentication configuration and checks in API handlers and firewall operations
Skip firewall checks and domain parsing when portal authentication is disabled
Implement direct firewall reload mechanism with proper locking and error handling
Add portal authentication check before updating counters
WebSocket & Real-time Communication
Enhance auth server status detection via WebSocket connection
Add WebSocket client information query interface
Improve WebSocket key generation and message processing with enhanced validation
Enhance WebSocket message processing and heartbeat management
DNS Monitoring & xDPI
Implement DNS statistics export functionality for aw-bpfctl integration
Add program array map for tail calls and refactor DNS egress handler
Enhance domain entry structure with access count and timestamps for improved tracking
Relax DNS header validation and enhance logging for better debugging
Add domain whitelist settings in firewall initialization
Improve DNS event handling with enhanced input validation and size checks
Implement loading of predefined L7 protocols
System Information & Monitoring
Enhance status reporting with detailed system, network, and firewall information
Add system information retrieval handler for WebSocket requests
Add CPU temperature retrieval and integrate into system info
Add JSON status endpoints for client, auth, and wifidogx
Add online time calculation to status text output
WiFi Configuration
Complete WiFi configuration interface with full OpenWrt wireless and mesh configuration support
Update WiFi configuration interface documentation based on latest implementation
Limit available_networks to return only proto=static network interfaces
Remove network interface IP configuration functionality, keep only interface list retrieval
Remove mesh_fwding and mesh_rssi_threshold fields
Documentation & GitHub Pages
Add initial HTML structure and CSS styles for the ApFree WiFiDog portal
Add new documentation files and translate to Chinese
Create xDPI overview and quick start guide in Chinese
Update README files to include links to English and Chinese versions
Add Chinese version of README with project overview and contribution guidelines
Optimize contact section UI
🐛 Bug Fixes
Kernel Compatibility
Update device class creation for kernel 6.6+ compatibility
Update proc_ops to file_operations for compatibility
Replace _IOW/_IOR macros with simple integer constants for IOCTL commands to enhance kernel module compatibility
Memory & Safety
Allocate memory for domain list in xdpi_proc_ioctl to prevent stack overflow
Enhance DNS question and answer parsing to prevent unaligned access issues
Fix DNS egress processing SEC marking to ensure correct packet handling
IOCTL Operations
Update ioctl operations to use character device instead of proc file
Enhance permissions for ioctl operations
Include ioctl.h for proper IOCTL command definitions
Improve code structure in xdpi_proc_ioctl for better readability and maintainability
Client Management
Improve client disconnection handling and status response logging
Fix wifidog_uptime being 0 issue in get_sys_info
Initialize first_login to current time if not set
Use int64 for client counters in JSON object creation
Update client info when get client info
Improve command parameter handling and status reporting in wdctl_cmd_process
Authentication & Firewall
Skip HTTPS and HTTP services if portal authentication is disabled, with appropriate logging
Skip applying auth server firewall rule during local auth
Add null check for auth_server->ips_auth_server in firewall functions
Enhance firewall rule checking with debouncing and failure tracking
URL Handling
Update wd_get_orig_url to accept is_ssl parameter for scheme determination
Improve URL reconstruction logic in wd_get_orig_url function
Fix URI joining check in wd_get_orig_url function
Error Handling & Logging
Enhance error logging for domain synchronization and addition in xDPI kernel module
Improve JSON request handling and update auth server configuration logic
Change logging level to DEBUG for top domains reporting
Reduce unnecessary logs in dns_monitor
Remove redundant checks for zero rates in SID statistics printing and JSON parsing
♻️ Refactoring & Code Quality
Architecture Improvements
Remove enable_dhcp_cpi configuration and DHCP-related functionality
Remove enable_dns_forward configuration and DNS forwarding functionality
Remove SSH client implementation files
Remove proc file operations and related code from xdpi-bpf.c
Remove unused xDPI constants and structures from dns_monitor.c
Code Organization
Enhance thread termination and signal handling with improved error checks
Improve UCI configuration handling with input validation and error checks
Enhance documentation in safe.c/h for memory management functions
Add SPDX license identifiers and copyright notices to multiple source files
Remove redundant _GNU_SOURCE definitions from multiple source files
Update debug.h for improved documentation and use of pragma once
Improve documentation in http.h and reorganize callback function declarations
WebSocket Thread
Refactor ws_thread with improved structure
Enhance handle_kickoff_response, handle_auth_response, handle_tmp_pass_response functions
Improve ws_read_cb documentation and input handling
Enhance create_ws_bufferevent documentation and code readability
Simplify input buffer reading logic and improve overflow handling in ws_read_cb
Authentication System
Enhance process_auth_server_roam with improved documentation and error handling
Improve process_auth_server_login_v2 function with enhanced error handling
Enhance get_auth_counter_v2_uri function with improved documentation
Enhance parse_auth_server_response and process_auth_server_logout functions
Streamline error handling in authentication functions and enhance documentation
Reorganize and clarify request and response definitions in centralserver.h
General Refactoring
Rename ssl_redir to tls_thread and update related references
Update CMake configuration for improved structure and clarity
Simplify ECDH setup in ssl_redirect_loop function
Add cleanup function for firewall destruction before exit
Optimize substring replacement logic in HTTP processing
Update domain management to use ioctl for loading domains and improve domain entry handling
Add function to set inner domains as trusted and enable GNU extensions in safe.c
Build & CI/CD
Add libmosquitto-dev installation to build-on-ubuntu.yml workflow
Rename linux.yml to build-on-ubuntu.yml and enhance workflow with firewall version input
📊 Statistics
Total Commits : 638
Version Range : 7.10.2082 → 8.11.2719
Intermediate Versions : 8.10.2701, 8.09.2681
🙏 Contributors Thanks to all contributors who made this release possible!
For complete commit history, see: https://github.com/liudf0716/apfree-wifidog/compare/7.10.2082...8.11.2719
版本发布 8.11.2719 此版本包含自 7.10.2082 版本以来的重大改进和错误修复。
🚀 主要功能
Portal 认证增强
在 API 处理器和防火墙操作中添加 portal 认证配置和检查
当 portal 认证禁用时跳过防火墙检查和域名解析
实现直接防火墙重载机制,具有适当的锁定和错误处理
在更新计数器之前添加 portal 认证检查
WebSocket 和实时通信
通过 WebSocket 连接增强认证服务器状态检测
添加 WebSocket 客户端信息查询接口
改进 WebSocket 密钥生成和消息处理,增强验证
增强 WebSocket 消息处理和心跳管理
DNS 监控和 xDPI
实现 DNS 统计导出功能,用于 aw-bpfctl 集成
添加程序数组映射用于尾调用,并重构 DNS 出口处理器
增强域名条目结构,添加访问计数和时间戳以改进跟踪
放宽 DNS 头验证并增强日志记录以便更好地调试
在防火墙初始化中添加域名白名单设置
改进 DNS 事件处理,增强输入验证和大小检查
实现预定义 L7 协议的加载
系统信息和监控
增强状态报告,提供详细的系统、网络和防火墙信息
为 WebSocket 请求添加系统信息检索处理器
添加 CPU 温度检索并集成到系统信息中
为客户端、认证和 wifidogx 添加 JSON 状态端点
在状态文本输出中添加在线时间计算
WiFi 配置
完善 WiFi 配置接口,支持完整的 OpenWrt 无线和 mesh 配置
根据最新实现更新 WiFi 配置接口文档
限制 available_networks 只返回 proto=static 的网络接口
移除网络接口 IP 配置功能,只保留接口列表获取
移除 mesh_fwding 和 mesh_rssi_threshold 字段
文档和 GitHub 页面
为 ApFree WiFiDog portal 添加初始 HTML 结构和 CSS 样式
添加新文档文件并翻译成中文
创建中文版 xDPI 概述和快速入门指南
更新 README 文件,包含英文和中文版本链接
添加中文版 README,包含项目概述和贡献指南
优化联系部分 UI
🐛 错误修复
内核兼容性
更新设备类创建以兼容 kernel 6.6+
将 proc_ops 更新为 file_operations 以提高兼容性
将 _IOW/_IOR 宏替换为简单整数常量以增强内核模块兼容性
内存和安全性
在 xdpi_proc_ioctl 中为域名列表分配内存以防止栈溢出
增强 DNS 问题和应答解析以防止未对齐访问问题
修正 DNS egress 处理程序的 SEC 标记,确保正确处理数据包
IOCTL 操作
更新 ioctl 操作以使用字符设备而不是 proc 文件
增强 ioctl 操作的权限
包含 ioctl.h 以获取正确的 IOCTL 命令定义
改进 xdpi_proc_ioctl 中的代码结构以提高可读性和可维护性
客户端管理
改进客户端断开连接处理和状态响应日志记录
修复 get_sys_info 中 wifidog_uptime 为 0 的问题
如果未设置,则将 first_login 初始化为当前时间
在 JSON 对象创建中使用 int64 作为客户端计数器
获取客户端信息时更新客户端信息
改进 wdctl_cmd_process 中的命令参数处理和状态报告
认证和防火墙
如果 portal 认证被禁用,则跳过 HTTPS 和 HTTP 服务,并进行适当的日志记录
在本地认证期间跳过应用认证服务器防火墙规则
在防火墙函数中为 auth_server->ips_auth_server 添加空检查
通过防抖和失败跟踪增强防火墙规则检查
URL 处理
更新 wd_get_orig_url 以接受 is_ssl 参数进行 scheme 确定
改进 wd_get_orig_url 函数中的 URL 重建逻辑
修复 wd_get_orig_url 函数中的 URI 连接检查
错误处理和日志记录
增强 xDPI 内核模块中域名同步和添加的错误日志记录
改进 JSON 请求处理并更新认证服务器配置逻辑
将顶级域名报告的日志级别更改为 DEBUG
减少 dns_monitor 中的不必要日志
移除 SID 统计打印和 JSON 解析中对零速率的冗余检查
♻️ 重构和代码质量
架构改进
移除 enable_dhcp_cpi 配置和 DHCP 相关功能
移除 enable_dns_forward 配置和 DNS 转发功能
移除 SSH 客户端实现文件
从 xdpi-bpf.c 中移除 proc 文件操作和相关代码
从 dns_monitor.c 中移除未使用的 xDPI 常量和结构
代码组织
通过改进的错误检查增强线程终止和信号处理
通过输入验证和错误检查改进 UCI 配置处理
增强 safe.c/h 中内存管理函数的文档
向多个源文件添加 SPDX 许可证标识符和版权声明
从多个源文件中删除冗余的 _GNU_SOURCE 定义
更新 debug.h 以改进文档并使用 pragma once
改进 http.h 中的文档并重新组织回调函数声明
WebSocket 线程
重构 ws_thread,改进结构
增强 handle_kickoff_response、handle_auth_response、handle_tmp_pass_response 函数
改进 ws_read_cb 文档和输入处理
增强 create_ws_bufferevent 文档和代码可读性
简化 ws_read_cb 中的输入缓冲区读取逻辑并改进溢出处理
认证系统
增强 process_auth_server_roam 的文档和错误处理
改进 process_auth_server_login_v2 函数,增强错误处理
增强 get_auth_counter_v2_uri 函数的文档
增强 parse_auth_server_response 和 process_auth_server_logout 函数
简化认证函数中的错误处理并增强文档
重新组织和澄清 centralserver.h 中的请求和响应定义
通用重构
将 ssl_redir 重命名为 tls_thread 并更新相关引用
更新 CMake 配置以改进结构和清晰度
简化 ssl_redirect_loop 函数中的 ECDH 设置
在退出前添加防火墙销毁的清理函数
优化 HTTP 处理中的子字符串替换逻辑
更新域名管理以使用 ioctl 加载域名并改进域名条目处理
添加将内部域名设置为可信的功能,并在 safe.c 中启用 GNU 扩展
构建和 CI/CD
在 build-on-ubuntu.yml 工作流中添加 libmosquitto-dev 安装
将 linux.yml 重命名为 build-on-ubuntu.yml 并通过防火墙版本输入增强工作流
📊 统计信息
总提交数 : 638
版本范围 : 7.10.2082 → 8.11.2719
中间版本 : 8.10.2701, 8.09.2681
🙏 贡献者
完整提交历史,请查看:https://github.com/liudf0716/apfree-wifidog/compare/7.10.2082...8.11.2719
C