Official Android 4+ port of the popular strongSwan VPN solution.
# FEATURES AND LIMITATIONS #
* Uses the VpnService API featured by Android 4+. Devices by some manufacturers seem to lack support for this - strongSwan VPN Client won't work on these devices!
* Uses the IKEv2 key exchange protocol (IKEv1 is not supported)
* Uses IPsec for data traffic (L2TP is not supported)
* Full support for changed connectivity and mobility through MOBIKE (or reauthentication)
* Supports username/password EAP authentication (namely EAP-MSCHAPv2, EAP-MD5 and EAP-GTC) as well as RSA/ECDSA private key/certificate authentication to authenticate users, EAP-TLS with client certificates is also supported
* Combined RSA/ECDSA and EAP authentication is supported by using two authentication rounds as defined in RFC 4739
* VPN server certificates are verified against the CA certificates pre-installed or installed by the user on the system. The CA or server certificates used to authenticate the server can also be imported directly into the app.
* IKEv2 fragmentation is supported if the VPN server supports it (strongSwan does so since 5.2.1)
* Split-tunneling allows sending only certain traffic through the VPN and/or excluding specific traffic from it
* Per-app VPN allows limiting the VPN connection to specific apps, or exclude them from using it
* The IPsec implementation currently supports the AES-CBC, AES-GCM, ChaCha20/Poly1305 and SHA1/SHA2 algorithms
* Passwords are currently stored as cleartext in the database (only if stored with a profile)
* VPN profiles may be imported from files (this is the only reason why the app requests android.permission.READ_EXTERNAL_STORAGE)
Details and a changelog can be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# EXAMPLE SERVER CONFIGURATION #
Example server configurations may be found on our wiki: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
Please note that the host name (or IP address) configured with a VPN profile in the app *must be* contained in the server certificate as subjectAltName extension.
# FEEDBACK #
Please post bug reports and feature requests on our wiki: https://wiki.strongswan.org/projects/strongswan/issues
If you do so, please include information about your device (manufacturer, model, OS version etc.).
The log file written by the key exchange service can be sent directly from within the application.
پورت رسمی آندروید 4+ از راه حل strongSwan تغییر VPN محبوب.
# امکانات و محدودیت #
* با استفاده از API VpnService ویژه توسط آندروید 4+. دستگاه های برخی از تولید کنندگان به نظر می رسد فاقد پشتیبانی برای این - strongSwan تغییر VPN کارفرما خواهد بر روی این دستگاه کار نمی کند!
* با استفاده از IKEv2 با پروتکل تبادل کلید (IKEv1 پشتیبانی نمی شود)
* با استفاده از IPSec برای ترافیک داده (L2TP پشتیبانی نمی شود)
* پشتیبانی کامل برای اتصال تغییر و تحرک از طریق MOBIKE (یا احراز هویت مجدد)
* پشتیبانی از نام کاربری / رمز عبور EAP احراز هویت (یعنی EAP-ها MSCHAPv2، EAP-MD5 و EAP-GTC) و همچنین RSA / ECDSA خصوصی اعتبار کلید / گواهی برای تأیید هویت کاربران، EAP-TLS با گواهی مشتری نیز پشتیبانی می کند
* ترکیبی RSA / ECDSA و احراز هویت EAP با استفاده از دو دور احراز هویت پشتیبانی که در RFC 4739 تعریف شده
* گواهی سرور VPN در برابر گواهی CA از پیش نصب شده و یا نصب شده توسط کاربر بر روی سیستم تأیید شده است. به CA و یا سرور گواهی جهت احراز هویت سرور همچنین می توانید به طور مستقیم به برنامه وارد شود.
* تکه تکه شدن IKEv2 با پشتیبانی می شود اگر سرور VPN پشتیبانی از آن (strongSwan تغییر می کند بنابراین از 5.2.1)
* تقسیم تونل زنی اجازه می دهد تا ارسال ترافیک تنها برخی از طریق VPN و / یا به استثنای ترافیک خاص از آن
* در برنامه VPN اجازه می دهد تا محدود کردن اتصال VPN به برنامه های خاص، و یا حذف آنها را از استفاده از آن
* اجرای IPsec را در حال حاضر پشتیبانی از الگوریتم AES-CBC، AES-GCM، ChaCha20 / Poly1305 و الگوریتم SHA1 / SHA2
* کلمه عبور را در حال حاضر به عنوان cleartext در پایگاه داده ذخیره می شود (تنها در صورتی با یک پروفایل ذخیره)
* پروفایل VPN ممکن است از فایل های وارد شده (این تنها به همین دلیل برنامه درخواست android.permission.READ_EXTERNAL_STORAGE است)
جزئیات و تغییرات را می توان در ویکی ما پیدا شده است: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# مثال سرور پیکربندی #
تنظیمات سرور به عنوان مثال ممکن است در ویکی ما پیدا شده است: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
لطفا توجه داشته باشید که نام میزبان (یا آدرس IP) پیکربندی شده با مشخصات VPN در برنامه * باید * موجود در گواهی سرور به عنوان پسوند subjectAltName.
# بازخورد #
لطفا گزارش مشکلات و درخواست از ویژگی های پست در ویکی ما: https://wiki.strongswan.org/projects/strongswan/issues
اگر شما این کار، لطفا اطلاعات در مورد دستگاه خود را (سازنده، مدل، نسخه سیستم عامل و غیره).
ورود به سیستم فایل نوشته شده توسط سرویس تبادل کلید می توان به طور مستقیم از داخل نرم افزار ارسال می شود.