په Android کې د هر اپلیکیشن لپاره VPN: اپلیکیشن لرې کول یې بلاک کول نه دي
په سکرین کې د هر اپلیکیشن لړلیک د یو ټنل مالک دی، او اپلیکیشن لرې کول هغه د دې ټنل شاوخوا ګرځوي، نه د شبکې څخه بهر. له هماغه ځایه پیل کړه.
دوه کسان یوه پوښتنه کوي او یو له بل سره ناسم ځوابونه ترلاسه کوي، ځکه چې دوی په بېلو ځایونو کې ولاړ دي. یو یې د سیستم د VPN تنظیماتو سکرین خلاص لري او د اپلیکیشنونو لړلیک سمول کوي. بل په ایډیټر کې VpnService.Builder.addDisallowedApplication() لیکي. دواړه ورته د هر اپلیکیشن VPN فلټر وایي. یوازې یو یې هغه کنټرول لري چې دوی یې بیانوي، او دواړه هېڅ هم نه بلاک کوي.
له هغه سکرین پیل کړه چې کاروونکی یې ویني
تنظیمات خلاص کړه، د VPN ننوتنه ومومه او هغه اړیکه وګوره چې واقعاً فعاله ده. که کلاینټ د هر اپلیکیشن لړلیک وړاندې کوي، هغه لړلیک د کلاینټ خپل ټنل دی. پلیټفارم داسې عمومي API نه خپروي چې یو ناتړلی اپلیکیشن پر مټ د بل VPN د اپلیکیشنونو غوره کول ولولي یا بدل کړي، نو دویم اپلیکیشن نشي کولی هغه لړلیک د کاروونکي لپاره سم کړي.
دا د لارې لومړی ښاخ دی. که نصب شوي VPN دا تنظیم نه لري، د کوډ له مخې د تېرېدو څه نشته: دا ځانګړتیا په هغه محصول کې نشته چې ټنل لري. که یې لري، سم اصلاح په هماغه سکرین کې ده، او هغه څوک کوي چې خلاصولی یې شي.
پاکټ تر ټنل پورې تعقیب کړه
کله چې ستا خپل اپلیکیشن ټنل جوړوي، TUN انټرفیس جوړوي او اعلانوي چې کوم اپلیکیشنونه ترافیک ته ننوځي. د غړیتوب غوښتنې د انټرفیس له جوړېدو مخکې کېږي، او له هغه وروسته د هغه غونډې لپاره د قواعدو ټولګه ثابته ده:
val builder = VpnService.Builder()
builder.addAddress("10.8.0.2", 32)
builder.addRoute("0.0.0.0", 0)
builder.addDisallowedApplication("com.example.bypass")
val tun = builder.establish() // membership decided hereهغه غوښتنې یوازې هغه ټنل ته اړوندې دي چې ستا اپلیکیشن همدا اوس جوړ کړ، او بل هیچا ته نه. دوی د ټول وسیلې پالیسي نه ده، د نورو کلاینټونو لپاره نه پاتې کېږي، او د بل چا VPN ته نشي رسېدلی. کله چې د جوړونکي غوښتنه استثنا وګوزاري ځکه چې پاکټ حل نشي، انټرفیس هېڅکله نه جوړېږي، چې دا پاکه ناکامي ده، نه غلې.
ولې لرې کول د بلاک په څېر ښکارېده
لرې شوی اپلیکیشن ستا د ټنل شاوخوا لاندې شبکې ته لېږل کېږي. دا د هغه د بلاک کولو برعکس دی: ترافیک لا هم وسیله پرېږدي، یوازې د هغه انټرفیس بهر چې ته یې کنټرول کوي. د فایر وال په سټایل اپلیکیشن برعکس کوي. دا د اپلیکیشن ترافیک خپل ټنل ته مني او بیا پاکټونه غورځوي، یا له لېږلو انکار کوي، نو انټرفیس هماغه دی او د پالیسي لوری بدل شوی.
د دې بدلون شاته کار د تنظیماتو بیرغ نه دی. ته د ټنل له توضیح څخه IP پاکټونه لولې، د بهیر له مخې پرېکړه کوې، او بیا یې د ساتل شوي سوکټ له لارې لېږې یا غورځوې. هر څه چې ته نه سمبالې هماغسې ودرېږي، او ځکه نیمګړی ټنل د کار کوونکي فلټر په څېر نه، د ماتې شبکې په څېر ښکاري. که هدف بلاک وي، د پاکټونو سمبالښت، مخکیني خدمت او د هغه ترافیک لپاره لیکلې پالیسي چې ته یې طبقه بندي نشې کولی، په پام کې ونیسه.
کله چې پخپله یې جوړوې څه ماتېږي
Android عموماً په یو وخت کې یوازې یو فعال VPN ته اجازه ورکوي، نو ستا فلټر کوونکی ټنل او د محرمیت ټنل د یوې ځای لپاره سیالي کوي، پرته له دې چې محصولات ځنځیر بندي ملاتړ کړي. تل فعال VPN د اړیکو بلاک سره د ناکامۍ طریقه په داسې ډول بدلوي چې دلته مهمه ده: هغه ترافیک چې ټنل ته نشي ننوتلی، د مستقیم لېږلو پرځای غورځول کېږي، دا هغه څه دي چې د تېښتې مخنیوي ډیزاین غواړي او ډیبګ کول یې کم خوښوي.
د پاکټونو لیدل دویمه تله ده. د اپلیکیشن د پاکټ نوم حل کول کېدای شي په NameNotFoundException ناکام شي، او په نویو Android نسخو کې د هغو پاکټونو ټولګه چې ته یې وینې د هغو پوښتنو پورې اړه لري چې ته اعلان کړې. د دې پرځای چې فکر وکړې هر نوم حل کېږي، استثنا سمبال کړه، او کله چې اپلیکیشنونه نصب یا لرې کېږي لړلیک بیا ولوله، د تل لپاره یې په کیش کې ساتلو پرځای.
مدیریت شوې وسیلې درېیم مالک زیاتوي. د تصدیو د خوځښت پالیسي کولای شي د هر اپلیکیشن VPN یا تل فعال پروفایل وټاکي، او عادي اپلیکیشن یې نشي لرې کولی. مخکې له دې چې خپل کوډ ډیبګ کړې، وګوره چې وسیله مدیریت شوې ده که نه، ځکه په دې حالت کې هغه لړلیک چې ته یې د بدلولو هڅه کوې کېدای شي د تلیفون لرونکي هیچا لخوا هم سم نشي.
د هغه اپلیکیشن سره یې وآزمويه چې ته یې کنټرول کوي
د هغه اپلیکیشن سره مه آزمويه چې ته یې فلټرول غواړې. دویم اپلیکیشن وکاروه چې د شبکې چلند یې کتلی شې، او وګوره چې ایا د هغه ترافیک ستا د ټنل له لارې بهر ځي او د هدف یې نه ځي. که دواړه دننه پاتې شي، پالیسي کار کوي او هدف لرې شوی؛ که هېڅ یو هم نه ځي، ټنل پخپله غلط دی او د اپلیکیشنونو لړلیک ستونزه نه ده.
بیا پرېکړه وکړه چې له درېیو څخه کوم یو په رښتیا جوړوې. د هر اپلیکیشن ټنل د جوړونکي API دی، لړلیک ستا د پروفایل برخه. د وسیلې فایر وال د پاکټونو سمبالښت او هغه ژوند چرخه ده چې ته یې دفاع کولی شې. د بل چا VPN بدلول هېڅکله ملاتړ شوې لار نه ده، او هلته رښتینی ځواب دا دی چې دا تنظیم هماغه محصول ته اړه لري.