* 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>
12 KiB
Amnezia VPN
Лучший клиент для создания VPN на собственном сервере
English | Русский
AmneziaVPN — это open source VPN-клиент, ключевая особенность которого заключается в возможности развернуть собственный VPN на вашем сервере.
Сайт | Зеркало сайта | Документация | Решение проблем
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.
Ссылки
- https://amnezia.org - Веб-сайт проекта | Альтернативная ссылка (зеркало)
- https://docs.amnezia.org - Документация
- https://www.reddit.com/r/AmneziaVPN - Reddit
- https://t.me/amnezia_vpn_en - Канал поддержки в Telegram (Английский)
- https://t.me/amnezia_vpn_ir - Канал поддержки в Telegram (Фарси)
- https://t.me/amnezia_vpn_mm - Канал поддержки в Telegram (Мьянма)
- https://t.me/amnezia_vpn - Канал поддержки в Telegram (Русский)
- https://vpnpay.io/en/amnezia-premium/ - Amnezia Premium | [Зеркало](https://storage.googleapis.com/kldscp/vpnpay.io/ru/amnezia-premium)
Технологии
AmneziaVPN использует несколько проектов с открытым исходным кодом:
Помощь с переводами
Загрузите самые актуальные файлы перевода.
Перейдите на вкладку "Actions", нажмите на первую строку. Затем прокрутите вниз до раздела "Artifacts" и скачайте "AmneziaVPN_translations".
Распакуйте этот файл. Каждый файл с расширением *.ts содержит строки для соответствующего языка.
Переведите или исправьте строки в одном или нескольких файлах *.ts и загрузите их обратно в этот репозиторий в папку client/translations. Это можно сделать через веб-интерфейс или любым другим знакомым вам способом.
Проверка исходного кода
После клонирования репозитория обязательно загрузите все подмодули.
git submodule update --init --recursive
Руководство по разработке
Хотите внести свой вклад? Добро пожаловать!
Требования для сборки
CMake- Компилятор и система сборки, в зависимости от таргета:
- [Linux] Любые
makeиgcc - [Apple]
XcodeилиXcode command line tools - [Windows]
Visual Studio 2022илиVS 2022 Build Tools - [Android]
Android SDKиNinja
- [Linux] Любые
Qt 6.10+со следующими модулями:- Основные модули для таргета (Desktop/Android/iOS)
- Qt 5 Compatibility module
- Qt Remote Objects
- Пакетный менеджер
Conan- На MacOS достаточно использовать
homebrewили установить в.venvв корень проекта - Для остальных систем необходимо прописать пути в
PATH
- На MacOS достаточно использовать
- (Необязательно) Заивисимости для установщиков:
- [Windows/Linux]
Qt Installer Framework - [Windows]
WIX toolset
- [Windows/Linux]
Сборка проекта через скрипты
- Запустите скрипты, находящиеся в папке
deploy - Если все зависимости установлены в стандартных локациях, скрипт найдёт их самостоятельно
- Если пути отличаются, их нужно явно указать используя:
QT_INSTALL_DIR- корневая папка установки QtQT_ROOT_PATH- корневая папка Qt FrameworkQIF_ROOT_PATH- корневая папка Qt Installer FrameworkANDROID_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 CreatorVisual Studio CodewithQt 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 за поддержку нашего проекта.

