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.
pelabuhan resmi Android 4 + dari solusi strongSwan VPN populer.
# FITUR DAN PEMBATASAN #
* Menggunakan API VpnService ditampilkan oleh Android 4+. Perangkat oleh beberapa produsen tampaknya kurang dukungan untuk ini - strongSwan VPN Client tidak akan bekerja pada perangkat ini!
* Menggunakan IKEv2 kunci protokol pertukaran (IKEv1 tidak didukung)
* Menggunakan IPsec untuk lalu lintas data (L2TP tidak didukung)
* Dukungan penuh untuk konektivitas berubah dan mobilitas melalui MOBIKE (atau reauthentication)
* Mendukung username / password EAP otentikasi (yaitu EAP-MSCHAPv2, EAP-MD5 dan EAP-GTC) serta RSA / ECDSA otentikasi kunci / sertifikat pribadi untuk mengotentikasi pengguna, EAP-TLS dengan sertifikat klien juga didukung
* Gabungan RSA / ECDSA dan otentikasi EAP didukung dengan menggunakan dua putaran otentikasi sebagaimana didefinisikan dalam RFC 4739
* Sertifikat server VPN diverifikasi terhadap sertifikat CA pra-instal atau dipasang oleh pengguna pada sistem. CA atau server sertifikat yang digunakan untuk otentikasi server juga dapat diimpor langsung ke app.
* IKEv2 fragmentasi didukung jika server VPN mendukungnya (strongSwan melakukannya sejak 5.2.1)
* Split-tunneling memungkinkan mengirimkan lalu lintas tertentu saja melalui VPN dan / atau tidak termasuk lalu lintas tertentu dari itu
* Per-aplikasi VPN memungkinkan membatasi koneksi VPN untuk aplikasi tertentu, atau mengecualikan mereka dari menggunakannya
* Pelaksanaan IPsec saat ini mendukung AES-CBC, AES-GCM, ChaCha20 / Poly1305 dan algoritma SHA1 / SHA2
* Sandi saat ini disimpan sebagai teks-jelas dalam database (hanya jika disimpan dengan profil)
* Profil VPN dapat diimpor dari file (ini adalah satu-satunya alasan mengapa aplikasi permintaan android.permission.READ_EXTERNAL_STORAGE)
Rincian dan changelog dapat ditemukan pada wiki kami: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient
# CONTOH SERVER KONFIGURASI #
konfigurasi contoh server yang dapat ditemukan di wiki kami: https://wiki.strongswan.org/projects/strongswan/wiki/AndroidVPNClient#Server-Configuration
Harap dicatat bahwa nama host (atau alamat IP) konfigurasi profil VPN di aplikasi * harus * terkandung dalam sertifikat server sebagai ekstensi subjectAltName.
# KRITIK #
Silahkan posting laporan bug dan permintaan fitur pada wiki kami: https://wiki.strongswan.org/projects/strongswan/issues
Jika Anda melakukannya, harap sertakan informasi tentang perangkat Anda (produsen, model, versi OS dll).
File log yang ditulis oleh layanan pertukaran kunci dapat dikirim langsung dari dalam aplikasi.