Skip to content

Latest commit

 

History

History
181 lines (126 loc) · 13.8 KB

README_RU.md

File metadata and controls

181 lines (126 loc) · 13.8 KB

Amnezia VPN

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

Build Status Gitpod ready-to-code

English | Русский

AmneziaVPN — это open sourse 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 использует несколько проектов с открытым исходным кодом:

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

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

git submodule update --init --recursive

Разработка

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

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

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

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

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

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

Сборка исходного кода и деплой

Проверьте папку deploy для скриптов сборки.

Как собрать iOS-приложение из исходного кода на MacOS

  1. Убедитесь, что у вас установлен XCode версии 14 или выше.
  2. Для генерации проекта XCode используется QT. Требуется версия QT 6.6.2. Установите QT для MacOS здесь или через QT Online Installer. Необходимые модули:
  • MacOS
  • iOS
  • Модуль совместимости с Qt 5
  • Qt Shader Tools
  • Дополнительные библиотеки:
  • Qt Image Formats
  • Qt Multimedia
  • Qt Remote Objects
  1. Установите CMake, если это необходимо. Рекомендуемая версия — 3.25. Скачать CMake можно здесь.
  2. Установите Go версии >= v1.16. Если Go ещё не установлен, скачайте его с официального сайта или используйте Homebrew. Установите gomobile:
export PATH=$PATH:~/go/bin
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
  1. Соберите проект:
export QT_BIN_DIR="<PATH-TO-QT-FOLDER>/Qt/<QT-VERSION>/ios/bin"
export QT_MACOS_ROOT_DIR="<PATH-TO-QT-FOLDER>/Qt/<QT-VERSION>/macos"
export QT_IOS_BIN=$QT_BIN_DIR
export PATH=$PATH:~/go/bin
mkdir build-ios
$QT_IOS_BIN/qt-cmake . -B build-ios -GXcode -DQT_HOST_PATH=$QT_MACOS_ROOT_DIR

Замените и на ваши значения.

Если появляется ошибка gomobile: command not found, убедитесь, что PATH настроен на папку bin, где установлен gomobile:

export PATH=$(PATH):/path/to/GOPATH/bin
  1. Откройте проект в XCode. Теперь вы можете тестировать, архивировать или публиковать приложение.

Если сборка завершится с ошибкой:

make: *** 
[$(PROJECTDIR)/client/build/AmneziaVPN.build/Debug-iphoneos/wireguard-go-bridge/goroot/.prepared] 
Error 1

Добавьте пользовательскую переменную PATH в настройки сборки для целей AmneziaVPN и WireGuardNetworkExtension с ключом PATH и значением ${PATH}/path/to/bin/folder/with/go/executable, e.g. ${PATH}:/usr/local/go/bin.

Если ошибка повторяется на Mac с M1, установите версию CMake для архитектуры ARM:

arch -arm64 brew install cmake

При первой попытке сборка может завершиться с ошибкой source files not found. Это происходит из-за параллельной компиляции зависимостей в XCode. Просто перезапустите сборку.

Как собрать Android-приложение

Сборка тестировалась на MacOS. Требования:

  • JDK 11
  • Android SDK 33
  • CMake 3.25.0

Установите QT, QT Creator и Android Studio. Настройте QT Creator:

  • В меню QT Creator перейдите в QT Creator -> Preferences -> Devices ->Android.
  • Укажите путь к JDK 11.
  • Укажите путь к Android SDK ($ANDROID_HOME)

Если вы сталкиваетесь с ошибками, связанными с отсутствием SDK или сообщением «SDK manager not running», их нельзя исправить просто корректировкой путей. Если у вас есть несколько свободных гигабайт на диске, вы можете позволить Qt Creator установить все необходимые компоненты, выбрав пустую папку для расположения Android SDK и нажав кнопку Set Up SDK. Учтите: это установит второй Android SDK и NDK на вашем компьютере!

Убедитесь, что настроена правильная версия CMake: перейдите в Qt Creator -> Preferences и в боковом меню выберите пункт Kits. В центральной части окна, на вкладке Kits, найдите запись для инструмента CMake Tool. Если выбранная по умолчанию версия CMake ниже 3.25.0, установите на свою систему CMake версии 3.25.0 или выше, а затем выберите опцию System CMake at <путь> из выпадающего списка. Если этот пункт отсутствует, это может означать, что вы еще не установили CMake, или Qt Creator не смог найти путь к нему. В таком случае в окне Preferences перейдите в боковое меню CMake, затем во вкладку Tools в центральной части окна и нажмите кнопку Add, чтобы указать путь к установленному CMake.

Убедитесь, что для вашего проекта выбрана Android Platform SDK 33: в главном окне на боковой панели выберите пункт Projects, и слева вы увидите раздел Build & Run, показывающий различные целевые Android-платформы. Вы можете выбрать любую из них, так как настройка проекта Amnezia VPN разработана таким образом, чтобы все Android-цели могли быть собраны. Перейдите в подраздел Build и прокрутите центральную часть окна до раздела Build Steps. Нажмите Details в заголовке Build Android APK (кнопка Details может быть скрыта, если окно Qt Creator не запущено в полноэкранном режиме!). Вот здесь выберите android-33 в качестве Android Build Platform SDK.

Разработка Android-компонентов

После сборки QT Creator копирует проект в отдельную папку, например, build-amnezia-client-Android_Qt_<version>_Clang_<architecture>-<BuildType>. Для разработки Android-компонентов откройте сгенерированный проект в Android Studio, указав папку build-amnezia-client-Android_Qt_<version>_Clang_<architecture>-<BuildType>/client/android-build в качестве корневой. Изменения в сгенерированном проекте нужно вручную перенести в репозиторий. После этого можно коммитить изменения. Если возникают проблемы со сборкой в QT Creator после работы в Android Studio, выполните команду ./gradlew clean в корневой папке сгенерированного проекта (<path>/client/android-build/.).

Лицензия

GPL v3.0

Донаты

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

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

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

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