- เซิร์ฟเวอร์น้ำหนักเบาสำหรับแชร์ไฟล์ โดยจะหมดอายุเมื่อครบจำนวนครั้งที่กำหนดในการดาวน์โหลด หรือครบจำนวนวันที่กำหนด
- คล้ายกับ Firefox Send ที่ยุติให้บริการไปแล้ว แต่มีเพียงผู้ดูแลระบบเท่านั้นที่อัปโหลดไฟล์ได้
- บริษัทหรือบุคคลทั่วไปสามารถแชร์ไฟล์ได้อย่างง่ายดายมาก และลบภายหลังเพื่อประหยัดพื้นที่ พร้อมควบคุมได้ว่าใครบ้างที่ดาวน์โหลดไฟล์จากเซิร์ฟเวอร์
- มี API ให้ใช้งาน และไฟล์เดียวกันจะถูกกำจัดข้อมูลซ้ำซ้อน
- ใช้ AWS S3 และ Backblaze B2 แทน local storage ได้
- หากมีความรู้เรื่อง HTML/CSS ก็สามารถปรับแต่งได้
- รองรับการเข้ารหัสแบบต้นทางถึงปลายทาง (E2E)
2 ความคิดเห็น
เมื่อไม่นานมานี้ผมมีธุระต้องโอนไฟล์ขนาดระดับกิกะไบต์จาก VM บนคลาวด์ไปยังที่อื่น
ถ้าปลายทางเป็นพีซีของผมเองก็คงใช้เครื่องมืออย่าง croc ไปแล้ว แต่ตอนนั้นเป็นสถานการณ์ที่ฝั่งรับไฟล์ค่อนข้างลำบากหากต้องใช้เครื่องมืออื่นนอกเหนือจากเว็บเบราว์เซอร์ เลยลองใช้โซลูชันรับส่งไฟล์ผ่านเว็บเบราว์เซอร์อยู่หลายตัวในตอนแรก แต่ก็เจอปัญหาว่าช้าหรือไม่ก็มีเหตุผลไม่ทราบแน่ชัดที่ทำให้ช่วงท้ายของการโอนไฟล์ไม่ยอมเสร็จสมบูรณ์
สุดท้ายเลยใช้ dufs เปลี่ยน VM ให้เป็นไฟล์เซิร์ฟเวอร์ชั่วคราว เปิดพอร์ตที่เหมาะสมบนไฟร์วอลล์ แล้วใช้ mkcert สร้างใบรับรองแบบ self-signed แบบคร่าว ๆ ขึ้นมาหนึ่งใบ พร้อมกำหนดออปชันให้มีบัญชีผู้ใช้ชั่วคราวที่มีสิทธิ์แค่ดาวน์โหลดไฟล์เท่านั้น
ผลลัพธ์คือแก้ปัญหาได้ดี แต่ก็อดคิดไม่ได้ว่าถ้าตัวไฟล์เซิร์ฟเวอร์สร้างใบรับรองแบบ self-signed ให้ได้ด้วยเลยก็คงสะดวกกว่านี้อีกหน่อย
เครื่องมือนี้ที่กำลังแนะนำอยู่ตอนนี้ผมยังไม่ได้ลองใช้เอง แต่ดูเหมือนว่าจะมีฟังก์ชันสร้างใบรับรองแบบ self-signed ติดมาในตัวด้วย แทนที่ด้วยขั้นตอนติดตั้งครั้งแรกที่ดูซับซ้อนขึ้นเล็กน้อย ซึ่งก็น่าจะเป็นเพราะตั้งใจให้นำขึ้นมารันครั้งเดียวแล้วใช้งานต่อเนื่องไปเรื่อย ๆ ไม่ว่าอย่างไร เวลาต้องส่งไฟล์ขนาดใหญ่หรือรับส่งไฟล์ในสถานการณ์ที่ใช้อะไรอย่างอื่นนอกจากเว็บเบราว์เซอร์ได้ยาก การโฮสต์ไฟล์แชร์เซิร์ฟเวอร์เองก็ดูเป็นตัวเลือกที่ไม่เลวเหมือนกัน
พอเลิกงานแล้วลองหาดูว่ามีเครื่องมือคล้าย ๆ กันอีกไหม ก็เจอ Simple Web Server กับ HFS(https://www.rejetto.com/hfs/) ครับ เครื่องมือเหล่านี้ทั้งหมดรองรับการสร้างใบรับรอง HTTPS ได้ด้วยตัวเอง
Simple Web Server เป็นเครื่องมือข้ามแพลตฟอร์มที่มี GUI ของตัวเอง และจุดเด่นคือสามารถเปิดเว็บเซิร์ฟเวอร์หลายตัวพร้อมกันได้ แต่โดยรวมแล้วให้ความรู้สึกว่าเน้นงานพัฒนาเว็บฟรอนต์เอนด์มากกว่าการให้บริการไฟล์โดยตรง
ยกตัวอย่างเช่น สามารถอนุญาตให้อัปโหลดไฟล์ได้ก็จริง แต่ต้องเรียกใช้เมธอด HTTP PUT เองโดยตรง และหน้าอินเด็กซ์ที่มีมาให้ตามค่าเริ่มต้นก็ไม่ได้มีฟังก์ชันอัปโหลดไฟล์ในตัวเลย นอกจากนี้แม้จะรองรับ HTTP Basic Auth แต่ก็รองรับบัญชีผู้ใช้ได้เพียงบัญชีเดียวเท่านั้น และถึงจะเป็นข้อเสียเล็กน้อย แต่เพราะพัฒนาบน Electron ทำให้ไฟล์ติดตั้งมีขนาดเกิน 100 MiB
HFS ดูเป็นเครื่องมือที่เน้นการแชร์ไฟล์ผ่านเว็บมากกว่า เมื่อรันแล้วจะมีส่วนติดต่อผู้ดูแลระบบแสดงขึ้นมาผ่านเบราว์เซอร์หลัก สามารถสร้างหลายบัญชีที่มีสิทธิ์ย่อยต่างกัน จำกัดความเร็วอัปโหลด/ดาวน์โหลด ทำล็อกกิง และยังมีฟีเจอร์อย่าง GeoIP หรือ Dynamic DNS ด้วย ไม่เพียงสร้างใบรับรองแบบ self-signed ได้เท่านั้น แต่ยังมีตัวเลือกต่ออายุใบรับรอง Let's Encrypt แบบอัตโนมัติอีกด้วย
ข้อมูลเพิ่มเติมคือไฟล์ปฏิบัติการที่ปล่อยออกมาฝัง Node.js runtime มาในตัว และมีขนาดมากกว่า 40 MiB เล็กน้อย ถ้าไม่ชอบแบบนั้นและมี Node.js ติดตั้งอยู่แล้ว ก็ใช้
npx hfs@latestได้เลยต่อไปถ้าต้องอยู่ในสถานการณ์ที่ฝั่งรับไฟล์ใช้งานเครื่องมืออื่นได้ลำบากจนต้องเปิดไฟล์เซิร์ฟเวอร์เอง ผมคิดว่าน่าจะเลือกตัวนี้ก่อนครับ