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>
|
||||
|
||||
@@ -0,0 +1,240 @@
|
||||
<div align="center">
|
||||
|
||||
# AimiliVPN
|
||||
|
||||
**A VPNGate node manager and HTTP / HTTPS / SOCKS5 proxy gateway for Linux VPS hosts**
|
||||
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
|
||||
[](../LICENSE)
|
||||
|
||||
[简体中文](../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)
|
||||
|
||||
[](https://339936.xyz)
|
||||
[](https://t.me/arestemple)
|
||||
[](https://www.youtube.com/watch?v=s-ATfXR8BpI)
|
||||
|
||||
</div>
|
||||
|
||||
AimiliVPN uses Python's standard library to manage VPNGate nodes. It provides node discovery and testing, connection switching, a Web dashboard, and HTTP, HTTPS website proxying, and SOCKS5 access on one local port.
|
||||
|
||||
| Item | Default or supported range |
|
||||
| --- | --- |
|
||||
| Web dashboard | TCP `8787`, a private path, username, and password |
|
||||
| Local proxy | `127.0.0.1:7928`, HTTP, HTTPS `CONNECT`, and SOCKS5 |
|
||||
| Source deployment | x64, x86, ARM64, and ARM32 Linux |
|
||||
| Docker images | `linux/amd64`, `linux/386`, `linux/arm64`, and `linux/arm/v7` |
|
||||
| Update channel | GitHub `main` stable branch / latest stable Release |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **Regional availability:** VPS hosts located in mainland China may be unable to fetch nodes or establish connections because of local network policies, provider restrictions, DNS behavior, blocked VPNGate APIs, or restricted VPN protocols. Mirrors and local snapshots do not guarantee availability on such hosts. This project is not intended for deployment in mainland China. Use it only outside mainland China where local law and the VPS provider explicitly permit VPN/TUN services.
|
||||
|
||||
<a id="quick-install"></a>
|
||||
## Quick Install
|
||||
|
||||
Run as `root` on a supported Linux VPS:
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
The installer prints the complete Web URL, private path, username, and password. Run `ml` to open the management menu.
|
||||
|
||||
> [!TIP]
|
||||
> 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>
|
||||
## VPS Offers
|
||||
|
||||
The following are affiliate links. Using them does not increase your price.
|
||||
|
||||
| Provider | Best for | Highlights | Link |
|
||||
| --- | --- | --- | --- |
|
||||
| **BandwagonHost** | Route quality, latency, and long-term stability | Optimized routes for users who need higher cross-border network quality | [View BandwagonHost](https://bandwagonhost.com/aff.php?aff=81790) |
|
||||
| **RackNerd** | Low-cost deployments, testing, and long-running services | Generous traffic at a lower price | [View RackNerd](https://my.racknerd.com/aff.php?aff=18708) |
|
||||
|
||||
Before purchasing, confirm that the data center is outside mainland China and that the plan permits TUN/TAP, OpenVPN, and the required network protocols. An affiliate link is not a guarantee that a specific plan will work.
|
||||
|
||||
<a id="installation"></a>
|
||||
## Installation
|
||||
|
||||
### Requirements
|
||||
|
||||
- Ubuntu, Debian, Alpine, CentOS, RHEL, Rocky Linux, AlmaLinux, Fedora, Oracle Linux, or Amazon Linux.
|
||||
- `root`, OpenVPN, iptables, policy routing, and TUN/TAP.
|
||||
- Windows and macOS can be proxy clients, but cannot run the full gateway. Docker Desktop is not equivalent to a Linux VPS with host TUN access.
|
||||
|
||||
### Option 1: Source installer
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
The installer deploys to `/opt/aimilivpn` and registers a system service.
|
||||
|
||||
```bash
|
||||
ml # Open the management menu
|
||||
ml status # Show status, Web URL, and username
|
||||
ml logs # Follow logs
|
||||
ml restart # Restart the service
|
||||
ml password # Reset Web credentials
|
||||
ml update # Update from the stable main branch
|
||||
ml uninstall # Uninstall
|
||||
```
|
||||
|
||||
To inspect the installer first:
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
Universal Linux source archives and SHA-256 checksums are available from [GitHub Releases](https://github.com/baoweise-bot/aimili-vpngate/releases/latest). Version changes are documented in the Release Notes.
|
||||
|
||||
### Option 2: Docker Compose
|
||||
|
||||
The Docker host must provide `/dev/net/tun`, host networking, `NET_ADMIN`, and `NET_RAW`.
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
docker logs -f aimilivpn
|
||||
```
|
||||
|
||||
Image: `ghcr.io/baoweise-bot/aimili-vpngate:2.1`
|
||||
|
||||
Update:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><strong>Show the docker run command</strong></summary>
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name aimilivpn \
|
||||
--restart unless-stopped \
|
||||
--network host \
|
||||
--cap-add NET_ADMIN \
|
||||
--cap-add NET_RAW \
|
||||
--device /dev/net/tun:/dev/net/tun \
|
||||
-e UI_HOST=0.0.0.0 \
|
||||
-e UI_PORT=8787 \
|
||||
-e LOCAL_PROXY_HOST=127.0.0.1 \
|
||||
-e LOCAL_PROXY_PORT=7928 \
|
||||
-v aimilivpn-data:/data \
|
||||
ghcr.io/baoweise-bot/aimili-vpngate:2.1
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>Build locally when GHCR is unavailable</strong></summary>
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<a id="connection"></a>
|
||||
## Connection and Use
|
||||
|
||||
### 1. Sign in to the Web dashboard
|
||||
|
||||
For a source installation, open the URL printed by the installer:
|
||||
|
||||
```text
|
||||
http://VPS_IP:8787/private_path/
|
||||
```
|
||||
|
||||
Run `ml status` to recover the URL, or `ml password` to reset credentials.
|
||||
|
||||
Docker users can read the initial Web configuration with:
|
||||
|
||||
```bash
|
||||
docker exec aimilivpn cat /data/ui_auth.json
|
||||
```
|
||||
|
||||
Use its `secret_path`, `username`, and `password`, then change them after the first sign-in.
|
||||
|
||||
### 2. Fetch and connect to a node
|
||||
|
||||
1. Sign in and wait for the first node list, or select **Update nodes**.
|
||||
2. Filter by country and use **Test** to measure reachability and latency from the VPS.
|
||||
3. Select **Switch** on the target node. A failed target precheck should leave the current usable connection in place when possible.
|
||||
4. Choose Smart Auto, Fixed Country, or Fixed IP routing.
|
||||
5. Confirm the VPN state and outbound IP in the status area.
|
||||
|
||||
### 3. Use the proxy on the VPS
|
||||
|
||||
HTTP, HTTPS website proxying, and SOCKS5 share `127.0.0.1:7928`. HTTPS sites use the HTTP proxy's `CONNECT` method, so the proxy URL remains `http://127.0.0.1:7928`.
|
||||
|
||||
```bash
|
||||
# HTTP / HTTPS
|
||||
curl -x http://127.0.0.1:7928 https://api.ipify.org
|
||||
|
||||
# SOCKS5 with remote DNS resolution
|
||||
curl --proxy socks5h://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
### 4. Connect from another computer
|
||||
|
||||
The proxy listens on the VPS loopback address by default. Use an SSH tunnel instead of exposing it publicly:
|
||||
|
||||
```bash
|
||||
ssh -N \
|
||||
-L 8787:127.0.0.1:8787 \
|
||||
-L 7928:127.0.0.1:7928 \
|
||||
root@VPS_IP
|
||||
```
|
||||
|
||||
After the tunnel is established:
|
||||
|
||||
- Web: `http://127.0.0.1:8787/private_path/`
|
||||
- HTTP / HTTPS proxy: `127.0.0.1:7928`
|
||||
- SOCKS5 proxy: `127.0.0.1:7928`; enable remote DNS or `socks5h` when available
|
||||
|
||||
> [!WARNING]
|
||||
> Port `7928` has no public-facing user authentication by default. Never expose it directly without a firewall, source-IP restriction, or another reliable access-control layer.
|
||||
|
||||
<a id="community"></a>
|
||||
## Website, Community, and Video
|
||||
|
||||
| Destination | Purpose | Link |
|
||||
| --- | --- | --- |
|
||||
| Website / forum | Announcements and discussion | [339936.xyz](https://339936.xyz) |
|
||||
| Telegram group | Real-time community chat | [t.me/arestemple](https://t.me/arestemple) |
|
||||
| YouTube tutorial | Installation and usage video | [Watch](https://www.youtube.com/watch?v=s-ATfXR8BpI) |
|
||||
| GitHub Issues | Reproducible bugs and feature requests | [Open an issue](https://github.com/baoweise-bot/aimili-vpngate/issues) |
|
||||
| Email | Bug reports and contact | [yaohunse7@gmail.com](mailto:yaohunse7@gmail.com) |
|
||||
|
||||
<a id="legal"></a>
|
||||
## Scope of Use and Legal Notice
|
||||
|
||||
> [!CAUTION]
|
||||
> By downloading, deploying, or using this project, you are responsible for confirming compliance with the laws of your location, the laws where the VPS is hosted, provider terms, and applicable VPNGate rules. This section defines project boundaries, is not legal advice, and cannot guarantee exemption from any liability imposed by law.
|
||||
|
||||
1. **Permitted purpose:** Use only for lawful network research, education, development testing, privacy protection, and authorized access. Do not use it to evade lawfully imposed controls, gain unauthorized access, attack or scan systems, send spam, commit fraud, infringe rights, or conduct any unlawful activity.
|
||||
2. **Regional restriction:** VPS hosts in mainland China may be unable to access VPNGate, GitHub mirrors, or remote VPN nodes. The project does not promise or support availability for deployment in mainland China. It is intended for reasonable use by users outside mainland China where local law permits.
|
||||
3. **Third-party nodes:** VPNGate nodes are operated by third-party volunteers. This project does not own, control, or audit them and cannot guarantee availability, speed, security, privacy practices, or logging behavior. Do not send passwords, financial information, trade secrets, or other sensitive data through untrusted nodes.
|
||||
4. **User responsibility:** The user is responsible for node selection, traffic, deployment location, exposed ports, and account security, and bears legal responsibility for unlawful use, misconfiguration, third-party nodes, outages, data leaks, or account abuse.
|
||||
5. **No warranty:** The software is provided “as is.” To the maximum extent permitted by applicable law, maintainers disclaim warranties of availability, merchantability, fitness for a particular purpose, and indirect damages. Liability that cannot lawfully be excluded remains unaffected.
|
||||
6. **Stop if uncertain:** If you cannot confirm that local law and provider policy permit this use, do not deploy or use the software and consult a qualified lawyer in the relevant jurisdiction.
|
||||
|
||||
<div align="center">
|
||||
|
||||
[Stable Release](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) · [Issues](https://github.com/baoweise-bot/aimili-vpngate/issues) · [GPL-3.0 License](../LICENSE)
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,235 @@
|
||||
<div align="center">
|
||||
|
||||
# AimiliVPN
|
||||
|
||||
**Linux VPS 向け VPNGate ノード管理・HTTP / HTTPS / SOCKS5 プロキシゲートウェイ**
|
||||
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
|
||||
[](../LICENSE)
|
||||
|
||||
[简体中文](../README.md) · [English](README.en.md) · **日本語** · [한국어](README.ko.md)
|
||||
|
||||
[クイックインストール](#quick-install) · [インストール](#installation) · [接続方法](#connection) · [VPS](#vps) · [コミュニティ](#community) · [法的通知](#legal)
|
||||
|
||||
[](https://339936.xyz)
|
||||
[](https://t.me/arestemple)
|
||||
[](https://www.youtube.com/watch?v=s-ATfXR8BpI)
|
||||
|
||||
</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` |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **地域に関する注意:** 中国本土のデータセンターにある VPS では、現地のネットワークポリシー、事業者の制限、DNS、VPNGate API、VPN プロトコルの制限により、ノード取得や接続ができない場合があります。ミラーやローカルスナップショットがあっても利用可能性は保証されません。本プロジェクトは中国本土での展開を対象としていません。中国本土外で、現地法および VPS 事業者が VPN/TUN を明示的に許可している環境でのみ使用してください。
|
||||
|
||||
<a id="quick-install"></a>
|
||||
## クイックインストール
|
||||
|
||||
対応する Linux VPS で `root` として実行します。
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
完了後、Web 管理画面の URL、専用パス、ユーザー名、パスワードが表示されます。`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** | 低コストの導入、テスト、常時稼働 | 比較的低価格で大容量の転送量 | [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 はプロキシクライアントとして利用できますが、ゲートウェイ本体は実行できません。
|
||||
|
||||
### 方法 1:ソースインストーラー
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
`/opt/aimilivpn` に配置し、システムサービスを登録します。
|
||||
|
||||
```bash
|
||||
ml # 管理メニュー
|
||||
ml status # 状態、Web URL、ユーザー名
|
||||
ml logs # ログ
|
||||
ml restart # 再起動
|
||||
ml password # Web 認証情報を再設定
|
||||
ml update # main 安定版から更新
|
||||
ml uninstall # アンインストール
|
||||
```
|
||||
|
||||
事前にスクリプトを確認する場合:
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
Linux 共通ソースアーカイブと SHA-256 は [GitHub Releases](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) から取得できます。変更内容は Release Notes に掲載されます。
|
||||
|
||||
### 方法 2:Docker Compose
|
||||
|
||||
Docker ホストには `/dev/net/tun`、host ネットワーク、`NET_ADMIN`、`NET_RAW` が必要です。
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
docker logs -f aimilivpn
|
||||
```
|
||||
|
||||
イメージ:`ghcr.io/baoweise-bot/aimili-vpngate:2.1`
|
||||
|
||||
更新:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><strong>docker run コマンドを表示</strong></summary>
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name aimilivpn \
|
||||
--restart unless-stopped \
|
||||
--network host \
|
||||
--cap-add NET_ADMIN \
|
||||
--cap-add NET_RAW \
|
||||
--device /dev/net/tun:/dev/net/tun \
|
||||
-e UI_HOST=0.0.0.0 \
|
||||
-e UI_PORT=8787 \
|
||||
-e LOCAL_PROXY_HOST=127.0.0.1 \
|
||||
-e LOCAL_PROXY_PORT=7928 \
|
||||
-v aimilivpn-data:/data \
|
||||
ghcr.io/baoweise-bot/aimili-vpngate:2.1
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GHCR を利用できない場合のローカルビルド</strong></summary>
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<a id="connection"></a>
|
||||
## 接続と利用方法
|
||||
|
||||
### 1. Web 管理画面へログイン
|
||||
|
||||
ソース版では、インストーラーが表示した URL を開きます。
|
||||
|
||||
```text
|
||||
http://VPS_IP:8787/private_path/
|
||||
```
|
||||
|
||||
URL は `ml status`、認証情報の再設定は `ml password` を使用します。Docker では次のコマンドで初期設定を確認できます。
|
||||
|
||||
```bash
|
||||
docker exec aimilivpn cat /data/ui_auth.json
|
||||
```
|
||||
|
||||
`secret_path`、`username`、`password` を使用し、初回ログイン後に変更してください。
|
||||
|
||||
### 2. ノードを取得して接続
|
||||
|
||||
1. ログイン後、最初の一覧を待つか「ノード更新」を実行します。
|
||||
2. 国で絞り込み、「テスト」で VPS からの到達性と遅延を確認します。
|
||||
3. 対象ノードの「切り替え」を選択します。事前確認に失敗した場合、可能な限り現在の接続を維持します。
|
||||
4. スマート自動、国固定、IP 固定からルーティングモードを選びます。
|
||||
5. 接続状態と出口 IP を確認します。
|
||||
|
||||
### 3. VPS 上でプロキシを使用
|
||||
|
||||
HTTP、HTTPS サイト用プロキシ、SOCKS5 は `127.0.0.1:7928` を共有します。
|
||||
|
||||
```bash
|
||||
# HTTP / HTTPS
|
||||
curl -x http://127.0.0.1:7928 https://api.ipify.org
|
||||
|
||||
# SOCKS5、DNS もプロキシ経由
|
||||
curl --proxy socks5h://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
### 4. 別の端末から接続
|
||||
|
||||
プロキシを公開せず、SSH トンネルを利用してください。
|
||||
|
||||
```bash
|
||||
ssh -N \
|
||||
-L 8787:127.0.0.1:8787 \
|
||||
-L 7928:127.0.0.1:7928 \
|
||||
root@VPS_IP
|
||||
```
|
||||
|
||||
- Web:`http://127.0.0.1:8787/private_path/`
|
||||
- HTTP / HTTPS:`127.0.0.1:7928`
|
||||
- SOCKS5:`127.0.0.1:7928`。可能な場合はリモート DNS または `socks5h` を使用
|
||||
|
||||
> [!WARNING]
|
||||
> `7928` には、デフォルトで公開用のユーザー認証がありません。ファイアウォール、接続元 IP 制限などの確実なアクセス制御なしで公開しないでください。
|
||||
|
||||
<a id="community"></a>
|
||||
## Web サイト・コミュニティ・動画
|
||||
|
||||
| 入口 | 用途 | リンク |
|
||||
| --- | --- | --- |
|
||||
| Web サイト / フォーラム | お知らせと交流 | [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) |
|
||||
| メール | 不具合報告と連絡 | [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">
|
||||
|
||||
[Stable Release](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) · [Issues](https://github.com/baoweise-bot/aimili-vpngate/issues) · [GPL-3.0 License](../LICENSE)
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,235 @@
|
||||
<div align="center">
|
||||
|
||||
# AimiliVPN
|
||||
|
||||
**Linux VPS용 VPNGate 노드 관리 및 HTTP / HTTPS / SOCKS5 프록시 게이트웨이**
|
||||
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
|
||||
[](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
|
||||
[](../LICENSE)
|
||||
|
||||
[简体中文](../README.md) · [English](README.en.md) · [日本語](README.ja.md) · **한국어**
|
||||
|
||||
[빠른 설치](#quick-install) · [설치](#installation) · [연결](#connection) · [VPS](#vps) · [커뮤니티](#community) · [법적 고지](#legal)
|
||||
|
||||
[](https://339936.xyz)
|
||||
[](https://t.me/arestemple)
|
||||
[](https://www.youtube.com/watch?v=s-ATfXR8BpI)
|
||||
|
||||
</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` |
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **지역별 가용성:** 중국 본토 데이터 센터의 VPS는 현지 네트워크 정책, 제공업체 제한, DNS, VPNGate API 또는 VPN 프로토콜 제한으로 인해 노드를 가져오거나 연결하지 못할 수 있습니다. 미러와 로컬 스냅샷이 있더라도 사용 가능성을 보장하지 않습니다. 이 프로젝트는 중국 본토 배포를 대상으로 하지 않습니다. 중국 본토 외부에서 현지 법률과 VPS 제공업체가 VPN/TUN을 명시적으로 허용하는 환경에서만 사용하십시오.
|
||||
|
||||
<a id="quick-install"></a>
|
||||
## 빠른 설치
|
||||
|
||||
지원되는 Linux VPS에서 `root`로 실행합니다.
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
설치 후 Web 관리 화면의 전체 URL, 전용 경로, 사용자 이름과 비밀번호가 표시됩니다. `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** | 저비용 배포, 테스트, 장기 실행 | 비교적 저렴한 가격과 넉넉한 트래픽 | [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는 프록시 클라이언트로 사용할 수 있지만 전체 게이트웨이를 실행할 수 없습니다.
|
||||
|
||||
### 방법 1: 소스 설치 프로그램
|
||||
|
||||
```bash
|
||||
bash <(curl -Ls https://raw.githubusercontent.com/baoweise-bot/aimili-vpngate/main/install.sh)
|
||||
```
|
||||
|
||||
`/opt/aimilivpn`에 배포하고 시스템 서비스를 등록합니다.
|
||||
|
||||
```bash
|
||||
ml # 관리 메뉴
|
||||
ml status # 상태, Web URL, 사용자 이름
|
||||
ml logs # 로그 보기
|
||||
ml restart # 서비스 재시작
|
||||
ml password # Web 인증 정보 재설정
|
||||
ml update # main 안정 브랜치에서 업데이트
|
||||
ml uninstall # 제거
|
||||
```
|
||||
|
||||
먼저 설치 프로그램을 검토하려면:
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
sudo bash install.sh
|
||||
```
|
||||
|
||||
공통 Linux 소스 아카이브와 SHA-256 체크섬은 [GitHub Releases](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)에서 받을 수 있습니다. 변경 사항은 Release Notes에 기록됩니다.
|
||||
|
||||
### 방법 2: Docker Compose
|
||||
|
||||
Docker 호스트는 `/dev/net/tun`, host 네트워크, `NET_ADMIN`, `NET_RAW`를 제공해야 합니다.
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
docker logs -f aimilivpn
|
||||
```
|
||||
|
||||
이미지: `ghcr.io/baoweise-bot/aimili-vpngate:2.1`
|
||||
|
||||
업데이트:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
<details>
|
||||
<summary><strong>docker run 명령 보기</strong></summary>
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
--name aimilivpn \
|
||||
--restart unless-stopped \
|
||||
--network host \
|
||||
--cap-add NET_ADMIN \
|
||||
--cap-add NET_RAW \
|
||||
--device /dev/net/tun:/dev/net/tun \
|
||||
-e UI_HOST=0.0.0.0 \
|
||||
-e UI_PORT=8787 \
|
||||
-e LOCAL_PROXY_HOST=127.0.0.1 \
|
||||
-e LOCAL_PROXY_PORT=7928 \
|
||||
-v aimilivpn-data:/data \
|
||||
ghcr.io/baoweise-bot/aimili-vpngate:2.1
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<details>
|
||||
<summary><strong>GHCR을 사용할 수 없을 때 로컬 빌드</strong></summary>
|
||||
|
||||
```bash
|
||||
git clone --branch main --single-branch https://github.com/baoweise-bot/aimili-vpngate.git
|
||||
cd aimili-vpngate
|
||||
docker compose build
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
</details>
|
||||
|
||||
<a id="connection"></a>
|
||||
## 연결 및 사용
|
||||
|
||||
### 1. Web 관리 화면 로그인
|
||||
|
||||
소스 설치에서는 설치 프로그램이 출력한 URL을 엽니다.
|
||||
|
||||
```text
|
||||
http://VPS_IP:8787/private_path/
|
||||
```
|
||||
|
||||
URL은 `ml status`, 인증 정보 재설정은 `ml password`를 사용합니다. Docker 사용자는 다음 명령으로 초기 설정을 확인할 수 있습니다.
|
||||
|
||||
```bash
|
||||
docker exec aimilivpn cat /data/ui_auth.json
|
||||
```
|
||||
|
||||
`secret_path`, `username`, `password`로 로그인하고 첫 로그인 후 변경하십시오.
|
||||
|
||||
### 2. 노드 가져오기 및 연결
|
||||
|
||||
1. 로그인 후 첫 노드 목록을 기다리거나 “노드 업데이트”를 실행합니다.
|
||||
2. 국가별로 필터링하고 “테스트”로 VPS에서의 연결 가능 여부와 지연 시간을 확인합니다.
|
||||
3. 대상 노드의 “전환”을 선택합니다. 사전 확인에 실패하면 가능한 경우 현재 연결을 유지합니다.
|
||||
4. 스마트 자동, 국가 고정 또는 IP 고정 라우팅을 선택합니다.
|
||||
5. 상태 영역에서 VPN 연결과 출구 IP를 확인합니다.
|
||||
|
||||
### 3. VPS에서 프록시 사용
|
||||
|
||||
HTTP, HTTPS 웹사이트 프록시와 SOCKS5는 `127.0.0.1:7928`을 공유합니다.
|
||||
|
||||
```bash
|
||||
# HTTP / HTTPS
|
||||
curl -x http://127.0.0.1:7928 https://api.ipify.org
|
||||
|
||||
# SOCKS5 및 원격 DNS
|
||||
curl --proxy socks5h://127.0.0.1:7928 https://api.ipify.org
|
||||
```
|
||||
|
||||
### 4. 다른 컴퓨터에서 연결
|
||||
|
||||
프록시를 공개하지 말고 SSH 터널을 사용하십시오.
|
||||
|
||||
```bash
|
||||
ssh -N \
|
||||
-L 8787:127.0.0.1:8787 \
|
||||
-L 7928:127.0.0.1:7928 \
|
||||
root@VPS_IP
|
||||
```
|
||||
|
||||
- Web: `http://127.0.0.1:8787/private_path/`
|
||||
- HTTP / HTTPS: `127.0.0.1:7928`
|
||||
- SOCKS5: `127.0.0.1:7928`, 가능하면 원격 DNS 또는 `socks5h` 사용
|
||||
|
||||
> [!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) |
|
||||
| 이메일 | 버그 신고 및 연락 | [yaohunse7@gmail.com](mailto:yaohunse7@gmail.com) |
|
||||
|
||||
<a id="legal"></a>
|
||||
## 사용 범위 및 법적 고지
|
||||
|
||||
> [!CAUTION]
|
||||
> 이 프로젝트를 다운로드, 배포 또는 사용하기 전에 사용 지역과 VPS 소재지의 법률, 제공업체 약관 및 VPNGate 규칙을 준수하는지 직접 확인해야 합니다. 이 내용은 프로젝트의 사용 범위를 설명할 뿐 법률 자문이 아니며 법적 책임의 면제를 보장하지 않습니다.
|
||||
|
||||
1. **허용 목적:** 합법적인 네트워크 연구, 교육, 개발 테스트, 개인정보 보호 및 승인된 접속에만 사용하십시오. 법에 따라 시행되는 통제 회피, 무단 접속, 공격, 스캔, 스팸, 사기, 권리 침해 또는 기타 불법 활동에 사용해서는 안 됩니다.
|
||||
2. **지역 제한:** 중국 본토의 VPS는 VPNGate, GitHub 미러 또는 원격 VPN 노드에 접속하지 못할 수 있습니다. 이 프로젝트는 중국 본토 배포의 가용성을 약속하거나 지원하지 않으며, 중국 본토 외부에서 현지 법률이 허용하는 합리적인 사용을 대상으로 합니다.
|
||||
3. **제3자 노드:** VPNGate 노드는 제3자 자원봉사자가 운영합니다. 이 프로젝트는 해당 노드를 소유, 통제 또는 감사하지 않으며 가용성, 속도, 보안, 개인정보 처리 또는 로그 기록을 보장하지 않습니다. 신뢰할 수 없는 노드로 민감한 정보를 전송하지 마십시오.
|
||||
4. **사용자 책임:** 노드 선택, 트래픽, 배포 위치, 공개 포트 및 계정 보안은 사용자의 책임입니다. 불법 사용, 잘못된 설정, 제3자 노드, 서비스 중단, 데이터 유출 또는 계정 남용에 대한 법적 책임은 사용자에게 있습니다.
|
||||
5. **무보증:** 소프트웨어는 “있는 그대로” 제공됩니다. 적용 법률이 허용하는 최대 범위에서 유지관리자는 가용성, 상품성, 특정 목적 적합성 또는 간접 손해를 보증하지 않습니다. 법적으로 제외할 수 없는 책임에는 영향을 주지 않습니다.
|
||||
6. **불확실한 경우 중단:** 현지 법률이나 제공업체 정책이 이를 허용하는지 확인할 수 없다면 배포 및 사용을 중단하고 해당 관할권의 자격 있는 법률 전문가와 상담하십시오.
|
||||
|
||||
<div align="center">
|
||||
|
||||
[Stable Release](https://github.com/baoweise-bot/aimili-vpngate/releases/latest) · [Issues](https://github.com/baoweise-bot/aimili-vpngate/issues) · [GPL-3.0 License](../LICENSE)
|
||||
|
||||
</div>
|
||||
Reference in New Issue
Block a user