OpenVPN wuxuu ku shaqeeyaa hal wax-soo-saar oo skriptiga gelitaanka: xaaladda bixista. Wax kasta oo kale oo skriptigu sameeyo waa qurxin. Hookku wuu gaari karaa hubiyaha saxda ah, wuu falanqayn karaa jawaabta oo daabici karaa sadar saaxiibtinimo, laakiin wuxuu soo celinayaa xaalad macneheedu yahay lidka waxa qoraagu uga dan lahaa. Marka hore akhri heshiiska oo ku qor adapter-ka hareerihiisa, markaas dhammaan fasaladaas khaladaadka ayaa meesha ka baxa.

Heshiisku wuu yar yahay: aqoonsado koontada la soo gudbiyay, weydii hubiyaha la ansixiyay su’aasha loogu talagalay, oo aqbal kaliya natiijada togan ee la diiwaangeliyay ee hubiyaas xaadirka ah codsigaas. Wax kasta oo kale waa kaabayaal.

Saddexda xaaladood ee hookku soo celin karo

auth-user-pass-verify ahaan, buug-gacmeedka OpenVPN 2.6 wuxuu qeexayaa koodhka bixista 0 sida aqbalid, 1 sida diidmo iyo 2 sida xaqiijin dib loo dhigay. Kuwani waa saddexda jawaabood ee kaliya ee serverku fahmo, mid kastaa wuxuu leeyahay cawaaqib ka duwan xiriirka. Skriptiga ku baxa xaaladda amarkiisa ugu dambeeya wuxuu dhab ahaan u oggolaaday wicitaan log ama tallaabo nadiifin inay cod bixiyaan. U qor xaaladda si cad laan kasta, oo ay ku jiraan laamaha aan waligood gaarin hubiyaha.

Guusha HTTP iyo guusha xaqiijintu waa lakabbo kala duwan, oo isku qasiddoodu waa habka ugu caansan ee hookkani khaldama. Jawaabta 202 waxay ka dhigan tahay in codsiga loo aqbalay habaynta, ma aha in furaha sirta la xaqiijiyay. Qeex xaaladda la filayo, qaabka jawaabta iyo go’aanka ugu dambeeya heshiiska API ee la siiyay, oo ha abuurin magac goob sababtoo ah wuu u eg yahay mid macquul ah.

Haddii jawaabtu run ahaantii mar dambe timaaddo, taasi waa waddada dib loo dhigay waana in sidaas loo dhisaa. Isku day dib loo dhigay oo aan waligiis dhammaan wuxuu hayaa kheyraadka ilaa waqtiga xaddidan uu dhamaado.

Akhri faylka aqoonsiga sidooda oo kale

Habka faylka loo maro ee la diiwaangeliyay, serverku wuxuu u qoraa magaca isticmaalaha iyo furaha sirta labada sadar ee ugu horreeya fayl ku meel gaar ah, wuxuu skriptiga siiyaa jidkaas, oo wuxuu faylka tirtiraa marka skriptigu soo noqdo. Labadaas sadar u akhri sida xog: waligaa ha source-gelin faylka, waligaa ha qiimeyn, oo waligaa ha ku dhejin waxa ku jira sadarka amarrada ah halkaas oo shaxda hababka ay ka arki karto. Ilaali furaha sirta byte byte, sababtoo ah jaangooyo sida aad u jaangooyn lahayd magaca isticmaalaha si aamusan ayuu u beddelaa aqoonsiga. Dhaqanka faylkaas ku meel gaarka ah waa go’aan daabul, marka xaqiiji inuu jiro oo aanay dadka oo dhan ee martigeliyaha ka akhrin karin.

Kala saar aqoonsiga hubiyaha laftiisa iyo kan isticmaalaha: waxaa iska leh is-dhexgalka albaabka, wuxuu ku nool yahay keydka sirta ee madal, oo wuxuu u baahan yahay kaliya fasax xaqiijin, marka ma aha caddayn in qof gaar ah la xaqiijiyay. Ha u oggolaan hook-ka inuu noqdo hubiye fure sir labaad sidoo kale. Dib u qorista isbarbardhigga hash gacanta laguma noqdo mid ammaan ah iyada oo la hagaajinayo wareegga, oo hubiye la ilaaliyo wuu horey u fahmay nidaamka cusbada iyo kharashka ee keydka koontada.

Go’aanso waxa jawaab aan la kala saari karin macneheedu yahay

Waqtiyada xaddidan, khaladaadka gaadiidka, jawaabaha qalloocan iyo backend aan la heli karin waxay wadaagaan hal sifo: midkoodna ma aha xaqiijin togan. Hookku waa inuu mid kasta ka guuldareysto isagoo xiran oo diiwaangeliya sabab ay shaqaaluhu wax ka qabsan karaan. Sababtaas waxay ku habboon tahay log la ilaaliyay, ma aha fariin lagu celiyo qofka isku dayaya inuu xirmo.

Sidoo kale taxaddar la mid ah u yeelo waddooyinka aan marnaba gaarin hubiyaha. Qiimaha habaynta maqan, sir aan la akhrin karin ama ku-tiirsanaan aan la rakibin waa inay soo saaraan diidmo calaamad hawleed gaar ah leh halkii ay noqon lahaayeen aqbalid shil ah. Tijaabi laamahaas adigoo ka saaraya ku-tiirsanaanta shaybaadhka, halkii aad ka fikiri lahayd. Meesha ku guuldareysiga log-ku uu beddeli karo xaaladda bixista, log-ku wuxuu noqday qayb ka mid ah go’aanka waana in laga dhigo mid aan waxyeello lahayn.

Habaynta serverkuna halkan way muhiim tahay: skriptiyada isticmaalahu qeexay waxaa la ixtiraamaa kaliya marka habaynta socota ay u ogolaato heerka amniga loo baahan yahay, oo dejintaas waa doorasho ula kac ah oo aan ahayn qiime caadi ah oo la kordhinayo.

Xaqiiji go’aanka, ma aha sadarka la daabacay

Dhis tijaabo si toos ah u baarta xaaladda bixista. Qor fayl aqoonsi muunad ah, ku orod hook-ka isaga oo ka soo horjeeda koonto loo yaqaan mid wanaagsan iyo mid loo yaqaan mid xun, oo akhri xaaladda ay sheegto qolofka ee ma aha qoraalka uu skriptigu daabaco. Ishaas kaliya waxay qabataa inta badan khaladaadka heshiiska ka hor inta macmiilku xirmo.

Kadib u mar samee kiisaskaas macmiil dhab ah oo ka soo horjeeda dhageyste aan wax-soo-saar ahayn oo xaqiiji waxa serverku diiwaangeliyay: la aqbalay, la diiday ama dib loo dhigay. Dabool koonto la joojiyay, fure sir khaldan, jawaab hubiye qalloocan, waqti xaddidan iyo hubiye aan la gaari karin. Haddii kiis kasta uu galo xaalad aad u magac-bixin karin, adapter-ku ma dhammaan.

khiyaamka natiijada hubiyaha ilaa xaaladda bixista ku hay skriptiga agtiisa kaydka, si injineerka xiga uu u akhriyo heshiiska isagoo aan dib u injineerin koodhka.

Maqaallo la xiriira