Ukuqalisa umsebenzi we-WireGuard kuletha uhlelo phambili, akukhiphi umhubhe othile phezulu. Ukuzenzakalela okuvula uhlelo bese kulinda kuzodlula ekuhlolweni bese kwehluleka okokuqala uma ifoni isivele ihlezi esikrinini sasekhaya. I-WireGuard ihlinzeka ngendlela esekelwayo yokulawula kude yemihubhe enezibizo, futhi incane kunalokho okushiwo izindlela eziningi zokupheka. Uhlu lokuhlola olungezansi luhamba lolo hlelo kusukela emvumweni kuze kufike emphumeleni obonwayo.

Hlola ukuthi ukulawula kude kuvuliwe yini

Umamukeli wokulawula kude akalaleli ngaso sonke isikhathi. Izilungiselelo ze-WireGuard zihlanganisa inketho evula ukulawula kude kwemihubhe, futhi uma leyo nketho ingakavulwa umamukeli uziba izicelo esikhundleni sokuphahlazeka ngomsindo. Okuzenzakalelayo kunenhloso, ngoba umamukeli othunyelwe ngaphandle ongakwazi ukuphakamisa imihubhe ubungaba yimbobo yezokuphepha kudivayisi ngayinye efake uhlelo. Kuvule ngokusebenzisa isixhumi esibonakalayo bese ubhala phansi ukuthi ukwenzile, ngoba lesi yisilungiselelo umsebenzisi wesikhathi esizayo angasivala engazi ukuthi yini eyayincike kuso.

Umamukeli ongenhla uphatha izicelo ze-UP ne-DOWN ezinezibizo kuphela, ngakho-ke lapha akukho ndlela yokudala umhubhe noma yokuhlela ukulungiselelwa kwawo. Ngaphambi kokuthembela kuwo, qinisekisa ukuthi ingxenye ikhona ekwakhiweni okufakiwe: adb shell dumpsys package com.wireguard.android | grep -i receiver ibala abamukeli abashiwo, futhi ukwakhiwa okungenaye umamukeli wokulawula kude akusoze kwaphendula. Uma uhlelo lokusebenza ludinga enye indawo yokugcina noma omunye umlingani, lowo ngomunye umhubhe nokulungiselelwa okwehlukile ngesandla ngaphakathi kohlelo.

Hlola ukuthi isilawuli sinayo iphi imvume

I-WireGuard ivikela umamukeli ngemvume eyingozi, com.wireguard.android.permission.CONTROL_TUNNELS, okumele ibe naso uhlelo olulawulayo. Ukusakaza okwenziwe ngokwezifiso akukwazi ukwakha imvume umthumeli angakaze ayimemezele noma angakaze ayinikezwe. Leli yisinyathelo lapho izindlela zokuzenzakalela zithatha khona buthule ikhono uhlelo lokuzenzakalela olungenalo.

Hlola izinhlangothi zombili ngaphambi kokubhala umsebenzi. Umyalo wokuqala ubala imvume eshiwo, futhi owesibili ukhombisa ukuthi ingabe iphakethe lesilawuli inayo ngempela. Isilawuli esimemezela imvume ku-manifest yaso kodwa esingakaze sayinikezwa ngesikhathi sokusebenza sisahluleka, futhi ukwehluleka kufika njengokuthula esikhundleni sencwadi yengxoxo.

adb shell pm list permissions -g -d | grep -i control_tunnels
adb shell dumpsys package net.dinglisch.android.taskerm | grep -i control_tunnels

Uma isilawuli singenayo imvume, sebenzisa ukuxhumana uhlelo olukusekelayo ngempela esikhundleni sokwakha ukusakaza ngesandla. Ukuthumela i-Intent nokubona ukuthi ucingo luphumelele kufakazela kuphela ukuthi i-Android ikwamukele, hhayi ukuthi i-WireGuard yasebenza ngakho. Thatha ukuthunyelwa okungaqinisekisiwe njengokungaziwa, hhayi njengempumelelo.

Qhathanisa izinkambu ze-Intent nohlelo olufakiwe

Izinkambu ezine zithwala isicelo sonke, futhi ngayinye inendlela yokwehluleka ebukeka ifana ncamashi nezinye. Thola isenzo, isengezo somhubhe, iphakethe nomgomo ngendlela efanele njengeqoqo elilodwa.

Action:  com.wireguard.android.action.SET_TUNNEL_UP
Extra:   tunnel:lab-wg
Package: com.wireguard.android
Target:  Broadcast Receiver

Isenzo sisho i-UP noma i-DOWN futhi akukho okunye, isengezo sithwala ibizo lomhubhe elilungiselelwe ngqo, iphakethe likhawulela ukulethwa ku-WireGuard, futhi umgomo kumele ube umamukeli hhayi umsebenzi. Ibizo lomhubhe elinephutha lokubhala lenza ukuthula okufanayo nomamukeli ovaliwe, ngakho-ke funda ibizo kuhlelo ngaphambi kokuphetha ngokuthi ukuzenzakalela kuphukile. Isenzo se-DOWN si-com.wireguard.android.action.SET_TUNNEL_DOWN ngesengezo neziphakethe ezifanayo. Ngesikhathi sokuhlola thumela isicelo esisodwa ngesikhathi, ngoba ukusakaza okubili okugijelana kwakha isimo okungekho muntu ongakwabela.

Hlola isicelo esifanayo kusuka ku-shell kudivayisi ukuze uhlukanise i-Intent nokuzenzakalela. Uma lowo myalo wehluleka kanti umsebenzi we-Tasker uphumelela, umehluko yimvume yomthumeli hhayi amanani ezinkambu.

adb shell am broadcast -a com.wireguard.android.action.SET_TUNNEL_UP -e tunnel lab-wg --receiver-permission com.wireguard.android.permission.CONTROL_TUNNELS

Hlola lokho isiqhuma esingakubandakanyi

Umcimbi wokuqalisa uhlelo noma wokuza phambili ungacela ukuxhumana, kodwa uhlelo kungenzeka ukuthi seluzamile ukusesha ibizo noma isicelo sokuqala ngaphambi kokuba lowo mcimbi usingathwe. Isiqhuma siqhuma lapho uhlelo lubona ushintsho lwesimo, okungemuva kokuba uhlelo luqalile ukusebenza. Uma uhlelo kungafanele luxhumane nakancane ngaphandle komhubhe, isiqhuma sokuqalisa akusona umthetho wokuvimbela futhi awukwazi ukwenziwa kanjalo ngokungeza ukulibaziseka. Lungiselela inqubomgomo esekelwayo yokuhlala ivuliwe noma yohlelo ngalunye yokuziphatha kokuvimbela, futhi gcina isiqhuma ukuze kube lula kuphela.

Ukuziphatha kokuvimbela kuhlala kwenye indawo ngokuphelele. adb shell settings get global always_on_vpn_app isho iphakethe elinanyathiselwe njengokuhlala kuvuliwe, futhi adb shell dumpsys connectivity | grep -i vpn ikhombisa amanethiwekhi e-VPN uhlelo oluwalandelayo njengamanje. Akukho kokubili okungathathelwa indawo yisiqhuma sokuqalisa.

Ukucabanga okufanayo kuyasebenza kolunye uhlangothi lwesikhathi. Ukwehlisa umhubhe ngenxa yokuthi iwindi elilodwa lilahlekelwe ukugxila kuphula umsebenzi wangemuva, abasizi bokuqinisekisa kanye nanoma yiluphi olunye uhlelo olwaluthembele ekuxhumaneni. Chaza ukuphela kwesikhathi okunenhloso esikhundleni soshintsho lokugxila, futhi gwema ukulandelana okusheshayo kwe-UP ne-DOWN lapho ukuzenzakalela kushintsha izimo.

Hlola umphumela, hhayi ukuthumela

Ukusakaza okubuya ngaphandle kwephutha i-Android ikwamukele futhi akukho okunye. Funda isimo somhubhe kuhlelo, futhi funda ukulungela kohlelo lokusebenza kulokho okudingwa isinyathelo esilandelayo ngempela. Lokhu kuwukuhlola okubili okuhlukene, futhi ukuphasa okokuqala akusho okwesibili.

Funda futhi isimo sesixhumi esibonakalayo ngqo: adb shell ip -brief addr show tun0 iphrinta isixhumi somhubhe nekheli laso, futhi isixhumi esikhona ngaphandle kwekheli siphezulu kodwa asisebenziseki. Bese uqinisekisa isevisi yangasese uqobo, ngoba umhubhe ophakanyisiwe ngaphandle kokuxhawana noma ngaphandle komzila usahluleka emsebenzini obalulekile. Ukuzenzakalela okulawula ukuxhumana okukodwa okunesibizo ngaphakathi kwemingcele yemvume yako yangempela akudingi ukuthinta isixhumi, ukugijima umyalo we-root noma ukwenza buthaka izivikelo zenethiwekhi ze-Android.

Izihloko ezihlobene