โซลูชัน Tunneling แบบ Self-Hosted ชื่อ Pangolin ได้รับความนิยมเป็นทางเลือกแทน Cloudflare Tunnels

ทีมชุมชน BigGo
โซลูชัน Tunneling แบบ Self-Hosted ชื่อ Pangolin ได้รับความนิยมเป็นทางเลือกแทน Cloudflare Tunnels

โซลูชัน tunneling แบบ self-hosted ใหม่ที่ชื่อ Pangolin กำลังดึงดูดความสนใจจากนักพัฒนาและผู้ที่ชื่นชอบ homelab ในฐานะทางเลือกแทนบริการเชิงพาณิชย์อย่าง Cloudflare Tunnels และ Tailscale โปรเจกต์นี้เสนอวิธีการเปิดเผยทรัพยากรเครือข่ายส่วนตัวอย่างปลอดภัยโดยไม่ต้องเปิดพอร์ต firewall โดยผสมผสาน WireGuard tunneling เข้ากับฟีเจอร์ควบคุมการเข้าถึงที่ครอบคลุม

การเปรียบเทียบคุณสมบัติหลัก

คุณสมบัติ Pangolin Cloudflare Tunnels Tailscale
การโฮสต์ โฮสต์เอง โฮสต์บนคลาวด์ โฮสต์บนคลาวด์
ค่าใช้จ่าย ~$12/ปี VPS ฟรี/แพ็คเกจเสียเงิน ฟรี/แพ็คเกจเสียเงิน
การยืนยันตัวตน SSO + RBAC ในตัว พื้นฐาน ตามอุปกรณ์
การรองรับโปรโตคอล HTTP/HTTPS/TCP/UDP HTTP/HTTPS ทุกโปรโตคอล
กรณีการใช้งานหลัก เปิดเผยบริการสาธารณะ เปิดเผยบริการสาธารณะ เครือข่ายแบบ mesh ของอุปกรณ์
ภาพหน้าจอของ GitHub repository สำหรับ Pangolin ที่เน้นให้เห็นการพัฒนาอย่างต่อเนื่องและการมีส่วนร่วมของชุมชน
ภาพหน้าจอของ GitHub repository สำหรับ Pangolin ที่เน้นให้เห็นการพัฒนาอย่างต่อเนื่องและการมีส่วนร่วมของชุมชน

ความสนใจจากชุมชนที่เพิ่มขึ้นและการนำไปใช้งานจริง

โปรเจกต์นี้ได้สร้างความฮือฮาอย่างมากในชุมชน homelab ในช่วงหลายเดือนที่ผ่านมา ผู้ใช้งานถูกดึงดูดเป็นพิเศษด้วยการผสมผสานระหว่างฟีเจอร์ด้านความปลอดภัยและความง่ายในการ deployment สมาชิกชุมชนคนหนึ่งได้กล่าวถึงแผนการใช้ Pangolin บน VPS สำหรับการจัดการ reverse proxy ซึ่งเน้นย้ำถึงความน่าสนใจในทางปฏิบัติของโซลูชันนี้สำหรับการใช้งานส่วนบุคคลและธุรกิจขนาดเล็ก

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

สถาปัตยกรรมทางเทคนิคและประสบการณ์ผู้ใช้

Pangolin ทำให้ตัวเองโดดเด่นผ่านการออกแบบแบบ modular โดยใช้ Traefik สำหรับ HTTP proxying พร้อมเพิ่มเลเยอร์การยืนยันตัวตนแบบกำหนดเอง ระบบประกอบด้วยหลายคอมโพเนนต์ที่ทำงานร่วมกัน ได้แก่ เซิร์ฟเวอร์หลัก, ปลั๊กอินการยืนยันตัวตน, การจัดการ WireGuard และไคลเอนต์ user-space ที่เรียกว่า Newt ซึ่งไม่ต้องการการเข้าถึงแบบ privileged

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

ส่วนประกอบทางเทคนิค

  • Pangolin: เซิร์ฟเวอร์หลักและแดชบอร์ด
  • Traefik: เอนจิน HTTP reverse proxy
  • Badger: ปลั๊กอินสำหรับการยืนยันตัวตน
  • Gerbil: เซิร์ฟเวอร์จัดการ WireGuard
  • Newt: ไคลเอนต์ WireGuard ใน user-space (ไม่ต้องการสิทธิ์พิเศษ)

การวางตำแหน่งเทียบกับโซลูชันที่มีอยู่แล้ว

เมื่อเปรียบเทียบกับเครื่องมือที่มีอยู่ Pangolin ครอบครองพื้นที่เฉพาะระหว่าง SSH tunneling แบบง่ายๆ และโซลูชัน mesh networking ระดับองค์กร ในขณะที่เครื่องมืออย่าง Tailscale เก่งในการเชื่อมต่อ device-to-device แต่ Pangolin มุ่งเน้นไปที่การเปิดเผยบริการแบบถาวรพร้อมการยืนยันตัวตนที่แข็งแกร่งสำหรับแอปพลิเคชันที่เผชิญสาธารณะ

สิ่งนี้ดูน่าสนใจมากสำหรับการจัดการ remote dev boxes จำนวนมากหรืออะไรแบบนั้น...คุณช่วยอธิบายในแง่ที่คนทั่วไปเข้าใจได้ไหมว่าสิ่งนี้แก้ปัญหาอะไรที่เช่น tailscale ทำไม่ได้?

นักพัฒนาวางตำแหน่งโซลูชันของพวกเขาว่าเหมาะอย่างยิ่งสำหรับธุรกิจที่ต้องการเปิดเผยแอปพลิเคชันภายในอย่าง Immich หรือ Grafana ให้กับสมาชิกครอบครัวหรือสมาชิกทีมผ่านเบราว์เซอร์ แทนที่จะเป็นการเชื่อมต่อแบบชั่วคราวที่เป็นลักษณะเฉพาะของ SSH tunnels

ความยืดหยุ่นในการ Deployment และการพิจารณาด้านต้นทุน

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

การ deployment แบบ Docker Compose ทำให้กระบวนการติดตั้งง่ายขึ้น และระบบรองรับการผสานรวมกับ identity providers ที่มีอยู่ผ่านโปรโตคอล OAuth2 และ OIDC การออกแบบแบบ modular ยังอนุญาตให้ขยายผ่านปลั๊กอิน Traefik ที่มีอยู่สำหรับฟีเจอร์ความปลอดภัยเพิ่มเติมอย่างการผสานรวม CrowdSec

ข้อกำหนดการติดตั้ง

  • VPS ขั้นต่ำ: 1 vCPU, 1GB RAM, 20GB SSD
  • ค่าใช้จ่ายโดยประมาณ: $12 USD/ปี (ราคาโปรโมชั่น)
  • วิธีการติดตั้ง: Docker Compose
  • SSL: อัตโนมัติผ่าน LetsEncrypt
  • ตัวเลือกการยืนยันตัวตน: OAuth2/OIDC, TOTP, การอนุญาตรายชื่ออีเมล, ลิงก์แชร์ชั่วคราว

สถานะการพัฒนาและการอนุญาตใช้งาน

ปัจจุบันอยู่ระหว่างการพัฒนาอย่างต่อเนื่อง Pangolin ใช้โมเดลการอนุญาตใช้งานแบบคู่ด้วย AGPL-3 สำหรับการใช้งาน open source และมีตัวเลือกการอนุญาตใช้งานเชิงพาณิชย์ โปรเจกต์รักษาความโปร่งใสเกี่ยวกับสถานะการพัฒนาในขณะที่สร้าง roadmap ตามความคิดเห็นจากชุมชนและรูปแบบการใช้งานในโลกจริง

การผสมผสานระหว่างความสามารถ self-hosting, การควบคุมการเข้าถึงที่ครอบคลุม และการ deployment ที่คุ้มค่า กำลังวางตำแหน่ง Pangolin ให้เป็นทางเลือกที่น่าสนใจสำหรับองค์กรที่แสวงหาการควบคุมโครงสร้างพื้นฐาน tunneling ของตนเองมากขึ้นโดยไม่มีต้นทุนต่อเนื่องของโซลูชันเชิงพาณิชย์

อ้างอิง: fosrl/pangolin