5 Commits
Author SHA1 Message Date
baoweise-bot 23909c5337 Update OpenMili description in README.md 2026-09-04 01:04:40 +08:00
baoweise-bot 839d528250 Fix formatting in OpenMili entry of README
Corrected formatting in the OpenMili description for clarity.
2026-09-04 01:03:13 +08:00
baoweise-bot 731965696a Update README.md
docs: simplify provider recommendations
2026-09-04 01:02:34 +08:00
Aimili 64bc4c0037 docs: simplify provider recommendations 2026-08-28 14:13:34 +08:00
Aimili d875529083 docs: add V2.1.5 acceptance report 2026-08-28 08:58:29 +08:00
5 changed files with 201 additions and 148 deletions
+9 -37
View File
@@ -10,7 +10,7 @@
**简体中文** · [English](docs/README.en.md) · [日本語](docs/README.ja.md) · [한국어](docs/README.ko.md) **简体中文** · [English](docs/README.en.md) · [日本語](docs/README.ja.md) · [한국어](docs/README.ko.md)
[快速安装](#quick-install) · [完整安装](#installation) · [连接使用](#connection) · [VPS 推荐](#vps) · [社区入口](#community) · [法律声明](#legal) [快速安装](#quick-install) · [完整安装](#installation) · [连接使用](#connection) · [服务商推荐](#vps) · [社区入口](#community) · [法律声明](#legal)
[![项目网站](https://img.shields.io/badge/项目网站-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz) [![项目网站](https://img.shields.io/badge/项目网站-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz)
[![Telegram](https://img.shields.io/badge/Telegram-交流群-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple) [![Telegram](https://img.shields.io/badge/Telegram-交流群-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple)
@@ -19,42 +19,15 @@
</div> </div>
<a id="vps"></a> <a id="vps"></a>
## VPS 推荐 ## 服务商推荐
<table> | 商家 | 推荐理由 | 入口 |
<tr> | --- | --- | --- |
<td width="50%" valign="top"> | **BandwagonHost** | 电信 CN2 GIA、联通 9929、移动 CMIN2 三网优化线路;低延迟、高稳定性,适合 TikTok 直播、海外带货和长期出海业务。 | [立即查看](https://bandwagonhost.com/aff.php?aff=81790) |
<h3 align="center">BandwagonHost 搬瓦工</h3> | **RackNerd** | 每月 4000GB 大流量,价格与配置性价比突出;部署成本低,适合需要长期稳定运行的服务。 | [立即查看](https://my.racknerd.com/aff.php?aff=18708) |
<p align="center"> | **OpenMili** | OpenMili Ai 中转站 5.6 Sol & Images 2.0 Pro美区原价 0.12倍率 不掺假、不降智,接受压力测试!| [立即查看](https://openmili.com/) |
<img alt="CN2 GIA" src="https://img.shields.io/badge/电信-CN2_GIA-dc2626?style=flat-square">
<img alt="联通 9929" src="https://img.shields.io/badge/联通-9929-f97316?style=flat-square"> 部分链接为推广链接,通过这些链接购买不会增加你的费用。
<img alt="移动 CMIN2" src="https://img.shields.io/badge/移动-CMIN2-16a34a?style=flat-square">
</p>
<p><strong>主要特点</strong></p>
<ul>
<li>电信 CN2 GIA、联通 9929、移动 CMIN2 等三网极品优化线路。</li>
<li>低延迟、高稳定性,跨境链路质量出色。</li>
<li>适合 TikTok 直播运营、海外带货和长期出海业务。</li>
</ul>
<p align="center"><a href="https://bandwagonhost.com/aff.php?aff=81790"><img alt="查看 BandwagonHost" src="https://img.shields.io/badge/立即查看-BandwagonHost-dc2626?style=for-the-badge"></a></p>
</td>
<td width="50%" valign="top">
<h3 align="center">RackNerd</h3>
<p align="center">
<img alt="4000GB 每月流量" src="https://img.shields.io/badge/每月流量-4000GB-0284c7?style=flat-square">
<img alt="大流量" src="https://img.shields.io/badge/优势-大流量-0ea5e9?style=flat-square">
<img alt="高性价比" src="https://img.shields.io/badge/价格-高性价比-2563eb?style=flat-square">
</p>
<p><strong>主要特点</strong></p>
<ul>
<li>每月 4000GB 大流量,流量余量更充足。</li>
<li>价格实惠,流量与配置的性价比突出。</li>
<li>部署成本低,适合需要长期稳定运行的服务。</li>
</ul>
<p align="center"><a href="https://my.racknerd.com/aff.php?aff=18708"><img alt="查看 RackNerd" src="https://img.shields.io/badge/立即查看-RackNerd-0284c7?style=for-the-badge"></a></p>
</td>
</tr>
</table>
AimiliVPN 使用 Python 标准库管理 VPNGate 节点,提供节点获取与检测、连接切换、Web 管理后台,以及共用一个端口的 HTTP、HTTPS 网站代理和 SOCKS5 代理服务。 AimiliVPN 使用 Python 标准库管理 VPNGate 节点,提供节点获取与检测、连接切换、Web 管理后台,以及共用一个端口的 HTTP、HTTPS 网站代理和 SOCKS5 代理服务。
@@ -273,7 +246,6 @@ ssh -N \
| Telegram 群 | 即时交流 | [t.me/arestemple](https://t.me/arestemple) | | Telegram 群 | 即时交流 | [t.me/arestemple](https://t.me/arestemple) |
| YouTube 教程 | 安装和使用视频 | [观看视频](https://www.youtube.com/watch?v=s-ATfXR8BpI) | | YouTube 教程 | 安装和使用视频 | [观看视频](https://www.youtube.com/watch?v=s-ATfXR8BpI) |
| GitHub Issues | 可复现的问题与功能建议 | [提交 Issue](https://github.com/baoweise-bot/aimili-vpngate/issues) | | GitHub Issues | 可复现的问题与功能建议 | [提交 Issue](https://github.com/baoweise-bot/aimili-vpngate/issues) |
| 电子邮箱 | Bug 反馈与联系 | [yaohunse7@gmail.com](mailto:yaohunse7@gmail.com) |
<a id="legal"></a> <a id="legal"></a>
## 使用范围与法律声明 ## 使用范围与法律声明
+8 -37
View File
@@ -10,7 +10,7 @@
[简体中文](../README.md) · **English** · [日本語](README.ja.md) · [한국어](README.ko.md) [简体中文](../README.md) · **English** · [日本語](README.ja.md) · [한국어](README.ko.md)
[Quick install](#quick-install) · [Installation](#installation) · [Connection](#connection) · [VPS offers](#vps) · [Community](#community) · [Legal notice](#legal) [Quick install](#quick-install) · [Installation](#installation) · [Connection](#connection) · [Recommended services](#vps) · [Community](#community) · [Legal notice](#legal)
[![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz) [![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz)
[![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple) [![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple)
@@ -46,44 +46,15 @@ The installer prints the complete Web URL, private path, username, and password.
> Enable TUN/TAP in the VPS control panel and verify that `/dev/net/tun` exists. The Web dashboard uses TCP `8787` by default; restrict firewall access to your own IP whenever possible. > Enable TUN/TAP in the VPS control panel and verify that `/dev/net/tun` exists. The Web dashboard uses TCP `8787` by default; restrict firewall access to your own IP whenever possible.
<a id="vps"></a> <a id="vps"></a>
## VPS Offers ## Recommended Services
The following are affiliate links. Using them does not increase your price. | Provider | Type | Why we recommend it | Link |
| --- | --- | --- | --- |
| **BandwagonHost** | VPS | Optimized China Telecom CN2 GIA, China Unicom 9929, and China Mobile CMIN2 routes; low latency and strong stability for TikTok Live, cross-border commerce, and long-running global services. | [View offer](https://bandwagonhost.com/aff.php?aff=81790) |
| **RackNerd** | VPS | 4000GB of monthly traffic with strong value for the price; low deployment costs for services that need to run continuously. | [View offer](https://my.racknerd.com/aff.php?aff=18708) |
| **OpenMili** | AI relay | Direct GPT model access without model substitution, a low-cost 1:2 rate, and image generation support. | [Visit OpenMili](https://openmili.com/) |
<table> Some links are affiliate links. Using them does not increase your price.
<tr>
<td width="50%" valign="top">
<h3 align="center">BandwagonHost</h3>
<p align="center">
<img alt="CN2 GIA" src="https://img.shields.io/badge/China_Telecom-CN2_GIA-dc2626?style=flat-square">
<img alt="China Unicom 9929" src="https://img.shields.io/badge/China_Unicom-9929-f97316?style=flat-square">
<img alt="China Mobile CMIN2" src="https://img.shields.io/badge/China_Mobile-CMIN2-16a34a?style=flat-square">
</p>
<p><strong>Highlights</strong></p>
<ul>
<li>Premium CN2 GIA, China Unicom 9929, and China Mobile CMIN2 optimized routes.</li>
<li>Low latency, high stability, and excellent cross-border route quality.</li>
<li>Strong connectivity for TikTok live operations, cross-border e-commerce, and long-running global services.</li>
</ul>
<p align="center"><a href="https://bandwagonhost.com/aff.php?aff=81790"><img alt="View BandwagonHost" src="https://img.shields.io/badge/View-BandwagonHost-dc2626?style=for-the-badge"></a></p>
</td>
<td width="50%" valign="top">
<h3 align="center">RackNerd</h3>
<p align="center">
<img alt="4000GB monthly traffic" src="https://img.shields.io/badge/Monthly_Traffic-4000GB-0284c7?style=flat-square">
<img alt="High traffic" src="https://img.shields.io/badge/Advantage-High_Traffic-0ea5e9?style=flat-square">
<img alt="Value" src="https://img.shields.io/badge/Pricing-High_Value-2563eb?style=flat-square">
</p>
<p><strong>Highlights</strong></p>
<ul>
<li>4000GB of monthly traffic with generous transfer headroom.</li>
<li>Affordable pricing and a strong traffic-to-cost ratio.</li>
<li>Low deployment cost for services that need to run continuously.</li>
</ul>
<p align="center"><a href="https://my.racknerd.com/aff.php?aff=18708"><img alt="View RackNerd" src="https://img.shields.io/badge/View-RackNerd-0284c7?style=for-the-badge"></a></p>
</td>
</tr>
</table>
Before purchasing, confirm that the selected plan permits TUN/TAP, OpenVPN, and the required network protocols. An affiliate link is not a guarantee that a specific plan will work. Before purchasing, confirm that the selected plan permits TUN/TAP, OpenVPN, and the required network protocols. An affiliate link is not a guarantee that a specific plan will work.
+8 -37
View File
@@ -10,7 +10,7 @@
[简体中文](../README.md) · [English](README.en.md) · **日本語** · [한국어](README.ko.md) [简体中文](../README.md) · [English](README.en.md) · **日本語** · [한국어](README.ko.md)
[クイックインストール](#quick-install) · [インストール](#installation) · [接続方法](#connection) · [VPS](#vps) · [コミュニティ](#community) · [法的通知](#legal) [クイックインストール](#quick-install) · [インストール](#installation) · [接続方法](#connection) · [おすすめサービス](#vps) · [コミュニティ](#community) · [法的通知](#legal)
[![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz) [![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz)
[![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple) [![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple)
@@ -45,44 +45,15 @@ bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/ma
> VPS の管理画面で TUN/TAP を有効にし、`/dev/net/tun` が存在することを確認してください。Web のデフォルトポートは TCP `8787` です。可能な限り自分の IP だけを許可してください。 > VPS の管理画面で TUN/TAP を有効にし、`/dev/net/tun` が存在することを確認してください。Web のデフォルトポートは TCP `8787` です。可能な限り自分の IP だけを許可してください。
<a id="vps"></a> <a id="vps"></a>
## VPS の案内 ## おすすめサービス
以下はアフィリエイトリンクです。リンク経由でも購入価格は上がりません。 | サービス | 種類 | おすすめポイント | リンク |
| --- | --- | --- | --- |
| **BandwagonHost** | VPS | China Telecom CN2 GIA、China Unicom 9929、China Mobile CMIN2 の最適化回線。低遅延で安定しており、TikTok ライブ、越境 EC、長期的な海外向けサービスに適しています。 | [詳細を見る](https://bandwagonhost.com/aff.php?aff=81790) |
| **RackNerd** | VPS | 月間 4000GB の大容量トラフィックと高いコストパフォーマンス。継続稼働するサービスの導入コストを抑えられます。 | [詳細を見る](https://my.racknerd.com/aff.php?aff=18708) |
| **OpenMili** | AI 中継 | GPT モデルを差し替えずに提供する AI 中継サービス。低価格な 1:2 レートで、画像生成にも対応しています。 | [OpenMili を見る](https://openmili.com/) |
<table> 一部のリンクはアフィリエイトリンクです。リンク経由でも購入価格は上がりません。
<tr>
<td width="50%" valign="top">
<h3 align="center">BandwagonHost</h3>
<p align="center">
<img alt="CN2 GIA" src="https://img.shields.io/badge/China_Telecom-CN2_GIA-dc2626?style=flat-square">
<img alt="China Unicom 9929" src="https://img.shields.io/badge/China_Unicom-9929-f97316?style=flat-square">
<img alt="China Mobile CMIN2" src="https://img.shields.io/badge/China_Mobile-CMIN2-16a34a?style=flat-square">
</p>
<p><strong>主な特長</strong></p>
<ul>
<li>CN2 GIA、China Unicom 9929、China Mobile CMIN2 の高品質な最適化回線。</li>
<li>低遅延、高い安定性、優れた国際経路品質。</li>
<li>TikTok ライブ運営、越境 EC、長期的な海外向け事業に適した回線。</li>
</ul>
<p align="center"><a href="https://bandwagonhost.com/aff.php?aff=81790"><img alt="BandwagonHost" src="https://img.shields.io/badge/View-BandwagonHost-dc2626?style=for-the-badge"></a></p>
</td>
<td width="50%" valign="top">
<h3 align="center">RackNerd</h3>
<p align="center">
<img alt="4000GB monthly traffic" src="https://img.shields.io/badge/Monthly_Traffic-4000GB-0284c7?style=flat-square">
<img alt="High traffic" src="https://img.shields.io/badge/Advantage-High_Traffic-0ea5e9?style=flat-square">
<img alt="Value" src="https://img.shields.io/badge/Pricing-High_Value-2563eb?style=flat-square">
</p>
<p><strong>主な特長</strong></p>
<ul>
<li>月間 4000GB の大容量トラフィック。</li>
<li>手頃な価格と優れたトラフィック対コスト比。</li>
<li>継続稼働するサービスの導入コストを抑えやすい構成。</li>
</ul>
<p align="center"><a href="https://my.racknerd.com/aff.php?aff=18708"><img alt="RackNerd" src="https://img.shields.io/badge/View-RackNerd-0284c7?style=for-the-badge"></a></p>
</td>
</tr>
</table>
購入前に、対象プランが TUN/TAP、OpenVPN、必要なプロトコルを許可していることを確認してください。 購入前に、対象プランが TUN/TAP、OpenVPN、必要なプロトコルを許可していることを確認してください。
+8 -37
View File
@@ -10,7 +10,7 @@
[简体中文](../README.md) · [English](README.en.md) · [日本語](README.ja.md) · **한국어** [简体中文](../README.md) · [English](README.en.md) · [日本語](README.ja.md) · **한국어**
[빠른 설치](#quick-install) · [설치](#installation) · [연결](#connection) · [VPS](#vps) · [커뮤니티](#community) · [법적 고지](#legal) [빠른 설치](#quick-install) · [설치](#installation) · [연결](#connection) · [추천 서비스](#vps) · [커뮤니티](#community) · [법적 고지](#legal)
[![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz) [![Website](https://img.shields.io/badge/Website-339936.xyz-f97316?style=for-the-badge)](https://339936.xyz)
[![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple) [![Telegram](https://img.shields.io/badge/Telegram-Community-229ED9?style=for-the-badge&logo=telegram&logoColor=white)](https://t.me/arestemple)
@@ -45,44 +45,15 @@ bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/ma
> VPS 제어판에서 TUN/TAP을 활성화하고 `/dev/net/tun`이 존재하는지 확인하십시오. Web 기본 포트는 TCP `8787`이며 가능하면 자신의 IP만 허용하십시오. > VPS 제어판에서 TUN/TAP을 활성화하고 `/dev/net/tun`이 존재하는지 확인하십시오. Web 기본 포트는 TCP `8787`이며 가능하면 자신의 IP만 허용하십시오.
<a id="vps"></a> <a id="vps"></a>
## VPS 안내 ## 추천 서비스
아래 링크는 제휴 링크이며, 이를 통해 구매해도 가격은 올라가지 않습니다. | 서비스 | 유형 | 추천 이유 | 링크 |
| --- | --- | --- | --- |
| **BandwagonHost** | VPS | China Telecom CN2 GIA, China Unicom 9929, China Mobile CMIN2 최적화 회선. 지연 시간이 짧고 안정적이며 TikTok 라이브, 해외 전자상거래 및 장기 글로벌 서비스에 적합합니다. | [자세히 보기](https://bandwagonhost.com/aff.php?aff=81790) |
| **RackNerd** | VPS | 월 4000GB의 넉넉한 트래픽과 뛰어난 비용 효율. 장기 실행 서비스의 배포 비용을 낮추기 좋습니다. | [자세히 보기](https://my.racknerd.com/aff.php?aff=18708) |
| **OpenMili** | AI 중계 | GPT 모델을 바꾸지 않고 제공하는 AI 중계 서비스. 저렴한 1:2 요율과 이미지 생성 기능을 지원합니다. | [OpenMili 방문](https://openmili.com/) |
<table> 일부 링크는 제휴 링크이며, 이를 통해 구매해도 가격은 올라가지 않습니다.
<tr>
<td width="50%" valign="top">
<h3 align="center">BandwagonHost</h3>
<p align="center">
<img alt="CN2 GIA" src="https://img.shields.io/badge/China_Telecom-CN2_GIA-dc2626?style=flat-square">
<img alt="China Unicom 9929" src="https://img.shields.io/badge/China_Unicom-9929-f97316?style=flat-square">
<img alt="China Mobile CMIN2" src="https://img.shields.io/badge/China_Mobile-CMIN2-16a34a?style=flat-square">
</p>
<p><strong>주요 특징</strong></p>
<ul>
<li>CN2 GIA, China Unicom 9929, China Mobile CMIN2 프리미엄 최적화 회선.</li>
<li>낮은 지연 시간, 높은 안정성, 뛰어난 국제 경로 품질.</li>
<li>TikTok 라이브 운영, 해외 전자상거래 및 장기 글로벌 서비스에 적합한 연결 품질.</li>
</ul>
<p align="center"><a href="https://bandwagonhost.com/aff.php?aff=81790"><img alt="BandwagonHost" src="https://img.shields.io/badge/View-BandwagonHost-dc2626?style=for-the-badge"></a></p>
</td>
<td width="50%" valign="top">
<h3 align="center">RackNerd</h3>
<p align="center">
<img alt="4000GB monthly traffic" src="https://img.shields.io/badge/Monthly_Traffic-4000GB-0284c7?style=flat-square">
<img alt="High traffic" src="https://img.shields.io/badge/Advantage-High_Traffic-0ea5e9?style=flat-square">
<img alt="Value" src="https://img.shields.io/badge/Pricing-High_Value-2563eb?style=flat-square">
</p>
<p><strong>주요 특징</strong></p>
<ul>
<li>월 4000GB의 넉넉한 트래픽.</li>
<li>합리적인 가격과 뛰어난 트래픽 대비 비용 효율.</li>
<li>장기 실행 서비스의 배포 비용을 낮추기 좋은 구성.</li>
</ul>
<p align="center"><a href="https://my.racknerd.com/aff.php?aff=18708"><img alt="RackNerd" src="https://img.shields.io/badge/View-RackNerd-0284c7?style=for-the-badge"></a></p>
</td>
</tr>
</table>
구매 전에 선택한 요금제가 TUN/TAP, OpenVPN 및 필요한 네트워크 프로토콜을 허용하는지 확인하십시오. 구매 전에 선택한 요금제가 TUN/TAP, OpenVPN 및 필요한 네트워크 프로토콜을 허용하는지 확인하십시오.
+168
View File
@@ -0,0 +1,168 @@
# AimiliVPN V2.1.5 正式版验收报告
测试日期:2026-08-27 至 2026-08-28Asia/Shanghai
测试版本:`2.1.5`
Git 提交:`97fc337`
测试环境:Ubuntu 22.04.1 LTS、Linux 5.15、x86_64、Python 3.10、OpenVPN 2.5.11
> 本报告不记录 VPS SSH 密码、Web 登录凭据、安全路径或完整管理地址。
## 1. 结论
V2.1.5 已通过本地自动化、GitHub Actions 多版本/多架构构建,以及 Ubuntu x86_64 VPS 的完整卸载、公开脚本重装和真实网络验收。
本轮原计划复验 V2.1.3,但正式安装检查发现手动断开后 `proxy_ready` 没有同步清零,因此未改写旧标签,而是发布 V2.1.4。随后 V2.1.4 的失败切换压力测试又发现:原节点和 3 个备用节点均失败后,日志提示会后台补齐,实际却直接返回。该遗漏已修复并按不可变发行原则发布为 V2.1.5。
正式 V2.1.5 最终状态:服务 active/enabled,官方 HTTPS 节点源正常,97 个节点覆盖 9 个国家,六项后台服务全部 running,HTTP/SOCKS5 真实出口一致,连接状态、策略路由和断开清理正常。
## 2. 发布产物
- GitHub Actions`33123598394`,结论 `success`
- Python 3.9、3.11、3.13:完整测试通过。
- Docker `linux/amd64``linux/386``linux/arm64``linux/arm/v7`:分别构建并导入验证通过。
- GHCR 多架构索引摘要:`sha256:46b8f73ebb93ef308ef5bd51b649ce5030ab19ea7eff984e7525f9e7cb84044a`
- GitHub Release`v2.1.5`,非草稿、非预发布,并为当前 latest。
- 源码包:`aimilivpn-v2.1.5-linux-source.tar.gz`
- 源码包 SHA-256`e2cbcbb35558c34fed6083047bbb730fc9d43bd3537eb301538a1b01ff7f9363`,下载后与 `sha256sums.txt` 完全一致。
- Actions 使用 `actions/checkout@v7``actions/setup-python@v7` 等当前运行时版本,本次没有 Node.js 20 弃用失败。
## 3. 自动化检查
- `python -m unittest discover -s tests -v`53/53 通过。
- `python -m py_compile`:核心 Python 模块全部通过。
- Dashboard JavaScript:由单元测试提取脚本并执行 Node.js 语法检查,通过。
- `docker compose -f compose.yaml config`:通过。
- `bash -n install.sh`:在 VPS Bash 环境通过。
- `git diff --check`:通过。
- 发行压缩包本地预构建:文件名、版本号和校验文件正确。
## 4. 完整卸载与公开脚本重装
两次执行项目自带 `ml uninstall` 后分别确认:
- `/opt/aimilivpn``ml`、systemd unit 和 `/etc/sysctl.d/99-aimilivpn.conf` 均不存在。
- OpenVPN 进程为 0`tun0` 不存在。
- table 100 路由为 0table 100 策略规则为 0。
- systemd 返回 inactiveunit 文件不存在。
随后严格执行 README 的无人值守 GitHub 安装方式:
```bash
AIMILIVPN_NONINTERACTIVE=1 bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
```
结果:
- 版本 `2.1.5`,提交 `97fc337`
- 服务 active/enabled,首次连接在安装器等待窗口内完成。
- `ui_auth.json` 权限为 `0600`,所有者为 root。
- 默认 Web 端口 8787、代理端口 7928。
- 更新检查返回当前版本与 latest 均为 `2.1.5``update_available=false`
## 5. 节点源与回退
| 场景 | 实际来源 | 候选数 | 结果 |
| --- | --- | ---: | --- |
| 默认正式服务 | `official_https` | 97 | 通过 |
| 强制官方 HTTPS 失败 | `official_http` | 97 | 通过 |
| 强制两个官方源失败 | `github_pages_https` | 98 | 通过 |
| GitHub Pages HTTP 地址 | 最终跳转 HTTPS | 98 | 通过,但不是真正明文镜像 |
| 四个网络源全部失败 | `local_cache` | 97 | 通过 |
| 网络源失败且无最近缓存 | `bundled_initial` | 99 | 通过 |
四个公开 URL 均从 VPS 返回 HTTP 200 和合法 VPNGate CSV。官方 HTTP/HTTPS 均保留;GitHub Pages HTTP 由平台强制跳转 HTTPS,本地最近有效快照和内置初始快照承担无网络兜底。
国家发现范围实测:选择 `JP` 后得到 58 个节点且全部为日本,配置持久化为 `JP`;清空后恢复 97 个节点、9 个国家。筛选在来源成功判定后执行,没有把“所选国家当前为 0 个节点”误判成来源失败。
## 6. IP 类型识别
正式安装的 97 个节点分类如下:
| 类型 | 数量 | 置信度约束 |
| --- | ---: | --- |
| 住宅 | 81 | 中置信度 |
| 移动 | 1 | 高置信度 |
| 机房 | 15 | 高置信度 |
严格住宅路由可接受节点为 82 个,全部属于住宅/移动且置信度为中或高。主来源冲突节点会使用第二情报源复核,不能复核的项目保持 unknown/低置信度,不会直接放入严格住宅路由。
## 7. 连接、切换与断开
### 7.1 状态门控
真实切换轮询中,连接建立前持续返回:
- `is_connecting=true`
- 活动节点 0
- `tunnel_ready=false`
- `proxy_ready=false`
- `proxy_ok=false`
只有 OpenVPN、策略路由和真实代理出口全部验证通过后,才变为活动节点 1 且三个 readiness 状态为 true。失败节点不会提前显示成已连接。
### 7.2 手动断开
调用 `/api/disconnect` 后实测:
- 活动节点 0`is_connecting=false`
- `tunnel_ready/proxy_ready/proxy_ok` 全部为 false。
- OpenVPN 进程 0`tun0` 不存在。
- table 100 路由和策略规则均为 0。
- `/api/test_proxy` 返回 `ERR_ROUTE_DEV_NOT_FOUND`,没有保留旧出口假状态。
- `connection_enabled=false` 已持久化。
### 7.3 失败恢复与后台补位
V2.1.4 压力测试复现:目标节点失败,原节点恢复失败,随后 3 个备用节点也失败;旧代码只打印“后台重新加载节点”并直接返回,最长可能等到下一轮 21 分钟采集。
V2.1.5 修复后:
- 连续失败分支调用 `schedule_background_refill()`
- 同一时间只允许一个补位线程,退避间隔为 60、120、300 秒。
- 单元测试确认耗尽分支必定调度补位。
- VPS 隔离运行确认补位线程已创建、存活且未被取消。
- 正式安装中,原节点重新拨号失败后系统保持全部 readiness 为 false,后台重新同步节点,最终自动连接到新的日本节点并恢复 HTTP/SOCKS5 出口。
## 8. 代理、路由与服务
- VPS 直连出口与 VPN 代理出口不同。
- HTTP 与 SOCKS5 返回相同 VPN 出口。
- `/api/test_proxy` 返回成功、出口 IP 和实测延迟。
- 成功连接时 table 100 有 1 条默认路由和 1 条策略规则,不重复叠加。
- Web、代理、OpenVPN、节点同步、出口检测、延迟测速共 6 项服务全部 running。
- OpenVPN 日志包含 `VERIFY KU OK``VERIFY EKU OK`,没有旧的服务器证书用途警告。
- 代理端口提交为 Web 端口时返回 HTTP 400;配置仍为 8787/7928,没有静默改写。
## 9. Web 前端
静态、自动化和真实 Chromium 交互检查已通过:
- 延迟列、官方预估延迟提示、国旗、国家多选、测试/收藏/切换按钮存在。
- 国家面板层级、复选框自绘、分页、请求去重、页面隐藏时暂停轮询和日志行数上限均有回归覆盖。
- 登录页和 Dashboard 不再使用 `backdrop-filter` 或固定背景,降低 Edge/Chromium GPU 卡死风险。
- Dashboard 内联 JavaScript 语法通过 Node.js 检查。
- Web API 登录、节点、网关、日志、更新、刷新、断开、连接和代理检测已从 VPS 真实调用通过。
- 使用项目真实 `Handler` 和隔离临时数据启动本地实例,以 97 个模拟节点完成 Chromium 桌面和移动视口登录交互;测试账号仅在本地临时实例中存在,退出后已销毁。
- 节点表实际呈现 7 列,实测延迟与“仅供参考、非本机实测”的官方预估延迟同时正确显示;日本、韩国、美国国旗和中文国家名正常,检测/收藏/切换三个按钮完整。
- 国家多选面板显示国旗、中文国名和节点数量;选择日本后即时缩减为 33 个日本节点,清空后恢复 97 个节点,分页分别显示 50/47 行。
- 层叠上下文实测为 `.toolbar z-index: 50`、国家面板 `z-index: 1000`;面板与表格相交区域的顶层命中元素属于国家面板,未再被表格遮挡。
- Web 更新检测返回“当前 V2.1.5 正式版 已是最新正式版”;网关与日志面板均能打开并渲染后端结果。
- 移动视口下工具栏控件没有越界,国家面板完整位于视口内;经过一次自动轮询周期后页面仍可在约 0.6 秒内完成连续交互,浏览器控制台错误/警告为 0。
安全边界:本轮没有在浏览器中提交正式 VPS 新生成的安全路径、账号或密码,因为该动作需要用户在提交前即时确认。正式 VPS 的同一组 Web API 已通过服务端本机登录会话完成真实调用验收;浏览器交互部分使用上述隔离实例验证,不把未执行的线上凭据提交描述为已完成。
## 10. 当前状态与边界
报告写入时:
- VPS 运行 GitHub 公开脚本安装的 V2.1.5,而不是本地临时目录。
- 服务 active/enabled,活动 VPN、HTTP/SOCKS5 出口正常。
- 节点来源为官方 HTTPS,配置恢复为全部国家、自动路由、全部 IP 类型。
- 临时防火墙规则为 0;没有修改宿主机 Docker 服务或其他项目。
未覆盖边界:
- 实体 VPS 为 Ubuntu x86_64ARM、386 和其他发行版由 CI 构建/导入验证,不等同于对应实体机长期运行。
- VPS 无可用公网 IPv6,未验证公网 IPv6 入站或 IPv6 VPN 出口。
- 未进行数天级持续运行和 GitHub Actions 定时任务准点率统计。
- Edge 实机需要连接 Edge 浏览器扩展;本轮使用可用的 Chromium 浏览器内核进行 Web 交互。