Files
amnezia-client/README_RU.md
Yaroslav Gurov 009ca981d5 feat: initial conan support and build process refactoring (#2260)
* feat: initial conan support

* feat: add awg-go and awg-apple recipes

* feat: macos full feature conan build, except ss and cloak

* feat: conan android initial support

* fix: android libssh fixes

* conan: android additional recipes and fixes

* feat: openvpn add support android

* fix: awg android connection establish

* conan: apple full-featured support

* chore: bump min macos version

* chore: get rid of manual deploy recursive copying

* conan: beautify makefile-based recipes

* conan: add geosite.dat and geoip.dat

* conan: use lib linking instead of QT_EXTRA_LIBS for OVPN

* conan: address lack of SONAME of libck-ovpn-plugin.so correctly

* conan: windows initial support

* conan: make awg-windows and wintun be interpret as exes

* conan: fix version for v2ray-rules-dat

* feat: conan and platform bootstrap rework in cmake

* feat: 16kb support for Android

* chore(conan): recipes cleanup

* feat: support of drivers for windows

* feat: support full-featured cmake install

* chore: exclude qtkeychain from the target build

* fix: install for apple systems

* fix: provide flags for cloak plugin for openvpn-pt-android

* chore: bump android deps for 16kb support

* feat(conan): patch cloak to properly provide env for golang

* chore: remove redundant hint from conan find

* feat: linux <-> conan features

* feat: linux initial packaging support

* feat: linux cpack support

* feat: cpack windows full-featured build

* feat: productbuild cpack support

* feat: rework CI/CD for macos

* feat: rework CI/CD for Linux

* fix: libncap automake args

* fix: CI/CD correct QT paths

* fix: windows rework CI/CD

* fix: windows artifact upload

* chore: remove MacOS-old from build targets

* feat: add conan to all mobile and NE builds

* feat: support default amnezia conan remote

* fix: use Release instead of release on Android

* feat: get rid of 3rd-prebuilt

* feat: conan CI/CD upload

* fix: CI/CD change windows toolset versions

* fix: remove MSVC version from CI/CD

* feat: conan CI/CD add Release and Debug build types

* feat: add multiple xcode versions for conan CI/CD

* fix: correct conan CI/CD clang versions

* feat: separate prebuilt baking, and add some for NE

* feat: rework keychain on ios/macos even more

* fix: add desktop Qt for iOS

* feat: add QT_HOST_PATH to build.sh

* fix: add deploy definition to cmake

* fix: android adjustments for toolchains and CI/CD

* fix: add needs for Android CI/CD

* fix: Android CI/CD use android-28

* fix: modernize translations, and CI/CD fixes

* fix: gradle min sdk compilation error

* fix: CI/CD add installers to all jobs

* fix: parse android platform more precisely

* fix: adjust aab path in CI/CD

* feat: CI/CD do not execute artifact build if there is nothing changed

* fix: CI/CD use common jobs even if previous were failed

* fix: Apple CI/CD use set-key-partition-list for keychains

* fix: Apple CI/CD do not specify any keychain (use default)

* fix: build aab as a different step in build script

* chore: beautify build.sh script

* feat: CI/CD build separate APKs per ABI

* fix: Android CI/CD upload artifact in separate steps

* chore: recipes cleanup

* feat: add hints for conan on MacOS

* fix: add main.cpp and tests back to CMakeLists.txt

* chore: xrayProtocol codestyle changes

* fix: openssl set proper X509 request version

* fix: make openvpn protocol rely only on client while configuring

* chore: get rid of old scripts

* chore: readme update describing build process more precisely

* feat: windows build script add multiprocessing capabilities

* chore: bump Qt version in README

* feat: add generator option and use Ninja by default in CI/CD for linux/macos

---------

Co-authored-by: NickVs2015 <nv@amnezia.org>
2026-05-04 22:59:24 +08:00

12 KiB
Raw Blame History

Amnezia VPN

Лучший клиент для создания VPN на собственном сервере

Build Status Gitpod ready-to-code

English | Русский

AmneziaVPN — это open source VPN-клиент, ключевая особенность которого заключается в возможности развернуть собственный VPN на вашем сервере.

Image

Сайт | Зеркало сайта | Документация | Решение проблем

Tip

Если сайт Amnezia заблокирован в вашем регионе, вы можете воспользоваться ссылкой на зеркало.

Все релизы


Особенности

  • Простой в использовании — введите IP-адрес, SSH-логин и пароль, и Amnezia автоматически установит VPN-контейнеры Docker на ваш сервер и подключится к VPN.
  • Классические VPN-протоколы: OpenVPN, WireGuard и IKEv2.
  • Протоколы с маскировкой трафика (обфускацией): OpenVPN с плагином Cloak, Shadowsocks (OpenVPN over Shadowsocks), AmneziaWG and XRay.
  • Поддержка Split Tunneling — добавляйте любые сайты или приложения в список, чтобы включить VPN только для них.
  • Поддерживает платформы: Windows, macOS, Linux, Android, iOS.
  • Поддержка конфигурации протокола AmneziaWG на бета-прошивке Keenetic.

Ссылки

Технологии

AmneziaVPN использует несколько проектов с открытым исходным кодом:

Помощь с переводами

Загрузите самые актуальные файлы перевода.

Перейдите на вкладку "Actions", нажмите на первую строку. Затем прокрутите вниз до раздела "Artifacts" и скачайте "AmneziaVPN_translations".

Распакуйте этот файл. Каждый файл с расширением *.ts содержит строки для соответствующего языка.

Переведите или исправьте строки в одном или нескольких файлах *.ts и загрузите их обратно в этот репозиторий в папку client/translations. Это можно сделать через веб-интерфейс или любым другим знакомым вам способом.

Проверка исходного кода

После клонирования репозитория обязательно загрузите все подмодули.

git submodule update --init --recursive

Руководство по разработке

Хотите внести свой вклад? Добро пожаловать!

Требования для сборки

  • CMake
  • Компилятор и система сборки, в зависимости от таргета:
  • Qt 6.10+ со следующими модулями:
    • Основные модули для таргета (Desktop/Android/iOS)
    • Qt 5 Compatibility module
    • Qt Remote Objects
  • Пакетный менеджер Conan
    • На MacOS достаточно использовать homebrew или установить в .venv в корень проекта
    • Для остальных систем необходимо прописать пути в PATH
  • (Необязательно) Заивисимости для установщиков:

Сборка проекта через скрипты

  • Запустите скрипты, находящиеся в папке deploy
  • Если все зависимости установлены в стандартных локациях, скрипт найдёт их самостоятельно
  • Если пути отличаются, их нужно явно указать используя:
    • QT_INSTALL_DIR - корневая папка установки Qt
    • QT_ROOT_PATH - корневая папка Qt Framework
    • QIF_ROOT_PATH - корневая папка Qt Installer Framework
    • ANDROID_HOME - путь к Android SDK
    • и другие. Их можно получить из вышеуказанных скриптов

Unix-like:

# Build executables for the host platform
deploy/build.sh

# Or just
deploy/build.sh

# Build executables and installers for the host platform
deploy/build.sh --installer all

# Build Android APK and AAB
deploy/build.sh -t android --aab

# Call for help
deploy/build.sh -h

Windows:

:: Build executables for Windows
deploy/build.bat

:: Build executables with IFW installer for Windows
deploy/build.bat --installer ifw

:: Build executables with IFW and WIX installer for Windows
deploy/build.bat --installer ifw --installer wix

:: Or just
deploy/build.bat --installer all

Разработка в IDE

  • Можно использовать любые IDE которые умеют работать с CMake и находить Qt Kits. Например:

    • Qt Creator
    • Visual Studio Code with Qt Extension Pack
    • и так далее
  • Для использования Xcode нужно сконфигурировать проект с помощью cmake. Самый простой способ это сделать - использовать Qt Creator для конфигурации. Затем, нужно открыть файл AmneziaVPN.xcodeproj из папки сборки с помощью Xcode. Учтите, что никакие файлы фактически не сохраняются - они сохраняются в директории сборки. Если требуется, скопируйте файлы вручную

  • Android studio может быть использована подобным вышеуказанному способу - нужно использовать cmake вручную или через Qt Creator для конфигурации. Далее, откройте <build-dir>/client/android-build в Android studio. Не забудьте скопировать изменённые файлы в папку с исходным кодом - все файлы, изменённые в IDE, сохраняются фактически в папке сборки.

Установка Android SDK

  • Android SDK может быть установлен следующими способами:
    • Используя Qt Creator, через настройки в пунктах Preferences->SDKs
    • Используя Android studio. По умолчанию необходимые SDK устанавливаются автоматически.
    • Вручную, используя sdk-manager. Подробности можно найти здесь

Лицензия

GPL v3.0

Донаты

Patreon: https://www.patreon.com/amneziavpn

Bitcoin: bc1qmhtgcf9637rl3kqyy22r2a8wa8laka4t9rx2mf
USDT BEP20: 0x6abD576765a826f87D1D95183438f9408C901bE4
USDT TRC20: TELAitazF1MZGmiNjTcnxDjEiH5oe7LC9d
XMR: 48spms39jt1L2L5vyw2RQW6CXD6odUd4jFu19GZcDyKKQV9U88wsJVjSbL4CfRys37jVMdoaWVPSvezCQPhHXUW5UKLqUp3
TON: UQDpU1CyKRmg7L8mNScKk9FRc2SlESuI7N-Hby4nX-CcVmns

Благодарности

Этот проект тестируется с помощью BrowserStack. Мы выражаем благодарность BrowserStack за поддержку нашего проекта.