极易自动部署
输入你的 IP 地址、SSH 登录名和密码,Amnezia 就会自动在你的服务器上安装 VPN Docker 容器并连接到 VPN,无需手写配置文件。
把 VPN 装回你自己的服务器上,容器部署、抗审查协议与按需分流全程由你掌控,不经任何第三方中转。
输入 IP 与 SSH 凭据,客户端自动拉起隔离的协议容器
内置 AmneziaWG、XRay、Cloak 与 Shadowsocks 流量伪装
支持按网站域名与应用程序维度精准分流
Amnezia 把「在服务器上装 VPN」这件事压缩成三个输入框。剩下的协议、容器、证书和路由,它自己处理。
输入你的 IP 地址、SSH 登录名和密码,Amnezia 就会自动在你的服务器上安装 VPN Docker 容器并连接到 VPN,无需手写配置文件。
VPN 服务端完全运行在你自己的机器上,不经过第三方中转。密钥、流量和容器控制权都留在你手里。
内置基于 Cloak 插件的 OpenVPN、Shadowsocks(OpenVPN over Shadowsocks)、AmneziaWG 以及 XRay,应对深度包检测。
支持 Split tunneling,可将任意网站加入客户端列表,仅对这些网站启用 VPN;也可按应用分流(支持 Android 和桌面端)。
官方提供 Windows、macOS、Linux、Android、iOS 客户端版本,跨设备保持一致的自托管连接体验。
同一份客户端里,既有标准 VPN 协议,也有专门为对抗深度包检测设计的伪装方案。
标准、成熟、兼容性好,适合网络环境宽松的场景。
让流量看起来不像 VPN,用于网络受限或存在主动探测的环境。
Windows、macOS、Linux、Android、iOS 都有官方构建。所有版本都可以在 GitHub Releases 里找到。
检出仓库后先拉取子模块,然后按平台准备依赖。deploy 目录下的脚本会在默认安装路径下自动找到依赖。
检出仓库后,请务必递归拉取所有 Git 子模块。
git submodule update --init --recursive核心依赖与各平台编译工具要求如下,打包工具为可选项。
跨平台构建系统入口,用于配置与生成各平台工程文件
Linux 使用 make 或 gcc;Apple 使用 Xcode 或命令行工具;Windows 使用 VS 2022;Android 使用 Android SDK 与 Ninja
需包含目标平台 Core 模块(桌面端 / Android / iOS)、Qt 5 兼容模块及 Qt Remote Objects
macOS 可通过 homebrew 或项目根目录 .venv 安装,其他系统需加入 PATH 环境变量
可选依赖,用于构建 Windows 与 Linux 平台安装程序
可选依赖,用于构建 Windows 平台 MSI 安装包
依赖不在默认路径时,用环境变量指定位置,例如 QT_INSTALL_DIR、QIF_ROOT_PATH、ANDROID_HOME。
# 为主机平台构建可执行文件 deploy/build.sh # 构建可执行文件及安装包 deploy/build.sh --installer all # 构建 Android APK 和 AAB deploy/build.sh -t android --aab # 查看帮助 deploy/build.sh -h
脚本在依赖不在默认安装路径时,通过以下变量定位:
QT_INSTALL_DIRQt 根安装目录QT_ROOT_PATHQt 框架根目录QIF_ROOT_PATHQt Installer Framework 根路径ANDROID_HOMEAndroid SDK 根目录任何能正确处理 CMake 和 Qt kits 的 IDE 都可以。
例如 Qt Creator、装了 Qt Extension Pack 的 VS Code。用 Xcode 需先用 cmake 配置(最简单是先用 Qt Creator 配置一次),再打开构建目录里的 AmneziaVPN.xcodeproj。改动实际发生在构建目录中,注意手动复制。
Android Studio 同理:配置后打开构建目录下的客户端 Android 工程目录。
打开 GitHub Actions 标签页,点第一行成功构建,滚动到 Artifacts 下载 AmneziaVPN_translations。解压后每个 *.ts 文件对应一种语言,翻译或修正后提交回仓库的 client/translations 目录即可。
AmneziaVPN 依赖多个成熟开源项目协同运行。
关于自托管部署、抗审查协议、分流配置与源码构建的核心问题。
你只需要准备一台自己的服务器,在客户端中输入服务器 IP 地址、SSH 登录名和密码,Amnezia 就会自动通过 SSH 在服务器上安装对应的 VPN Docker 容器并完成连接配置。
除 OpenVPN、WireGuard 和 IKEv2 经典协议外,客户端内置了基于 Cloak 插件的 OpenVPN、Shadowsocks(OpenVPN over Shadowsocks)、AmneziaWG 以及 XRay 协议。
你可以将指定网站加入客户端列表,仅让这些网站走 VPN 隧道;在 Android 与桌面端版本中,还可以按应用程序维度配置分流规则。
可以直接访问托管在 Google Cloud Storage 上的备用官网镜像与文档镜像,也可以前往 GitHub Releases 页面直接下载全平台安装包。
先使用 CMake 或 Qt Creator 完成一次项目配置,随后在 Xcode 中打开构建目录下的 AmneziaVPN.xcodeproj,或在 Android Studio 中打开客户端构建目录下的 android 构建文件夹。注意修改保存在构建目录中,需手动同步回源码树。
本项目基于 GNU GPLv3 许可证发布。如需协助翻译,可在 GitHub Actions 最新成功构建的 Artifacts 中下载 AmneziaVPN_translations,编辑对应语言的 .ts 文件后提交至 client/translations 目录。
如果你的地区无法访问主站,可以直接使用镜像链接。