Sababta aapkaaga VPN ee iOS uu u muujinayo go'aansan inta tunnel-ku shaqeynayo
Aapkaaga iOS wuxuu maamulaa tunnel-ka laakiin ma leh, iyo xaaladda maareeyaha waa la kaydiyay. Marka hore soo rar doorashooyinka, kadib akhri xaaladda iyo tirsadayaasha interface-ka.
Aapkaagu wuxuu leeyahay go'aansan, bar-ta menu waxay leedahay xiran, iyo taraafikadu si cad ayay u qulqulaysaa. Farqigaas maaha xaalad tartan oo aad ku hagaajin karto isku day kale: aapka iyo tunnel-ku waa habab kala duwan, iyo shayga koodkaagu akhriyo waa aragti la kaydiyay oo ka mid ah habaynta uu nidaamku kaydiyo. Dusha Personal VPN ee Apple waa API kontorool, ma aha waddo xog, iyo inta badan hab-dhaqanka yaabka leh waxay ka timaaddaa xaqiiqdaas keliya. Waa kan waxa dhab ahaan dhaca wicitaan kasta.
Shayga maareeyaha waa aragti la kaydiyay, ma aha tunnel-ka
NETunnelProviderManager waxaa laga buuxiyaa kayd doorashooyin oo nidaamku leeyahay, sidaas darteed sifooyinkiisu wax macno ah ma leh ilaa loadFromPreferences dhammaado. Haddii aad akhrido connection.status intaas ka hor waxaad helaysaa qiime caadi ah, taasina waa sababta cusboonaysiinta xaaladda ugu horreysa ee dib-u-bilaabista ka dib ay u sheegto go'aansan inta tunnel-ku shaqeynayo. Marka hore soo rar, kadib akhri xaaladda iyo habaynta borotokoolka isla maareeyaha dhamaystirkaas. Isbeddellada dambe kala soco NEVPNStatusDidChange halkii aad wax waydiin lahayd, oo ogsoonow in ogeysiisku sidoo kale u shidaa isku-xirnaanshaha On Demand bilaabay, halkaas oo aanay jirin wax wicitaan aap ah oo wax soo celin kara. Sidaas oo kale waa dejinta borotokoolka: waxaa laga akhriyaa habaynta la soo rartay, ma aha waxa aapku soo gudbiyay.
Tunnel-ka laftiisu wuxuu ku nool yahay habka bixiyaha Network Extension, sidaas darteed aapku wuxuu lumin karaa xaaladdiisa isagoo aan lumin xiriirka. Wax kasta oo interface-ku muujiyo waa in laga dib u dhisaa maareeyaha, ma aha in laga xasuusto fadhigii hore.
Nidaamka bilaabista: kaydi, soo rar, kadib bilaab
Xiriir ku salaysan bixiye wuxuu u baahan yahay saddex tallaabo si kala horreysan. Qor habaynta bixiyaha oo wac saveToPreferences, soo rar maareeyaha si habaynta la kaydiyay ay tahay tan gacantaada ku jirta, kadib ku bilaab NETunnelProviderSession.startVPNTunnel(). Haddii aad ka tagto kaydinta, bilaabista ma haysato wax ay bilaabto; haddii aad soo rarto ka hor kaydinta, maareeyuhu weli wuxuu muujinayaa habaynta hore.
Boolean-ka uu soo celiyo startVPNTunnel wuxuu kaliya sheegayaa in codsiga la aqbalay. Guuldarrooyinka heerka bixiyaha waxay yimaadaan dambe sida isbeddel xaaladeed oo u gudba go'aansan, taas oo aad ku aragto ogeysiiska NEVPNStatusDidChange, oo maareeyaha ogeysiisku waa inuu dib u akhriyo connection.status ka dib loadFromPreferences sababtoo ah qiimaha la kaydiyay weli wuu noqon karaa kii hore. Guuldarrooyinka heerka codsiga waxay isla markiiba ka soo noqdaan qaabka wicitaanka ee tuuraya ka-reebitaan, ama iyada oo loo marayo halbeegga soo-saarka khaladka ee startVPNTunnelAndReturnError:. Koodhka u qaata qiimaha soo noqday natiijada wuxuu soo sheegaa xiriir aan waligiis la aasaasin. Guuldarrada kale ee aamusan waa aqoonsiga xidhmada bixiyaha oo aan u dhigmin kordhinta la rakibay: codsiga waa la diiday, waxna kuma jirto fariinta oo tilmaamaya aqoonsiga. Haddii aqoonsigu qaldan yahay, codsigu inta badan isla markiiba wuu guuldarraystaa, ka hor inta aanay soo bixin hal sadar oo log ah oo bixiyaha.
Dib u soo rarista doorashooyinka bilaabista ka dib ayaa ka dhigta shaashadaha xaaladda kuwo sax ah. Maareeyuhu kuma riixo habayn cusub marka nidaamku beddelo.
Walaxda kalsoonida waxay ku timaaddaa borofayl, waligeed kama timaaddo koodhka aapka
Aapku ma laha hab la taageeray oo uu ku daro shahaadada xididka kaydka kalsoonida iOS, sidaas darteed habaynta Personal VPN waxay kaliya tixraaci kartaa walax ay qalabku hore u aaminsan yahay: silsilad uu aasaasay borofayl la rakibay, maamulka qalabka ama CA uu nidaamku u aaminsan yahay sababo kale awgood. Aapka abuura CA-giisa marka ugu horreysa oo filaya in nidaamku aqoonsado wuxuu ku guuldarraystaa xaqiijinta gudaha bixiyaha, halkaas oo interface-ka aapku aanu arki karin sababta.
U qaado xadkaas sida ay tahay, xaddidaad naqshadeed, oo dir bar-tiirka kalsoonida borofaylka isdiiwaangelinta. Kala hayso xaqiijinta aqoonsiga VPN iyo go'aanka kalsoonida, sababtoo ah waxay ku guuldarraystaan meelo kala duwan oo dad kala duwan ayaa cilad-baadha.
Tirsadayaashu waxay ka yimaadaan interface-ka, ma aha API-ga VPN
Maareeyuhu wuxuu soo bandhigaa xaaladda iyo habaynta, iyo wax aan tirin bayt kasta oo tunnel ah. Haddii aad u baahan tahay tirooyinka isticmaalka, wac getifaddrs() oo akhri if_data interface-ka ku habboon: en0 Wi-Fi, interface-yada pdp_ip shabagga gacanta iyo qalab utun tunnel-ka laftiisa. Tirsadayaasha utun waxay sharraxaan taraafikada gudaha oo waxay ku jiraan kharashka borotokoolka.
Tirooyinkani waa qiyaaso, ma aha xisaabin aap kasta, oo dib ayaa loo dhigaa marka interface-ka dib loo abuuro. Ku calaamadee interface-ka sidaas, haddii kale qof ayaa u isticmaali doona inuu macmiil u xisaabiyo. Haddii aad u baahan tahay tirooyin aap kasta, waxaad u baahan tahay hab kale oo gebi ahaan, ma aha akhris wanaagsan oo ku saabsan beerahan.
Nadiifintu waxay ku jirtaa stopVPNTunnel, ma aha dhammaadka
applicationWillTerminate wuxuu ku siinayaa dhowr ilbiriqsi ka hor inta uusan nidaamku dili karin habka, taas oo aan ahayn meel lagu kalsoonaan karo oo xiriir lagu burburiyo. Dir joojinta stopVPNTunnel() ama ku maamul callback-ga joojinta bixiyaha, oo hay aqoonsiga maareeyaha ama habaynta aad ku bilowday, si joojintu u bartilmaameeddo xiriirkaas halkii ay ka bartilmaameedsan lahayd habayn kasta oo qalabka ku jirta.
Kaydi aqoonsigaas borofaylka uu ka tirsan yahay agtiisa, sababtoo ah shayga maareeyaha ma diiwaangaliyo habaynta uu isticmaaluhu doortay. Oo xusuuso in xiriirka On Demand kor u qaado aanu wax wicitaan aap ah gadaashiisa ku lahayn, sidaas darteed shaashadda xaaladdu waa inay weli soo rartaa doorashooyinka ka hor inta aysan wax sawirin.