پنهان کردن اعلان VPN اندروید بدون متوقف کردن تونل
اندروید میتواند سه اعلان VPN متفاوت نشان دهد. بفهمید کدام برنامه صاحب اعلانی است که میبینید، هر کنترل واقعاً چه چیزی را تغییر میدهد و چه چیزی به کار خود ادامه میدهد.
میتوانید اعلانی را که میگوید VPN شما در حال اجراست پنهان کنید و تونل بدون آن به کار خود ادامه میدهد. این موضوع مردم را شگفتزده میکند، چون پیام و اتصال مثل یک شیء واحد به نظر میرسند. اینطور نیست. در بیشتر گوشیهای اندروید، مدخل کشوی اعلانها، کلید نوار وضعیت و اعلان سرویس در حال اجرا میتوانند از سه صاحب متفاوت بیایند و تنها یکی از این صاحبها به مجوز اعلان برنامه پاسخ میدهد. فهمیدن اینکه چه چیزی را مجاز به حذف هستید با یافتن این شروع میشود که چه کسی خطی را که میبینید منتشر کرده است.
سه اعلان، سه صاحب
صاحب اول خود برنامه VPN است که معمولاً اعلانی دائمی با کنش اتصال یا قطع و زمانسنج نشست منتشر میکند. دومین صاحب، نشانگر VPN خود اندروید است: SystemUI آیکون کلید را میکشد و بسته به نسخه و سازنده، خطی در سطح سیستم که شبکه VPN فعال را گزارش میکند. سومین صاحب، اعلان سیاست دستگاه است که یک نمایه کاری یا برنامه مدیر آن را کنترل میکند. هیچکدام از اینها شیء یکسانی نیستند، حتی وقتی در کشو کنار هم مینشینند.
پیش از دست زدن به هر کلیدی، پیام را دستهبندی کنید:
| Notice | Who controls it |
|---|---|
| App-owned ongoing notice | The app's notification channel; a long-press shows the channel name and the owning package |
| Foreground-service notice | The service visibility Android requires while the tunnel runs; the app cannot simply drop it |
| System VPN indicator | SystemUI or the manufacturer, driven by the VPN network state rather than by the app's channel |
| Work-policy notice | The administrator or work-profile policy; the phone user may not have the switch at all |
اینکه کدام کنترلها را میبینید به نسخه اندروید، بیلد سازنده و کانالی بستگی دارد که برنامه ساخته است. کلید خاکستری بیانیهای درباره سیاست است، نه دعوتی برای دور زدن آن. اگر کلید در بیلد شما وجود ندارد، پاسخ صادقانه این است که این اعلان خاص مال شما برای حذف نیست.
بسته پشت خط را پیدا کنید
اعلان را نگه دارید و پیش از خواندن هر چیز دیگری تنظیماتش را باز کنید. صفحهای که به آن میرسید نام کانال را میگوید و از اندروید 8 به بعد آن کانال دقیقاً به یک بسته تعلق دارد. اگر نام کانال چیزی مثل وضعیت VPN است و برنامه کلاینت شماست، اعلان متعلق به برنامه است و صفحه تنظیمات خود برنامه جایی است که باید نگاه کنید. اگر به صفحهای سیستمی بدون هیچ کانالی رسیدید، به نشانگر پلتفرم نگاه میکنید و برنامه نمیتواند کمکتان کند.
وقتی نگه داشتن طولانی چیز کافی به شما نمیگوید، یک فراخوانی adb فهرست میکند که واقعاً چه چیزی و توسط چه کسی منتشر شده است: adb shell dumpsys notification --noredact، سپس در خروجی بستهای را که مشکوک هستید جستجو کنید. شما بسته منتشرکننده و شناسه کانال را میخواهید، نه چیزی که از آنجا بتوانید ویرایش کنید. با خروجی مثل یک تشخیص رفتار کنید، چون هیچ چیز در آن فهرست اعلان را تغییر نمیدهد.
در گوشی مدیریتشده پاسخ گاهی خستهکننده است: اعلان از برنامه سیاست دستگاه میآید و کسی که گوشی را در دست دارد همان کسی نیست که میتواند آن را خاموش کند. در این حالت کنسول مدیر تنها کنترل پشتیبانیشده است و تنظیمات خود گوشی هر منویی که پیدا کنید خاکستری میماند.
مجوز اندروید 13 واقعاً چه چیزی را تغییر میدهد
اندروید 13 اعلانها را به مجوز زمان اجرا تبدیل کرد، بنابراین برنامهای که API 33 را هدف میگیرد باید پیش از انتشار هر چیزی درخواست کند. آن درخواست را رد کنید و اعلانهای برنامه از کشو ناپدید میشوند، که شبیه راهحلی است که مردم دنبالش هستند. اما سرویس پیشزمینه پشت VPN به کار خود ادامه میدهد و سیستم هنوز سرویس را در مدیر وظایف نشان میدهد، حتی وقتی اعلانش از کشو رفته است. خود مجوز VPN دستنخورده میماند: تونل تا زمانی که آن را قطع نکنید یا رضایت VPN برنامه را پس بگیرید برپا میماند.
این معامله بدتر از آن است که به نظر میرسد، چون اعلان سریعترین راه شما برای دیدن نشست و پایان دادن به آن هم هست. حذفش کنید و گوشی را سختتر برای فهمیدن کردهاید، بیآنکه چیزی در مسیریابی تغییر داده باشید. مستندات مجوز اعلان رفتار کشو را توصیف میکند؛ روش پشتیبانیشدهای برای بیصدا کردن تونلی که در حال اجراست توصیف نمیکند.
یک نکته دیگر درباره نسخه هست که دانستنش میارزد: اعلان سرویس پیشزمینه را مدل سرویس الزامی میکند و برنامه آزاد نیست فقط چون مجوزی را رد کردهاید آن را پنهان کند. بعضی بیلدها نسخه فشرده را نمایان نگه میدارند، بعضی دیگر شاهد را به مدیر وظایف منتقل میکنند، و این تفاوت انتخاب سازنده است نه تنظیمی که از قلم انداختهاید.
حالت نمایشی و ترفندهای آیکون راهحل نیستند
توصیههایی درباره حالت نمایشی، درباره پنهان کردن آیکونها با فرمانهای مستندنشده adb و درباره یک باگ رابط کاربری که کلید را ناپدید میکند پیدا خواهید کرد. همه اینها نمایش را تغییر میدهند. هیچکدام مسیریابی، سیاست یا مجوز VPN را که سیستم پیگیری میکند تغییر نمیدهد، و گوشیای که وضعیت شبکهاش نامرئی است سختتر از گوشیای با یک خط اضافه در کشو عیبیابی میشود.
آیکون اتصال برنامه هم بررسی سلامت نیست. تونل میتواند قطع باشد در حالی که رابط قدیمی یا اعلان کهنهای باقی مانده است، و یک سرویس فیلتر محلی میتواند کلید VPN را بالا بیاورد بیآنکه بایتی به خروجی دور بفرستد. وضعیت واقعی را در تنظیمات VPN سیستم بررسی کنید، نه در کشو.
چه چیزی را تغییر میدادم، به ترتیب
با شناسایی صاحب شروع کنید، سپس فقط کنترلی را به کار ببرید که همان صاحب ارائه میدهد. اگر اعلان متعلق به برنامه و اختیاری است، آن کانال را خاموش کنید و کانال سرویس را به حال خود بگذارید. اگر نشانگر سیستم است، بپذیریدش، چون واقعیتی درباره دستگاه را گزارش میکند نه تبلیغ یک برنامه. روی دستگاه مدیریتشده، سر سیاست مدیر بایستید و دنبال دور زدن نروید.
سپس تأیید کنید که هنوز راه پشتیبانیشدهای برای بررسی تونل و قطع آن دارید، چه صفحه خود برنامه باشد چه صفحه تنظیمات VPN سیستم. گوشیای با یک بنر کمتر و راهی روشن برای کشتن نشست همان نتیجهای است که میخواهید. برعکس، کشویی ساکتتر و هیچ ایدهای درباره اینکه ترافیک مسیریابی میشود یا نه، بهبود نیست.