Uthinta umugqa we-VPN kuzilungiselelo, ubona iphrofayili efakwe omunye umuntu, bese uqala ukufuna ucingo olwengeza eyodwa. Alukho ucingo olunjalo. Uhlelo lungavula umhubhe walo nge-VpnService, kodwa amabhukwana akulolo hlu ayeyasesistimu naso noma yiliphi iklayenti eliwakha. Ukwazi kahle lapho umngcele ukhona kukonga iviki lokujaha amakilasi afihliwe.

Qala ngalokho okuboniswa yisikrini sezilungiselelo

Uhlu lwe-VPN luyirejista yamaphrofayili afakwe isistimu noma iklayenti lomkhiqizi: i-PPTP, i-L2TP/IPsec, i-IKEv2, kanye nanoma yimiphi imigqa eyacindezelwa uhlelo lwe-OEM noma i-MDM. Umugqa ngamunye uthwala ikheli leseva, ubufakazi kanye nokusetshenziswa kweprotocol okuhlala ngaphandle kwenqubo yakho. Lapho umsebenzisi ethinta Xhumo lapho, iklayenti lesistimu eliphakamisa umhubhe, hhayi ikhodi yakho. Yingakho umugqa uhlala ngemuva kokuvuselelwa futhi yingakho ukukhipha uhlelo lwakho kungawususi neze.

Ngakolunye uhlangothi lomsebenzisi uhlu lubukeka njengendawo ye-API, indawo lapho ukwengeza i-VPN kufanele kube buqamama obubodwa. Akunjalo. Izindawo zokungena zomphakathi kuphela ezithinta lona yizinhloso zokuzulazula, futhi konke okubhala kuwo kungokwesistimu noma ingxenye enegunya.

Umphumela ongokoqobo: uma umbhalo wokusekela utshela abasebenzisi ukuthi bangeze iphrofayili kuzilungiselelo, uhlelo lwakho aluyona ingxenye yalokho kugeleza nhlobo.

Okuhlinzekwa yi-VpnService ngempela

I-VpnService ne-VpnService.Builder zichaza umhubhe owodwa ophethwe uhlelo lwakho. Ungeza amakheli, imizila, amaseva e-DNS kanye ne-MTU, ukhawulela ithrafikhi nge-addAllowedApplication() noma nge-addDisallowedApplication(), bese i-establish() ibuyisela i-ParcelFileDescriptor yesikhombisi se-TUN. Kusukela ngaleso sikhathi uhlelo lufunda amaphakethe e-IP futhi lubhala izimpendulo, okusho ukuthi iprotocol ingeyakho ukuyisebenzisa noma ukuyifaka: OpenVPN, WireGuard, ukuthutha okukhethekile.

Akukho lutho kulolo landelano olukhuluma i-PPTP, i-L2TP/IPsec noma i-IKEv2. I-Builder ayinaso isishintshi esithi sebenzisa iklayenti le-L2TP lesistimu, futhi asikho isibuyiselo socingo esikuvumela ukuthi uqondise iphrofayili esivele ingeyesistimu. Lona ngumngcele wangempela, futhi ungumngcele womklamo hhayi igebe lezimvume.

Ngakho uhlelo lungaba yiklayenti le-VPN ku-Android ngokuphelele. Ngeke kuphela libe umphathi wamaklayenti ahamba nocingo.

Ingxoxo yemvume ayiyona into yokuhlobisa

Njengoba umhubhe wakho ungabamba ithrafikhi yezinye izinhlelo, isistimu idinga ukuthi umsebenzisi awuvume ngokusobala. I-prepare() ibuyisela i-Intent okufanele uyethule, imvume iboshelwe kupakethe lakho, futhi ngenkathi umhubhe usebenza ibha yesimo ibonisa isikhombisi esihlala njalo. I-VPN yesibili uma iphakama icisha eyokuqala, ngoba i-Android isebenzisa i-VPN eyodwa esebenzayo ngesikhathi esisodwa.

Lowo mthetho wokubalulekile okukodwa ubhidliza abantu ekuhloleni. Uphakamisa umhubhe wakho ngenkathi iklayenti lenkampani lixhunyiwe bese uphetha ngokuthi ikhodi yakho iphukile, kanti isistimu isuka kwelinye iklayenti nje. Izimvume zingahoxiswa kamuva, futhi i-prepare() ingabuyisela i-null kumadivayisi angenawo umsebenzi wemvume, ngakho i-establish() kusafanele ibhekane nokwehluleka.

Ama-API afihliwe nezinhloso zezilungiselelo

Izimpendulo zakudala zikhomba kumakilasi e-com.android.internal nezixhumi ze-AIDL ezisetshenziswa yiklayenti elakhelwe ngaphakathi. Azikho ku-SDK, ziyashintsha phakathi kokukhishwa ngaphandle sesaziso, futhi izitolo zezinhlelo zibheka lokho kufinyelela njengobungozi. Ukwenza i-root yedivayisi nakho akukwenzi kuqine, ngoba i-root nokufinyelela ku-API efihliwe kuyizinkinga ezingahlobene.

Umhlahlandlela wokuzulazula osekelwayo yi-Settings.ACTION_VPN_SETTINGS, okuyigugu yayo i-android.net.vpn.SETTINGS. Yixazulule ngaphambi kokuyethula, ngoba ezinye izakhiwo ze-OEM azilethi lowo msebenzi, bese ubuyela ezinyathelweni ezibhaliwe uma ukuxazulula kwehluleka. Ihambisa umsebenzisi esikrinini futhi ayilungise lutho.

Izindlela zomnikazi wedivayisi ne-MDM ziyilelo esihlukile abantu abavame ukuqondisisa. I-DevicePolicyManager ingenquma iphakethe le-VPN elihlala likhona, futhi ukucushwa okuphathwayo kungalayisha kusengaphambili izilungiselelo zeklayenti elikuxhasayo, kodwa lokho akukona i-SDK yomphakathi ebhala iphrofayili ye-PPTP.

Hamba ngesinqumo ngakolunye uhlangothi lomsebenzisi

Uma umkhiqizo wakho kufanele uthwale ithrafikhi, hlela i-VpnService kanye nesitaki seprotocol sangempela, futhi ubeke isikhathi sokugeleza kwemvume kanye nomthetho we-VPN eyodwa. Uma umgomo uwukuxhuma kuphrofayili yenkampani ekhona, umsebenzi wakho ukuqondisa: isixhumanisi esijulile esikrinini sezilungiselelo, bhala amameya, futhi uyeke iklayenti lesistimu lenze umhubhe. Uma uhlelo ludinga kuphela ukufinyelela endaweni yokugcina eyimfihlo, aludingi umhubhe walo nhlobo.

Bhala leso sinqumo ngaphambi kokubhala ikhodi, ngoba izindlela ezintathu azinalutho olufanayo ngemva kwe-sprint yokuqala.

Ukuhlola kokugcina ngaphambi kokuqala: ingabe imfuneko ithi uhlelo lwethu luyaxhuma, noma idivayisi iyaxhuma? Eyokuqala i-VpnService, eyesibili iphrofayili ongakwazi ukuyenza. Ukwenza lowo musho ube ngcono kushibhe kunoma yikuphi ukuhlela kabusha.

Izihloko ezihlobene