VPN kwa kila programu kwenye Android: kuitenga programu si kuizuia
Orodha ya kila programu kwenye skrini ni ya mmiliki mmoja wa handaki, na kuitenga programu huielekeza kuzunguka handaki hilo, si nje ya mtandao. Anza hapo.
Watu wawili huuliza swali moja na kupata majibu yasiyolingana, kwa sababu wamesimama mahali tofauti. Mmoja ana skrini ya mipangilio ya VPN ya mfumo wazi na anahariri orodha ya programu. Mwingine anaandika VpnService.Builder.addDisallowedApplication() kwenye kihariri. Wote wawili wanaiita kichujio cha VPN kwa kila programu. Ni mmoja tu wao anamiliki kidhibiti wanachokieleza, na hakuna anayezuia kitu.
Anza kwenye skrini ambayo mtumiaji anaona
Fungua Mipangilio, tafuta ingizo la VPN na uangalie muunganisho ambao kwa kweli unaendelea. Iwapo mteja hutoa orodha ya kila programu, orodha hiyo ni ya handaki ya mteja mwenyewe. Jukwaa halichapishi API ya jumla ambayo programu isiyohusiana inaweza kusoma au kubadilisha uchaguzi wa programu wa VPN nyingine, kwa hivyo programu ya pili haiwezi kurekebisha orodha hiyo kwa ajili ya mtumiaji.
Hii ni tawi la kwanza la safari. Iwapo VPN iliyosakinishwa haina mpangilio huo, hakuna cha kukwepa kwa msimbo: kipengele hakipo kwenye bidhaa inayomiliki handaki. Iwapo ina, marekebisho sahihi yako kwenye skrini hiyo, yafanywe na mtu anayeweza kuifungua.
Fuatilia pakiti ndani ya handaki
Wakati programu yako yenyewe inajenga handaki, huunda kiolesura cha TUN na kutangaza ni programu zipi ambazo trafiki yao inaingia ndani. Miito ya uanachama hufanyika kabla kiolesura hakijaanzishwa, na baada ya hapo seti ya kanuni huwa thabiti kwa kipindi hicho:
val builder = VpnService.Builder()
builder.addAddress("10.8.0.2", 32)
builder.addRoute("0.0.0.0", 0)
builder.addDisallowedApplication("com.example.bypass")
val tun = builder.establish() // membership decided hereMiito hiyo inahusu handaki ambalo programu yako imeunda tu na hakuna kingine. Si sera ya kifaa kizima, haidumu kwa wateja wengine, na haiwezi kufikia VPN ya mtu mwingine. Wakati mwito wa mjenzi unatupa hitilafu kwa sababu pakiti haiwezi kutatuliwa, kiolesura hakianzishwi kamwe, jambo ambalo ni kushindwa safi na si kwa kimya.
Kwa nini kutenga kulionekana kama kuzuia
Programu iliyotengwa huelekezwa kuzunguka handaki lako hadi kwenye mtandao wa chini. Hiyo ni kinyume cha kuizuia: trafiki bado inatoka kwenye kifaa, nje ya kiolesura unachodhibiti. Programu ya mtindo wa ukuta wa moto hufanya kinyume. Hukubali trafiki ya programu ndani ya handaki lake na kisha hutupa pakiti, au hukataa kuzisambaza, kwa hivyo kiolesura ni kile kile na mwelekeo wa sera umegeuzwa.
Kazi iliyo nyuma ya mgeuko huo si bendera ya usanidi. Unasoma pakiti za IP kutoka kwa maelezo ya handaki, huamua kwa kila mtiririko, na kisha huzisambaza kupitia soketi iliyolindwa au huzitupa. Kila kitu usichokishughulikia husimama tu, na ndiyo sababu handaki lililoachwa katikati huonekana kama mtandao uliovunjika badala ya kichujio kinachofanya kazi. Iwapo lengo lako ni kuzuia, panga uwekaji wa bajeti kwa ushughulikiaji wa pakiti, huduma ya mbele na sera iliyoandikwa kwa trafiki usiyoweza kuainisha.
Nini huvunjika unapoijenga mwenyewe
Android kwa ujumla huruhusu VPN moja inayoendelea kwa wakati mmoja, kwa hivyo handaki lako la kuchuja na handaki la faragha hushindana kwa nafasi moja isipokuwa bidhaa ziunge mkono mnyororo. VPN inayowaka kila wakati pamoja na kuzuia miunganisho hubadilisha namna ya kushindwa kwa njia inayojali hapa: trafiki isiyoweza kuingia handakini hutupwa badala ya kutumwa moja kwa moja, jambo ambalo muundo wa kuzuia uvujaji unataka na kipindi cha utatuzi hakitarajii mara nyingi.
Uonekano wa pakiti ni mtego wa pili. Kutatua jina la pakiti la programu kunaweza kushindwa kwa NameNotFoundException, na kwenye matoleo mapya ya Android seti ya pakiti unazoweza kuona inategemea maswali uliyoyatangaza. Shughulikia hitilafu badala ya kudhani kila jina linatatuliwa, na soma orodha tena programu zinaposakinishwa au kuondolewa badala ya kuihifadhi milele kwenye akiba.
Vifaa vinavyosimamiwa huongeza mmiliki wa tatu. Sera ya uhamaji ya shirika inaweza kuweka VPN kwa kila programu au wasifu unaowaka kila wakati, na programu ya kawaida haiwezi kuipindua. Angalia kama kifaa kinasimamiwa kabla ya kutatuatua msimbo wako, kwa sababu katika hali hiyo orodha unayojaribu kubadilisha inaweza isihaririwe na mtu yeyote anayeshika simu.
Ijaribu kwa programu unayodhibiti
Usijaribu kwa programu unayojaribu kuchuja. Tumia programu ya pili ambayo tabia yake ya mtandao unaweza kuiona, na angalia kama trafiki yake inatoka kupitia handaki lako wakati ile ya lengo haitoki. Iwapo zote mbili zinabaki ndani, sera inafanya kazi na lengo limetengwa; iwapo hakuna inayotoka, handaki lenyewe ni kosa na orodha ya programu si tatizo.
Kisha amua ni kipi kati ya vitu vitatu unachojenga kwa kweli. Handaki kwa kila programu ni API ya mjenzi, na orodha ni sehemu ya wasifu wako. Ukuta wa moto wa kifaa ni ushughulikiaji wa pakiti pamoja na mzunguko wa maisha unaoweza kuutetea. Kubadilisha VPN ya mtu mwingine si njia inayoungwa mkono hata kidogo, na jibu la uaminifu hapo ni kwamba mpangilio huo ni wa bidhaa hiyo.