Tasker සහ WireGuard: එක් උමං මාර්ගයකට නිවැරදි Intent යැවීම
Tasker හට දුරස්ථ පාලක ලබන්නා හරහා WireGuard වෙතින් නම් කළ උමං මාර්ගයක් ඉහළ නැංවීමට ඉල්ලා සිටිය හැක. පාලකයට තවමත් CONTROL_TUNNELS අවසරය අවශ්ය වේ.
WireGuard ක්රියාකාරකම ආරම්භ කිරීමෙන් යෙදුමක් ඉදිරියට එයි, නිශ්චිත උමං මාර්ගයක් ඉහළ නැඟෙන්නේ නැත. යෙදුම විවෘත කර බලා සිටින ස්වයංක්රීයකරණය පරීක්ෂණයේ සමත් වන අතර දුරකථනය දැනටමත් මුල් තිරයේ ඇති පළමු අවස්ථාවේදී අසමත් වේ. WireGuard නම් කළ උමං මාර්ග සඳහා ආධාරක දුරස්ථ පාලක මාර්ගයක් ලබා දෙන අතර එය බොහෝ වට්ටෝරු යෝජනා කරන ප්රමාණයට වඩා පටුය. පහත ලැයිස්තුව එම මාර්ගය අවසරයේ සිට නිරීක්ෂිත ප්රතිඵලය දක්වා ගමන් කරයි.
දුරස්ථ පාලනය සක්රීයදැයි පරීක්ෂා කරන්න
දුරස්ථ පාලක ලබන්නා සැමවිටම සවන් නොදෙයි. WireGuard සැකසුම්වල උමං මාර්ගවල දුරස්ථ පාලනය සක්රීය කරන විකල්පයක් ඇත, එය ක්රියාත්මක නොවන තාක් ලබන්නා හඬ නඟා අසමත් වීම වෙනුවට ඉල්ලීම් නොසලකා හරියි. පෙරනිමි අගය හිතාමතාම එසේය, මන්ද උමං මාර්ග ඉහළ නැංවිය හැකි අපනයනය කළ ලබන්නෙක් යෙදුම ස්ථාපිත කළ සෑම උපාංගයකම ආරක්ෂක සිදුරක් වනු ඇත. එය අතුරුමුහුණත හරහා සක්රීය කර ඔබ එසේ කළ බව ලියා තබන්න, මන්ද එය අනාගත පරිශීලකයෙකුට එය මත රඳා පැවති දේ නොදැනම අක්රීය කළ හැකි සැකසුමකි.
ඉහත ලබන්නා හසුරුවන්නේ නම් කළ UP සහ DOWN ඉල්ලීම් පමණි, එබැවින් මෙහි උමං මාර්ගයක් සෑදීමට හෝ එහි වින්යාසය සංස්කරණය කිරීමට මාර්ගයක් නැත. එය මත රැඳීමට පෙර ස්ථාපිත ගොඩනැගීමේ එම අංගය ඇති බව තහවුරු කරන්න: adb shell dumpsys package com.wireguard.android | grep -i receiver ප්රකාශිත ලබන්නන් ලැයිස්තුගත කරයි, දුරස්ථ පාලක ලබන්නා නොමැති ගොඩනැගීමක් කිසිදා පිළිතුරු නොදෙනු ඇත. කාර්ය ප්රවාහයට වෙනත් අන්ත ලක්ෂ්යයක් හෝ වෙනත් සහකරුවෙකු අවශ්ය නම්, එය වෙනත් උමං මාර්ගයක් සහ යෙදුම තුළ වෙනම අතින් සැකසුමකි.
පාලකයට ඇති අවසරය පරීක්ෂා කරන්න
WireGuard ලබන්නා භයානක අවසරයකින් ආරක්ෂා කරයි, com.wireguard.android.permission.CONTROL_TUNNELS, එය පාලනය කරන යෙදුම සතු විය යුතුය. තමන්ගේම විකාශනයකට යවන්නා කිසිදා ප්රකාශ නොකළ හෝ කිසිදා ලබා නොදුන් අවසරයක් නිර්මාණය කළ නොහැක. ස්වයංක්රීයකරණ වට්ටෝරු නිහඬව ස්වයංක්රීයකරණයට නොමැති හැකියාවක් උපකල්පනය කරන පියවර මෙයයි.
කාර්යය ලිවීමට පෙර දෙපැත්තම පරීක්ෂා කරන්න. පළමු විධානය ප්රකාශිත අවසරය ලැයිස්තුගත කරයි, දෙවැන්න පාලකයේ පැකේජයට එය සැබවින්ම තිබේදැයි පෙන්වයි. මැනිෆෙස්ට් තුළ අවසරය ප්රකාශ කරන නමුත් ධාවන කාලයේදී කිසිදා ලබා නොගත් පාලකයක් තවමත් අසමත් වේ, අසමත් වීම සංවාදයක් ලෙස නොව නිහඬතාවක් ලෙස පැමිණේ.
adb shell pm list permissions -g -d | grep -i control_tunnels
adb shell dumpsys package net.dinglisch.android.taskerm | grep -i control_tunnels
පාලකයට අවසරය නොමැති නම්, අතින් විකාශනයක් තැනීම වෙනුවට යෙදුම සැබවින්ම ආධාරක කරන ඒකාබද්ධතාව භාවිත කරන්න. Intent යැවීම සහ ඇමතුම සාර්ථක වූ බව දැකීම Android එය පිළිගත් බව පමණක් ඔප්පු කරයි, WireGuard එය මත ක්රියා කළ බව නොවේ. සත්යාපනය නොකළ යැවීමක් නොදන්නා දෙයක් ලෙස සලකන්න, සාර්ථකත්වයක් ලෙස නොවේ.
Intent ක්ෂේත්ර ස්ථාපිත යෙදුම සමඟ සසඳන්න
ක්ෂේත්ර හතරක් මුළු ඉල්ලීමම රැගෙන යන අතර එක් එක් ක්ෂේත්රයට අනෙක් ඒවාට හරියටම සමාන ලෙස පෙනෙන අසමත් වීමේ ක්රමයක් ඇත. ක්රියාව, උමං මාර්ග අමතර ක්ෂේත්රය, පැකේජය සහ ඉලක්කය එක් කට්ටලයක් ලෙස නිවැරදිව ගන්න.
Action: com.wireguard.android.action.SET_TUNNEL_UP
Extra: tunnel:lab-wg
Package: com.wireguard.android
Target: Broadcast Receiver
ක්රියාව UP හෝ DOWN ලෙස නම් කරයි, වෙන කිසිවක් නොවේ, අමතර ක්ෂේත්රය හරියටම වින්යාසගත උමං මාර්ග නාමය රැගෙන යයි, පැකේජය බෙදාහැරීම WireGuard වෙත සීමා කරයි, ඉලක්කය ක්රියාකාරකමක් නොව ලබන්නා විය යුතුය. අක්ෂර දෝෂයක් සහිත උමං මාර්ග නාමයක් අක්රීය ලබන්නෙකුට සමාන නිහඬතාවක් ඇති කරයි, එබැවින් ස්වයංක්රීයකරණය කැඩී ඇතැයි නිගමනය කිරීමට පෙර යෙදුම තුළ නාමය කියවන්න. DOWN ක්රියාව එම අමතර ක්ෂේත්රය සහ පැකේජය සමඟ com.wireguard.android.action.SET_TUNNEL_DOWN වේ. පරීක්ෂා කරන විට එක් වරකට එක් ඉල්ලීමක් යවන්න, මන්ද එකිනෙකා අභිබවා යන විකාශන දෙකක් කිසිවෙකුට ආරෝපණය කළ නොහැකි තත්ත්වයක් ඇති කරයි.
Intent එක ස්වයංක්රීයකරණයෙන් වෙන් කිරීමට එම ඉල්ලීමම උපාංගයේ ෂෙලයෙන් පරීක්ෂා කරන්න. එම විධානය අසමත් වී Tasker කාර්යය සාර්ථක වන්නේ නම්, වෙනස ක්ෂේත්රවල අගයන් නොව යවන්නාගේ අවසරයයි.
adb shell am broadcast -a com.wireguard.android.action.SET_TUNNEL_UP -e tunnel lab-wg --receiver-permission com.wireguard.android.permission.CONTROL_TUNNELS
ට්රිගරය ආවරණය නොකරන දේ පරීක්ෂා කරන්න
යෙදුම ආරම්භ වීමේ හෝ ඉදිරියට පැමිණීමේ සිදුවීමකට සම්බන්ධතාවයක් ඉල්ලිය හැක, නමුත් එම සිදුවීම හසුරුවන විට යෙදුම දැනටමත් නාම සෙවීමක් හෝ ආරම්භක ඉල්ලීමක් උත්සාහ කර තිබිය හැක. පද්ධතිය තත්ත්ව වෙනස දකින විට ට්රිගරය ක්රියාත්මක වේ, එය යෙදුම වැඩ ආරම්භ කළ පසුවය. යෙදුම කිසිදා උමං මාර්ගයෙන් පිටත සන්නිවේදනය නොකළ යුතු නම්, ආරම්භක ට්රිගරය අවහිර කිරීමේ නියමයක් නොවේ, ප්රමාදයක් එකතු කිරීමෙන් එය එසේ කළ නොහැක. අවහිර කිරීමේ හැසිරීම සඳහා ආධාරක සැමවිටම-ක්රියාත්මක හෝ යෙදුම් අනුව ප්රතිපත්තියක් වින්යාසගත කර ට්රිගරය පහසුව සඳහා පමණක් තබන්න.
අවහිර කිරීමේ හැසිරීම සම්පූර්ණයෙන්ම වෙනත් තැනක ජීවත් වේ. adb shell settings get global always_on_vpn_app සැමවිටම-ක්රියාත්මක ලෙස අමුණා ඇති පැකේජය නම් කරයි, adb shell dumpsys connectivity | grep -i vpn පද්ධතිය දැන් නිරීක්ෂණය කරන VPN ජාල පෙන්වයි. ඒවායින් කිසිවක් ආරම්භක ට්රිගරයකට ආදේශ කළ නොහැක.
එම තර්කය සැසියේ අනෙක් කෙළවරටද අදාළ වේ. එක් කවුළුවක් ෆෝකස් අහිමි වූ නිසා උමං මාර්ගය පහළ දැමීම පසුබිම් කටයුතු, සත්යාපන සහායක සහ සම්බන්ධතාවය මත රැඳී සිටි වෙනත් ඕනෑම යෙදුමක් බිඳ දමයි. ෆෝකස් වෙනසක් වෙනුවට හිතාමතා සැසි අවසානයක් අර්ථ දක්වන්න, ස්වයංක්රීයකරණය සන්දර්භ මාරු කරන විට වේගවත් UP සහ DOWN අනුක්රම මඟහරින්න.
ප්රතිඵලය පරීක්ෂා කරන්න, යැවීම නොවේ
දෝෂයකින් තොරව ආපසු එන විකාශනයක් Android පිළිගෙන ඇත, ඊට වැඩි කිසිවක් නොවේ. උමං මාර්ගයේ තත්ත්වය යෙදුමෙන් කියවන්න, කාර්ය ප්රවාහයේ සූදානම ඊළඟ පියවරට සැබවින්ම අවශ්ය දෙයින් කියවන්න. මේවා වෙනස් පරීක්ෂණ දෙකකි, පළමුවැන්න සමත් වීම දෙවැන්න අදහස් නොකරයි.
අතුරුමුහුණතේ තත්ත්වයද සෘජුවම කියවන්න: adb shell ip -brief addr show tun0 උමං මාර්ග අතුරුමුහුණත සහ එහි ලිපිනය මුද්රණය කරයි, ලිපිනයක් නොමැතිව පවතින අතුරුමුහුණතක් ඉහළ තිබුණද භාවිතයට නුසුදුසුය. පසුව පෞද්ගලික සේවාවම සත්යාපනය කරන්න, මන්ද අත්ලොස්සක් හෝ මාර්ගයක් නොමැතිව ඉහළ ඇති උමං මාර්ගයක් වැදගත් වූ කාර්යයේ තවමත් අසමත් වේ. එක් නම් කළ සම්බන්ධතාවයක් තම සැබෑ අවසර සීමාව තුළ පාලනය කරන ස්වයංක්රීයකරණයකට අතුරුමුහුණත ස්පර්ශ කිරීම, root විධානයක් ධාවනය කිරීම හෝ Android ජාල ආරක්ෂණ දුර්වල කිරීම අවශ්ය නොවේ.