mirror of
https://github.com/baoweise-bot/aimili-vpngate.git
synced 2026-09-05 23:56:55 +08:00
docs: redesign readme and add translations
This commit is contained in:
@@ -1,53 +1,90 @@
|
||||
<div align="center">
|
||||
|
||||
# AimiliVPN
|
||||
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
|
||||
**面向 Linux VPS 的 VPNGate 节点管理与 HTTP / HTTPS / SOCKS5 代理网关**
|
||||
|
||||
AimiliVPN 是运行在 Linux VPS 上的 VPNGate 节点管理与代理网关,提供 Web 管理后台以及同端口的 HTTP、HTTPS 和 SOCKS5 代理接入。
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
|
||||
[](LICENSE)
|
||||
|
||||
> 本项目需要 Linux、root 权限、OpenVPN、iptables、策略路由和可用的 TUN/TAP 设备。Windows 与 macOS 可以作为代理客户端使用,但不能直接运行完整网关。
|
||||
**简体中文** · [English](docs/README.en.md) · [日本語](docs/README.ja.md) · [한국어](docs/README.ko.md)
|
||||
|
||||
## VPS 推荐
|
||||
[快速安装](#quick-install) · [完整安装](#installation) · [连接使用](#connection) · [VPS 推荐](#vps) · [社区入口](#community) · [法律声明](#legal)
|
||||
|
||||
以下链接含推广参数,通过链接购买不会增加您的费用。
|
||||
[](https://339936.xyz)
|
||||
[](https://t.me/arestemple)
|
||||
[](https://www.youtube.com/watch?v=s-ATfXR8BpI)
|
||||
|
||||
| 推荐 | 适用场景 | 主要特点 | 购买入口 |
|
||||
| --- | --- | --- | --- |
|
||||
| **BandwagonHost 搬瓦工** | 重视国内访问质量、延迟和线路稳定性 | 三网优化线路,适合对跨境网络质量要求较高的长期使用场景 | [查看 BandwagonHost](https://bandwagonhost.com/aff.php?aff=81790) |
|
||||
| **RackNerd** | 低成本部署、测试和长期挂机 | 流量充足、价格较低,适合入门部署和性价比优先的 VPS | [查看 RackNerd](https://my.racknerd.com/aff.php?aff=18708) |
|
||||
</div>
|
||||
|
||||
## 安装方式
|
||||
AimiliVPN 使用 Python 标准库管理 VPNGate 节点,提供节点获取与检测、连接切换、Web 管理后台,以及共用一个端口的 HTTP、HTTPS 网站代理和 SOCKS5 代理服务。
|
||||
|
||||
### 安装前确认
|
||||
| 项目 | 默认值或支持范围 |
|
||||
| --- | --- |
|
||||
| Web 管理后台 | TCP `8787` + 独立安全路径 + 账号密码 |
|
||||
| 本机代理 | `127.0.0.1:7928`,支持 HTTP、HTTPS `CONNECT` 和 SOCKS5 |
|
||||
| 源码部署 | x64、x86、ARM64、ARM32 Linux |
|
||||
| Docker 镜像 | `linux/amd64`、`linux/386`、`linux/arm64`、`linux/arm/v7` |
|
||||
| 更新通道 | GitHub `main` 正式分支 / 最新正式 Release |
|
||||
|
||||
- 使用 Ubuntu、Debian、Alpine、CentOS、RHEL、Rocky Linux、AlmaLinux、Fedora、Oracle Linux 或 Amazon Linux。
|
||||
- 使用 `root` 用户运行安装命令。
|
||||
- 在 VPS 控制面板中启用 TUN/TAP,并确认 `/dev/net/tun` 存在。
|
||||
- 放行 Web 管理端口,默认是 TCP `8787`。建议只允许自己的 IP 访问。
|
||||
- Python 源码适用于 x64、x86、ARM64 和 ARM32;预构建 Docker 镜像支持 `linux/amd64`、`linux/386`、`linux/arm64` 和 `linux/arm/v7`。
|
||||
> [!IMPORTANT]
|
||||
> **地区可用性提示:** 中国大陆境内数据中心的 VPS 可能因当地网络政策、服务商限制、DNS、VPNGate API 或 VPN 协议受限而无法获取节点或建立连接。即使程序提供镜像和本地缓存,也不保证此类机型可用。本项目不面向中国大陆境内部署,建议仅在中国大陆境外、当地法律允许且 VPS 服务商明确允许 VPN/TUN 的环境中合理使用。
|
||||
|
||||
### 一键源码安装(推荐)
|
||||
<a id="quick-install"></a>
|
||||
## 快速安装
|
||||
|
||||
在 VPS 上执行:
|
||||
使用 `root` 用户在受支持的 Linux VPS 上执行:
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
安装器会自动安装依赖、部署到 `/opt/aimilivpn`、注册系统服务,并生成 Web 安全路径、登录账号和密码。请保存安装完成时终端输出的登录信息。
|
||||
安装完成后,终端会显示 Web 后台完整地址、随机安全路径、登录账号和密码。输入 `ml` 可打开管理菜单。
|
||||
|
||||
常用管理命令:
|
||||
> [!TIP]
|
||||
> 安装前请在 VPS 控制面板启用 TUN/TAP,并确认 `/dev/net/tun` 存在。Web 默认使用 TCP `8787`,安全组建议只允许自己的 IP 访问。
|
||||
|
||||
<a id="vps"></a>
|
||||
## VPS 推荐
|
||||
|
||||
以下链接含推广参数,通过链接购买不会增加您的费用。
|
||||
|
||||
| 推荐 | 更适合 | 主要特点 | 入口 |
|
||||
| --- | --- | --- | --- |
|
||||
| **BandwagonHost 搬瓦工** | 重视国内访问质量、延迟和线路稳定性 | 三网优化线路,适合对跨境网络质量要求较高的长期使用场景 | [查看 BandwagonHost](https://bandwagonhost.com/aff.php?aff=81790) |
|
||||
| **RackNerd** | 低成本部署、测试和长期挂机 | 流量充足、价格较低,适合入门部署和性价比优先的 VPS | [查看 RackNerd](https://my.racknerd.com/aff.php?aff=18708) |
|
||||
|
||||
购买前请确认机房位于中国大陆境外,并确认套餐支持 TUN/TAP、OpenVPN 和所需网络协议。推广链接不代表对具体机型可用性的保证。
|
||||
|
||||
<a id="installation"></a>
|
||||
## 完整安装
|
||||
|
||||
### 运行条件
|
||||
|
||||
- 操作系统:Ubuntu、Debian、Alpine、CentOS、RHEL、Rocky Linux、AlmaLinux、Fedora、Oracle Linux 或 Amazon Linux。
|
||||
- 权限与组件:`root`、OpenVPN、iptables、策略路由和 TUN/TAP。
|
||||
- Windows 与 macOS 可作为代理客户端,但不能直接运行完整网关;Docker Desktop 也不等同于具备宿主机 TUN 能力的 Linux VPS。
|
||||
|
||||
### 方式一:一键源码安装
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
安装器会部署到 `/opt/aimilivpn` 并注册系统服务。常用命令:
|
||||
|
||||
```bash
|
||||
ml # 打开管理菜单
|
||||
ml status # 查看运行状态和连接信息
|
||||
ml status # 查看状态、Web 地址和账号
|
||||
ml logs # 查看实时日志
|
||||
ml restart # 重启服务
|
||||
ml password # 重设 Web 账号密码
|
||||
ml update # 从 main 正式分支更新
|
||||
ml uninstall # 卸载
|
||||
```
|
||||
|
||||
不希望直接通过 `curl` 执行脚本时,也可以克隆仓库后检查并运行安装器:
|
||||
需要先审查脚本时:
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
@@ -55,11 +92,11 @@ cd aimili-vpngate
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
通用 Linux 源码包和 SHA-256 校验文件可从 [GitHub Releases](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) 下载。版本变更记录也统一发布在 Releases 页面。
|
||||
通用 Linux 源码包与 SHA-256 校验文件可在 [GitHub Releases](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) 下载,版本变更记录也统一放在 Release Notes 中。
|
||||
|
||||
### Docker Compose
|
||||
### 方式二:Docker Compose
|
||||
|
||||
Docker 主机必须能够使用 `/dev/net/tun`、host 网络以及 `NET_ADMIN`、`NET_RAW` 权限。
|
||||
Docker 主机需要 `/dev/net/tun`、host 网络以及 `NET_ADMIN`、`NET_RAW` 权限。
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
@@ -69,11 +106,7 @@ docker compose up -d
|
||||
docker logs -f aimilivpn
|
||||
```
|
||||
|
||||
正式镜像地址:
|
||||
|
||||
```text
|
||||
ghcr.io/baoweise-bot/aimili-vpngate:2.1
|
||||
```
|
||||
正式镜像:`ghcr.io/baoweise-bot/aimili-vpngate:2.1`
|
||||
|
||||
更新容器:
|
||||
|
||||
@@ -82,7 +115,8 @@ docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
### Docker 直接运行
|
||||
<details>
|
||||
<summary><strong>查看 docker run 命令</strong></summary>
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
@@ -100,9 +134,10 @@ docker run -d \
|
||||
ghcr.io/baoweise-bot/aimili-vpngate:2.1
|
||||
```
|
||||
|
||||
### 在 VPS 本地构建 Docker 镜像
|
||||
</details>
|
||||
|
||||
无法拉取 GHCR 镜像或希望自行审查构建过程时,可在仓库目录构建:
|
||||
<details>
|
||||
<summary><strong>无法拉取 GHCR 时在 VPS 本地构建</strong></summary>
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
@@ -111,45 +146,51 @@ docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<a id="connection"></a>
|
||||
## 连接与使用
|
||||
|
||||
### 登录 Web 管理后台
|
||||
### 1. 登录 Web 后台
|
||||
|
||||
源码安装完成后,终端会显示完整地址、账号和密码,地址格式如下:
|
||||
源码安装完成后,使用终端输出的地址访问:
|
||||
|
||||
```text
|
||||
http://VPS_IP:8787/随机安全路径/
|
||||
```
|
||||
|
||||
忘记地址时可执行 `ml status` 查看;需要重新设置账号或密码时执行 `ml password`。
|
||||
忘记地址时执行 `ml status`;需要重设账号密码时执行 `ml password`。
|
||||
|
||||
Docker 首次启动会把 Web 安全路径以及自动生成的账号和密码保存到数据卷,可执行以下命令查看:
|
||||
Docker 用户可以读取首次启动时保存的 Web 配置:
|
||||
|
||||
```bash
|
||||
docker exec aimilivpn cat /data/ui_auth.json
|
||||
```
|
||||
|
||||
读取其中的 `secret_path`、`username` 和 `password`,再访问:
|
||||
使用其中的 `secret_path`、`username` 和 `password` 登录,并在首次登录后修改安全路径和凭据。
|
||||
|
||||
```text
|
||||
http://VPS_IP:8787/secret_path/
|
||||
### 2. 获取并连接节点
|
||||
|
||||
1. 登录后台,等待首次节点加载完成,或点击“更新节点”。
|
||||
2. 按国家筛选节点,并使用“测试”检查本机实测延迟与可用性。
|
||||
3. 点击目标节点的“切换”;目标预检失败时,程序会尽量保留当前可用连接。
|
||||
4. 根据需要选择智能自动、固定国家或固定 IP 模式。
|
||||
5. 在状态区域确认 VPN 已连接,并核对当前出口 IP。
|
||||
|
||||
### 3. 在 VPS 本机使用代理
|
||||
|
||||
HTTP、HTTPS 网站代理和 SOCKS5 共用 `127.0.0.1:7928`。HTTPS 网站通过 HTTP 代理的 `CONNECT` 方法访问,代理地址仍填写 `http://127.0.0.1:7928`。
|
||||
|
||||
```bash
|
||||
# HTTP / HTTPS
|
||||
curl -x http://127.0.0.1:7928 https://api.ipify.org
|
||||
|
||||
# SOCKS5,并通过代理解析域名
|
||||
curl --proxy socks5h://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
首次登录后,建议在管理后台修改 Web 安全路径和登录凭据。
|
||||
|
||||
### 获取并连接节点
|
||||
|
||||
1. 登录 Web 后台,等待首次节点列表加载完成,或点击“更新节点”。
|
||||
2. 按国家筛选节点,需要时先使用“测试”检查实际延迟和可用性。
|
||||
3. 点击目标节点的“切换”进行连接;切换前会先预检目标节点,目标不可用时会尽量保留当前连接。
|
||||
4. 根据需要选择智能自动、固定国家或固定 IP 路由模式。
|
||||
5. 在状态区域确认 VPN 已连接,并检查当前出口 IP。
|
||||
|
||||
### 在 VPS 本机使用代理
|
||||
|
||||
HTTP、HTTPS 和 SOCKS5 共用默认端口 `127.0.0.1:7928`。HTTPS 网站通过 HTTP 代理的 `CONNECT` 方法访问,因此代理地址仍填写 `http://127.0.0.1:7928`。
|
||||
|
||||
Shell 环境:
|
||||
<details>
|
||||
<summary><strong>查看 Shell 环境变量与 Python 示例</strong></summary>
|
||||
|
||||
```bash
|
||||
export http_proxy="http://127.0.0.1:7928"
|
||||
@@ -157,20 +198,6 @@ export https_proxy="http://127.0.0.1:7928"
|
||||
curl https://api.ipify.org
|
||||
```
|
||||
|
||||
单次使用 HTTP 代理:
|
||||
|
||||
```bash
|
||||
curl -x http://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
单次使用 SOCKS5 代理,并让域名解析也经过代理:
|
||||
|
||||
```bash
|
||||
curl --proxy socks5h://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
Python `requests` 示例:
|
||||
|
||||
```python
|
||||
import requests
|
||||
|
||||
@@ -183,9 +210,11 @@ response = requests.get("https://api.ipify.org", proxies=proxies, timeout=20)
|
||||
print(response.text)
|
||||
```
|
||||
|
||||
### 从电脑或其他设备连接
|
||||
</details>
|
||||
|
||||
代理默认只监听 VPS 回环地址,不直接暴露到公网。推荐使用 SSH 隧道连接,在本地电脑执行:
|
||||
### 4. 从电脑或其他设备连接
|
||||
|
||||
代理默认只监听 VPS 回环地址。推荐使用 SSH 隧道,不要直接暴露代理端口:
|
||||
|
||||
```bash
|
||||
ssh -N \
|
||||
@@ -196,8 +225,39 @@ ssh -N \
|
||||
|
||||
隧道建立后:
|
||||
|
||||
- Web 后台访问 `http://127.0.0.1:8787/随机安全路径/`。
|
||||
- HTTP/HTTPS 代理填写 `127.0.0.1:7928`。
|
||||
- SOCKS5 代理同样填写 `127.0.0.1:7928`,支持时优先选择远程 DNS 或 `socks5h`。
|
||||
- Web:`http://127.0.0.1:8787/随机安全路径/`
|
||||
- HTTP / HTTPS 代理:`127.0.0.1:7928`
|
||||
- SOCKS5 代理:`127.0.0.1:7928`,支持时选择远程 DNS 或 `socks5h`
|
||||
|
||||
请勿在没有访问控制和身份认证的情况下把 `7928` 代理端口直接开放到公网。
|
||||
> [!WARNING]
|
||||
> `7928` 默认没有面向公网的用户认证。请勿在没有防火墙、来源 IP 限制或其他可靠访问控制的情况下将其直接开放到公网。
|
||||
|
||||
<a id="community"></a>
|
||||
## 网站、社群与视频
|
||||
|
||||
| 入口 | 用途 | 链接 |
|
||||
| --- | --- | --- |
|
||||
| 项目网站 / 交流论坛 | 公告、经验交流与讨论 | [339936.xyz](https://339936.xyz) |
|
||||
| Telegram 群 | 即时交流 | [t.me/arestemple](https://t.me/arestemple) |
|
||||
| YouTube 教程 | 安装和使用视频 | [观看视频](https://www.youtube.com/watch?v=s-ATfXR8BpI) |
|
||||
| GitHub Issues | 可复现的问题与功能建议 | [提交 Issue](https://github.com/baoweise-bot/aimili-vpngate/issues) |
|
||||
| 电子邮箱 | Bug 反馈与联系 | [yaohunse7@gmail.com](mailto:yaohunse7@gmail.com) |
|
||||
|
||||
<a id="legal"></a>
|
||||
## 使用范围与法律声明
|
||||
|
||||
> [!CAUTION]
|
||||
> 下载、部署或使用本项目即表示您应自行确认用途符合所在地法律、VPS 所在地法律、网络服务商条款及 VPNGate 的相关规则。以下内容是项目使用边界,不构成法律意见,也不能保证免除任何个人或组织依法应承担的责任。
|
||||
|
||||
1. **限定用途**:本项目仅用于合法的网络研究、教育、开发测试、隐私保护和经授权的网络访问,不得用于绕过依法实施的监管措施、未授权访问、攻击、扫描、垃圾信息、欺诈、侵权或其他违法活动。
|
||||
2. **地区限制**:中国大陆境内 VPS 可能无法访问 VPNGate、GitHub 镜像或远端 VPN 节点。本项目不承诺也不提供中国大陆境内部署可用性支持,建议仅由中国大陆境外用户在当地法律允许的环境中合理使用。
|
||||
3. **第三方节点**:VPNGate 节点由第三方志愿者运营,本项目不拥有、不控制也不审核这些节点,无法保证其稳定性、速度、安全性、隐私政策或日志行为。请勿通过不可信节点传输账号密码、金融信息、商业机密等敏感数据。
|
||||
4. **用户责任**:节点选择、流量内容、部署位置、端口开放和账号安全均由使用者负责。因违法使用、配置不当、第三方节点、服务中断、数据泄露或账号滥用产生的后果,由使用者依法承担。
|
||||
5. **无保证提供**:软件按“现状”提供,在适用法律允许的最大范围内,维护者不对可用性、适销性、特定用途适用性或间接损失作出保证。无法依法排除的责任不受本声明影响。
|
||||
6. **不确定时停止使用**:如无法确认当地法律或服务商是否允许,请停止部署和使用,并咨询当地有执业资格的法律专业人士。
|
||||
|
||||
<div align="center">
|
||||
|
||||
[正式版本](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) · [问题反馈](https://github.com/baoweise-bot/aimili-vpngate/issues) · [GPL-3.0 License](LICENSE)
|
||||
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user