API کروم VPN: فقط ChromeOS، نه تونل دسکتاپ
chrome.vpnProvider یک API مخصوص ChromeOS است. پروکسی مرورگر و افزونهای که یک کلاینت VPN دسکتاپ را کنترل میکند دو محصول متفاوت با دامنههای متفاوت هستند.
سه محصول خود را Chrome VPN مینامند و تنها یکی از آنها همان چیزی است که مستندات vpnProvider توصیف میکند. این API روی ChromeOS در دسترس است، جایی که یک افزونه میتواند سمت کلاینت یک اتصال VPN را پیادهسازی کند بهجای آنکه با یک کلاینت نصبشده صحبت کند. افزونهٔ پروکسی مرورگر تغییر میدهد که Chrome درخواستها را کجا بفرستد. افزونهای که یک کلاینت دسکتاپ جداگانه را کنترل میکند، یک صفحهٔ کنترل برای نرمافزاری است که بیرون از مرورگر اجرا میشود. دانستن اینکه کدام یک از این سه را میبینید، به بیشتر پرسشهایی پاسخ میدهد که مردم به این مقایسه میآورند.
یادداشت پلتفرم نخستین صافی است
مرجع رسمی vpnProvider محدودیت دسترسی خود را در متن خودش بیان میکند و مجوزی که آنجا نام برده شده به همان قرارداد تعلق دارد. افزودن vpnProvider به یک manifest در ویندوز آن رابط را ایجاد نمیکند.
پیش از فهرست مجوزها، خط پلتفرم را بخوانید، چون مجوز فقط جایی معنا دارد که API وجود دارد.
افزونهٔ پروکسی: مرز، مرورگر است
افزونهٔ پروکسی از تنظیمات پروکسی مرورگر استفاده میکند تا درخواستهای Chrome را از طریق یک سرور بفرستد. چندسکویی است و دربارهٔ دامنهٔ خود صادق است. برنامههای دیگر اتصالهای خودشان را نگه میدارند و ممکن است بخشی از ترافیک مرورگر هنوز مسیر پیکربندیشده را دنبال نکند. این تغییری در سطح مرورگر است، نه تونلی در سطح سامانه.
اگر لازم است «فقط همین یک سایت، در همین یک مرورگر»، این ابزار درست است.
افزونه بههمراه برنامهٔ همراه: تونل مال برنامه است
کلاینت VPN دسکتاپ معمولاً یک سرویس و یک آداپتور مجازی نصب میکند و افزونهٔ آن یک کنترل از راه دور است که برنامه را فرامیخواند. تونل در سطح سیستمعامل وجود دارد، پس برنامههایی را پوشش میدهد که مرورگر هرگز آنها را نمیبیند. مجوزهای افزونه کانال کنترل را توصیف میکنند نه رمزنگاری را. برداشتن افزونه تونل را دستنخورده میگذارد، در حالی که برداشتن برنامه افزونه را میشکند.
همین عدم تقارن سریعترین آزمون است. افزونه را غیرفعال کنید و ببینید آیا برنامههای دیگر هنوز از VPN استفاده میکنند.
ارائهدهندهٔ ChromeOS: افزونه کلاینت را پیادهسازی میکند
در ChromeOS مدل ارائهدهنده از نظر ماهیت متفاوت است. افزونه پیامهای پیکربندی و پلتفرم را دریافت میکند، یک شیء پیکربندی میسازد، وضعیت اتصال را به پلتفرم گزارش میدهد و ترافیک را از طریق API تأمین میکند نه از طریق یک کلاینت نصبشدهٔ جداگانه. این به نوشتن یک کلاینت VPN نزدیکتر است تا به پیکربندی یکی. API همچنین نقطهٔ پایانی را فرض میکند که خودتان اداره میکنید، پس خدمتی عرضه نمیکند.
به همین دلیل مرجع از پیادهسازی کلاینت سخن میگوید نه از اتصال به یکی.
خواندن یک ادعای محصول در برابر این سه
بپرسید کدام سیستمعاملها پشتیبانی میشوند، سپس بپرسید کدام جزء مالک اتصال است. اگر پاسخ پروکسی مرورگر است، دامنهٔ مرورگر را انتظار داشته باشید. اگر پاسخ برنامهٔ همراه است، تا زمانی که آن برنامه اجرا میشود دامنهٔ سامانه را انتظار داشته باشید. اگر پاسخ ارائهدهندهٔ ChromeOS است، انتظار داشته باشید روی ChromeOS کار کند و جای دیگری نه. صفحهٔ محصولی که میگوید «Chrome VPN» و به این دو پرسش پاسخ نمیدهد، به شما نگفته است چه میکند.
مجوزها را هم با کار اعلامشده بسنجید. دسترسی به وبسایتها و کنترل پروکسی دو مجوز متفاوتاند و هیچکدام توجیه نمیشود فقط به این دلیل که API پلتفرم دیگری تصادفاً نامی یکسان دارد.
چیزی که هیچکدام به شما نمیگویند
این رابط چیزی دربارهٔ اینکه چه کسی نقطهٔ پایانی را اداره میکند، چه ثبت میکند، یا اینکه خدمت در محل زندگی شما در دسترس است یا نه نمیگوید. اینها ویژگیهای ارائهدهنده است، نه API. تونلی که وجود دارد بهطور خودکار تونلی نیست که باید به آن اعتماد کنید، و مجوزی که وجود دارد توانمندی روی پلتفرم شما نیست. این دو داوری را جدا نگه دارید.
سپس ادعا را روی دستگاهی که واقعاً استفاده میکنید، با برنامهای که مرورگر نیست بیازمایید.