Tasker agus WireGuard: an Intent ceart a sheoladh le haghaidh aon tollán amháin
Is féidir le Tasker iarraidh ar WireGuard tollán ainmnithe amháin a ardú tríd an nglacadóir rialaithe iargúlta. Tá cead CONTROL_TUNNELS fós ag teastáil ón rialtóir.
Nuair a sheoltar gníomhaíocht WireGuard, tagann aip chun tosaigh, ní ardaítear tollán ar leith. Rachaidh uathoibriú a osclaíonn an aip agus a fhanann tríd an tástáil agus teipfidh sé an chéad uair a bheidh an fón ina shuí ar an scáileán baile cheana féin. Nochtann WireGuard cosán rialaithe iargúlta tacaíochta do tholláin ainmnithe, agus tá sé níos cúinge ná mar a mholann formhór na n-oideas. Siúlann an seicliosta thíos an cosán sin ón gcead go dtí an toradh a breathnaíodh.
Seiceáil go bhfuil rialú iargúlta cumasaithe
Ní bhíonn an glacadóir rialaithe iargúlta ag éisteacht i gcónaí. Cuimsíonn socruithe WireGuard rogha a chumasaíonn rialú iargúlta ar tholláin, agus go dtí go mbeidh an rogha sin ar siúl, déanann an glacadóir neamhaird ar iarratais in ionad teip go hard. Tá an réamhshocrú d’aon ghnó, mar bheadh glacadóir easpórtáilte a d’fhéadfadh tolláin a ardú ina pholl slándála ar gach gléas ar suiteáladh an aip air. Cumasaigh é tríd an gcomhéadan agus scríobh síos go ndearna tú é, mar is socrú é ar féidir le húsáideoir sa todhchaí é a mhúchadh gan a fhios cad a bhí ag brath air.
Ní láimhseálann an glacadóir thuas ach iarratais ainmnithe UP agus DOWN, mar sin níl aon chosán anseo chun tollán a chruthú ná a chumraíocht a chur in eagar. Deimhnigh go bhfuil an chomhpháirt sa leagan suiteáilte sula mbraitheann tú uirthi: liostaíonn adb shell dumpsys package com.wireguard.android | grep -i receiver na glacadóirí dearbhaithe, agus ní fhreagróidh leagan gan an nglacadóir rialaithe iargúlta go deo. Má theastaíonn críochphointe eile nó piaraí eile ón sreabhadh oibre, is tollán eile é sin agus socrú láimhe ar leith laistigh den aip.
Seiceáil an cead atá ag an rialtóir
Cosnaíonn WireGuard an glacadóir le cead contúirteach, com.wireguard.android.permission.CONTROL_TUNNELS, a chaithfidh a bheith ag an aip rialaithe. Ní féidir le craoladh saincheaptha cead a dhéanamh nach ndearna an seoltóir é a dhearbhú riamh nó nár deonaíodh riamh dó. Is é seo an chéim ina nglacann oidis uathoibrithe go ciúin le cumas nach bhfuil ag an uathoibriú.
Seiceáil an dá thaobh sula scríobhann tú an tasc. Liostaíonn an chéad ordú an cead dearbhaithe, agus taispeánann an dara ceann an bhfuil an cead sin i ndáiríre ag pacáiste an rialtóra. Teipeann ar rialtóir a dhearbhaíonn an cead ina mhainistíocht ach nár deonaíodh riamh dó ag am rite, agus tagann an teip mar thost in ionad mar chomhphlé.
adb shell pm list permissions -g -d | grep -i control_tunnels
adb shell dumpsys package net.dinglisch.android.taskerm | grep -i control_tunnels
Mura bhfuil an cead ag an rialtóir, bain úsáid as an gcomhtháthú a dtacaíonn an aip leis i ndáiríre in ionad craoladh a thógáil de láimh. Ní chruthaíonn sé ach go nglacann Android le Intent a sheoladh agus a fheiceáil gur éirigh leis an nglao, ní go ndearna WireGuard gníomhú air. Caith le seoladh neamhfhíoraithe mar rud anaithnid, ní mar rath.
Seiceáil réimsí an Intent i gcoinne an aip shuiteáilte
Iompraíonn ceithre réimse an iarraidh iomlán, agus tá modh teipe ag gach ceann a bhreathnaíonn go beacht cosúil leis na cinn eile. Faigh an gníomh, an breiseán tolláin, an pacáiste agus an sprioc i gceart mar aon tacar.
Action: com.wireguard.android.action.SET_TUNNEL_UP
Extra: tunnel:lab-wg
Package: com.wireguard.android
Target: Broadcast Receiver
Ainmníonn an gníomh UP nó DOWN agus faic eile, iompraíonn an breiseán an t-ainm beacht tolláin atá cumraithe, cuireann an pacáiste síos ar sheachadadh chuig WireGuard, agus caithfidh an sprioc a bheith mar an glacadóir seachas gníomhaíocht. Táirgeann ainm tolláin le clóscríobh an tost céanna le glacadóir díchumasaithe, mar sin léigh an t-ainm san aip sula dtagann tú ar an gconclúid go bhfuil an t-uathoibriú briste. Is é an gníomh DOWN ná com.wireguard.android.action.SET_TUNNEL_DOWN leis an mbreiseán agus an bpacáiste céanna. Seol iarraidh amháin ag aon am agus tú ag tástáil, mar chruthaíonn dhá chraoladh atá ag rásáil a chéile staid nach féidir le duine ar bith a chur i leith ruda.
Tástáil an iarraidh chéanna ó bhlaosc ar an ngléas chun an Intent a scaradh ón uathoibriú. Má theipeann ar an ordú sin agus tasc Tasker ag éirí leis, is é cead an tseoltóra an difríocht, ní luachanna na réimsí.
adb shell am broadcast -a com.wireguard.android.action.SET_TUNNEL_UP -e tunnel lab-wg --receiver-permission com.wireguard.android.permission.CONTROL_TUNNELS
Seiceáil cad nach gclúdaíonn an truicear
Is féidir le teagmhas seolta nó réamhphláine aip nasc a iarraidh, ach b’fhéidir gur thriail an aip cuardach ainm nó iarraidh tosaigh cheana sula láimhseáiltear an teagmhas sin. Spreagtar an truicear nuair a thugann an córas faoi deara an t-athrú staid, is é sin tar éis don aip tosú ag obair. Mura gceadaítear don aip cumarsáid a dhéanamh taobh amuigh den tollán riamh, ní riail bhlocála é truicear seolta agus ní féidir é a dhéanamh ina riail den sórt sin trí mhoill a chur leis. Cumraigh polasaí tacaíochta i gcónaí-ar siúl nó de réir aip don iompar blocála, agus coinnigh an truicear le haghaidh áise amháin.
Tá an t-iompar blocála ina chónaí áit éigin eile ar fad. Ainmníonn adb shell settings get global always_on_vpn_app an pacáiste atá pionnáilte mar i gcónaí-ar siúl, agus taispeánann adb shell dumpsys connectivity | grep -i vpn na líonraí VPN a bhfuil an córas ag déanamh rianú orthu faoi láthair. Ní rud é ceachtar acu ar féidir le truicear seolta teacht ina áit.
Tá an réasúnaíocht chéanna i bhfeidhm ag ceann eile an tseisiúin. Briseann sé an obair chúlra, na cabhróirí fíordheimhniúcháin agus aon aip eile a bhí ag brath ar an nasc an tollán a thabhairt anuas toisc gur chaill aon fhuinneog amháin fócas. Sainmhínigh deireadh seisiúin d’aon ghnó seachas athrú fócais, agus seachain seichimh thapa UP agus DOWN nuair a athraíonn an t-uathoibriú comhthéacsanna.
Seiceáil an toradh, ní an seoladh
Craoladh a fhilleann gan earráid, tá sé glactha ag Android agus sin a bhfuil. Léigh staid an tolláin ón aip, agus léigh ullmhacht an tsealaidh oibre ón rud a theastaíonn go hiarbhír ón gcéad chéim eile. Dhá sheiceáil dhifriúla iad seo, agus ní hionann pas a fháil sa chéad cheann agus an dara ceann.
Léigh staid an chomhéadain go díreach freisin: priontálann adb shell ip -brief addr show tun0 comhéadan an tolláin agus a sheoladh, agus tá comhéadan a bhfuil ann gan seoladh suas gan bheith inúsáidte. Ansin fíoraigh an tseirbhís phríobháideach féin, mar theipeann ar thollán atá suas gan chrith lámh nó gan bealach fós ar an tasc a raibh tábhacht leis. Ní gá d’uathoibriú a rialaíonn aon nasc ainmnithe amháin laistigh dá fhíor-theorainn ceada an comhéadan a thapáil, ordú root a rith ná cosaintí líonra Android a lagú.