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.
พอร์ตเป็นทางการ Android 4+ ที่เป็นที่นิยมการแก้ปัญหา strongSwan VPN
# คุณสมบัติและข้อ จำกัด #
* ใช้ API VpnService ที่โดดเด่นโดย Android 4+ อุปกรณ์โดยผู้ผลิตบางคนดูเหมือนจะขาดการสนับสนุนสำหรับการนี้ - strongSwan VPN ไคลเอนต์จะไม่ทำงานบนอุปกรณ์เหล่านี้!
* ใช้โปรโตคอล IKEv2 แลกเปลี่ยนคีย์ (IKEv1 ไม่สนับสนุน)
* ใช้ IPsec สำหรับการเข้าชมข้อมูล (L2TP ไม่สนับสนุน)
* สนับสนุนอย่างเต็มที่สำหรับการเชื่อมต่อการเปลี่ยนแปลงและการเคลื่อนไหวผ่าน MOBIKE (หรือ reauthentication)
* รองรับ username / password รับรองความถูกต้อง EAP (คือ EAP-MSCHAPv2, EAP-MD5 และ EAP-GTC) เช่นเดียวกับการตรวจสอบคีย์ / ใบรับรองส่วนตัวอาร์เอส / ECDSA ในการตรวจสอบผู้ใช้ EAP-TLS กับใบรับรองไคลเอ็นต์ยังสนับสนุน
* รวมอาร์เอส / ECDSA และการตรวจสอบ EAP ได้รับการสนับสนุนโดยใช้สองรอบรับรองความถูกต้องตามที่กำหนดไว้ใน RFC 4739
* ใบรับรองเซิร์ฟเวอร์ VPN มีการตรวจสอบกับใบรับรอง CA ที่ติดตั้งหรือติดตั้งโดยผู้ใช้ในระบบ แคลิฟอร์เนียหรือเซิร์ฟเวอร์ใบรับรองที่ใช้ในการตรวจสอบเซิร์ฟเวอร์นอกจากนี้ยังสามารถนำเข้าโดยตรงใน app
* การกระจายตัวของ 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 ใน app * * * * * * * * จะต้องมีอยู่ในใบรับรองเซิร์ฟเวอร์เป็นส่วนขยาย SubjectAltName
# # การตอบรับ
กรุณาโพสต์รายงานข้อผิดพลาดและขอคุณสมบัติในวิกิพีเดียของเรา: https://wiki.strongswan.org/projects/strongswan/issues
ถ้าคุณทำเช่นนั้นโปรดรวมข้อมูลเกี่ยวกับอุปกรณ์ของคุณ (ผู้ผลิตรุ่นเวอร์ชั่นของระบบปฏิบัติการอื่น ๆ )
แฟ้มบันทึกที่เขียนโดยบริการแลกเปลี่ยนคีย์สามารถส่งโดยตรงจากภายในโปรแกรม