ผลิตภัณฑ์สามอย่างเรียกตัวเองว่า Chrome VPN และมีเพียงอย่างเดียวที่เป็นสิ่งที่เอกสารของ vpnProvider อธิบาย API นั้นมีใน ChromeOS ซึ่งส่วนขยายสามารถทำงานฝั่งไคลเอนต์ของการเชื่อมต่อ VPN ได้แทนที่จะคุยกับไคลเอนต์ที่ติดตั้งไว้ ส่วนขยายพร็อกซีของเบราว์เซอร์เปลี่ยนตำแหน่งที่ Chrome ส่งคำขอ ส่วนขยายที่ควบคุมไคลเอนต์เดสก์ท็อปแยกต่างหากคือแผงควบคุมของซอฟต์แวร์ที่ทำงานนอกเบราว์เซอร์ การรู้ว่าคุณกำลังดูตัวไหนในสามตัวนี้ตอบคำถามส่วนใหญ่ที่ผู้คนนำมาสู่การเปรียบเทียบนี้

หมายเหตุเรื่องแพลตฟอร์มคือตัวกรองแรก

เอกสารอ้างอิง vpnProvider อย่างเป็นทางการ ระบุข้อจำกัดด้านความพร้อมใช้งานไว้ในเนื้อหาของตัวเอง และสิทธิ์ที่ระบุไว้ที่นั่นเป็นของสัญญานั้น การเพิ่ม vpnProvider ลงในไฟล์ manifest บน Windows ไม่ได้สร้างอินเทอร์เฟซนั้น

อ่านบรรทัดเรื่องแพลตฟอร์มก่อนรายการสิทธิ์ เพราะสิทธิ์มีความหมายเฉพาะที่ซึ่ง API มีอยู่

ส่วนขยายพร็อกซี: เบราว์เซอร์คือขอบเขต

ส่วนขยายพร็อกซีใช้การตั้งค่าพร็อกซีของเบราว์เซอร์เพื่อส่งคำขอของ Chrome ผ่านเซิร์ฟเวอร์ ทำงานได้ทุกแพลตฟอร์มและซื่อตรงเกี่ยวกับขอบเขตของมัน แอปอื่นยังคงมีการเชื่อมต่อของตัวเอง และทราฟฟิกเบราว์เซอร์บางส่วนอาจยังไม่ไปตามเส้นทางที่กำหนด นั่นคือการเปลี่ยนแปลงระดับเบราว์เซอร์ ไม่ใช่ทันเนลระดับระบบ

ถ้าความต้องการคือ “เว็บไซต์เดียวนี้ ในเบราว์เซอร์เดียวนี้” มันคือเครื่องมือที่ถูกต้อง

ส่วนขยายกับแอปคู่หู: ทันเนลเป็นของแอป

ไคลเอนต์ VPN บนเดสก์ท็อปมักติดตั้งบริการและอะแดปเตอร์เสมือน และส่วนขยายของมันคือรีโมทที่เรียกเข้าไปในแอป ทันเนลอยู่ที่ระดับระบบปฏิบัติการ ดังนั้น มันจึงครอบคลุมแอปที่เบราว์เซอร์ไม่เคยเห็น สิทธิ์ของส่วนขยายอธิบายช่องทางควบคุม ไม่ใช่การเข้ารหัส การถอดส่วนขยายออกทำให้ทันเนลยังอยู่ครบ ขณะที่การถอดแอปออกทำให้ส่วนขยายใช้ไม่ได้

ความไม่สมมาตรนั้นคือการทดสอบที่เร็วที่สุด ปิดส่วนขยายแล้วดูว่าแอปอื่นยังใช้ VPN อยู่หรือไม่

ผู้ให้บริการ ChromeOS: ส่วนขยายเป็นผู้ทำงานฝั่งไคลเอนต์

บน ChromeOS โมเดลผู้ให้บริการต่างกันโดยธรรมชาติ ส่วนขยายรับข้อความการตั้งค่าและข้อความจากแพลตฟอร์ม สร้างออบเจกต์การตั้งค่า รายงานสถานะการเชื่อมต่อกลับไปยังแพลตฟอร์ม และจัดส่งทราฟฟิกผ่าน API แทนที่จะผ่านไคลเอนต์ที่ติดตั้งแยกไว้ นี่ใกล้เคียงกับการเขียนไคลเอนต์ VPN มากกว่าการตั้งค่าไคลเอนต์ API ยังถือว่าคุณมีปลายทางที่คุณดูแลอยู่แล้ว มันจึงไม่ได้ให้บริการ

นั่นคือเหตุผลที่เอกสารอ้างอิงพูดถึงการทำให้ไคลเอนต์ทำงาน ไม่ใช่การเชื่อมต่อไปยังไคลเอนต์

การอ่านคำกล่าวอ้างของผลิตภัณฑ์เทียบกับสามตัวนี้

ถามว่าระบบปฏิบัติการใดรองรับ แล้วถามว่าองค์ประกอบใดเป็นเจ้าของการเชื่อมต่อ ถ้าคำตอบคือพร็อกซีในเบราว์เซอร์ ให้คาดหวังขอบเขตระดับเบราว์เซอร์ ถ้าคำตอบคือแอปคู่หู ให้คาดหวังขอบเขตระดับระบบตราบเท่าที่แอปนั้นทำงานอยู่ ถ้าคำตอบคือผู้ให้บริการ ChromeOS ให้คาดหวังว่ามันจะทำงานบน ChromeOS และที่อื่นไม่ได้ หน้าผลิตภัณฑ์ที่บอกว่า “Chrome VPN” โดยไม่ตอบสองคำถามนั้นยังไม่ได้บอกคุณว่ามันทำอะไร

ตรวจสอบสิทธิ์เทียบกับงานที่โฆษณาไว้ด้วย การเข้าถึงเว็บไซต์และการควบคุมพร็อกซีเป็นสิทธิ์คนละอย่าง และไม่มีอย่างใดชอบธรรมขึ้นมาเพราะ API ของอีกแพลตฟอร์มบังเอิญชื่อเดียวกัน

สิ่งที่ไม่มีตัวไหนบอกคุณ

อินเทอร์เฟซไม่ได้บอกอะไรเกี่ยวกับใครเป็นผู้ดูแลปลายทาง มันบันทึกอะไร หรือบริการมีให้ใช้ในที่ที่คุณอยู่หรือไม่ นั่นเป็นคุณสมบัติของผู้ให้บริการ ไม่ใช่ของ API ทันเนลที่มีอยู่ไม่ได้แปลว่าควรเชื่อถือโดยอัตโนมัติ และสิทธิ์ที่มีอยู่ไม่ใช่ความสามารถบนแพลตฟอร์มของคุณ แยกการตัดสินสองอย่างนี้ออกจากกัน

จากนั้นทดสอบคำกล่าวอ้างบนอุปกรณ์ที่คุณใช้จริง ด้วยแอปที่ไม่ใช่เบราว์เซอร์

บทความที่เกี่ยวข้อง