Tasker u WireGuard: tibgħat l-Intent it-tajba għal mina waħda
Tasker jista’ jitlob lil WireGuard iqajjem mina waħda bl-isem permezz tar-riċevitur tal-kontroll mill-bogħod. Il-kontrollur għadu jeħtieġ il-permess CONTROL_TUNNELS.
It-tnedija tal-attività ta’ WireGuard iġġib app quddiem, mhux iqajjem mina partikolari. Awtomazzjoni li tiftaħ l-app u tistenna tgħaddi fit-test u tfalli l-ewwel darba li t-telefon ikun diġà qiegħed fuq l-iskrin tad-dar. WireGuard jesponi triq tal-kontroll mill-bogħod appoġġata għal mini bl-isem, u hija idjaq milli jissuġġerixxu ħafna riċetti. Il-lista ta’ verifika t’hawn taħt tgħaddi minn dik it-triq mill-permess sar-riżultat osservat.
Iċċekkja jekk il-kontroll mill-bogħod huwiex attivat
Ir-riċevitur tal-kontroll mill-bogħod mhux dejjem qiegħed jisma’. Is-settings ta’ WireGuard jinkludu għażla li tattiva l-kontroll mill-bogħod tal-mini, u sakemm din l-għażla tkun mixgħula r-riċevitur jinjora t-talbiet minflok ifalli bl-għajjat. Il-valur default huwa maħsub, għax riċevitur esportat li jista’ jqajjem mini jkun toqba tas-sigurtà fuq kull apparat li jinstalla l-app. Attivah permezz tal-interface u ikteb li għamilt hekk, għax dan huwa setting li utent futur jista’ jitfi mingħajr ma jaf x’kien jiddependi minnu.
Ir-riċevitur ta’ fuq jimmaniġġja biss talbiet UP u DOWN bl-isem, għalhekk hawn m’hemmx triq biex jinħoloq mina jew tiġi editjata l-konfigurazzjoni tiegħu. Ivverifika li l-komponent jinsab fil-build installat qabel ma tiddependi fuqu: adb shell dumpsys package com.wireguard.android | grep -i receiver jelenka r-riċevituri ddikjarati, u build mingħajr ir-riċevitur tal-kontroll mill-bogħod qatt mhu se jwieġeb. Jekk il-fluss tax-xogħol jeħtieġ punt tat-tmiem ieħor jew sieħeb ieħor, dik hija mina oħra u setup manwali separat ġewwa l-app.
Iċċekkja l-permess li għandu l-kontrollur
WireGuard jipproteġi r-riċevitur b’permess perikoluż, com.wireguard.android.permission.CONTROL_TUNNELS, li l-app li tikkontrolla trid ikollha. Broadcast personalizzat ma jistax joħloq permess li l-mittent qatt ma ddikjara jew li qatt ma ngħata. Dan huwa l-pass fejn ir-riċetti tal-awtomazzjoni b’mod sieket jassumu kapaċità li l-awtomazzjoni m’għandhiex.
Iċċekkja ż-żewġ naħat qabel ma tikteb il-kompitu. L-ewwel kmand jelenka l-permess iddikjarat, u t-tieni juri jekk il-pakkett tal-kontrollur hux tassew għandu. Kontrollur li jiddikjara l-permess fil-manifest tiegħu iżda qatt ma ngħata waqt ir-runtime xorta jfalli, u l-falliment jiġi bħala silenzju minflok bħala dialogu.
adb shell pm list permissions -g -d | grep -i control_tunnels
adb shell dumpsys package net.dinglisch.android.taskerm | grep -i control_tunnels
Jekk il-kontrollur m’għandux il-permess, uża l-integrazzjoni li l-app tassew tappoġġja minflok tibni broadcast bl-idejn. Li tibgħat Intent u tara li s-sejħa rnexxiet tipprova biss li Android aċċettaha, mhux li WireGuard aġixxa fuqha. Ittratta bgħit mhux ivverifikat bħala mhux magħruf, mhux bħala suċċess.
Qabbel l-oqsma tal-Intent mal-app installata
Erba’ oqsma jġorru t-talba kollha, u kull wieħed għandu mod kif ifalli li jidher eżattament bħall-oħrajn. Ġib l-azzjoni, l-extra tal-mina, il-pakkett u l-mira sew bħala sett wieħed.
Action: com.wireguard.android.action.SET_TUNNEL_UP
Extra: tunnel:lab-wg
Package: com.wireguard.android
Target: Broadcast Receiver
L-azzjoni ssemmi UP jew DOWN u xejn ieħor, l-extra jġorr l-isem eżatt tal-mina kkonfigurata, il-pakkett jillimita l-kunsinna għal WireGuard, u l-mira trid tkun ir-riċevitur u mhux attività. Isem tal-mina bi żball ta’ tipjip jipproduċi l-istess silenzju bħal riċevitur mitfi, għalhekk aqra l-isem fl-app qabel ma tikkonkludi li l-awtomazzjoni hija miksura. L-azzjoni DOWN hija com.wireguard.android.action.SET_TUNNEL_DOWN bl-istess extra u pakkett. Ibgħat talba waħda kull darba waqt it-testjar, għax żewġ broadcasts li jiġru wara xulxin joħolqu stat li ħadd ma jista’ jattribwih.
Ittestja l-istess talba minn shell fuq l-apparat biex tifred l-Intent mill-awtomazzjoni. Jekk dak il-kmand ifalli filwaqt li l-kompitu ta’ Tasker jirnexxi, id-differenza hija l-permess tal-mittent u mhux il-valuri tal-oqsma.
adb shell am broadcast -a com.wireguard.android.action.SET_TUNNEL_UP -e tunnel lab-wg --receiver-permission com.wireguard.android.permission.CONTROL_TUNNELS
Iċċekkja x’ma jkoprix it-trigger
Avveniment tat-tnedija tal-app jew tal-quddiem jista’ jitlob konnessjoni, iżda l-app forsi diġà pruvat tfittxija tal-isem jew talba inizjali qabel ma dan l-avveniment jiġi mmaniġġjat. It-trigger jaqbad meta s-sistema tinnota l-bidla fl-istat, jiġifieri wara li l-app bdiet taħdem. Jekk l-app qatt m’għandha tikkomunika barra mill-mina, trigger tat-tnedija mhuwiex regola ta’ blokk u ma jistax isir wieħed billi żżid dewmien. Ikkonfigura politika appoġġata ta’ dejjem attiv jew għal kull app għall-imġiba tal-blokk, u żomm it-trigger għall-konvenjenza biss.
L-imġiba tal-blokk tgħix f’post ieħor għal kollox. adb shell settings get global always_on_vpn_app isemmi l-pakkett ippinnjat bħala dejjem attiv, u adb shell dumpsys connectivity | grep -i vpn juri n-netwerks VPN li s-sistema qiegħda ssegwi bħalissa. Xejn minn dawn mhuwa xi ħaġa li trigger tat-tnedija jista’ jissostitwixxi.
L-istess raġunament jgħodd fit-tarf l-ieħor tas-sessjoni. Li tniżżel il-mina għax tieqa waħda tilfet il-fokus ikisser ix-xogħol fl-isfond, l-għajnuna tal-awtentikazzjoni u kull app oħra li kienet tiddependi fuq il-konnessjoni. Iddefinixxi tmiem ta’ sessjoni maħsub minflok bidla fil-fokus, u evita sekwenzi mgħaġġla ta’ UP u DOWN meta l-awtomazzjoni tbiddel il-kuntesti.
Iċċekkja r-riżultat, mhux l-ibgħat
Broadcast li jerġa’ lura mingħajr żball ġie aċċettat minn Android u xejn aktar. Aqra l-istat tal-mina mill-app, u aqra l-istat ta’ tħejjija tal-fluss tax-xogħol minn dak li tassew jeħtieġ il-pass li jmiss. Dawn huma żewġ verifiki differenti, u li tgħaddi l-ewwel waħda ma jimplikax it-tieni.
Aqra wkoll l-istat tal-interface direttament: adb shell ip -brief addr show tun0 jistampa l-interface tal-mina u l-indirizz tagħha, u interface li teżisti mingħajr indirizz tkun ’il fuq mingħajr ma tkun użabbli. Imbagħad ivverifika s-servizz privat innifsu, għax mina mqajma mingħajr handshake jew mingħajr rotta xorta tfalli l-kompitu li kien jimporta. Awtomazzjoni li tikkontrolla konnessjoni waħda bl-isem fil-limiti reali tal-permess tagħha m’għandhiex għalfejn tmiss l-interface, tmexxi kmand root jew iddgħajjef il-protezzjonijiet tan-netwerk ta’ Android.