Root ba shine abin da ke bawa manhajar VPN ta Android damar ɗaukar zirga-zirga, toshe ɓarnar bayanai ko tsira daga sake yi ba. Mutane suna taƙaita duk wannan a matsayin „manhajar tana da izinin VPN“, wanda ke ɓoye hanyoyi uku daban-daban: izinin da mai amfani ya bayar, interface ɗin fakiti da tsarin ke ƙirƙira, da manufar toshewa ta dandali wadda ba manhajar ce za ta ayyana ba. Yin bitar ƙirar VPN ta Android na nufin tambayar wanne daga cikin ukun ne wata iƙirari ta dogara da shi, domin kowanne yana da mai shi da yanayin gazawa daban.

Izini yana zuwa ta hanyar aikin tsari

VpnService.prepare() ba ya bayar da komai. Yana mayar da intent zuwa aikin izinin tsari idan babu izini, kuma manhajar tana buɗe wannan tattaunawa domin mai amfani ya amince da sabis ɗin. Ƙaddamar da aikin manhajar da kanta, ƙara izini cikin manifest, ko nuna allo na musamman na „kunna VPN“ ba ya ƙirƙirar izinin.

Izinin kuma yana da iyaka. Yana cikin fakiti a cikin bayanan mai amfani, don haka kwafin sirri da kwafin aiki shawarwari ne daban, kuma mai na'urar zai iya shirya bayanan da ake sarrafawa daban da na sirri. Idan tattaunawar ba ta taɓa bayyana ba kuma prepare() ya mayar da null, izini ya riga ya wanzu ga wannan fakiti a wannan bayanan; wannan ba hujja ba ce cewa manhajar amintacciya ce, sai dai izinin yana nan.

Interface ɗin buƙata ce da tsarin ke cikawa

Bayan izini, manhajar tana bayyana abin da take so da VpnService.Builder: adireshi, hanyoyi, sabar DNS, MTU da kuma, inda ake goyan baya, manhajojin da za a haɗa ko a cire. establish() yana roƙon tsarin ya ƙirƙiri interface ɗin tunnel ya kuma tura zirga-zirgar da ta dace cikinsa. Tsarin ne ya mallaki shawarar turawa; manhajar tana karɓar bayanin fayil sannan dole ta yi wani abu mai amfani da fakiti ɗin.

What you observeWho actually owns it
VPN consent dialogThe system, triggered by prepare()
Routes, DNS and app listsThe app requests them; the system applies them
One active VPN per profileThe platform; a new service replaces the old one
Always-on and block-without-VPNDevice policy enforced by the platform

Wannan tebur shine gine-ginen a wuri ɗaya. Manhajar tana shiga cikin sarrafa fakiti; ba ta mallaki interface ɗin, teburin turawa, ko adadin ayyukan da za su iya gudana ba.

Socket ɗin tunnel dole ya tsere daga tunnel ɗinsa

Haɗin da ke ɗaukar zirga-zirgar da aka ɓoye shi kansa socket ne. Idan an tura shi baya cikin interface ɗin da manhajar ta ƙirƙira yanzu, tunnel ɗin ya dogara da tunnel ɗin kuma ya tsaya. VpnService.protect() yana ɗaure wannan socket zuwa cibiyar sadarwar da ke ƙasa domin ya guje wa kamawa, kuma shi ya sa abokin ciniki nagari yana kare socket ɗinsa na waje kafin musayar hannu ta farko.

adb shell dumpsys connectivity | grep -i -A5 vpn
adb shell settings get global always_on_vpn_app
adb shell settings get global always_on_vpn_lockdown

Waɗannan umarni suna nuna cibiyar sadarwar VPN da aka shigar, fakiti na kunna koyaushe da ko an saita kullewa. Abubuwan lura ne na karatu kawai: idan ƙimar ba ta dace da abin da ƙirar ke iƙirari ba, iƙirarin game da interface ɗin manhajar ne ba yanayin tsarin ba.

Toshewa na iya kasancewa na dandali

Android yana rubuta manufa da ke toshe haɗin da ba sa amfani da VPN. Wannan tilastawa yarjejeniyar dandali ce, ba manhaja da ke maimaita ƙoƙarin haɗi a cikin madauki ba. Maɓallin yana cikin saitunan VPN na na'urar a matsayin Toshe haɗi ba tare da VPN ba, kuma a na'urar da ake sarrafawa mai shi zai iya kunna shi ga dukan bayanan. Bambancin yana da muhimmanci lokacin da kake tantance iƙirarin talla: abokin ciniki zai iya nuna alamar kullewa da sake haɗawa da ƙarfi yayin da haɗin kai tsaye zai yiwu, ko manhajojin da aka rufe su kasance a layi ba saboda tsarin yana tilasta kullewa.

Manhajar ce ke zana alamar kullewa, don haka tana tabbatar da cewa manhajar tana ganin an haɗa ta ne kawai. Ko wata manhaja za ta rasa hanyar sadarwa tsarin ne ke yanke shawara, don haka bincike mai amfani shine kallon wannan manhajar tana gazawa yayin da tunnel ɗin ke aiki.

Alamar „kunna koyaushe“ ta shagon manhaja ita ma ba ta maye gurbin wannan yarjejeniya ba. Kunna koyaushe da kullewa saitunan na'ura ne, waɗanda mai na'urar ke aiwatarwa sau da yawa, kuma dandali ne ke ayyana halinsu ga manhajojin da aka cire. Karanta saitin, ba alamar ba.

Tambayoyi huɗu don bitar ƙira

Na farko, wa ya bayar da izini: wane fakiti, wane bayanan, kuma mai amfani ne ko manufar na'urar da ake sarrafawa? Na biyu, me manhajar ta roƙa: waɗanne hanyoyi, waɗanne iyalan adireshi, waɗanne manhajojin da aka haɗa ko cire? Na uku, me ke faruwa idan tunnel ɗin babu: tsarin yana toshewa, ko zirga-zirgar tana komawa cibiyar sadarwar da ke ƙasa? Na huɗu, me manhajar ke yi da fakiti ɗin da ta karɓa?

Tambaya ta huɗu ita ce wadda ƙirar izini ba za ta iya amsawa ba. Izini da interface ɗin TUN suna tabbatar da cewa manhajar za ta iya karɓar zirga-zirga, ba cewa tana ɓoye ta, tabbatar da abokin gaba ko warkewa cikin tsabta ba. Waɗannan halayen aiwatarwa ne, kuma a nan ne bita mai gaskiya ke kashe lokacinsa.

Buƙatar root mara bukata ba ta zama halal ta hanyar kiran sakamakon da maɓallin kashewa, kuma tattaunawar izini ba duba tsaro ba ce. Ka raba izinin uku ɗin daban kuma kowace iƙirari za ta zama abin dubawa.

Labarai masu alaƙa