Waxaad soo saartay build cusub, u gudubtay VPN, oo isla shaashaddii ayaa joojisay soo dejinta. Android 9 iyo wixii ka dambeeya sharaxaadda ugu badan ayaa ka caajis badan: platform-ku waxa uu diidaa HTTP caadi ah app-yada ujeeddada API 28 ama ka sarreeya, VPN-na waxa uu beddelay oo keliya context ku filan inuu taas muujiyo. Khaladka aad aragto waxa uu ku xiran yahay macmiilka HTTP, taas ayaa sababta uu si dhif ah u yiraahdo cleartext.

Waa maxay guuldarradan dhab ahaan

Laga bilaabo Android 9 platform-ku waxa uu si caadi ah u xannibaa cleartext marka app-ku ujeeddadiisu tahay heerka API 28 ama ka sarreeya. Codsi ku socda cinwaan HTTP caadi ah ayaa platform-ku diidaa ka hor inta aan xitaa hal baakad ka bixin qalabka. Khaladka aad aragto waxa uu ku xiran yahay maktabadda HTTP: mar guuldarro shabakadeed guud, mar waqti dhaqso, mar fariin si cad u magacaabta cleartext. Waxa aanay waligeed samayn waa in ay gaadho server-kaaga. Android waxa uu diiwaangeliyaa caadiga iyo beddelka domain-ka ku xaddidan hagaha habaynta amniga.

Browser ku jira isla qalabka ayaa weli soo dejin kara bogga, taasina waa tilmaanta ay dadka badankiisu seegaan. Browser-yadu ma hoos yimaadaan siyaasadda amniga shabakadda ee app-kaaga.

Sababta VPN loo eedeeyo

Caadi ahaan saddex waxyaabood ayaa isku mar beddela. App-ku waxa uu xallin karaa magac martigeliye kale ka dib marka VPN-ku xirmo, qalabku waxa uu noqon karaa mid cusub oo build cusub leh, ama build-ka laftiisu waxa uu u wareegi karaa heerka API ee ujeeddada oo kiciya caadiga. VPN-ku waa muuqdaa SDK-da ujeeddaduna ma muuqato, sidaas darteed VPN-ku waxa uu helaa tikidhka.

Isbarbardhig heerarka ujeeddada ee build-kii hore iyo kan cusub ka hor inta aanad taaban habaynta shabakadda. App-ku ujeeddadiisu tahay 27 ama ka hoose waa laga dhaafay, taasna waxa ay sharraxaysaa warbixin kasta oo «telefoonkaygii hore way ku shaqeeyaan».

Xaggee calanka Expo dhab ahaan ku dhacaa

Mashruuc Expo la maareeyo, ku darista dejinta app.json ma tafatirto manifest Android, sababtoo ah prebuild iyo build-yada horumarinta ayaa soo saara manifest-ka. Waa plugin-ka habaynta ee qora dejinta marxaladdaas. Waddada la taageeray waa expo-build-properties, oo lagu habaynayo habaynta app-ka iyada oo ikhtiyaarka cleartext uu hoos yimaado android.

{
  "plugins": [
    ["expo-build-properties", {
      "android": { "usesCleartextTraffic": true }
    }]
  ]
}

Qaybta waxa ay dejisaa oo keliya ikhtiyaarka plugin-ka; manifest-ka ayaa soo baxa mar dambe. Ord prebuild ama build cusub oo macmiilka horumarinta, ka dibna ka hor inta aanad dib u tijaabin hubi AndroidManifest.xml la soo saaray ee android:usesCleartextTraffic, sababtoo ah dib u soo dejinta JS oo keliya waxa ay hayaan manifest-kii hore. La jaanqaad nooca plugin-ka iyo Expo SDK ee mashruucu ku socdo. Ikhtiyaarrada plugin-ka way guuraan inta u dhaxaysa noocyada, qayb laga soo guuriyay SDK kale-na waa isha lagu kalsoonaan karo ee wax-qabad la’aan aamusan.

Bare socodka iyo ikhtiyaarka cidhiidhiga ah

Bare React Native waxa u dhigma android:usesCleartextTraffic oo ku yaal curiyaha application, ama habayn amniga shabakadeed oo u oggolaata cleartext oo keliya domain-yada la magacaabay. Qaabka domain-ka ku xaddidan waa kan la doorbidayo, sababtoo ah waxa uu oggolaadaa API-ga gudaha oo waxa uu wax kasta oo kale ku reebaa HTTPS. Waxa kale oo uu diiwaangeliyaa liiska ka-reebitaannada u gaar ah, taasna waa qaybta uu hubiyuhu wax ka weydiin doono.

Midkoodna labada hab midna ma beddelo caadiga platform-ka wax kasta oo aadan magacaabin.

Marka hore ka caddee log-ga qalabka

Ka hor inta aanad tafatirin habaynta, hel guuldarrada saxda ah. adb logcat qalab ku xiran waxa uu muujinayaa diidmada cleartext ee platform-ka oo waxa uu magacaabaa qaybta keentay. Socket la diiday, magac aan la xallin karin ama TLS gacan-qabsasho guuldareystay waxa ay tilmaamayaan meel kale gebi ahaan, cleartext-na daaranintu waxa ay app-ka uun u daciifinaysaa si aan micne lahayn.

Ka dib daacad u hay xogta wax-soo-saarka. Cleartext waa la aqbali karaa barta shaybaarka ee aan bixin karin TLS, oo keliya waqtiga ugu gaaban ee aad qorsheyn karto. Haddii API-gu ku dhammeeyo TLS shabakadda gaarka ah gudaheeda, shahaadada geli kaydka kalsoonaanta qalabka oo cleartext daaran la’aan ku dhaaf, sababtoo ah tunnel-ku waxa uu sireeyaa waddada ilaa bixitaankiisa oo wax ka dambeeya ma jiraan.

Marka barta ay HTTPS ku jawaabto, ka saar fasaxa, dib u build, oo ku tijaabi VPN-ka iyo Wi-Fi caadi ah isla fadhi. Xallinta magacyada way ku kala duwanaan kartaa labada waddo, oo keliya lammaanuhu waxa uu kuu sheegaa kee runta sheegaya.

Maqaallo la xiriira