amnezia-vpn / amnezia-client
Amnezia VPN: The best client for self-hosted VPN
Amnezia VPN:自托管 VPN 的最佳客户端
Amnezia is an open-source VPN client, with a key feature that enables you to deploy your own VPN server on your server. Amnezia 是一款开源 VPN 客户端,其核心功能是支持用户在自己的服务器上部署专属 VPN 服务。
Features
功能特点
- Very easy to use: Enter your IP address, SSH login, password and Amnezia will automatically install VPN docker containers to your server and connect to the VPN. 使用极其简便: 只需输入 IP 地址、SSH 登录名和密码,Amnezia 就会自动在您的服务器上安装 VPN Docker 容器并连接到 VPN。
- Classic VPN-protocols: OpenVPN, WireGuard and IKEv2 protocols. 经典 VPN 协议: 支持 OpenVPN、WireGuard 和 IKEv2 协议。
- Protocols with traffic Masking (Obfuscation): OpenVPN over Cloak plugin, Shadowsocks (OpenVPN over Shadowsocks), AmneziaWG and XRay. 流量伪装(混淆)协议: 支持 OpenVPN over Cloak 插件、Shadowsocks(OpenVPN over Shadowsocks)、AmneziaWG 和 XRay。
- Split tunneling support: Add any sites to the client to enable VPN only for them or add Apps (only for Android and Desktop). 支持分流(Split Tunneling): 可将特定网站添加到客户端,仅对这些网站启用 VPN;或添加特定应用程序(仅限 Android 和桌面端)。
- Multi-platform: Windows, MacOS, Linux, Android, iOS releases. 多平台支持: 提供 Windows、MacOS、Linux、Android 和 iOS 版本。
- Keenetic support: Support for AmneziaWG protocol configuration on Keenetic beta firmware. Keenetic 支持: 支持在 Keenetic 测试版固件上配置 AmneziaWG 协议。
Tech Stack
技术栈
AmneziaVPN uses several open-source projects to work: OpenSSL, OpenVPN, Qt, LibSsh, WireGuard, Xray-core, Conan, and more. AmneziaVPN 的运行依赖于多个开源项目,包括:OpenSSL、OpenVPN、Qt、LibSsh、WireGuard、Xray-core、Conan 等。
Help us with translations
协助翻译
Download the most actual translation files. Go to “Actions” tab, click on the first line. Then scroll down to the “Artifacts” section and download “AmneziaVPN_translations”. Unzip this file. Each *.ts file contains strings for one corresponding language. Translate or correct some strings in one or multiple *.ts files and commit them back to this repository into the client/translations folder.
下载最新的翻译文件。前往“Actions”选项卡,点击第一行,向下滚动到“Artifacts”部分并下载“AmneziaVPN_translations”。解压该文件,每个 *.ts 文件对应一种语言的字符串。翻译或修正一个或多个 *.ts 文件中的内容,并将其提交回仓库的 client/translations 文件夹中。
Hacking guide
开发指南
Build requirements: 构建要求:
- CMake: Compiler and underlying build system. CMake: 编译器及底层构建系统。
- Qt 6.10+: With Core module, Qt 5 Compatibility module, and Qt Remote Objects. Qt 6.10+: 需包含 Core 模块、Qt 5 兼容模块以及 Qt Remote Objects。
- Conan: Package manager. Conan: 包管理器。
- Installer dependencies: Qt Installer Framework (Windows/Linux), WIX toolset (Windows). 安装程序依赖: Qt Installer Framework (Windows/Linux) 和 WIX toolset (Windows)。
License
许可协议
This project is licensed under the GNU General Public License v3.0 (see LICENSE) and also includes third-party components distributed under their own terms (see THIRD_PARTY_LICENSES.md). 本项目采用 GNU 通用公共许可证 v3.0 (GNU General Public License v3.0) 授权(详见 LICENSE),并包含根据各自条款分发的第三方组件(详见 THIRD_PARTY_LICENSES.md)。
Acknowledgments
致谢
This project is tested with BrowserStack. We express our gratitude to BrowserStack for supporting our project. 本项目使用 BrowserStack 进行测试。我们衷心感谢 BrowserStack 对本项目的支持。