הסתרת התראה של 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 של המערכת. טלפון עם באנר אחד פחות ודרך ברורה להרוג את ההפעלה הוא התוצאה שאתם רוצים. ההיפך, מגירה שקטה יותר ובלי מושג אם התעבורה מנותבת, אינו שיפור.