Skip to content

Releases: OpenMili/aimili-vpngate

AimiliVPN V2.1.5 正式版

Choose a tag to compare

@github-actions github-actions released this 27 Aug 22:49

AimiliVPN V2.1.5 正式版

V2.1.5 包含 V2.1.4 的全部稳定性、安全性和节点识别改进,并修复正式版重新安装验收中发现的失败切换恢复遗漏。

V2.1.5 热修复

  • 修复点击“断开连接”后 OpenVPN、活动节点和 table 100 已清理,但 Web API 的 tunnel_ready / proxy_ready 仍短暂保留为 true 的问题。
  • 手动断开现在统一复用完整连接状态清理流程;活动节点、连接中状态、隧道、代理出口、出口 IP 与路由规则会同步归零。
  • 新增手动断开状态回归测试,并在真实 VPS 上完成断开与重新连接复验。
  • 修复手动切换失败、原节点恢复失败且连续 3 个备用节点也失效后,日志提示后台重新加载但实际没有启动补位任务的问题。
  • 备用节点耗尽后现在会启动唯一后台节点补齐线程,按退避间隔重新同步并尝试连接,避免一直等到下一轮周期采集。
  • 新增自动切换耗尽回归测试,并在真实 VPS 上验证补位线程会创建且不会重复启动。

IP 类型识别

  • IP 类型缓存升级到新的分类版本,旧分类会自动失效并重新检测。
  • 明确区分住宅、移动、机房和未知网络,并显示高、中、低置信度及情报来源。
  • Sony、KDDI、SoftBank、Korea Telecom 等有明确消费接入运营商信息且未命中机房特征的网络继续识别为住宅。
  • proxy + 数据中心关键词 冲突节点以及完全缺少运营商信息的节点会调用 ipapi.is 进行第二来源复核。
  • 第二来源不可用或证据不足时标记为未知/低置信度,不再直接当作住宅。
  • 严格住宅路由只接受中、高置信度住宅或移动网络,拒绝未知和低置信度分类。

节点获取与连接切换

  • 修复官方 HTTPS 超时后直接跳过官方 HTTP 的问题;现在仍会继续尝试 VPNGate 官方真实 HTTP,再进入 GitHub Pages、VPS 最近缓存和内置快照。
  • GitHub 镜像状态显示生成时间与陈旧程度,HTTP 地址明确标注为跳转 HTTPS,不再描述成独立明文镜像。
  • 连接状态拆分为隧道就绪和代理出口就绪;只有 OpenVPN、策略路由与真实代理出口全部通过后,前端才显示“已连接”。
  • 修复批量节点检测失败时用空字段覆盖已有 ISP、物理位置和 IP 类型的问题。
  • 固定国家统一保存 ISO 两字母代码,并兼容旧版中文国家名称配置。
  • 物理位置国旗使用 IP 情报源国家,节点申报国家与 IP 推测位置分开提示,避免来源冲突造成误解。

安装、安全与运维

  • 卸载时清理 AimiliVPN 的 sysctl 文件、table 100 路由和全部 table 100 策略规则。
  • ui_auth.json 创建、迁移和保存时使用私有权限 0600,并采用安全写入流程。
  • Web 管理端口与代理端口增加双向冲突校验,冲突配置直接拒绝,不再静默改写端口。
  • OpenVPN 启用 remote-cert-tls server,验证服务器证书用途并移除相关安全警告。
  • 新增 AIMILIVPN_NONINTERACTIVE=1 无人值守安装模式,首次部署不会停在交互提示。
  • 安装完成信息只显示实际默认监听的 IPv4 本地代理地址,不再错误提示未启用的 IPv6 地址。

验证与兼容性

  • 本地 Python 单元测试 53/53 通过,Python 编译、Dashboard JavaScript 语法、安装脚本语法和补丁格式检查通过。
  • Ubuntu 22.04 x86_64 VPS 已完成真实卸载、重新安装、节点源、连接切换、代理出口、Web API、权限和路由残留验证。
  • 发布流水线会在 Python 3.9、3.11、3.13 上运行完整测试。
  • Docker 会分别构建验证 linux/amd64、linux/386、linux/arm64、linux/arm/v7,并发布统一多架构镜像清单。

平台限制

  • GitHub Actions 定时任务由 GitHub 调度,不保证每 15 分钟准点运行。
  • GitHub Pages 会把 HTTP 强制跳转到 HTTPS,不能作为真正的明文 HTTP 镜像。
  • 程序保留 VPNGate 官方 HTTP、VPS 最近有效缓存和内置初始快照,以降低上述平台限制的影响。

下载与更新

  • GitHub Release:aimilivpn-v2.1.5-linux-source.tar.gz 和 sha256sums.txt。
  • GHCR:2.1.5、2.1、latest 多架构镜像标签。

Python 源码安装更新:

ml update

Docker Compose 更新:

docker compose pull
docker compose up -d

AimiliVPN V2.1.4 正式版

Choose a tag to compare

@github-actions github-actions released this 27 Aug 12:51

AimiliVPN V2.1.4 正式版

V2.1.4 包含 V2.1.3 的全部稳定性、安全性和节点识别改进,并修复正式版重新安装验收中发现的手动断开状态遗漏。

V2.1.4 热修复

  • 修复点击“断开连接”后 OpenVPN、活动节点和 table 100 已清理,但 Web API 的 tunnel_ready / proxy_ready 仍短暂保留为 true 的问题。
  • 手动断开现在统一复用完整连接状态清理流程;活动节点、连接中状态、隧道、代理出口、出口 IP 与路由规则会同步归零。
  • 新增手动断开状态回归测试,并在真实 VPS 上完成断开与重新连接复验。

IP 类型识别

  • IP 类型缓存升级到新的分类版本,旧分类会自动失效并重新检测。
  • 明确区分住宅、移动、机房和未知网络,并显示高、中、低置信度及情报来源。
  • Sony、KDDI、SoftBank、Korea Telecom 等有明确消费接入运营商信息且未命中机房特征的网络继续识别为住宅。
  • proxy + 数据中心关键词 冲突节点以及完全缺少运营商信息的节点会调用 ipapi.is 进行第二来源复核。
  • 第二来源不可用或证据不足时标记为未知/低置信度,不再直接当作住宅。
  • 严格住宅路由只接受中、高置信度住宅或移动网络,拒绝未知和低置信度分类。

节点获取与连接切换

  • 修复官方 HTTPS 超时后直接跳过官方 HTTP 的问题;现在仍会继续尝试 VPNGate 官方真实 HTTP,再进入 GitHub Pages、VPS 最近缓存和内置快照。
  • GitHub 镜像状态显示生成时间与陈旧程度,HTTP 地址明确标注为跳转 HTTPS,不再描述成独立明文镜像。
  • 连接状态拆分为隧道就绪和代理出口就绪;只有 OpenVPN、策略路由与真实代理出口全部通过后,前端才显示“已连接”。
  • 修复批量节点检测失败时用空字段覆盖已有 ISP、物理位置和 IP 类型的问题。
  • 固定国家统一保存 ISO 两字母代码,并兼容旧版中文国家名称配置。
  • 物理位置国旗使用 IP 情报源国家,节点申报国家与 IP 推测位置分开提示,避免来源冲突造成误解。

安装、安全与运维

  • 卸载时清理 AimiliVPN 的 sysctl 文件、table 100 路由和全部 table 100 策略规则。
  • ui_auth.json 创建、迁移和保存时使用私有权限 0600,并采用安全写入流程。
  • Web 管理端口与代理端口增加双向冲突校验,冲突配置直接拒绝,不再静默改写端口。
  • OpenVPN 启用 remote-cert-tls server,验证服务器证书用途并移除相关安全警告。
  • 新增 AIMILIVPN_NONINTERACTIVE=1 无人值守安装模式,首次部署不会停在交互提示。
  • 安装完成信息只显示实际默认监听的 IPv4 本地代理地址,不再错误提示未启用的 IPv6 地址。

验证与兼容性

  • 本地 Python 单元测试 52/52 通过,Python 编译、Dashboard JavaScript 语法、安装脚本语法和补丁格式检查通过。
  • Ubuntu 22.04 x86_64 VPS 已完成真实卸载、重新安装、节点源、连接切换、代理出口、Web API、权限和路由残留验证。
  • 发布流水线会在 Python 3.9、3.11、3.13 上运行完整测试。
  • Docker 会分别构建验证 linux/amd64、linux/386、linux/arm64、linux/arm/v7,并发布统一多架构镜像清单。

平台限制

  • GitHub Actions 定时任务由 GitHub 调度,不保证每 15 分钟准点运行。
  • GitHub Pages 会把 HTTP 强制跳转到 HTTPS,不能作为真正的明文 HTTP 镜像。
  • 程序保留 VPNGate 官方 HTTP、VPS 最近有效缓存和内置初始快照,以降低上述平台限制的影响。

下载与更新

  • GitHub Release:aimilivpn-v2.1.4-linux-source.tar.gz 和 sha256sums.txt。
  • GHCR:2.1.4、2.1、latest 多架构镜像标签。

Python 源码安装更新:

ml update

Docker Compose 更新:

docker compose pull
docker compose up -d

AimiliVPN V2.1.3 正式版

Choose a tag to compare

@github-actions github-actions released this 27 Aug 12:22

AimiliVPN V2.1.3 正式版

V2.1.3 是一次完整的稳定性、安全性和节点识别修复版本。重点解决节点切换期间状态显示过早、未知网络误判住宅、部分 VPS 节点源回退不合理,以及安装卸载残留等问题。

IP 类型识别

  • IP 类型缓存升级到新的分类版本,旧分类会自动失效并重新检测。
  • 明确区分住宅、移动、机房和未知网络,并显示高、中、低置信度及情报来源。
  • Sony、KDDI、SoftBank、Korea Telecom 等有明确消费接入运营商信息且未命中机房特征的网络继续识别为住宅。
  • proxy + 数据中心关键词 冲突节点以及完全缺少运营商信息的节点会调用 ipapi.is 进行第二来源复核。
  • 第二来源不可用或证据不足时标记为未知/低置信度,不再直接当作住宅。
  • 严格住宅路由只接受中、高置信度住宅或移动网络,拒绝未知和低置信度分类。

节点获取与连接切换

  • 修复官方 HTTPS 超时后直接跳过官方 HTTP 的问题;现在仍会继续尝试 VPNGate 官方真实 HTTP,再进入 GitHub Pages、VPS 最近缓存和内置快照。
  • GitHub 镜像状态显示生成时间与陈旧程度,HTTP 地址明确标注为跳转 HTTPS,不再描述成独立明文镜像。
  • 连接状态拆分为隧道就绪和代理出口就绪;只有 OpenVPN、策略路由与真实代理出口全部通过后,前端才显示“已连接”。
  • 修复批量节点检测失败时用空字段覆盖已有 ISP、物理位置和 IP 类型的问题。
  • 固定国家统一保存 ISO 两字母代码,并兼容旧版中文国家名称配置。
  • 物理位置国旗使用 IP 情报源国家,节点申报国家与 IP 推测位置分开提示,避免来源冲突造成误解。

安装、安全与运维

  • 卸载时清理 AimiliVPN 的 sysctl 文件、table 100 路由和全部 table 100 策略规则。
  • ui_auth.json 创建、迁移和保存时使用私有权限 0600,并采用安全写入流程。
  • Web 管理端口与代理端口增加双向冲突校验,冲突配置直接拒绝,不再静默改写端口。
  • OpenVPN 启用 remote-cert-tls server,验证服务器证书用途并移除相关安全警告。
  • 新增 AIMILIVPN_NONINTERACTIVE=1 无人值守安装模式,首次部署不会停在交互提示。
  • 安装完成信息只显示实际默认监听的 IPv4 本地代理地址,不再错误提示未启用的 IPv6 地址。

验证与兼容性

  • 本地 Python 单元测试 51/51 通过,Python 编译、Dashboard JavaScript 语法、安装脚本语法和补丁格式检查通过。
  • Ubuntu 22.04 x86_64 VPS 已完成真实卸载、重新安装、节点源、连接切换、代理出口、Web API、权限和路由残留验证。
  • 发布流水线会在 Python 3.9、3.11、3.13 上运行完整测试。
  • Docker 会分别构建验证 linux/amd64、linux/386、linux/arm64、linux/arm/v7,并发布统一多架构镜像清单。

平台限制

  • GitHub Actions 定时任务由 GitHub 调度,不保证每 15 分钟准点运行。
  • GitHub Pages 会把 HTTP 强制跳转到 HTTPS,不能作为真正的明文 HTTP 镜像。
  • 程序保留 VPNGate 官方 HTTP、VPS 最近有效缓存和内置初始快照,以降低上述平台限制的影响。

下载与更新

  • GitHub Release:aimilivpn-v2.1.3-linux-source.tar.gz 和 sha256sums.txt。
  • GHCR:2.1.3、2.1、latest 多架构镜像标签。

Python 源码安装更新:

ml update

Docker Compose 更新:

docker compose pull
docker compose up -d

AimiliVPN V2.1.2 正式版

Choose a tag to compare

@github-actions github-actions released this 26 Aug 19:34

AimiliVPN V2.1.2 正式版

V2.1.2 重点修复 IP 类型误判和部分 VPS 获取节点列表等待过久的问题,并增强 GitHub Pages、VPS 最近缓存和程序内置快照的回退体验。

Bug 修复

  • 修复把 proxy=true 直接等同于机房 IP 的分类错误。住宅宽带用户运行 VPNGate 后可能被风险库标记为代理,但其网络归属仍然是住宅;现在代理属性与住宅/移动/机房类型分开保存。
  • 修复 Sony、Korea Telecom、JCOM、SK Broadband、KDDI、Cable TV 等消费宽带节点容易被误标为机房 IP 的问题。
  • 保留对真实机房网络的识别:hosting=true 仍直接判为机房;SoftEther、hosting、cloud、server、data center、VPS 等明确数据中心供应商特征也仍判为机房。
  • 修复升级后旧版错误 IP 分类缓存继续生效最多 7 天的问题。分类缓存加入版本号,V2.1.2 会自动重新检测旧缓存,不需要用户手动删除运行数据。
  • 修复只给少量连通性检测成功节点补充 IP 类型、节点表中大部分节点长期显示未知的问题。后台任务现在会批量补全整个节点列表,同时只合并运营商和分类字段,不覆盖连接、延迟或检测状态。
  • 修复 VPNGate 官方接口持续缓慢传输时可能突破原有 socket 超时、拖慢备用源切换的问题。每个网络节点源现在增加 6 秒总时限。
  • 修复官方 HTTPS 已超过总时限后仍继续等待同一主机 HTTP 的重复慢请求;超时后会直接尝试 GitHub Pages HTTPS。证书或 TLS 不兼容等非超时错误仍保留 HTTP 回退,兼容旧系统和不同 VPS 环境。

节点源与镜像优化

  • 节点顺序保持为:VPNGate 官方 HTTPS、官方 HTTP、GitHub Pages HTTPS、GitHub Pages HTTP、VPS 最近有效缓存、程序内置初始快照。
  • GitHub Pages 定时同步从整刻 15 分钟调整为每小时第 7、22、37、52 分钟,降低 GitHub Actions 高峰期调度延迟概率。
  • GitHub Pages 与官方 HTTPS 获取到的快照继续执行相同的 CSV 字段、大小、Base64 和 OpenVPN 危险指令校验。
  • HTTP 节点源继续只作为兼容回退,不覆盖最后一次通过 HTTPS 获得的可信本地快照。

验证结果

  • 40 项单元测试通过,覆盖住宅/代理分离、真实机房识别、旧缓存迁移、后台全量富化、连接状态保护和慢速官方源回退。
  • Python 编译、前端 JavaScript 语法、install.sh 语法和 Docker Compose 配置检查通过。
  • 测试 VPS 上 VPNGate 官方 HTTPS/HTTP、GitHub Pages HTTPS/HTTP、VPS 最近缓存和内置快照均能下载、解析并生成候选节点。
  • 发布流水线对 Python 3.9、3.11、3.13 运行完整测试,并分别构建验证 linux/amd64、linux/386、linux/arm64、linux/arm/v7。

下载与更新

  • GitHub Release 提供 aimilivpn-v2.1.2-linux-source.tar.gz 和 sha256sums.txt。
  • GHCR 发布 2.1.2、2.1、latest 三组镜像标签。

Python 源码安装更新:

ml update

Docker Compose 更新:

docker compose pull
docker compose up -d

AimiliVPN V2.1.1 正式版

Choose a tag to compare

@github-actions github-actions released this 26 Aug 18:36

AimiliVPN V2.1.1 正式版

V2.1.1 是一次以稳定性、浏览器兼容性和 VPS 实际使用体验为重点的维护更新。本次版本已在 Ubuntu 22.04 VPS 上通过安装、节点获取、代理出口、节点切换、断开与恢复测试。

Bug 修复

  • 修复 Edge 和部分 Chromium 浏览器打开管理页面后高占用、卡顿甚至浏览器失去响应的问题:移除高成本的 backdrop-filter、固定背景和远程字体依赖,并为“减少动态效果”系统设置提供兼容处理。
  • 修复前端每 10 秒轮询时,即使节点和状态完全没有变化,仍会重新排序、生成表格 HTML 和刷新页面的问题;相同快照现在会直接跳过渲染。
  • 修复节点列表已经按每页 50 条分页,但分页栏始终隐藏,导致第 51 条之后的节点无法查看的问题。
  • 修复多个轮询请求可能重叠、页面切到后台后仍持续刷新,以及日志窗口重复拉取和渲染过多内容造成的卡顿。
  • 修复连接、断开、单节点检测、收藏和设置操作可能被连续点击重复提交的问题,并为网络请求增加合理的超时与失败恢复。
  • 修复弹窗关闭、键盘焦点、Esc、Tab 循环和移动端滚动在不同浏览器中的不一致行为。
  • 修复登录和管理密码被意外删除首尾空格的问题;前端和 ml password 现在保持一致。
  • 修复 SOCKS5 客户端未提供“无需认证”方法时,服务端仍错误接受连接的问题。
  • 修复 ml status 一直显示旧版 v2.0,以及首次安装提示 5-30 秒但实际最多等待 90 秒的问题。
  • 修复 ml update 重启服务后可能读取上一次连接留下的节点 ID、过早提示“已就绪”的竞态;现在会清理旧状态,并确认 OpenVPN 进程和 tun0 均已建立后才报告成功。
  • 修复正式版 GitHub Actions 发布脚本的 Shell 块问题。

性能与体验优化

  • 节点接口继续移除不需要发送到浏览器的 OpenVPN 配置正文,约百个节点的响应保持在较小体积。
  • 节点请求自动合并;页面不可见时暂停普通轮询;节点表最多渲染 50 行,日志窗口最多渲染最近 300 行,服务端最多读取最近 500 条日志。
  • 国家多选、状态筛选、IP 类型筛选、收藏面板和分页均在前端即时响应,不需要重新请求节点数据。
  • 管理弹窗补齐标准对话框语义、可见焦点、焦点恢复和屏幕阅读器状态提示。
  • 登录、节点更新、代理检测、节点切换、断开、设置保存和日志接口统一加入超时控制,网络异常时不会无限等待。
  • 安装器生成的账号、密码和安全路径改用 Python secrets 加密安全随机源。

文档与功能更新

  • Web 管理端版本标识和更新检测升级为完整的 V2.1.1 正式版,仍只跟踪 GitHub main 稳定分支和正式 Release。
  • README 重新整理快速安装、代理连接、VPS 推荐、项目推广和法律使用边界,删除重复的版本流水账与虚拟币赞助内容。
  • 保留简体中文主文档,并提供 English、日本語、한국어说明。
  • 正式版继续提供 HTTP 和 SOCKS5 两种代理协议,兼容不同 VPS 和客户端环境。

验证结果

  • Ubuntu 22.04 x86_64 VPS 一键安装成功,服务保持运行且无异常重启。
  • HTTP 与 SOCKS5 代理出口验证通过。
  • 节点测试、切换、断开和恢复原节点的完整流程通过。
  • 本地 35 项单元测试、Python 编译、前端 JavaScript 语法、install.sh 语法和 Docker Compose 配置检查通过。
  • 99 个节点分页为 50/49,国家多选、空状态、收藏、设置、网关、日志和 Web 更新检测均通过浏览器交互测试。
  • 11.5 秒空闲轮询观测期间,相同节点快照产生 0 次 DOM 变更。
  • 390x844 手机视口和 1440x900 桌面视口没有页面级横向溢出或控件重叠。

下载与兼容架构

  • GitHub Release 提供 aimilivpn-v2.1.1-linux-source.tar.gz 通用 Linux Python 源码包和 sha256sums.txt。
  • GHCR 发布 2.1.1、2.1、latest 三组镜像标签。
  • Docker 镜像在发布前分别对 linux/amd64、linux/386、linux/arm64、linux/arm/v7 执行构建和导入冒烟测试。
  • Docker 需要 Linux、/dev/net/tun、host 网络以及 NET_ADMIN、NET_RAW 能力。

更新方式

Python 源码安装:

ml update

Docker Compose:

docker compose pull
docker compose up -d

AimiliVPN V2.1 正式版

Choose a tag to compare

@github-actions github-actions released this 26 Aug 16:02

AimiliVPN V2.1 正式版

V2.1 是仅从 main 主分支发布的首个正式版本标志。

本次更新

  • 节点来源按“VPNGate 官方 HTTPS -> 官方 HTTP -> GitHub Pages HTTPS -> GitHub Pages HTTP -> VPS 本地快照 -> 内置初始快照”自动回退。
  • 修复节点获取缓慢、连接断开和切换失败时误伤现有连接的问题。
  • 恢复节点延迟列,区分本机实测值与 VPNGate 官方预估值。
  • 加入国旗、实时多选国家筛选、国家范围持久化和单节点测试。
  • Web 管理端加入正式版更新检测,只检查 GitHub 最新稳定 Release,并根据 Python 源码或 Docker 部署方式显示对应更新命令。
  • install.sh 和 ml update 统一只更新 origin/main。
  • GitHub Release 提供一个适用于 Linux amd64、386、arm64、armv7 的通用 Python 源码包与 SHA-256 校验文件。
  • GHCR 提供经过逐架构冒烟测试的 amd64、386、arm64、arm/v7 Docker 镜像,并同时发布 2.1.0、2.1、latest 标签。
  • Docker 用户默认拉取 GitHub 预构建镜像,也可以使用仓库中的 Dockerfile 在 VPS 本地构建。

兼容范围

应用依赖 Linux TUN、OpenVPN、iptables 和策略路由,因此正式支持 Linux 主机。Docker 也必须运行在具备 /dev/net/tun 的 Linux 主机上,并授予 NET_ADMIN 与 NET_RAW 能力。