Waxaad u baahan tahay hal shaashad oo si kale u dhaqma marka tunnel-ku shaqeynayo, mana jiro wicid kuu sheegaya taas. Tani waa xaddidaadda rarista: macOS ma jiro qaab dadweyne oo soo sheegaya haddii VPN aan loo dooran karin ku xiran yahay, iOS-na xaaladdu waxay leedahay app-ka rakibay qaabeynta. Baaritaannada hoose waxay ka bilaabmaan xadkaas ilaa wax aad rari karto, mid kastaana wuu joojin karaa raadinta goor hore.

Baaritaan 1: su'aasha ma laga jawaabi karaa gabi ahaan?

Sandbox-ku wuxuu xalliyaa su'aasha ka hor API kasta. Habka dhinac saddexaad ma tirin karo fidinta iibiyaha kale, mana akhrin karo qaabeynta fidintaas, sidaas darteed ma jiro shay la taageeray oo la weydiin karo.

Mar kasta oo la hareero wuxuu ku dhacaa isla darbigaas. Liisaska interface-ka, scutil --nc list iyo akhrinta tooska ah ee qaabeynta nidaamka ama waxay u baahan yihiin ogolaansho uu sandbox-ku celiyo ama waxay ku tiirsan yihiin dhaqan uu Apple waligiis ballan qaadin. Haddii qorshuhu u baahan yahay mid ka mid ah kuwan, dhibaatadu waa qorshaha. Muuqaal lagu dhisay faahfaahin aan la diiwaangelin waa tikid taageero leh taariikh bixineed.

Baaritaan 2: app-kaagu ma maamulaa tunnel-ka isaga?

Haddii uu maamulo, waxaad haysataa jawaab la taageeray qaabeyntaada. Soo rar doorashooyinka, maaree khaladka, ka dibna akhri xaaladda oo ka qaybgal isbeddellada halkii aad baaritaan samayn lahayd:

vpnManager.loadFromPreferences { error in
    // handle a load failure before reading status
}

NotificationCenter.default.addObserver(
    forName: .NEVPNStatusDidChange,
    object: nil,
    queue: nil
) { note in
    let status = (note.object as? NEVPNConnection)?.status
}

Noqo mid sax ah waxa tan soo celiso: xaaladda tunnel-ka aad rakibtay. Isticmaale maamula macmiil kale waxaa loo muujin doonaa mid go'ay, mana aha khalad koodhkaaga dhexdiisa. Go'aanso mid ka mid ah labadan su'aalood oo muuqaalkaagu runtii weydiinayo ka hor inta aanad jawaabta ku dhisin.

Baaritaan 3: muxuu heuristic runtii kuu sheegayaa?

Habka si ballaaran loo koobiyeeyay wuxuu qaamuuska proxy-ga nidaamka ka weydiiyaa gelitaannada leh baaxadda oo akhriya furayaasha, kuwaas oo si kadis ah u ah magacyo interface:

let settings = CFNetworkCopySystemProxySettings()?.takeRetainedValue() as NSDictionary?
let scoped = settings?["__SCOPED__"] as? [String: Any]
let names = scoped?.keys ?? []

Fure bilaabma tap, tun, ppp, ipsec ama utun waxay tilmaamaysaa in interface leh baaxadda tunnel-ku jiro. Isku-dhafka magaca oo dhan isla markiiba wuu fashilmaa, sababtoo ah iOS 12 waxay la timid utun1 iyo utun2 iyo qaar ka mid ah profiles-ka waxay u muuqdaan sida ipsec4, ppp0 ama utun0. Isbarbardhig horgalaha halkii.

Si kastaba ha ahaatee, magac ma aqoonsado milkiile. Muuqaallada nidaamka iyo fidinta iibiyayaasha kale waxay sidoo kale abuuraan interface-yo utun, midna wuu jiri karaa isagoo aan qaadin wax ka mid ah taraafikadaada. U akhri calaamad ah in agagaarka uu jiro wax qaab tunnel leh, wax ka xoog badan maaha. Natiijada qaldan ee halkan waa jaban haddii aad kaliya xaddidto hal muuqaal, oo qaali ah haddii aad xaddidto shaashadda gelitaanka.

Baaritaan 4: ma tijaabin kartaa meesha loo socdo halkii?

Haddii app-ku kaliya u baahan yahay inuu ogaado haddii adeeg gudaha ah la gaari karo, tijaabi adeeggaas. Baaritaan gaaban oo leh waqti xaddidan wuxuu ka jawaabaa su'aasha muuqaalku runtii ku tiirsan yahay, wuuna sii shaqeeyaa marka isticmaalahu beddelo macmiilka ama tunnel-ku beddelo qaabka.

Gaaritaanku waa indho-indheyn ku saabsan wadadaada. Magaca interface waa qiyaas ku saabsan wax ku dheggan wadadaada, taas darteed heuristic-ku wuxuu abuuraa doodaha warbixinnada khaladaadka iyo baaritaanku wuxuu abuuraa caddaymo. Haddii baaritaanku fashilmo inta isticmaalahu ku adkaysto in VPN-ku shaqeynayo, hadda waxaad haysataa waddo cad oo lagu hagaajiyo: xallinta magacyada, wadada ama ogolaanshaha adeegga.

Baaritaan 5: ma ku qasbi karaa madal waxa aad u baahan tahay?

Marka shuruuddu tahay dammaanad ah in wax ka baxsanayn tunnel-ka, profile-ku waa meeshiisa, ma aha ogaanshaha. Daaridda includeAllNetworks qaabeynta tunnel buuxa iOS 14 ama ka dambe waxay beddelaa dhaqanka madasha halkii ay app-kaaga ka codsan lahayd inuu soo saaro. Calanka waxaa lagu diiwaangeliyay tixraaca NEVPNProtocol.

Tani waa nooc kale oo jawaab ah: ku qasbid halkii indho-indheyn. Waxay sidoo kale khusaysaa kaliya profiles-ka aad maamusho, sidaas darteed ma caawiso app macaamiil ah oo daawanaya tunnel-ka qof kale.

Baaritaan 6: ka dhig fashilka mid ammaan ah oo la arki karo

Dami kaliya awoodda u baahan tunnel-ka oo ka tag inta kale ee app-ka mid la isticmaali karo. Ogaanshaha qariya interface-ka oo dhan mar kasta oo uusan hubin wuxuu u abuuraa xannibaad qof kasta oo tunnel-kiisu isticmaalo magac aadan waligaa filan. Ku noqo dhaqanka muxaafidka ah: muuqaallada maxalliga ah way sii shaqeeyaan oo kaliya wicidda fog ee runtii u baahan tunnel-ka ayaa la joojiyaa. Doorashadaas waa go'aan badeeco, waana mudan in lagu qoro agagaarka heuristic-ka.

Diiwaangeli waxaad aragtay: magacyada interface-ka, nooca madasha iyo natiijada hal baaritaan. Taasi waxay warbixinta xigta ka beddelaa dood una beddelaa baaritaan. Kadib dooro caddayn la taageeray halka aad haysato, sababtoo ah qaabeyn la maamulo waxay si cad u qaadi kartaa ujeeddada oo waxay meesha ka saari kartaa inta badan sababta loo baaro magacyada.

Haddii baaritaannada 1 ilaa 5 ay kaa tageen jawaab la taageeray, soo rar baaritaanka oo si daacad ah u calaamadee natiijada. Calaamad dadaal ugu fiican oo la diiwaangeliyay waa go'aan badeeco ka wanaagsan API gaar ah oo ku burburaya sii daynta xigta.

Maqaallo la xiriira