Офіційний порт для Android популярного VPN-рішення strongSwan.
# ФУНКЦІЇ ТА ОБМЕЖЕННЯ #
* Використовує API VpnService, доступний для Android 4+. Пристрої деяких виробників, здається, не підтримують це - клієнт strongSwan VPN не працюватиме на цих пристроях!
* Використовує протокол обміну ключами IKEv2 (IKEv1 *не* підтримується)
* Використовує IPsec для трафіку даних (L2TP *не* підтримується)
* Повна підтримка зміненого підключення та мобільності через MOBIKE (або повторну автентифікацію)
* Підтримує автентифікацію за іменем користувача/паролем EAP (а саме EAP-MSCHAPv2, EAP-MD5 і EAP-GTC), а також RSA/ECDSA private автентифікація за ключами/сертифікатами для автентифікації користувачів, також підтримується EAP-TLS із сертифікатами клієнта
* Комбінована автентифікація RSA/ECDSA та EAP підтримується за допомогою двох раундів автентифікації, як визначено в RFC 4739
* Сертифікати сервера VPN перевіряються на відповідність сертифікатам ЦС, попередньо встановленим або встановленим користувачем у системі. Сертифікати ЦС або сервера, які використовуються для автентифікації сервера, також можна імпортувати безпосередньо в програму.
* Фрагментація IKEv2 підтримується, якщо її підтримує сервер VPN (strongSwan підтримує це з версії 5.2.1)
* Спліт-тунелювання дозволяє надсилати лише певний трафік через VPN та/або виключати певний трафік із нього
* VPN для окремої програми дозволяє обмежити VPN-з’єднання певними програмами або виключити їх із його використання
* Реалізація IPsec наразі підтримує алгоритми AES-CBC, AES-GCM, ChaCha20/Poly1305 і SHA1/SHA2
* Паролі наразі зберігаються як відкритий текст у базі даних (лише якщо вони зберігаються з профілем)
* Профілі VPN можна імпортувати з файлів
* Підтримує керовані конфігурації за допомогою корпоративного керування мобільністю (EMM)
Подробиці та журнал змін можна знайти в наших документах: https://docs.strongswan.org/docs/latest/os/androidVpnClient.html
# PERMISSIONS #
* READ_EXTERNAL_STORAGE: дозволяє імпортувати профілі VPN і сертифікати ЦС із зовнішньої пам’яті в деяких версіях Android
* QUERY_ALL_PACKAGES: потрібен на Android 11+ для вибору додатків для екс-/включення у VPN профілі та додатковий варіант використання EAP-TNC
# ПРИКЛАД КОНФІГУРАЦІЇ СЕРВЕРА #
Приклади конфігурації сервера можна знайти в наших документах: https://docs.strongswan.org/docs/latest/os/androidVpnClient.html#_server_configuration
Зверніть увагу, що ім’я хоста (або IP-адреса), налаштоване за допомогою профілю VPN у програмі, *має* міститися в сертифікаті сервера як розширення subjectAltName.
# ВІДГУК #
Будь ласка, публікуйте звіти про помилки та запити щодо функцій через GitHub: https://github.com/strongswan/strongswan/issues/new/choose
Якщо ви це зробите, будь ласка, додайте інформацію про свій пристрій (виробника, модель, версію ОС тощо).
Файл журналу, створений службою обміну ключами, можна надіслати безпосередньо з програми.
# 2.5.5 #
- Виправлено ініціювання керованих профілів як завжди увімкненого VPN
# 2.5.4 #
- Виправлено проблеми під час відновлення з'єднання
# 2.5.3 #
- Додано підтримку розповсюдження паролів у керованих профілях
- Додано підтримку імпорту файлів профілів із паролями
- Виправлено збій під час редагування пароля керованих профілів
- Виправлено збій під час повторного імпорту вже існуючого профілю
# 2.5.2 #
- Збільшено цільовий SDK до Android 14
- Через помилку в Android 14 потрібен новий дозвіл, щоб запустити профіль у фоновому режимі з плитки стану
- Виправити збій під час переліку встановлених програм для нових профілів
# 2.5. 1 #
- Виправлення існуючих ярликів і автоматизації через Intents
# 2.5.0 #
- Підтримка керованих конфігурацій через корпоративне керування мобільністю (EMM)
# 2.5.1 #
- Виправлення наявних ярликів і автоматизації за допомогою Intents
# 2.5.0 #
- Підтримка для керованих конфігурацій через корпоративне керування мобільністю (EMM)
# 2.4.2 #
- Збільшено цільовий SDK до Android 13 і запит на дозвіл показувати сповіщення про статус
— Увімкніть апаратне прискорення в OpenSSL
— використовуйте більш стабільний підхід для визначення вихідної IP-адреси.
# 2.4.1 #
- Змінено порядок груп DH, щоб уникнути проблем із Zyxel Firewalls
# 2.4.0 #
- Перехід від BoringSSL до OpenSSL
- Додано підтримку таких алгоритмів: Curve448 ECDH , AES-CCM, Camellia (CBC/CTR/XCBC), SHA-3 (HMAC/PKCS#1)
- Виправлено проблему, яка спричиняла витік дескрипторів файлів під час отримання OCSP/CRL
- Покращено переклад для спрощеної китайської
- Правильно включено український переклад
- Збільшено мінімальну версію SDK до 21 (Android 5.0)
# 2.3.3 #
- Додає кнопку для встановлення сертифікатів користувачів
# 2.3.2 #
- Не позначати підключення VPN як відмірені (за замовчуванням змінено при націлюванні на Android 10 з останнім випуском)
# 2.3.1 #
- Необов’язково використовувати транспортні адреси IPv6 для IKE та ESP . Може бути ввімкнено, лише якщо сервер підтримує UDP-інкапсуляцію для IPv6 (ядро Linux підтримує це лише з 5.8, тому багато серверів поки що не підтримують)
# 2.3.2 #
- Не позначати підключення VPN як відмірені (за замовчуванням змінено при націлюванні на Android 10 з останнім випуском)
# 2.3.1 #
- Необов’язково використовуйте транспортні адреси IPv6 для IKE та ESP. Може бути ввімкнено, лише якщо сервер підтримує інкапсуляцію UDP для IPv6 (ядро Linux підтримує це лише з 5.8, тому багато серверів його поки не підтримують)
- Показує повідомлення про помилку, якщо UUID у профілі недійсний (наприклад, не містить тире)
# 2.3.1 #
- За бажанням використовуйте транспортні адреси IPv6 для IKE та ESP. Може бути ввімкнено, лише якщо сервер підтримує інкапсуляцію UDP для IPv6 (ядро Linux підтримує це лише з версії 5.8, тому багато серверів його поки не підтримують)
- Показує повідомлення про помилку, якщо UUID у профілі недійсний (наприклад, не містить тире)
- Виправляє потенційний збій за допомогою діалогового вікна білого списку живлення та обробляє обертання екрана та інші дії, які перезавантажуються краще, якщо відображається відповідне інформаційне діалогове вікно
# 2.3.0 #
- Покращена реабілітація у фазах глибокого сну Android (потрібно відключити оптимізацію батареї)
- Відновлено значок програми на Android <5
# 2.2.1 #
- Виправлено завантаження CRL / OCSP через HTTP на Android 9
# 2.2.0 #
- Робить IKE тотожною настроюється клієнта також при використанні аутентифікації EAP
- ідентичність сертифікату тепер настроюються з допомогою текстового поля з автозаповненням замість випадає поля
# 2.2.1 #
- Виправлено завантаження CRL / OCSP через HTTP на Android 9
# 2.2.0 #
- Робить ідентифікатор IKE клієнта настроюваним також під час використання автентифікації EAP
- Ідентифікація сертифіката тепер налаштована за допомогою текстового поля з автоматичним заповненням замість розкривного поля
- Виправлена проблема з вибором сертифіката ECDSA на Android 10
- Використовує новіший API для виявлення мережевих змін
# 2.2.0 #
- робить ідентифікатор IKE клієнта настроюваним також під час використання автентифікації EAP
- ідентифікація сертифіката тепер налаштована за допомогою текстового поля з автоматичним заповненням замість розкривного поля
- Виправлена проблема з вибором сертифіката ECDSA на Android 10
- Використовується новіший API для виявлення мережевих змін
# 2.1.1 #
- Аутентифікація через EAP-MSCHPv2 тепер підтримує закодовані UTF-8 паролі
- Виправлення проблеми з оновленнями зі старих версій
# 2.1.0 #
- Додає команду копіювання для дублювання існуючого профілю VPN
- Дозволяє налаштовувати власні DNS-сервери
# 2.1.0 #
- Додає команду копіювання для дублювання існуючого профілю VPN
- Дозволяє налаштовувати власні DNS-сервери
# 2.0.2 #
- Виправлено можливі витоки DNS на Android 9
# 2.0.1 #
- Виправлено проблему з комерційними постачальниками послуг VPN
# 2.0.0 #
- Підтримка постійного VPN (Android 7+)
- Швидкий набір параметрів для ініціювання / припинення VPN (Android 7+)
- Автоматичне повторне підключення, якщо трапляються фатальні помилки (наприклад, помилки автентифікації)
- трафік заблоковано під час підключення / відновлення помилок (Android 5+)
- Параметри відключити OCSP / CRL
- Опція для включення строгої перевірки скасування через OCSP / CRL
# 2.0.1 #
- Виправлено проблему з комерційними постачальниками послуг VPN
# 2.0.0 #
- Підтримка постійного VPN (Android 7+)
- Швидкий набір параметрів для ініціювання / припинення VPN (Android 7+)
- Автоматичне повторне підключення, якщо трапляються фатальні помилки (наприклад, помилки автентифікації)
- трафік заблоковано під час підключення / відновлення помилок (Android 5+)
- Параметри відключити OCSP / CRL
- Опція для включення строгої перевірки скасування через OCSP / CRL
- Варіант для активації кодування PSS для підписів RSA
# 1.9.6 # - Завжди надсилає сертифікат користувача (якщо є) # 1.9.5 # - Налаштовуються алгоритми IKE / ESP - Видаляє MODP-1024 із запропонованої за замовчуванням IKEv2. Якщо сервер дозволяє використовувати цю DH-групу, в налаштуваннях VPN потрібно настроїти індивідуальну пропозицію IKE # 1.9.4 # - Підтримує дельти CRLs # 1.9.3 # - Перевіряє сертифікати сервера за допомогою OCSP - Кеш CRL у каталозі додатків (можна очистити через головне меню) - Додає кнопку "повторного підключення" у діалоговому вікні "Підключено"
# 1.9.5 # - Налаштовуються алгоритми IKE / ESP - Видаляє MODP-1024 із запропонованої за замовчуванням IKEv2. Якщо сервер дозволяє використовувати цю DH-групу, в налаштуваннях VPN потрібно настроїти індивідуальну пропозицію IKE # 1.9.4 # - Підтримує дельти CRLs - Виправлення помилок (докладніше дивись веб-сайт) # 1.9.3 # - Перевіряє сертифікати сервера за допомогою OCSP - Кеш CRL у каталозі додатків (можна очистити через головне меню) - Додає кнопку "повторного підключення" у діалоговому вікні "Підключено"
# 1.9.4 # - Підтримує дельти CRLs - Виправлення помилок (докладніше дивись веб-сайт) # 1.9.3 # - Перевіряє сертифікати сервера за допомогою OCSP - Кеш CRL у каталозі додатків (можна очистити через головне меню) - Додає кнопку "повторного підключення" у діалоговому вікні "Підключено" # 1.9.2 # - Спліт-тунелювання на клієнті (вкажіть / виключіть трафік для маршруту через VPN) - VPN для кожного додатка (вкажіть / виключіть додатки, які використовують VPN). - Імпорт профілів через SAF - Завантажує CRL через простий HTTP / S fetcher
# 1.9.3 # - Перевіряє сертифікати сервера за допомогою OCSP - Кеш CRL у каталозі додатків (можна очистити через головне меню) - Додає кнопку "повторного підключення" у діалоговому вікні "Підключено" # 1.9.2 # - Підтримка спліт-тунелювання на клієнт (тільки маршрут певного трафіку через VPN і / або виключення трафіку з VPN) - Підтримка VPN для кожного додатка (дозволити лише певним додаткам використовувати VPN або виключати додатки з його використання) - Імпорт профілів через SAF - Завантажує CRL через простий HTTP / S fetcher
# 1.9.2 # - Підтримка спліт-тунелювання на клієнт (тільки маршрут певного трафіку через VPN і / або виключення трафіку з VPN) - Підтримка VPN для кожного додатка (дозволити лише певним додаткам використовувати VPN або виключати додатки з його використання) - Запити сертифікатів можуть бути відключені - Настроюваний інтервал зберігання NAT-T - Імпорт профілів через SAF - Завантажує CRL через простий HTTP / S fetcher - Більш ефективний вигляд журналу - Від'єднати кнопку в повідомленні - Використовує зворотні косу риски в іменах користувачів - Додає традиційний китайський переклад
# 1.8.0 / 1.8.1 / 1.8.2 # - Підтримка імпорту VPN-профілів з файлів - спрощений китайський переклад (1.8.1) - Виправлення проблеми під час від'єднання на певних пристроях (1.8.2) # 1.7.1 / 1.7.2 # - Повторне додавання підтримки ECC Brainpool DH групи - Виправлено помилку на старих випусках Android # 1.7.0 # - Постійне повідомлення під час підключення (або підключення) - Підтримує алгоритми ChaCha20 / Poly1305 AEAD та Curve25519 DH - протокол встановлених DNS-серверів - Перейти до BoringSSL