Repository navigation
v2.4.99
·
3 commits
to ddb80b4ad7dbe8864e3faea5e691bbbc30175a34
since this release
✨ 新功能 (Features)
- launcher: add cross-platform auto-healing launcher, shortcut installer and release updater
- proxy: 增强DLL加载卸载日志记录和进程创建诊断
- 新增docs/oauth-detach-diagnosis.md,记录OAuth回跳与DLL卸载日志诊断流程
- 创建scripts/collect-oauth-diagnostics.ps1诊断采集脚本,支持时间窗筛选和敏感信息遮蔽
- 脚本功能包括:收集DLL版本、协议注册、进程信息、IDE日志等证据
- 提供双快照回放建议和证据判定边界说明
- 在DllMain中区分协议启动和普通启动,记录启动类型信息
- 根据lpvReserved参数区分进程终止detach和动态卸载,分别记录不同日志
- 添加FormatHexDword、BuildCreateProcessDiagnosticContext等诊断工具函数
- 替换ResumeThread调用为ResumeCreatedProcessThread,记录线程恢复结果
- feat(hooks): 改进CreateProcess钩子的进程创建日志记录
- 在CreateProcessA/W钩子中使用统一的诊断上下文格式化进程创建信息
- 避免将完整命令行中的URL或令牌写入日志,仅记录安全的进程元数据
- 更新注入成功/失败日志,使用更精确的诊断上下文描述
- 保持原有恢复时机,增加ResumeThread结果的诊断记录
- cli: add dbghelp shim for agy injection
- config-web: improve layout and routing hints
- routing: add rule-based routing and web config tool
- hooks: 添加代理连接绕过机制和进程注入过滤
- 在Config类中添加targetProcesses字段,支持指定目标进程列表
- 实现ShouldInject方法,支持大小写不敏感的进程名匹配
- 支持完全匹配和不带扩展名匹配两种方式
- 在配置加载时读取target_processes数组配置项
- 添加本地回环地址绕过,避免代理死循环
- 添加代理端口自连接绕过,防止代理自连接
- 在CreateProcessW钩子中实现进程名提取和过滤检查
- 只对目标进程列表中的进程进行DLL注入
- 非目标进程跳过注入并正常启动
- build(version): 为所有构建配置添加UTF-8编译选项
- 在Debug、Release、MinSizeRel、RelWithDebInfo配置中
- 添加/utf-8编译选项以支持中文字符
- docs(config): 更新配置文件格式和编译时间信息
- 重新排列配置文件字段顺序
- 更新编译时间戳到最新构建时间
- 保持配置文件结构的完整性和可读性
🐛 Bug 修复 (Bug Fixes)
- launcher: support cli release directory and prevent option P crash
- scope Winsock/IOCP hooks to network subprocesses only
- Antigravity's Electron main process and its identically-named child
- processes load version.dll via DLL search order. The original proxy
- installed full Winsock/IOCP hooks everywhere, which broke the loopback
- HTTPS/gRPC connection between the UI and the language server
- ('tls: unknown certificate', 'Lost connection to the language server').
- Injector mode:
- Antigravity.exe / Antigravity IDE.exe: only CreateProcessA/W hooks
- (needed to keep injecting child processes), no network hooks.
- language_server.exe / node.exe: full network hooks -> SOCKS5 proxy.
- Adds IsAntigravityHostProcessName() classification, Install(bool)
- hook scoping, LLVM-MinGW .def link compat and static CRT options.
- cli: load proxy hooks synchronously in dbghelp shim
- injection: align child process injection logs with actual outcome
- Return detailed failure reasons from InjectDll for API, wait, and exit-code failures
- Use the returned reason in CreateProcessW/A failure logs and keep success logs on true inject only
- Improve troubleshooting accuracy without changing injection control flow
- fix(injection): 校准子进程注入日志与真实结果一致
- 在 InjectDll 中返回 API、等待状态与退出码等失败原因
- 在 CreateProcessW/A 失败日志中输出具体原因,仅在真实成功时记录成功日志
- 不改变注入控制流程,只提升排障可观测性
- build: harden cache-mismatch recovery for PowerShell 5.1
- build: auto-recover from CMake cache path mismatch
- Detect CMake cache/source path mismatch during configure and retry once after cleaning build directory
- Prevent build failure when repository is moved to a different absolute path
- Keep normal configure/build flow unchanged for clean workspaces
- fix(build): 自动恢复 CMake 缓存路径不匹配问题
- 在配置阶段检测 CMake 缓存/源码路径不匹配并清理后重试一次
- 解决仓库迁移到新绝对路径后构建直接失败的问题
- 对干净工作区保持原有配置和编译流程不变
- hooks: 修复 Windows SDK 弃用警告
- 移除路由规则中不支持的 ports 配置项
- 添加已知问题说明:FakeIP 与 direct 规则中同时使用 domains 和 ports 的历史问题
- 补充 IPv6 模式优先级说明文档
- 解决旧版本中 FakeIP + direct + domains + ports 组合使用时的连接失败问题
- 将 WSAPROTOCOL_INFOA 替换为 WSAPROTOCOL_INFOW 避免 C4996 警告
- 相应更新 getsockopt 调用使用 SO_PROTOCOL_INFOW 常量
- README: 更新文档中的配置示例和已知问题说明
- 添加BUILD_TESTS选项用于构建单元测试,默认关闭,包含IPv6解析器的测试用例
- 移除了配置示例中的ports字段,新增已知问题章节,说明FakeIP与
- direct规则中domains和ports同时配置的问题,并补充IPv6模式的优先级说明
- hooks: 优化UDP连接阻断错误码和日志信息
- 新增 child_injection_mode 配置选项,支持 "filtered"(默认) 和 "inherit" 两种模式
- 新增 child_injection_exclude 排除列表,支持大小写不敏感的子串匹配
- 实现 IsChildInjectionExcluded 和 ShouldInjectChildProcess 方法
- 添加 ToLowerCopy 工具函数用于字符串大小写转换
- 更新 CreateProcess 钩子以支持新的注入逻辑
- 将UDP阻断错误码从 WSAENETUNREACH 改为 WSAEACCES,更准确反映策略阻断性质
- 更新UDP阻断日志信息,明确说明WSA错误码为策略阻断返回而非真实网络故障
- 改进CreateProcess钩子中的日志输出,区分过滤模式和排除列表导致的跳过情况
- config: 调整默认配置提升调试体验
- 新增CreateProcessA函数钩子,补全ANSI路径支持,降低子进程漏注入概率
- 改进进程注入逻辑,添加注入结果验证机制,区分成功/失败状态
- 优化远程线程等待逻辑,避免UAF(Use After Free)安全问题
- 添加详细的注入成功/失败日志记录,便于故障排查
- 将默认日志级别从info调整为debug,便于排障时获得更直观的信息
- 移除端口白名单限制,默认允许所有端口走代理,解决QUIC/HTTP3相关问题
- 更新配置文档中的默认值描述,保持一致性
- docs: 更新配置说明文档
- 同步更新build.ps1中的配置注释和表格说明
- 补充UDP阻断日志的详细说明,包括QUIC重试相关的注意事项
- chore(memory): 整理记忆文件结构并迁移数据
- 将原有context.md、patterns.md、preferences.md、rules.md移至backup目录
- 创建memories.json存储结构化记忆数据,包含规则、偏好和上下文信息
- 移除旧版metadata.json文件
- routing: remove duplicate method declarations
- fakeip: 实现跨进程共享映射解决FakeIP多进程场景问题
- 添加UpdateConnectExContext函数,在ConnectEx完成后更新socket连接上下文,
- 避免send操作报WSAENOTCONN错误
- 在HandleConnectExCompletion和DetourConnectEx中集成连接状态检查
- 修复IOCP状态检查缺失问题,失败事件直接清理上下文,成功事件才执行握手
- 添加共享内存机制支持跨进程FakeIP映射,使用命名文件映射和互斥锁
- 实现SharedPut和SharedGet方法用于进程间映射数据同步
- 在GetDomain未命中时从共享映射回填本地缓存
- 解决"解析在A进程、连接在B进程"导致的FakeIP未命中问题
- docs: 更新技术债务文档和优化规格文档
- 添加TD-008和TD-009修复记录,标记为已修复状态
- 更新fakeip-optimization-spec.md中的修复计划和风险点分析
- 调整修复优先级建议,反映最新的技术债务状况
- fakeip: 修复IsFakeIP潜在data race和边界网段检查
- 修复了GetQueuedCompletionStatusEx和GetQueuedCompletionStatus函数中
- 未检查OVERLAPPED_ENTRY.Internal状态码的问题。现在会检查IOCP完成
- 状态,只有STATUS_SUCCESS=0时才执行握手,连接失败时清理上下文并
- 跳过,避免影响整个事件批次。
- 同时在DoProxyHandshake中添加socket连接状态预检,使用
- getpeername()确保socket已成功连接到代理服务器。
- 为IsFakeIP函数添加互斥锁保护,避免读取m_mask和m_baseIp时的
- data race问题。同时增加边界检查,当CIDR网段过小时(<=2)给出警告。
- fakeip: 修复FakeIP初始化的线程安全问题
- 实现基于CatalogEntryId的ConnectEx trampoline映射管理,解决多Provider
- 环境下不同Provider返回不同函数指针的问题
- 添加Socket类型检测,仅对TCP(SOCK_STREAM)连接应用代理逻辑,避免
- 误影响UDP/QUIC等协议
- 优化IPv6 v4-mapped地址处理,确保FakeIP回填的兼容性
- 改进WSAIoctl中ConnectEx hook的安装逻辑,支持按Provider去重安装
- 使用std::call_once实现线程安全的延迟初始化,避免多线程环境下
- 的数据竞争
- 优化IP地址分配逻辑,提升初始化时机的可靠性
- chore(hooks): 增强运行时配置日志记录
- 添加一次性运行时配置摘要输出,便于现场问题排查
- 改进FakeIP命中但映射缺失时的警告日志
- 优化ConnectEx completion处理中的字节数统计
- build: 更新构建配置中的进程名称匹配规则
- 添加SockaddrToString函数将sockaddr转换为可读地址格式,便于日志排
- 查
- 实现强制IPv4模式,阻止IPv6直连以避免绕过代理
- 在非IPv4连接时记录详细地址信息到日志
- 改进ConnectEx异步操作的错误处理机制
- 修复GetQueuedCompletionStatusEx中可能的空指针访问问题
- 优化握手失败时的错误码设置和上下文清理逻辑
- 移除language_server_windows.exe中的.exe扩展名,确保进程匹配正
- 确工作
- chore(metadata): 更新项目元数据时间戳
- hooks: 优化FakeIP功能避免IP字面量冲突
- 添加了PID和TID信息到所有日志消息中,以便在多进程/多线程环境下更好地定位日志来源。
- 引入了Windows API支持以获取进程和线程ID。
- 修改了getaddrinfo钩子实现,添加了IP字面量检测,确保纯IP地址不走FakeIP逻辑,
- 避免与回环绕过逻辑冲突并保持原始解析语义。移除了手动构造ADDRINFO结构的复杂实现,
- 改为使用原始函数处理FakeIP地址字符串。
- refactor(hooks): 减少非目标进程的日志输出
- 添加了跳过注入进程的去重记录机制,避免相同进程名的日志重复输出,
- 仅在首次遇到时记录跳过注入的进程信息。
- locale(config): 本地化配置错误消息
- 将配置文件加载相关的错误和成功消息从英文翻译为中文,
- 提升用户体验的一致性。
- docs(rules): 更新开发规范强调禁止生成文档
- 在开发规范中明确强调禁止生成总结性Markdown/README文档、
- 测试脚本/测试代码,以及禁止编译运行操作。
- socks5: 改进SOCKS5认证错误处理和日志记录
- 新增HTTP CONNECT代理协议支持,扩展代理连接功能。
- 添加HttpConnect.hpp头文件,实现HTTP CONNECT客户端类
- 在Hooks.cpp中集成HTTP CONNECT握手逻辑
- 支持SOCKS5和HTTP CONNECT两种代理协议类型
- 优化SOCKS5错误处理和日志记录
- HTTP CONNECT协议流程:
- 客户端发送CONNECT请求建立隧道
- 代理服务器响应200 Connection Established
- 后续数据直接转发形成TCP隧道
- 增强SOCKS5认证失败时的错误信息输出
- 添加WSA错误码和响应详情记录
- 提供更详细的调试信息用于问题排查
- 修复编译错误 add:新增编译脚本
⚡ 性能优化 (Performance)
- hooks: 优化 socket 类型判断和路由日志输出
- 添加了 -Verbose 参数用于输出详细的编译日志,-SkipTests 参数用于在 CI
- 场景中显式跳过测试步骤。更新了 PowerShell 脚本的 CmdletBinding 支持,
- 改进了构建过程中的详细信息显示,并在 README.md 中补充了相关使用说明。
- 统一 socket 类型判定入口,避免热路径重复 getsockopt 调用。
- 实现路由决策日志限流机制,避免高并发场景下大量日志 I/O 影响性能,
- 超过阈值后仅在调试级别输出日志。
- refactor(hooks): 重构 UDP 代理上下文创建逻辑
- 将阻塞 I/O 操作移到互斥锁外部执行,降低 g_udpProxyMtx 竞争。
- 优化并发场景下的上下文初始化处理,避免资源浪费。
- feat(network): 增强代理握手超时预算管理
- 握手预算采用 connect/send/recv 的总和,避免多阶段各自完整超时导致
- 整体阻塞过长。添加默认预算值 5000ms 保障超时控制。
- docs: 更新开发文档和待改进项状态
- 更新 DEVELOPMENT.md 中待改进项的完成状态,将已完成项目标记为 [x]。
- 更新配置工具相关文档说明,添加自动漂移检测说明注释。
- 调整 DNS 优化方案文档,移除已废弃的自定义 DNS 功能。
- hooks: 增强日志输出便于诊断
- 在 README.md 和 README_EN.md 中添加了详细的故障排查指南
- 包含快速诊断流程图、日志检查方法、代理软件排查步骤
- 添加系统环境排查和对比排查指导
- 列出已知兼容性问题和解决方案
- 在运行时配置摘要中增加 Winsock 版本信息
- 修改代理握手成功日志级别为 Info,便于排查问题
- 在 SOCKS5 隧道建立成功日志中添加 BND 地址类型和端口信息
- chore(metadata): 更新项目元数据统计
♻️ 代码重构 (Refactoring)
- launcher: unify setup entry to setup.bat with tri-lingual and cli-ide adaptation (
ddb80b4)- Unify multiple bat scripts into single setup.bat (Windows) and setup.sh (Linux) in root
- Add full tri-lingual i18n support (zh/en/ru) with auto-detection and runtime switching
- Add auto-adaptation between Desktop IDE and Console CLI packages
- Sync build, packaging, and compatibility test assertions
- Refine Method A documentation across README.md, README_EN.md, and README_RU.md
- build: 添加RunTests参数支持CTests回归测试
- 新增 scripts/package-release.ps1 脚本,用于生成IDE和CLI独立的发布压缩包
- 修改 .github/workflows/build.yml 和 release.yml,实现每个架构只编译一次,
- 然后生成互不混装的IDE/CLI产物
- 更新 README.md 文档,说明新的四套独立压缩包下载方式
- 添加压缩包内容校验,确保IDE/CLI文件隔离
- 升级actions依赖版本并优化工作流并发控制
- 在 build.ps1 中新增 -RunTests 参数,用于构建并运行 CTest
- 修改脚本逻辑,支持显式的测试开关控制
- 更新文档说明测试相关用法
- 确保CI场景下能够执行回归测试验证
- chore(docs): 更新发布目录隔离相关的文档说明
- 修正 docs/config-web.md 中关于Release资产打包的描述
- 更新 docs/issues-113-130-compatibility-analysis.md
- 中的发布目录隔离实现说明
- 同步更新README中关于Release包结构的描述
- main: 重构加载提示逻辑支持条件提示和日志目录操作
- 将uiLoadNotify配置项的默认值从"none"改为"once",使每个版本成功加载时提示一次
- 新增版本标识功能,通过DLL文件路径、大小和修改时间生成唯一标识
- 实现加载成功标记机制,在log目录创建marker文件记录已提示的成功版本
- 优化失败提示消息,增加错误排查建议和日志目录打开选项
- 添加UTF-8转宽字符辅助函数用于Windows API调用
- 实现DLL身份识别功能获取模块文件信息作为版本标识
- 新建标记文件操作函数用于记录和验证版本提示状态
- 修改消息框显示逻辑,失败时始终提示,成功时按版本控制提示次数
- refactor(logger): 暴露日志目录路径供加载提示使用
- 新增GetLogDirectoryPath方法对外暴露日志目录路径
- 便于加载提示功能直接访问日志目录进行排障操作
- hooks: 本地化日志消息为中文
- 添加了GetTimestamp方法为所有日志消息添加时间戳,同时增加了
- Debug和Warn日志级别,将日志输出重定向到文件。
- 将所有日志消息从英文翻译为中文,包括代理连接、SOCKS5握手、
- HTTP CONNECT握手等相关的错误和信息日志。
- feat(hooks): 增强DLL注入日志记录
- 在DLL注入完成后记录详细的目标进程信息,包括进程名和PID,
- 提供更清晰的注入成功日志。
- refactor(injection): 优化错误日志信息
- 改进ProcessInjector模块的错误日志信息,提供更清晰的中文
- 错误描述,帮助更好地诊断注入失败的原因。
- refactor(main): 本地化DLL加载日志
- 将DLL加载和卸载的相关日志消息翻译为中文,提供更清晰的
- 中文状态信息。
- refactor(network): 本地化SOCKS5错误日志
- 将SOCKS5代理协议相关的错误日志消息翻译为中文,包括
- 认证失败、连接拒绝等错误情况的中文描述。
📝 文档更新 (Documentation)
- sync launcher guide in build.ps1 usageDoc
- readme: fix two formatting issues in README
- 修复 README 两处格式问题
- clarify config tool usage and AUTHORS
- add routing rules and config tool
- readme: 添加环境要求和错误解决方案
- 更新 .sanshu-memory/metadata.json 中的 last_organized 时间戳
- 在 README.md 和 README_EN.md 中添加环境要求说明,包括:
- 0xc0000142 错误的常见问题说明
- 微软运行库缺失的解决方案
- 安装步骤指导
- 相关图片资源引用
- fix(build): 修正目标进程配置中的文件扩展名
- 将 build.ps1 配置中的 "language_server_windows" 修正为
- "language_server_windows.exe",确保进程匹配正确
- 更新编译时间信息
- 添加对 WSAConnectByNameA/W 函数的 Hook,支持通过代理连接域名
- 实现 DNS 解析功能,允许代理服务器使用域名而非仅限 IP 地址
- 添加非阻塞 connect 的等待机制,处理 WSAEWOULDBLOCK 状态
- 新增 SocketIo::WaitConnect 函数用于检查连接完成状态和 SO_ERROR
- 改进 SocketWrapper 中的域名到 IP 解析逻辑
- 更新 output/config.json 中的编译时间戳
- 更新使用说明文档中的编译时间
- chore: 更新 Git 忽略文件
- 添加 log/ 目录到 .gitignore
- 添加 *.zip 和 *.7z 压缩文件到 .gitignore
📦 构建相关 (Build)
- 添加兼容性测试构建配置
- 发布流程现在强制校验必需文件的存在性和目录隔离:
- IDE 目录包含 version.dll 和 config.json
- CLI 目录包含 dbghelp.dll、antigravity_proxy.dll 和 config.json
- 防止用户混装两套代理入口导致的问题
- 同时更新构建脚本实现目录分离:
- output/ide 目录用于桌面端部署
- output/cli 目录用于 CLI 部署
- CLI 代理主体重命名为 antigravity_proxy.dll 避免系统 DLL 冲突
- 重构 DbgHelp shim 实现在导出函数首次调用时才加载系统 DLL
- 增加 build-compatibility-tests*/codex-tools/ 到 .gitignore
- test: 新增 UDP 策略、Socket 家族和 DbgHelp shim 测试
- 添加以下测试套件:
- test_udp_policy.cpp: 验证 UDP 策略决策矩阵
- test_socket_family.cpp: 验证 IPv6 dual-stack 行为
- test_dbghelp_shim.cpp: 验证 DbgHelp API 转发功能
- docs: 更新部署说明和配置文档
- 详细说明 IDE/CLI 目录分离的部署方式
- 更新 UDP 策略配置说明,引入 auto 模式
- 修正 IPv6 dual-stack 相关说明
- 添加 diagnostics.agent_ip_probe 配置选项说明
- chore: 添加兼容性分析文档
- 分析 Issues yuaotian#113-yuaotian#130 的根本原因,包括:
- IDE 崩溃/无响应的混装问题
- UDP/QUIC 流量被阻断问题
- 地域资格诊断缺失问题
- 提供完整的修复方案和验证记录
👷 CI 配置 (CI)
- trigger build
🔧 杂项 (Chores)
- 同步版本号到 v2.4 [skip ci]
- 同步版本号到 v2.3 [skip ci]
- 同步版本号到 v2.2 [skip ci]
- 同步版本号到 v2.1 [skip ci]
- 同步版本号到 v2.0 [skip ci]
- 同步版本号到 v1.9 [skip ci]
- 同步版本号到 v1.8 [skip ci]
- 同步版本号到 v1.7 [skip ci]
- empty: 创建空提交
- 根据提供的code differences信息为空的情况,生成一个空提交的commit message:
- 由于没有提供具体的代码差异信息,此提交为空提交,
- 仅用于占位或触发特定的CI/CD流程。
- 注意:由于您提供的code differences信息为空,我无法生成具体的变更描述。在实际使用中,请确保提供详细的代码变更信息以便生成准确的commit message。
💄 代码风格 (Style)
- config-web: refine dark console UI / 样式:优化深色控制台风格界面
📋 其他更新 (Other)
- 32785d2
- 在README文件中添加了俄语版本的链接,
- 使用户可以更方便地切换到俄语版本文档
- 5690e95
- 移除包含系统诊断信息的summary.json和summary.md文件,
- 包括进程信息、注册表配置、日志路径等敏感数据以保护用户隐私
- d807377
- 添加 cwchar 头文件支持宽字符串操作,实现 IsChromiumNetworkServiceProcess 函数
- 用于检测命令行参数中的 --utility-sub-type=network.mojom.NetworkService 标志。
- 修改 DllMain 中的网络 Hook 启用逻辑,针对 AntiGravity 宿主进程的 NetworkService
- 子进程启用旁路模式,仅安装进程创建 Hook 而非全量网络 Hook,
- 以便诊断宿主进程角色对本地 TLS 的影响。
- 2cb4714
- 按进程名禁用网络Hook会导致IDE整体断网,恢复全量Hook后本地Language Server
- TLS仍出现证书无效错误。现在固定启用全量网络Hook,所有目标进程保持网络
- Hook与进程创建Hook,同时严格识别回环地址进行本地旁路处理。
- 此修复包括:
- src/main.cpp: 统一启用全量网络Hook,移除按进程名禁用逻辑
- src/hooks/Hooks.cpp: 添加完整的本地目标旁路机制,支持connect、WSAConnect、
- ConnectEx、WSAConnectByName等API的回环早期旁路
- src/network/LocalTargetPolicy.hpp: 新增严格的回环地址识别策略
- 添加新的本地目标策略测试和验证脚本
- 移除过时的TLS宿主Hook分域修复文档和脚本
- 7499b56
- Electron 宿主及其同名子进程现在只保留进程创建 Hook,避免完整 Winsock/IOCP Hook
- 干扰宿主与 Language Server 之间的本地自签名 TLS 连接
- Language Server 和 Node 进程继续使用全量网络 Hook 以维持外网代理功能
- 添加详细文档说明问题原因和修复方案,包括针对 TLS 证书验证失败的隔离策略
- 新增 PowerShell 验证脚本 test-tls-host-hook-scope.ps1 确保进程分类正确
- 更新日志输出以明确区分注入器模式和全量模式的进程行为
- 5db2a1d
- 将 src/main.cpp 中的默认网络 Hook 策略从 CreateProcess-only 恢复为全量模式,
- 确保 Electron 宿主进程能够正确处理 OAuth 回调和业务请求
- 更新 README.md 添加版本组件一致性说明和全量模式启用提示
- 修改 issues-113-130-compatibility-analysis.md 文档,记录
- 2026-09-01 宿主 Hook 默认策略调整详情
- 更新 oauth-detach-diagnosis.md 添加宿主网络 Hook 范围回归分析和部署注意事项
- 调整 tests/test_process_name.cpp 注释说明,保持进程名分类工具行为稳定
- cd5360f
- 添加了两个新的证据包目录到.gitignore文件中,避免将诊断相关的临时文件和日志提交到版本控制系统中。
- 这些文件包含系统状态信息、进程快照和日志数据,不适合纳入代码仓库管理。
- 288e942
- 将中文版README中的微信群二维码从qun-22.jpg更新为qun-23.jpg
- 将英文版README中的微信群二维码从qun-22.jpg更新为qun-23.jpg
- 新增qun-23.jpg图片文件
- 6ddfd9e
- 将build.yml和release.yml中的windows-latest改为windows-2022
- 添加注释说明固定版本的原因是为了避免未来迁移到VS 2026后找不到VS 2022生成器
- 46f7d0e
- 实现 UpdateChecker 模块,支持异步检查 GitHub 最新版本
- 添加更新配置项到 config.json,包括启用开关、延迟时间、超时等
- 集成到 CMakeLists.txt,链接 winhttp 库支持 HTTPS 请求
- 在 Web UI 添加更新检查配置界面,支持代理站点配置
- 默认禁用更新检查,保护用户隐私不默认联网
- 支持多镜像站代理访问 GitHub API,提高可用性
- 弹窗提示更新但不自动下载,用户确认后打开下载页面
- 添加相关文档说明安全边界和工作流程
- b6c3012
- 新增 diagnosticsAgentIpProbe 配置项,默认关闭外部IP探测以降低release版本联网行为
- 新增 uiLoadNotify 配置项,支持none/messagebox两种加载提示策略
- 在Config.hpp中添加相应的JSON解析和验证逻辑
- 更新调试日志输出,包含新的配置项状态信息
- 添加IDEA项目配置文件和gitignore规则
- 移除过时的内存备份文件和UI/UX文档
- 更新项目记忆配置,调整用户偏好和工作流规则
- 1c0ff31
- 新增Antigravity 2.0相关进程名到默认配置:
- language_server.exe (新版语言服务器)
- Antigravity IDE.exe (带空格的IDE进程名)
- 保留language_server_windows兼容旧版
- 重构CreateProcess进程名解析逻辑,解决以下问题:
- 修复带空格进程名如"Antigravity IDE.exe"被截断的问题
- 改进命令行参数解析,优先识别引号包裹路径和.exe后缀
- 添加专用ProcessName.hpp工具函数处理复杂路径场景
- 新增process_name_tests单元测试验证解析逻辑正确性,
- 更新README文档说明2.0迁移注意事项和配置变更。
- BREAKING CHANGE: 默认target_processes配置已更新以兼容2.0版本
- 1f3affd
- 在target_processes配置中添加"node.exe"以支持对node进程的代理注入
- 新增详细的IP出口诊断日志,帮助区分DLL注入问题和代理IP限制问题
- 添加专门的故障排查文档docs/agent-ip-diagnosis.md
- 在README中增加"先排IP再排DLL"的故障排查指南
- 更新配置示例和构建脚本中的进程注入列表
- 增强DLL的IP出口特征检测和告警机制
- c795dbf
- 更新了微信群二维码图片文件
- a9c9aa0
- 在所有构建配置(Debug、Release、MinSizeRel、RelWithDebInfo)中添加 NOMINMAX
- 预处理器定义,以避免 Windows 头文件中的 min/max 宏冲突问题。
- :numeric_limits::max()的错误调用语法,将裸函数名改为
- 在CMakeLists.txt中添加NOMINMAX宏定义,统一禁用windows.h的min/max宏,
- 避免污染C++标准库的std::min/std::max函数
- 修正HttpConnect.hpp、SocketIo.hpp和Socks5.hpp中对
- 正确的函数调用形式(std::numeric_limits::max)()
- 此修改解决了Windows平台上可能出现的符号冲突和编译错误问题
- 3ebd36f
- 新增 docs/config-web-sync-strategy.md 详细说明字段同步与漂移自检方案
- 在 config-web.md 中添加对新增文档的引用和说明
- 定义前端内置漂移自检机制,包括 REQUIRED_CONFIG_PATHS 等检查维度
- 提供维护建议和变更后验收清单确保前后端字段一致性
- 6cfe9b9
- 将中文版README中的微信群二维码图片从 qun-21.png 替换为 qun-22.jpg
- 将英文版README中的微信群二维码图片从 qun-21.png 替换为 qun-22.jpg
- 添加了新的二维码图片文件 qun-22.jpg
- fd8b667
- 新增 `proxy_rules.udp_fallback` 配置项,用于设置 UDP 代理失败时的降级策略,
- 支持 `block`(失败即阻断,默认)和 `direct`(失败回退直连,有泄漏风险)两种模式,
- 仅在 `udp_mode=proxy` 时生效。同时更新了相关文档说明。
- 1dd7bd9
- 新增udp_fallback配置项,用于设置UDP代理失败时的降级策略
- 支持block(失败即阻断)和direct(失败回退直连)两种模式
- 该配置仅在udp_mode=proxy时生效,防止流量泄漏
- 更新Web配置界面,添加对应的下拉选择框和验证逻辑
- 扩展udp_mode选项,新增proxy模式支持SOCKS5 UDP Associate
- 更新文档说明和配置示例,完善相关注释内容
- d36d806
- 新增 `proxy_rules.udp_mode` 配置选项,支持三种 UDP 处理策略:
- block: 阻断 UDP(默认,强制回退 TCP)
- direct: UDP 直连
- proxy: UDP 走代理(需 SOCKS5 UDP Associate 支持)
- 同时新增 `proxy_rules.udp_fallback` 配置选项,用于设置 UDP
- 代理失败时的降级策略(block 或 direct)。
- 更新 README 文档中的日志含义说明和问题排查指南,
- 详细说明 UDP/QUIC 代理的配置方法和注意事项。
- e36f00a
- 添加配置校验逻辑,统一 proxy.type 大小写并进行防御性修正
- 实现自动去除配置值中的前后空白字符,减少配置错误
- 增加对 https 类型的兼容处理(按 http 方式处理并给出警告提示)
- 更新中英文文档说明,明确 https 类型将按 http 处理
- 84ded9e
- 在 build.ps1 中新增步骤10,将配置工具从 resources/config-web/index.html
- 复制到 output/config-web.html
- 在 release.yml 中添加兜底机制,确保配置工具正确进入输出目录
- 新增 docs/config-web.md 详细文档,说明配置工具的使用方式、
- 配置结构覆盖范围、导入导出行为和实时校验规则
- 配置工具支持完整的配置字段编辑,包括元信息、核心配置和路由规则
- be11dc7
- 在GitHub Actions发布工作流中引入了sha_suffix变量来处理提交哈希的显示,
- 避免在没有提交哈希时出现空的括号格式,并统一了不同情况下的提交条目格式。
- bd2ff9f
- 将 Conventional Commits 的正则表达式提取到变量 CC_HEADER_RE 和 CC_FULL_RE 中
- 避免 bash 在 [[ ... =~ ... ]] 条件中将括号和感叹号误解析为条件语法
- 使用变量替换原有的硬编码正则表达式,提高代码可读性和维护性
- 20a3c10
- 移除了对extglob特性的依赖,改用sed命令进行字符串首尾空白去除,
- 以提高脚本在不同环境下的兼容性
- d2397d8
- 配置文件中添加了特定的目标进程用于注入,
- 包括 language_server_windows 和 Antigravity.exe。
- d3338c6
- 将build.ps1中的log_level从"info"修改为"debug"
- 便于排障时获取更详细的日志信息
- 9c0ee16
- 在 release 工作流中添加同步版本号到 build.ps1 的功能
- 自动更新 build.ps1 文件中的版本号变量
- 配置 git 用户身份为 github-actions[bot]
- 切换到默认分支并拉取最新代码后进行版本更新
- 提交更新后的版本号并推送回仓库
- 添加 [skip ci] 标签避免触发额外的 CI 构建
- d00bf4b
- 将默认日志级别从 debug 改为 info,减少日常使用时的日志输出
- 新增 child_injection_mode 配置项,支持 filtered 和 inherit 两种子进程注入模式
- 添加 child_injection_exclude 列表,支持按名称排除特定子进程
- 优化 proxy_rules 配置,默认仅代理 HTTP(80) 和 HTTPS(443) 端口
- 新增高级路由规则配置 routing,支持内网自动直连功能
- 增加配置文档说明,更新配置示例和表格内容
- 调整 JSON 序列化深度从 4 增加到 5 以支持深层嵌套配置
- 81b4b66
- 添加toast通知的兜底机制,当DOM容器不存在时使用alert提醒用户
- 改进loading按钮状态管理,增加参数验证和中文提示文本
- 优化规则列表渲染,增强规则名称和动作的显示逻辑
- 更新风险警告文案,提供更清晰的FakeIP模式兼容性说明
- 扩展loadConfig函数支持静默加载选项和自定义提示消息
- 新增预设模板功能,提供四种常见代理场景的一键配置
- 实现首次使用引导卡片,帮助用户快速上手操作流程
- 本地化界面文本,将英文标签替换为中文描述提升用户体验
- 增加删除规则的二次确认机制,防止误操作导致数据丢失
- 优化测试控制台显示,区分连接阶段和DNS阶段的命中结果
- 38ad5d2
- 添加时间戳到通知消息显示
- 增加ASCII装饰背景和扫描线动画效果
- 更新配色方案为赛博朋克绿色主题
- 改进按钮悬停效果和故障效果
- 将界面文本转换为大写和黑客风格
- 调整卡片样式和边框设计
- 更新表单输入样式和复选框外观
- 优化规则列表和测试控制台界面
- 调整加载状态的故障效果
- 统一字体为等宽字体以获得终端外观
- 34a50e9
- 添加ui助手函数包括toast通知、加载状态指示器和骨架屏
- 实现规则列表的加载动画和空状态显示
- 改进规则编辑器的表单验证和用户体验
- 添加下载按钮的加载状态反馈
- 优化规则列表渲染性能和交互体验
- 增强测试功能的异步处理和结果显示
- 重构代码结构增加模块化组织
- 12670f6
- 添加严格的 shell 错误处理模式 (set -euo pipefail)
- 实现字符串修剪和内联代码块处理函数
- 改进提交解析逻辑,支持从 body 中提取符合规范的提交信息
- 优化 Markdown 转义和格式化处理
- 使用更安全的 heredoc 方式输出变更日志内容
- 7647c67
- 添加udp_mode配置项,默认为block模式以阻断UDP连接,强制应用回退到TCP协议,
- 避免QUIC/HTTP3等UDP协议绕过代理。同时更新了构建脚本中的配置说明文档。
- BREAKING CHANGE: 新增proxy_rules.udp_mode配置选项,需要更新现有配置文件。
- 5457695
- 新增 log_level 配置项,默认值为 info,支持 debug/info/warn/error
- 在 build.ps1 中添加日志等级配置示例和文档说明
- 实现配置项校验机制,对无效的 proxy.type、proxy.host、proxy.port 进行防御性修正
- 对 timeout 配置项进行有效性验证,确保超时值为正数
- 统一配置项大小写处理,避免大小写导致的配置失效
- 添加代理规则中 dns_mode 和 ipv6_mode 的枚举值校验
- 改进 Logger 类,使用原子操作管理日志等级,支持动态调整日志粒度
- 实现多进程环境下的日志文件写入互斥机制,避免日志交错和损坏
- 0c649f6
- 在 release 工作流中添加版本号同步步骤,确保 build.ps1 中的版本号
- 与发布的 tag 保持一致
- 添加 PowerShell 脚本验证 build.ps1 文件存在性和版本号格式
- 更新 .sanshu-memory/metadata.json 中的最后组织时间戳
- 6996198
- 在 GitHub Actions release 工作流中添加了完整的发布说明生成功能
- 实现了基于 git 提交历史的结构化 changelog 生成脚本
- 支持按提交类型分类(feat、fix、perf、docs 等)并格式化输出
- 包含对提交主题和正文内容的解析处理
- 替换了原有的自动生成选项为手动构建的发布说明内容
- 更新了元数据中的最后组织时间戳
- 64534ee
- 添加了proxy_rules.ipv6_mode配置项,支持proxy/direct/block三种IPv6连接策略,
- 并更新文档说明IPv6相关注意事项和故障排除方法
- 08e3755
- 新增proxy_rules.ipv6_mode配置项,支持proxy/direct/block三种模式
- 实现IPv6连接的代理、直连和阻止策略
- 扩展Hook函数支持AF_INET6地址族的处理
- 完善WSAConnectByName和ConnectEx对IPv6的支持
- 修复HTTP Connect和SOCKS5协议中IPv6地址字面量格式问题
- 更新构建脚本和文档以包含新的IPv6配置选项
- 添加详细的IPv6代理使用说明文档
- a447bdc
- 在README.md和README_EN.md的联系人表格中添加了Telegram联系方式,
- 增加了@yuaotian的链接。
- 8cb1469
- 在README文档中添加了新的功能模块,包括:微信群二维码用于社区交流,
- 多种支付方式的捐赠选项(微信赞赏、支付宝),以及加密货币捐赠地址
- (支持USDT多网络和莱特币)。这些更新为项目用户提供更多参与和支持
- 项目的途径。
- 2950218
- 添加微信群二维码,方便用户加入交流群
- 新增打赏支持章节,包含微信赞赏码和支付宝收款码
- 添加相关图片资源文件
- 66b1d90
- 在README.md中新增"WSL 环境使用指南"章节,详细说明DLL劫持
- 在WSL中不起作用的技术原因和技术架构限制
- 添加三种WSL替代方案:antissh工具、WSL Mirrored网络模式和TUN模
- 式全局代理,并提供详细的配置步骤和优缺点对比
- 更新build.ps1脚本,增加WSL环境说明和常见问题解答
- 新增docs/wsl_error/wsl_error.md文档,记录WSL环境下流量劫持失
- 效的问题分析和解决方案
- 更新项目元数据的时间戳信息
- f64bd53
- 将FakeIP地址范围从10.0.0.0/8改为198.18.0.0/15(基准测试保留网段)
- 实现环形缓冲区策略替代原有无限增长映射表,自动循环复用地址池
- 添加对gethostbyname函数的Hook支持,增强DNS拦截能力
- 移除max_entries配置项,采用固定容量的循环地址分配机制
- 修复技术债务TD-001:FakeIP映射表无限增长问题
- 1d4564e
- 添加 ProxyRules 结构体,支持 allowed_ports 端口白名单配置
- 添加 dns_mode 配置项,支持 direct/proxy 两种DNS处理策略
- 实现 IsPortAllowed 方法用于快速判断端口是否在白名单中
- 在JSON解析中添加 proxy_rules 字段的解析逻辑
- 添加路由规则初始化和日志输出功能
- c11ce6c
- 添加日志目录相关函数,支持DLL目录和系统TEMP目录的智能选择
- 实现日志文件路径动态构建,格式为proxy-YYYYMMDD.log
- 添加旧日志清理功能,只保留当天日志文件
- 更新README文档,详细说明日志文件位置和验证方法
- 修复metadata.json中的时间戳更新问题
- e1a7745
- 将README中的Logo图片从JPG格式替换为PNG格式,以提供更好的图片质量
- ea0dc89
- 添加 GetQueuedCompletionStatusEx 函数指针类型定义和原始函数指针
- 实现 DetourGetQueuedCompletionStatusEx 钩子函数,支持批量获取 IOCP 事件
- 在钩子函数中遍历完成的事件并处理 ConnectEx 完成握手
- 注册 GetQueuedCompletionStatusEx API 钩子,支持现代高性能应用
- 更新元数据文件中的最后组织时间戳
- 6897904
- 添加了关于 pseudocode_dll 目录的详细来源说明,包括:
- 明确说明伪代码来自论坛发布的 DLL 反编译结果
- 说明用途为排查 Windows 11 下 Antigravity 间歇性崩溃问题
- 强调当前项目代码为从零实现,非原 DLL 源码开源
- 包含重要声明关于不参与构建发布、不分发成品 DLL 等内容
- 同时更新了 .sanshu-memory/metadata.json 中的时间戳信息。
- 349720e
- 将 VersionProxy 初始化从 DLL_PROCESS_ATTACH 阶段延迟到首次导出函数调用时
- 使用 std::call_once 确保线程安全的单次初始化
- 避免在 DllMain 中调用 LoadLibraryW 导致的 0xc0000022 STATUS_ACCESS_DENIED 错误
- 所有导出函数在执行前先确保真实 version.dll 已加载
- 移除 DllMain 中的版本代理初始化代码,改为 NOP 操作
- ac6e5c2
- 更新了中英文文档,添加了 VCRUNTIME140_1.dll 缺失错误的解决方案,
- 并在构建说明中增加了静态运行库选项以减少依赖问题。
- 修复了错误码对照表,为用户提供更完整的故障排查指南。
- 0a8e317
- 添加IsAbsolutePath和GetModuleDirectory辅助函数,支持从DLL所在目录读取配置文件
- 优先尝试DLL目录下的配置文件,避免子进程工作目录不同导致的相对路径失效问题
- 增加STATIC_RUNTIME CMake选项,默认使用静态运行库(/MT)减少运行库依赖
- 在build.ps1中添加-StaticRuntime和-DynamicRuntime参数控制运行库类型
- 更新配置文件加载逻辑,支持多路径候选和路径解析日志输出
- 更新metadata.json中的最后组织时间戳
- 224ca6c
- 新增了详细的错误码说明表格,包括:
- 0xC0000142: 应用程序无法正常启动,通常是架构不兼容或依赖库问题
- 0xC000007B: 位数不匹配导致的应用程序启动问题
- 0xC0000135: 组件缺失或依赖库问题
- 0xC0000906: 安全软件拦截或文件损坏问题
- 0xC0000005: 程序闪退或崩溃问题
- 10061/10060: 代理连接相关的网络错误
- 为每个错误码提供了问题描述、可能原因和解决方案,
- 帮助用户快速定位和解决DLL注入过程中遇到的问题。
- f73c822
- 添加build/、build-x64/和build-x86/目录到.gitignore文件中,
- 避免构建产物被提交到版本控制系统。
- 5779bcf
- 在 README.md 和 README_EN.md 中添加详细的代理软件端口参考表,
- 包含常见代理软件的默认端口信息
- 添加端口验证方法和常见问题解决方案
- 在 build.ps1 中补充中文端口参考信息
- 使用折叠详情框格式优化文档可读性
- b7d92b3
- 更新 README 和文档,明确项目专为 Antigravity 编辑器设计,添加详细快速入门指南
- 实现 FakeIP 映射表条目数量限制,避免内存无限增长
- 添加 ConnectEx 异步上下文超时清理机制,防止内存泄漏
- 实现按日期分割日志文件并限制大小,避免日志文件无限增长
- 添加进程跳过日志映射表清理机制,防止内存堆积
- 在网络连接函数中添加基础参数校验,避免空指针导致的崩溃
- 创建 TECH_DEBT.md 文件记录技术债务和修复优先级
- c707c79
- 在 build.yml 中添加版本号读取步骤,从 build.ps1 文件中提取版本号
- 将构建产物名称改为包含版本号格式,确保与编译脚本一致
- 为 release.yml 添加手动触发功能,支持通过 workflow_dispatch 指定版本号
- 实现版本号标准化处理,兼容 tag 触发和手动触发两种场景
- 统一发布流程中版本号的传递和使用,确保 release tag 与构建版本一致
- f4c8c83
- 在 build.yml 和 release.yml 工作流中,编译步骤添加 -Clean 参数
- 确保每次构建前先清理旧的构建产物,避免潜在的构建问题
- 更新步骤名称以反映清理操作
- fca47ab
- 新增release.yml工作流,支持标签发布时自动打包和创建GitHub Release
- 重构build.yml,统一使用build.ps1编译脚本,保持本地与CI流程一致
- 移除手动下载nlohmann/json的步骤,简化构建逻辑
- 更新产物上传逻辑,从build目录改为output目录
- 支持x64和x86架构构建,移除Win32命名规范
- 优化artifact命名格式,便于识别和下载验证
- 835321f
- 在build.ps1中添加统一的版本变量管理,将版本号集中定义
- 更新配置文件生成逻辑,使用统一的版本变量替换硬编码版本
- 完善README.md中的配置说明,添加详细的配置项注释
- 扩展部署说明文档,提供更完整的使用指南
- 更新构建信息显示,添加开发环境和开发者信息
- 3e73e14
- 重构 README.md 内容,采用中英双语格式
- 添加项目 Logo 和功能特性表格
- 完善编译构建、使用方法和进阶玩法说明
- 新增英文版 README_EN.md 文件
- 更新配置文件示例和项目结构说明
- 添加作者信息和联系方式
- ab89743
- 移除 output 目录下的 config.json 配置文件和使用说明文档,
- 包括所有配置项定义、代理设置、超时配置、目标进程过滤等
- 功能相关的配置内容。
- BREAKING CHANGE: 移除了原有的配置文件和文档,
- 需要通过其他方式提供配置信息。
- fa1014f
- 新增SocketIo.hpp头文件,提供WaitReadable、WaitWritable、SendAll、
- RecvExact、RecvUntil等统一IO操作函数
- 修改HttpConnect.hpp使用SocketIo::SendAll和SocketIo::RecvUntil
- 替代原始send/recv调用,支持非阻塞套接字和超时控制
- 修改Socks5.hpp使用SocketIo::SendAll和SocketIo::RecvExact
- 替代原始send/recv调用,支持非阻塞套接字和超时控制
- 从Config单例获取接收和发送超时配置
- 增强错误处理,提供更详细的WSA错误码信息
- 优化HTTP CONNECT响应头接收逻辑,使用RecvUntil精确匹配分隔符
- 3b3ce39
- 新增target_processes配置项,支持指定目标进程列表进行DLL注入
- 实现对localhost、127.0.0.1等回环地址的自动bypass,避免代理死循环
- 完整拦截WinSock API,包括GetAddrInfoW、WSAConnectByName、ConnectEx等异步接口
- 添加对宽字符API的UTF-8转换支持,确保国际化域名正确处理
- 实现异步ConnectEx的上下文管理和完成端口处理
- 更新配置文件结构,添加fake_ip和target_processes字段
- 完善日志输出,增加中文错误信息和调试信息
- 更新使用说明文档,添加v1.1.0更新说明和配置示例
- BREAKING CHANGE: 配置文件格式发生变化,新增target_processes字段
- 449086f
- 将配置文件版本从1.0.0更新到1.1.0
- 新增target_processes配置项,支持指定目标进程列表进行DLL注入
- 添加回环地址bypass功能,本地地址不再走代理
- 实现日志中文化,统一为中文输出
- 当target_processes为空或不存在时保持原有注入所有子进程的行为
- eb5b09e
- 添加了.sanshu-memory目录及相关配置文件,包括context.md、metadata.json、
- patterns.md、preferences.md和rules.md文件,用于项目上下文管理和配置。
- 添加项目上下文信息文件
- 添加元数据配置文件
- 添加模式和最佳实践文档
- 添加用户偏好设置文档
- 添加开发规范和规则文档
- 翻译: 本地化网络模块日志信息
- 将网络模块中的日志信息从英文翻译为中文,提高中文用户的可读性。
- 本地化FakeIP模块日志信息
- 本地化HTTP CONNECT连接日志信息
- 本地化SOCKS5协议日志信息
- ecea84d
- 在MSVC编译器下添加/utf-8编译选项以支持中文字符
- 将localtime替换为线程安全的localtime_s函数以避免竞态条件
- 修复了可能的缓冲区溢出问题
- 1d6b658
- 添加ReadExact辅助函数处理TCP分片问题,确保精确读取指定字节数
- 重构SOCKS5握手逻辑,改进连接响应处理以支持可变长度地址类型
- 增加对IPv4、IPv6和域名地址类型的完整支持
- 优化错误处理和日志记录,提供更详细的调试信息
- 引入vector容器改进请求构建过程
- 修复网络字节序处理问题
- 屏蔽输出
- f6de571
- 实现CreateProcessW Hook支持子进程自动注入
- 实现send/recv/WSASend/WSARecv Hook用于流量监控
- 添加ProcessInjector模块用于DLL注入功能
- 添加TrafficMonitor模块用于流量日志记录
- 更新配置文件支持child_injection和traffic_logging选项
- 完成feature-gap-analysis文档状态更新,标记Phase 2/3为已完成
- cab1379
- 添加 C++17 标准支持,将项目重命名为 version.dll 输出
- 实现 version.dll 代理系统,通过 DEF 文件转发所有函数到系统 DLL
- 添加 WSAConnect Hook 支持,增强网络代理功能
- 实现完整的 SOCKS5 协议客户端,支持无认证连接
- 重构 FakeIP 系统,支持双向域名/IP 映射和线程安全
- 改进 getaddrinfo Hook,返回手动构造的 ADDRINFOA 结构
- 添加功能差距分析文档,记录技术决策和实现计划
- 优化 Hook 管理,统一代理连接逻辑
- 228be03
- 添加了项目所需的核心配置文件和构建系统,包括:
- 添加 .editorconfig 配置文件,统一代码风格规范
- 添加 GitHub Actions 构建工作流 (build.yml 和 msbuild.yml)
- 添加 .gitignore 文件,忽略构建产物和临时文件
- 添加 AUTHORS.txt 和 LICENSE.txt 文件,包含作者信息和许可证
- 添加 CMakeLists.txt 构建配置文件,支持 CMake 构建系统
- 添加 README.md 项目说明文档
- 添加 MinGW 和 Visual Studio 2010 的构建支持
- 配置文件中包含代码格式化规则、构建配置、项目许可证等