Tasker: เชื่อมต่อ VPN ก่อนเปิด URL ส่วนตัว
Tasker ควรเชื่อมต่อและรอก่อนเปิด URL ส่วนตัว: กำหนดความพร้อม ใช้ส่วนติดต่อควบคุมของไคลเอนต์ และคงโหมดเปิดตลอดไว้เพื่อขอบเขตที่เข้มงวด
การเปิด URL ส่วนตัวแล้วหวังว่าอุโมงค์จะขึ้นก่อนเป็นการแข่งกัน และโดยปกติเบราว์เซอร์เป็นฝ่ายชนะ ทางลัดที่ตอบสนองต่อหน้าที่กำลังโหลดอยู่แล้วพลาดการค้นหา DNS และมักพลาดการเชื่อมต่อแรก ซึ่งเป็นส่วนที่ต้องการ VPN พอดี ลำดับงานต้องเป็นเจ้าของลำดับ ไม่ใช่แค่เฝ้าดู สามเงื่อนไขเป็นตัวตัดสินว่าลำดับงานนั้นควรอยู่ใน Tasker หรือไม่
จุดเข้าเดียวควรเป็นเจ้าของลำดับ
ให้บริการส่วนตัวมีจุดเข้าที่อนุมัติแล้วเพียงจุดเดียว และปล่อยให้จุดนั้นทำตามขั้นตอนตามลำดับ ตรวจสอบปลายทาง เลือกโปรไฟล์ที่ตั้งใจ ร้องขอการเชื่อมต่อ รอผลความพร้อมโดยมีขีดจำกัดว่าจะรอนานเท่าใด แล้วจึงเปิด URL หากขั้นตอนใดล้มเหลว ให้หยุดและแจ้งเช่นนั้น แทนที่จะปล่อยผ่านไปสู่การเปิดโดยตรง
ข้อสุดท้ายนี้เองที่คนมักข้าม ลำดับงานที่ยังเปิด URL เมื่อหมดเวลาแย่กว่าไม่มีการทำงานอัตโนมัติเลย เพราะมันสร้างคำขอที่ดูเหมือน VPN ที่ล้มเหลวทั้งที่ไม่เคยใช้เลย
1. validate destination against the approved list
2. select the intended VPN profile
3. request connection through the client's supported interface
4. wait for readiness, maximum 20 seconds
5. open the URL only if readiness succeeded
6. on timeout, stop and report
รายการที่มีหมายเลขข้างต้นคือสัญญา ไม่ใช่โปรไฟล์ที่ส่งออก ไคลเอนต์แต่ละตัวใช้พื้นผิวการควบคุมต่างกัน และบางตัวต้องใช้ปลั๊กอิน การอนุญาตควบคุมอย่างชัดเจน หรือความยินยอมของผู้ใช้เพียงครั้งเดียวซึ่งไม่มีระบบอัตโนมัติใดให้ได้
เชื่อมต่อแล้วไม่เหมือนพร้อม
สถานะที่บอกว่าอุโมงค์เริ่มแล้ว พิสูจน์ว่าไคลเอนต์ยอมรับคำขอ ไม่ได้พิสูจน์ว่าตัวแปลงชื่อส่งคืนที่อยู่ส่วนตัวแล้ว หรือบริการที่ตั้งใจเข้าถึงได้ สิ่งเหล่านี้เป็นผลลัพธ์แยกกัน และช่องว่างระหว่างกันคือจุดที่ทางลัดที่เปิดเร็วเกินไปล้มเหลวอย่างเงียบ ๆ ไคลเอนต์รายงานสถานะของตัวเอง ไม่ใช่สถานะของเส้นทางที่ URL จะใช้
กำหนดความพร้อมเทียบกับสิ่งที่ลำดับงานสังเกตได้ สถานะการเชื่อมต่อจากไคลเอนต์ ที่อยู่ที่แปลงได้จากช่วงที่คาดไว้ หรือการทดสอบการเข้าถึงบริการเฉพาะ ใช้ได้ทั้งหมด โดยมีเงื่อนไขว่าการทดสอบต้องไม่ย้อนกลับไปใช้เส้นทางเครือข่ายปกติ การทดสอบที่สำเร็จผ่านเส้นทางปกติไม่ได้บอกอะไรคุณเลย
จำกัดการรอ เงื่อนไขความพร้อมที่ไม่มีขีดจำกัดเวลาทำให้โปรไฟล์ที่เสียกลายเป็นทางลัดที่ค้าง และผู้ใช้รายงานว่าเป็นโทรศัพท์ค้าง ไม่ใช่ปัญหา VPN
Tasker ทำอะไรได้และทำอะไรไม่ได้
Tasker ให้กาว คือ ทริกเกอร์ รายการการกระทำที่เรียงลำดับ เงื่อนไข และการกระทำ URL การกระทำ เปิด URL ทำเฉพาะขั้นตอนการเปิดและไม่ทำอย่างอื่น ขั้นตอนการเชื่อมต่อต้องมาจากไคลเอนต์ VPN ผ่านปลั๊กอิน intent หรือบริการที่เปิดเผยซึ่งไคลเอนต์จัดทำเอกสารและอนุญาต
ตัวอย่างเช่น OpenVPN for Android จัดทำเอกสารส่วนติดต่อควบคุมระยะไกลที่สร้างบน AIDL และ intent นั่นคือความสามารถของไคลเอนต์นั้น ไม่ใช่ใบอนุญาตให้งานใด ๆ บนอุปกรณ์สั่งการมัน ให้สิทธิ์ควบคุมเฉพาะแอปที่คุณตั้งใจ เพราะชั้นระบบอัตโนมัติที่เชื่อมต่อและตัดอุโมงค์ได้เป็นพื้นผิวการควบคุมที่ควรค่าแก่การปกป้อง
หากไคลเอนต์ที่ติดตั้งไม่เปิดเผยกลไกควบคุมที่รองรับเลย คำตอบที่ซื่อสัตย์คือลำดับงานนี้สร้างบนไคลเอนต์นั้นไม่ได้ หน้าเปรียบเทียบคุณสมบัติเก่าไม่ใช่ข้อกำหนดความสามารถสำหรับเวอร์ชันที่อยู่ในโทรศัพท์
เมื่อขอบเขตต้องเป็นข้อบังคับ
ระบบอัตโนมัติเป็นความสะดวก และความสะดวกบังคับขอบเขตความปลอดภัยไม่ได้ หากข้อกำหนดคือแอปที่ครอบคลุมต้องไม่สื่อสารโดยไม่มี VPN ให้ใช้การตั้งค่า VPN เปิดตลอดและการบล็อกของแพลตฟอร์ม หรือการกำหนดค่าที่จัดการเทียบเท่า เหตุการณ์เบราว์เซอร์ที่เกิดหลังจากเริ่มการนำทางแทนการบังคับนั้นไม่ได้ ไม่ว่าลำดับงานจะเรียบเรียงอย่างระมัดระวังเพียงใด
ตัดสินใจว่าคุณกำลังสร้างแบบไหน ทางลัดที่เชื่อมต่อก่อนแล้วจึงเปิดมีประโยชน์และไม่ใช่การรับประกัน อุปกรณ์ที่จัดการซึ่งเปิดการบล็อกไว้คือการรับประกันและไม่ต้องใช้ลำดับ Tasker เลย
| Requirement | Mechanism |
|---|---|
| Open the page after the tunnel is ready | Ordered task with a bounded readiness wait |
| Never allow traffic outside the tunnel | Always-on VPN with blocking, or managed policy |
| Only some apps use the tunnel | Per-app VPN or work-profile scope |
| Different URL every time | Validate the input before opening it |
ทดสอบสามผลลัพธ์ ไม่ใช่หนึ่ง
รันลำดับงานกับการเชื่อมต่อที่สำเร็จ การหมดเวลาโดยเจตนา และการเชื่อมต่อใหม่ตามปกติหลังอุโมงค์ล้ม กรณีหมดเวลาคือกรณีที่เผยว่าลำดับหยุดจริงหรือไม่ และกรณีเชื่อมต่อใหม่เผยว่ามีการตรวจสอบความพร้อมหรือเพียงสันนิษฐานจากความสำเร็จก่อนหน้า รันกรณีหมดเวลาก่อน เพราะลำดับงานที่เพิกเฉยต่อความล้มเหลวไม่คุ้มค่าที่จะทดสอบเพื่อความสำเร็จ
อนุญาตเฉพาะปลายทางจากรายการที่อนุมัติ และตรวจสอบลิงก์ใด ๆ ที่มาจากภายนอกก่อนเปิด งานที่ยอมรับลิงก์ตามอำเภอใจจะกลายเป็นวิธีเปิดสคีมาที่ไม่คาดคิด และหน้าผู้ดูแลส่วนตัวที่เข้าถึงด้วยวิธีนั้นเป็นผลลัพธ์ที่แย่กว่าทางลัดที่ล้มเหลว
จดโปรไฟล์ เงื่อนไขความพร้อม และขีดจำกัดเวลาไว้ข้างงาน คนถัดไปที่จะเปลี่ยนไคลเอนต์ VPN จะต้องใช้ทั้งสามอย่าง และไม่มีอันใดมองเห็นได้จากไอคอนทางลัด