- อิมพลีเมนเทชันของเซิร์ฟเวอร์ Git LFS (Large File Storage, ที่เก็บไฟล์ขนาดใหญ่) ที่เขียนด้วย TypeScript
- ออกแบบมาสำหรับการเซลฟ์โฮสต์บนเครื่องโลคัลเพื่อใช้งานส่วนตัว
- รองรับการใช้งานหลายผู้ใช้ได้ แต่จำเป็นต้องใช้การยืนยันตัวตนแบบ HTTP พื้นฐาน (ควรใช้งานหลัง HTTPS proxy เช่น Caddy, Traefik)
- รันไทม์
- Granary สามารถรันได้บน Bun, Deno และ Node
- เขียนโค้ดด้วยแพตเทิร์น adapter โดยมี Deno เป็นรันไทม์หลัก ส่วนอะแดปเตอร์สำหรับ Bun และ Node มีเพียงการติดตั้งขั้นต่ำ
- ใช้
serveFile จาก standard library ของ Deno เพื่อจัดการงานดาวน์โหลด
- ระหว่างอัปโหลด ใช้ Web Crypto เพื่อคำนวณ SHA-256 และสตรีมไฟล์ไปพร้อมกัน
- แต่ละรันไทม์ใช้ HTTP server เฉพาะของตนเอง: Bun.serve, Deno.serve,
createServer ของ Node
- สัญญาอนุญาต MIT
2 ความคิดเห็น
การจัดการไฟล์ไบนารีด้วย git มันยากเกินไปจริงๆ
หวังว่าจะมีการปรับปรุงให้ดีขึ้นบ้าง
จริง ๆ แล้วมันไม่ใช่ของสำหรับติดตามการเปลี่ยนแปลงของไฟล์ไบนารี หรือพูดอีกอย่างคือไม่ได้มีไว้เพื่อการจัดการเวอร์ชันนั่นแหละ