docs: redesign readme and add translations

This commit is contained in:
Aimili
2026-08-27 00:53:51 +08:00
parent e414236900
commit 72ac5a0986
4 changed files with 846 additions and 76 deletions
+240
View File
@@ -0,0 +1,240 @@
<div align="center">
# AimiliVPN
**A VPNGate node manager and HTTP / HTTPS / SOCKS5 proxy gateway for Linux VPS hosts**
[![Release](https://img.shields.io/github/v/release/baoweise-bot/aimili-vpngate?style=flat-square&label=stable&color=16a34a)](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
[![Docker](https://img.shields.io/badge/Docker-amd64%20%7C%20386%20%7C%20arm64%20%7C%20armv7-0ea5e9?style=flat-square&logo=docker&logoColor=white)](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
[![License](https://img.shields.io/badge/License-GPL--3.0-334155?style=flat-square)](../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)
[![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)
[![YouTube](https://img.shields.io/badge/YouTube-Tutorial-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](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>
+235
View File
@@ -0,0 +1,235 @@
<div align="center">
# AimiliVPN
**Linux VPS 向け VPNGate ノード管理・HTTP / HTTPS / SOCKS5 プロキシゲートウェイ**
[![Release](https://img.shields.io/github/v/release/baoweise-bot/aimili-vpngate?style=flat-square&label=stable&color=16a34a)](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
[![Docker](https://img.shields.io/badge/Docker-amd64%20%7C%20386%20%7C%20arm64%20%7C%20armv7-0ea5e9?style=flat-square&logo=docker&logoColor=white)](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
[![License](https://img.shields.io/badge/License-GPL--3.0-334155?style=flat-square)](../LICENSE)
[简体中文](../README.md) · [English](README.en.md) · **日本語** · [한국어](README.ko.md)
[クイックインストール](#quick-install) · [インストール](#installation) · [接続方法](#connection) · [VPS](#vps) · [コミュニティ](#community) · [法的通知](#legal)
[![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)
[![YouTube](https://img.shields.io/badge/YouTube-Tutorial-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](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 に掲載されます。
### 方法 2Docker 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>
+235
View File
@@ -0,0 +1,235 @@
<div align="center">
# AimiliVPN
**Linux VPS용 VPNGate 노드 관리 및 HTTP / HTTPS / SOCKS5 프록시 게이트웨이**
[![Release](https://img.shields.io/github/v/release/baoweise-bot/aimili-vpngate?style=flat-square&label=stable&color=16a34a)](https://github.com/baoweise-bot/aimili-vpngate/releases/latest)
[![Docker](https://img.shields.io/badge/Docker-amd64%20%7C%20386%20%7C%20arm64%20%7C%20armv7-0ea5e9?style=flat-square&logo=docker&logoColor=white)](https://github.com/baoweise-bot/aimili-vpngate/pkgs/container/aimili-vpngate)
[![License](https://img.shields.io/badge/License-GPL--3.0-334155?style=flat-square)](../LICENSE)
[简体中文](../README.md) · [English](README.en.md) · [日本語](README.ja.md) · **한국어**
[빠른 설치](#quick-install) · [설치](#installation) · [연결](#connection) · [VPS](#vps) · [커뮤니티](#community) · [법적 고지](#legal)
[![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)
[![YouTube](https://img.shields.io/badge/YouTube-Tutorial-FF0000?style=for-the-badge&logo=youtube&logoColor=white)](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>