- คุณสมบัตินี้ช่วยให้สามารถจัดเก็บไฟล์ที่จะถูกลบโดยอัตโนมัติหลังจากมีการดาวน์โหลดจำนวนหนึ่งหรือหลังจากหมดกำหนดเวลา
- ระบบนี้มีระบบเข้ารหัสหลายระดับ รวมถึงตัวเลือกการเข้ารหัสแบบ end-to-end เพื่อความเป็นส่วนตัวสูงสุด
- สามารถใช้งานร่วมกับพื้นที่จัดเก็บข้อมูลภายในเครื่องและบริการ S3 ภายนอก เพื่อเพิ่มประสิทธิภาพพื้นที่เซิร์ฟเวอร์
- ระบบนี้มีระบบการจัดการที่ปลอดภัยโดยใช้รหัสผ่านหรือโปรโตคอล OIDC เช่น Google ID และ Pocket ID
ฉันแน่ใจว่าคุณเคยเจอปัญหานี้มาก่อน: คุณจำเป็นต้องส่งเอกสารขนาดใหญ่ที่ไม่สามารถส่งทางอีเมลได้ แต่คุณก็ไม่อยากเก็บเอกสารนั้นไว้ในระบบคลาวด์ของบุคคลที่สามอย่างไม่มีกำหนด นี่คือจุดที่ Gokapi เข้ามาช่วย เครื่องมือที่ออกแบบมาสำหรับผู้ที่กำลังมองหาทางออก ควบคุมตำแหน่งที่จัดเก็บไฟล์ของคุณและระยะเวลาที่ไฟล์เหล่านั้นจะสามารถใช้งานได้.
มันคือ ทางเลือกแบบโฮสต์เองสำหรับบริการต่างๆ เช่น Firefox Send ที่เลิกใช้งานไปแล้ว หรือ WeTransfer ที่เป็นที่รู้จักกันดีโดยพื้นฐานแล้ว เราจะติดตั้ง Gokapi บนเซิร์ฟเวอร์ NAS หรือ VPS ของเราเอง และใช้โครงสร้างพื้นฐานนั้นในการสร้างลิงก์ดาวน์โหลดชั่วคราว
สิ่งที่ทำให้ระบบนี้มีความน่าสนใจเป็นพิเศษคือ มันช่วยให้คุณสามารถตัดสินใจได้ ไฟล์แต่ละไฟล์จะหมดอายุเมื่อใดเราสามารถกำหนดวันหมดอายุ จำกัดจำนวนการดาวน์โหลด หรือลบเนื้อหาด้วยตนเองเมื่อไม่ต้องการใช้งานอีกต่อไป ซึ่งจะช่วยป้องกันไม่ให้พื้นที่จัดเก็บข้อมูลรกไปด้วยไฟล์ที่ถูกลืม หรือป้องกันไม่ให้เอกสารบางอย่างยังคงเข้าถึงได้นานเกินกว่าที่ตั้งใจไว้
คุณสมบัติหลักของไฟล์ที่ทำลายตัวเองได้ใน Gokapi

Gokapi ช่วยให้คุณสามารถแชร์ไฟล์ได้ ไฟล์เหล่านั้นจะหมดอายุหลังจากดาวน์โหลดครบจำนวนครั้งที่กำหนด หรือหลังจากผ่านไปหลายวันเมื่อตรงตามเงื่อนไขที่กำหนดไว้ ระบบจะทำเครื่องหมายเนื้อหาว่าหมดอายุและลบออกในระหว่างการทำความสะอาดเป็นระยะ
จากแผงควบคุม คุณสามารถลากและวางไฟล์ โฟลเดอร์ หรือหลายรายการพร้อมกันได้ นอกจากนี้ คุณยังสามารถวางรูปภาพและข้อความจากคลิปบอร์ดได้โดยตรง เมื่อการอัปโหลดเสร็จสมบูรณ์ Gokapi จะสร้างลิงก์ที่คุณสามารถคัดลอก ส่งทางอีเมล หรือแชร์โดยใช้รหัส QR ได้
ก่อนอัปโหลดไฟล์ เราสามารถกำหนดค่าต่อไปนี้ได้:
- จำนวนดาวน์โหลดสูงสุดที่อนุญาต
- จำนวนวันที่ยังคงสามารถใช้งานได้
- ใส่รหัสผ่านเพื่อป้องกันการเข้าถึงไฟล์ดาวน์โหลด
อย่างไรก็ตาม เราต้องไม่ลืมว่า รหัสผ่านสำหรับลิงก์จะควบคุมการเข้าถึง แต่จะไม่เข้ารหัสไฟล์ที่จัดเก็บโดยอัตโนมัติหากเราจำเป็นต้องปกป้องเนื้อหาที่จัดเก็บไว้บนเซิร์ฟเวอร์ด้วย เราจะต้องเปิดใช้งานตัวเลือกการเข้ารหัสอย่างใดอย่างหนึ่งที่มีให้เลือกในระหว่างการกำหนดค่า
Gokapi ไม่จำเป็นต้องจำกัดอยู่แค่ผู้ใช้คนเดียว ระบบอนุญาตให้คุณสร้างบัญชี กำหนดสิทธิ์ และแยกแยะระหว่างผู้ดูแลระบบสูงสุด ผู้ดูแลระบบ และผู้ใช้ทั่วไปได้ โดยค่าเริ่มต้นจะไม่มีพื้นที่อัปโหลดสาธารณะที่เปิดให้ทุกคนใช้งานได้ แต่คุณสามารถสร้างได้ การร้องขอไฟล์ผ่านลิงก์ส่วนตัวดังนั้น บุคคลภายนอกสามารถส่งเอกสารมาให้เราได้โดยไม่จำเป็นต้องมีบัญชี
นอกจากนี้ยังมี REST API และเครื่องมือบรรทัดคำสั่ง ทำให้ง่ายต่อการทำงานอัตโนมัติในการอัปโหลด ดาวน์โหลด และบำรุงรักษาจากแอปพลิเคชันหรือสคริปต์อื่นๆ
ตัวเลือกการติดตั้งและการใช้งาน
มีสองวิธีหลักในการติดตั้งและใช้งาน Gokapi วิธีที่แนะนำสำหรับผู้ใช้ส่วนใหญ่คือการใช้... Docker หรือ Docker Composeอิมเมจเวอร์ชันเสถียรมีให้ใช้งานแล้ว f0rc3/gokapi:latestในขณะที่ latest-dev นี่เป็นเวอร์ชันสำหรับการพัฒนาและอาจมีข้อผิดพลาด
รายละเอียดที่สำคัญมากอย่างหนึ่งคือ เราต้องทำการเมานต์ไดเร็กทอรีเหล่านั้นเป็นวอลุ่มถาวร /app/data y /app/config. มิฉะนั้น, เราอาจสูญเสียไฟล์และการตั้งค่าไปได้ เมื่อทำการลบหรืออัปเดตคอนเทนเนอร์
หากเราต้องการหลีกเลี่ยงการใช้ Docker เราสามารถเรียกใช้ Gokapi ได้โดยตรง โครงการนี้มีไฟล์ไบนารีที่คอมไพล์ไว้ล่วงหน้าสำหรับ Windows, macOS และสถาปัตยกรรม Linux ต่างๆ เพียงดาวน์โหลดเวอร์ชันที่เหมาะสม วางไว้ในไดเร็กทอรีที่มีสิทธิ์ในการเขียน และเรียกใช้ไฟล์นั้น
ในระหว่างการเริ่มต้นระบบครั้งแรก เราจะต้องเปิดตัวช่วยตั้งค่าที่มีอยู่ในระบบ /setupพอร์ตเริ่มต้นคือ 53842อย่างไรก็ตาม เราสามารถแก้ไขได้โดยใช้ตัวแปรสภาพแวดล้อมที่เกี่ยวข้อง จากตัวช่วยสร้างนี้ เราจะเลือกฐานข้อมูล ระบบการตรวจสอบสิทธิ์ พื้นที่จัดเก็บ และตัวเลือกการเข้ารหัส
การกำหนดค่าเซิร์ฟเวอร์และการตรวจสอบสิทธิ์

ในระหว่างการตั้งค่า เราสามารถกำหนดได้ดังนี้ มีการใช้ระบบประกาศสาธารณะเพื่อสร้างลิงก์ และ URL สำหรับการเปลี่ยนเส้นทาง URL นี้ใช้สำหรับส่งผู้เยี่ยมชมไปยังหน้าอื่นเมื่อพวกเขาเข้าสู่ไดเร็กทอรีหลักของเซิร์ฟเวอร์โดยไม่มีลิงก์ดาวน์โหลดที่ถูกต้อง
Gokapi ใช้ SQLite เป็นค่าเริ่มต้น ซึ่งเพียงพอสำหรับการใช้งานในบ้านหรือที่มีปริมาณการรับส่งข้อมูลต่ำส่วนใหญ่ Redis อาจเหมาะสมกว่าเมื่อคาดว่าจะมีการถ่ายโอนข้อมูลในอัตราสูง หรือเมื่อฐานข้อมูลอยู่บนอุปกรณ์ที่ทำงานช้า เช่น การ์ด SD หรือไดรฟ์เครือข่าย
อย่างไรก็ตาม หากเราใช้ Redis เราต้อง... เปิดใช้งานการคงอยู่ของฐานข้อมูลมิเช่นนั้น ข้อมูลของคุณอาจสูญหายหลังจากการรีสตาร์ท ดังนั้น นี่จึงไม่ใช่ตัวเลือกทดลอง แต่จำเป็นต้องมีการตั้งค่าที่ระมัดระวังมากขึ้นเล็กน้อย
นอกจากนี้ เรายังสามารถกำหนดค่าบริการให้รับฟังเฉพาะที่อยู่ภายในเครื่องเมื่ออยู่เบื้องหลังพร็อกซีแบบย้อนกลับได้อีกด้วย อันที่จริง สำหรับการติดตั้งแบบสาธารณะ แนะนำให้ใช้ Nginx, Caddy, Traefik หรือทางเลือกอื่นที่คล้ายกันในการจัดการ HTTPS
Gokapi สามารถสร้างใบรับรองแบบลงนามด้วยตนเองได้เมื่อไม่ได้ใช้พร็อกซี แต่ใบรับรองนี้ไม่เทียบเท่ากับใบรับรองที่ได้รับการยอมรับจากสาธารณะสำหรับเบราว์เซอร์ นอกจากนี้ พร็อกซีต้องอนุญาตให้ไฟล์ขนาดใหญ่เพียงพอและใช้งานได้อย่างถูกต้อง เวลารอคอยนาน เพื่อไม่ให้การปีนเขาที่ยากลำบากต้องหยุดชะงัก
ในการเข้าถึงแผงควบคุม คุณสามารถใช้ชื่อผู้ใช้และรหัสผ่านได้ นอกจากนี้ยังรองรับ OAuth2 และ OpenID Connect ดังนั้นคุณจึงสามารถมอบหมายการตรวจสอบสิทธิ์ให้กับผู้ให้บริการที่เข้ากันได้ เช่น Google, Authelia, Keycloak หรือ Microsoft ได้
อีกทางเลือกหนึ่งคือการใช้การตรวจสอบสิทธิ์แบบอิงตามส่วนหัวเมื่อการควบคุมการเข้าถึงถูกจัดการโดยพร็อกซีแบบย้อนกลับเอง อย่างไรก็ตาม การกำหนดค่านี้ต้องใช้ความระมัดระวังเป็นพิเศษ เนื่องจากเส้นทางที่มีการรักษาความปลอดภัยไม่ดีอาจทำให้ฟังก์ชันการดูแลระบบรั่วไหลได้
การเข้ารหัสและการจัดเก็บไฟล์
Gokapi มีระบบเข้ารหัสหลายระดับ ระดับแรกจะปกป้องเฉพาะไฟล์ที่จัดเก็บไว้ในเครื่องเท่านั้น ในขณะที่ระดับที่สองจะเข้ารหัสทั้งไฟล์ที่จัดเก็บไว้ในเครื่องและไฟล์ที่บันทึกไว้ในผู้ให้บริการที่เข้ากันได้กับ S3
ระดับ 3 เพิ่ม การเข้ารหัสแบบ end-to-endในกรณีนี้ ไฟล์จะถูกเข้ารหัสจากเบราว์เซอร์ก่อนเริ่มการอัปโหลด ด้วยวิธีนี้ แม้ว่าเซิร์ฟเวอร์จะถูกโจมตี เนื้อหาจะไม่สามารถอ่านได้หากไม่มีรหัสที่จำเป็น
อย่างไรก็ตาม สิ่งสำคัญคือต้องตระหนักถึงข้อจำกัดของมัน เอกสารประกอบเองก็เตือนไว้ว่า การใช้งานการเข้ารหัสยังไม่ได้รับการตรวจสอบโดยหน่วยงานอิสระนอกจากนี้ยังชี้ให้เห็นถึงปัญหาที่อาจเกิดขึ้นเมื่อดาวน์โหลดไฟล์ที่เข้ารหัสแบบ end-to-end จาก Firefox อีกด้วย
นอกจากนี้ คำขอไฟล์ที่มุ่งรับเนื้อหาจากผู้ใช้ภายนอกจะไม่ใช้การเข้ารหัสแบบ end-to-end ระดับ 3 ในกรณีเหล่านี้ การเข้ารหัสเซิร์ฟเวอร์ที่สอดคล้องกับระดับ 1 หรือ 2 จะยังคงถูกนำมาใช้ต่อไป หากมีการเปิดใช้งานไว้
ในส่วนของการจัดเก็บข้อมูล เราสามารถบันทึกข้อมูลลงในดิสก์ภายในเครื่องเซิร์ฟเวอร์ หรือใช้... ผู้ให้บริการที่เข้ากันได้กับ S3เช่น Amazon S3 หรือ Backblaze B2 ตัวเลือกที่สองนี้น่าสนใจเมื่อเราไม่ต้องการใช้พื้นที่ดิสก์ของ VPS จนเต็ม
ด้วยการใช้ S3 Gokapi สามารถสร้างลิงก์ที่ลงชื่อล่วงหน้าซึ่งมีอายุสั้นได้ これによりผู้รับสามารถดาวน์โหลดไฟล์ได้โดยตรงจากผู้ให้บริการจัดเก็บข้อมูลโดยไม่ต้องใช้แบนด์วิดท์ของเซิร์ฟเวอร์ของเรา และต้องตั้งค่าบัคเก็ตให้เป็นแบบส่วนตัวอยู่เสมอ
เราสามารถเปิดใช้งานการดาวน์โหลดผ่านพร็อกซีได้เช่นกัน หากเราไม่ต้องการแสดงที่อยู่ของผู้ให้บริการ ในกรณีนั้น Gokapi จะดึงและส่งไฟล์ให้ ดังนั้น ใช่ การรับส่งข้อมูลจะผ่านเซิร์ฟเวอร์ของเรา.
ยังมีรายละเอียดสำคัญอีกอย่างหนึ่งคือ หากเราไม่เปิดใช้งานตัวเลือกการเข้ารหัสใดๆ ไฟล์ที่ส่งไปยัง S3 จะถูกจัดเก็บโดย Gokapi โดยไม่มีการเข้ารหัสเพิ่มเติม ดังนั้นจึงควรตรวจสอบการตั้งค่านี้ก่อนนำไปใช้กับเอกสารที่มีความละเอียดอ่อน
กล่าวโดยสรุป Gokapi คือโซลูชันที่ยืดหยุ่นสำหรับการแชร์ไฟล์ชั่วคราวจากโครงสร้างพื้นฐานของคุณเอง ช่วยให้คุณควบคุมการดาวน์โหลด การหมดอายุ ผู้ใช้ และตำแหน่งที่จัดเก็บข้อมูลได้ แม้ว่าจะไม่ได้ขจัดความจำเป็นในการกำหนดค่าเซิร์ฟเวอร์ที่เหมาะสม แต่ก็มีข้อดีหลายประการ ควบคุมได้มากกว่าแพลตฟอร์มภายนอกแบบเดิมมาก สำหรับผู้ที่ยินดีจัดการอินสแตนซ์ของตนเอง
ฉันเป็นผู้ชื่นชอบเทคโนโลยีที่เปลี่ยนความสนใจ "เกินบรรยาย" ของเขาให้กลายเป็นอาชีพ ฉันใช้เวลามากกว่า 10 ปีในชีวิตไปกับเทคโนโลยีล้ำสมัยและปรับแต่งโปรแกรมทุกประเภทด้วยความอยากรู้อยากเห็น ตอนนี้ฉันมีความเชี่ยวชาญในด้านเทคโนโลยีคอมพิวเตอร์และวิดีโอเกม เนื่องจากเป็นเวลากว่า 5 ปีแล้วที่ฉันเขียนให้กับเว็บไซต์ต่างๆ เกี่ยวกับเทคโนโลยีและวิดีโอเกม โดยสร้างบทความที่พยายามให้ข้อมูลที่คุณต้องการในภาษาที่ทุกคนเข้าใจได้
หากคุณมีคำถามใดๆ ความรู้ของฉันมีตั้งแต่ทุกอย่างที่เกี่ยวข้องกับระบบปฏิบัติการ Windows รวมถึง Android สำหรับโทรศัพท์มือถือ และความมุ่งมั่นของฉันคือคุณ ฉันยินดีสละเวลาสักครู่เสมอและช่วยคุณแก้ไขคำถามใดๆ ที่คุณอาจมีในโลกอินเทอร์เน็ตนี้