VPN għal kull app fuq Android: li teskludi app mhix li timblukkaha
Il-lista għal kull app fuq l-iskrin tappartjeni lil sid wieħed tat-tunnel, u li teskludi app iddurha madwar dak it-tunnel mhux il barra min-netwerk. Ibda minn hemm.
Żewġ persuni jagħmlu l-istess mistoqsija u jirċievu tweġibiet li ma jaqblux, għax qegħdin f postijiet differenti. Wieħed għandu l-iskrin tas-settings tal-VPN tas-sistema miftuħ u qed jeditja lista ta apps. L-ieħor qed jikteb VpnService.Builder.addDisallowedApplication() f editur. It-tnejn isejħulu filtru VPN għal kull app. Wieħed biss minnhom għandu l-kontroll li qed jiddeskrivi, u ħadd minnhom mhu qed jimblokka xejn.
Ibda mill-iskrin li jara l-utent
Iftaħ is-Settings, sib id-dħul tal-VPN u ħares lejn il-konnessjoni li hi tassew attiva. Jekk il-klijent joffri lista għal kull app, dik il-lista tappartjeni lit-tunnel tal-klijent stess. Il-pjattaforma ma tippubblikax API ġenerali li biha app mhux relatata tkun tista taqra jew tbiddel l-għażla tal-apps ta VPN ieħor, għalhekk it-tieni app ma tistax tissewwi dik il-lista għall-utent.
Dan huwa l-ewwel furchetta fil-mixja. Jekk il-VPN installat m għandux din is-setting, m hemm xejn x naqbeż bil-kodiċi: il-karatteristika mhijiex fil-prodott li jippossjedi t-tunnel. Jekk għandu, il-korrezzjoni t-tajba tinsab f dak l-iskrin, magħmula minn min jista jiftħu.
Segwi l-pakkett ġewwa tunnel
Meta l-app tiegħek tibni tunnel, hija toħloq interface TUN u tiddikjara liema traffiku tal-apps jidħol fiha. Is-sejħiet tas-sħubija jsiru qabel ma tiġi stabbilita l-interface, u wara s-sett ta regoli jkun fiss għal dik is-sessjoni:
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 hereDawk is-sejħiet japplikaw biss għat-tunnel li l-app tiegħek għadha kemm ħolqot u għal xejn ieħor. Mhumiex politika tal-apparat kollu, ma jibqgħux għall-klijenti l-oħra, u ma jistgħux jidħlu fil-VPN ta ħadd ieħor. Meta sejħa tal-builder tarmi eċċezzjoni għax il-pakkett ma jistax jiġi riżolt, l-interface qatt ma tiġi stabbilita, li hija falliment nadif u mhux sieket.
Għaliex l-esklużjoni dehret bħala blokk
App eskluża tiġi diretta madwar it-tunnel tiegħek lejn in-netwerk ta taħt. Dan huwa l-oppost ta li timblukkaha: it-traffiku xorta joħroġ mill-apparat, biss barra mill-interface li tikkontrolla. App fi stil ta firewall tagħmel l-oppost. Hija tammetti t-traffiku tal-app fit-tunnel tagħha u mbagħad tarmi l-pakketti, jew tirrifjuta li tgħaddihom, għalhekk l-interface hija l-istess u d-direzzjoni tal-politika maqluba.
Ix-xogħol wara dik il-qlib mhuwiex bandiera ta konfigurazzjoni. Inti taqra pakketti IP mid-deskrittur tat-tunnel, tiddeċiedi għal kull fluss, u mbagħad tgħaddihom permezz ta socket protett jew tarmihom. Kull ma ma tittrattax sempliċement jieqaf, u għalhekk tunnel nofsu lest jidher bħala netwerk miksur u mhux filtru li jaħdem. Jekk l-għan tiegħek huwa blokk, ippjana trattament tal-pakketti, servizz fil-quddiem u politika miktuba għat-traffiku li ma tistax tikklassifika.
X jinqasam meta tibnih int stess
Android ġeneralment jippermetti VPN attiv wieħed biss f daqqa, għalhekk it-tunnel tal-filtru tiegħek u tunnel tal-privatezza jikkompetu għall-istess post sakemm il-prodotti ma jappoġġawx il-katina. VPN dejjem mixgħul bi blokk tal-konnessjonijiet ibiddel il-mod tal-falliment b mod li jgħodd hawn: traffiku li ma jistax jidħol fit-tunnel jintrema minflok ma jintbagħat direttament, li huwa dak li trid tid-disinn kontra t-tnixxija u li sessjoni ta debugging rari tistenna.
Il-viżibilità tal-pakketti hija t-tieni nassa. Ir-riżoluzzjoni tal-isem tal-pakkett ta app tista tfalli b NameNotFoundException, u fuq verżjonijiet Android aktar ġodda is-sett ta pakketti li tista tara jiddependi mill-mistoqsijiet li ddikjarajt. Ittratta l-eċċezzjoni minflok ma tassumi li kull isem jiġi riżolt, u erġa aqra l-lista meta l-apps jiġu installati jew imneħħija minflok ma żżommha fil-cache għal dejjem.
L-apparati ġestiti jżidu t-tielet sid. Politika tal-mobilità tal-intrapriża tista tistabbilixxi VPN għal kull app jew profil dejjem mixgħul, u app ordinarja ma tistax tħassarha. Iċċekkja jekk l-apparat huwiex ġestit qabel ma tagħmel debugging tal-kodiċi tiegħek, għax f dak il-każ il-lista li qed tipprova tbiddel forsi ma tistax tiġi editjata minn ħadd li jżomm it-telefon.
Ipprova b app li tikkontrolla
Tippruvax bl-app li qed tipprova tiffiltra. Uża t-tieni app li l-imġiba tan-netwerk tagħha tista tosserva, u ċċekkja jekk it-traffiku tagħha joħroġx mit-tunnel tiegħek filwaqt li dak tal-mira ma joħroġx. Jekk it-tnejn jibqgħu ġewwa, il-politika taħdem u l-mira hija eskluża; jekk ħadd ma joħroġ, it-tunnel innifsu huwa ħażin u l-lista tal-apps mhix il-problema.
Imbagħad iddeċiedi liema mit-tliet affarijiet qed tibni fil-verità. Tunnel għal kull app huwa l-API tal-builder, bil-lista bħala parti mill-profil tiegħek. Firewall tal-apparat huwa trattament tal-pakketti flimkien ma ċiklu tal-ħajja li tista tiddefendi. Li tbiddel il-VPN ta ħadd ieħor mhuwiex mod appoġġat xejn, u t-tweġiba onesta hemmhekk hija li s-setting tappartjeni lil dak il-prodott.