File Systems Go ★ 14,326

mickael-kerjean/filestash

Uzak depolama erişimi: SFTP, S3, FTP, SMB, NFS, WebDAV, GIT, FTPS, gcloud, azure blob, sharepoint ve daha fazlası desteklenir.

Claude Desktop config.json'a ekle

{
  "mcpServers": {
    "mickael-kerjean-filestash": {
      "command": "node",
      "args": [
        "~/.mcp/filestash/index.js"
      ]
    }
  }
}

screenshot

Bu nedir?

Depolama-agnostik bir Dropbox benzeri dosya yöneticisi olarak başladı ve her depolama protokolü ile çalışır: FTP, SFTP, S3, SMB, WebDAV, IPFS ve 20'nin üzerinde daha fazlası.

Dünyanın en iyi dosya yönetim platformu olmak istediğimiz şeye dönüştü; burada evrenin temel gerçekleri olmayan her şey bir plugin'de yaşar. Diğer platformlar "al ya da bırak" iken, bizimkisi size sağlam bir çekirdek ve görüşleri ele almak için bir plugin sistemi sunuyor. Gereksinimler ne kadar derin olursa olsun, tek sınır teknik değil, kendi yaratıcılığınız olacaktır.

Temel Özellikler

  • Plugin Odaklı Mimari: önemli olan her şey bir plugin'dir, ekosisteme göz atın ya da kendi plugin'inizi oluşturun. Bu yaklaşımla, gereksiz yük ve şişkinlik olmadan tam olarak ihtiyacınız olanı alırsınız.
  • Evrensel Erişim: web client'i verilerinize erişmenin sadece bir yoludur (gerçi harika bir yoldur, vanilla JS'de özel olarak tasarlanmıştır). API'ler ve Geçitler verilerinizi SFTP, S3, FTP, WebDAV, MCP ve AS2 gibi protokoller üzerinden de sunmanızı sağlar.
  • Entegrasyonlar: açık hedefimiz, pazardaki %100 depolama ve kimlik doğrulama teknolojisini desteklemektir. Olağan seçeneklerinizin ötesine geçebilirsiniz; örneğin, kimlik doğrulamayı WordPress sitenize devredelen bir sanal dosya sistemi ve rollerini RBAC yetkilendirmesini yönlendirmek için kullanabilirsiniz.
  • İş Akışı Motoru: dosyalarınıza olaylar üzerinde eylemleri zincirleyerek gerçekleşen her şeyi otomatikleştirin; Slack veya email aracılığıyla basit bildirimlerden tam MFT boru hatlarına ve hepsi arasındaki her şeye.
  • Dosya Uygulamaları: mevcut uygulamalardan birini kullanın ya da kendi uygulamanızı oluşturun; astronomiden nakışa ve hepsi arasındaki her şey:
  • Temalar:
    </li>
    <li><a href="https://www.filestash.app/docs/guide/search.html">Arama</a>, <a href="https://www.filestash.app/features/smart-folder.html">akıllı klasörler</a> ve OCR'ler için yapay zeka özellikleri.</li>
    <li>... ve çok daha fazla <sub>çok <sub>daha fazla (versiyonlama, denetim, genel site, virüsten koruma, kota, sohbet, chromecast desteği, isteğe bağlı video transcoding, paylaşılan bağlantıları ağ sürücüsü olarak bağlama, ....)</sub></sub><br> Genel bir kural olarak, sorununuz dosyaları içeriyorsa, biz zaten <a href="https://www.filestash.app/docs/plugin/">bir plugin'e sahip</a> ya da bunun için bir plugin yapabiliriz</li>
    

Başlangıç

Filestash'i kurmak için Başlangıç rehberine gidin. Plugin'lerden yararlanmak istiyorsanız envanteri ziyaret edin ya da kendi plugin'lerinizi geliştirme hakkında bilgi edinin.

Dosya yönetimi sorununuzda rehberlik ve uzman yardım istiyorsanız, bir çağrı rezerve edin ve Filestash'in sizin için doğru platform olup olmadığını anlamaya çalışalım.

Vizyon & Felsefe

Hedefimiz basittir: şimdiye kadar yapılan en iyi dosya yönetim platformunu inşa etmek. Nokta. Ama "en iyi" farklı insanlar için farklı şeyler anlamına gelir, bu yüzden her şeyi plugin'leyebilir hale getirdik. Çekirdek arayüzleri tanımlar, plugin'ler bunları uygular. Bizim uygulamadan anlaşmazlığınız mı var? Kendi uygulamanızı yazın. Evrenin temel gerçekleri olmayan ve tartışmayı kışkırtabilecek her şey bir plugin'de yaşar. Temel özelliklerde listelenen her parça, başka bir implementasyonla değiştirebileceğiniz ya da tamamen kaldırabileceğiniz bir plugin'dir.

Diyelim ki mevcut FTP sunucunuzun üzerinde kullanıcılarınıza Dropbox benzeri bir deneyim verme istiyorsunuz (HN'de Dropbox lansmanı sırasında FTP adamı hatırlayın). FTP plugin'i yapması gereken tek şey bu arayüzü uygulamaktır:

type IBackend interface {
	Ls(path string) ([]os.FileInfo, error)           // bir klasördeki dosyaları listele
	Stat(path string) (os.FileInfo, error)           // dosya durumu
	Cat(path string) (io.ReadCloser, error)          // dosya indir
	Mkdir(path string) error                         // klasör oluştur
	Rm(path string) error                            // bir şey sil
	Mv(from string, to string) error                 // bir şeyi yeniden adlandır
	Save(path string, file io.Reader) error          // dosya kaydet
	Touch(path string) error                         // dosya oluştur

	// 2 diğer yöntemi atlamış durumdayım; biri bağlantı yeniden kullanımını etkinleştirmek için,
	// diğeri login formunun nasıl görünmesi gerektiğini belirtmek için.
}

Filestash'in her temel bileşeni için uygulayabileceğiniz arayüzler vardır: depolamadan kimlik doğrulamaya, yetkilendirmeye, özel uygulamalara, aramaya, küçük resim oluşturmaya, frontend yamasına, middleware'e, endpoint oluşturmaya ve plugin geliştirme rehberinde belgelenen birkaç diğerine.

Şu anda örneğinizde neyin kurulu olduğunu görmek için /about bölümüne gidin. Plugin'lerin envanteri burada belgelenmiştir

Destek

Kaynakça

Filestash şunların omuzlarında durmaktadır: katkıda bulunanlar, harika kütüphaneler geliştiren insanlar, bir sürü C malzemesi (C standart kütüphanesi, libjpeg, libpng, libgif, libraw ve çok daha fazlası), fontawesome, material, gerçek cihazlarda test yapabilmemiz için Browser stack, ve Nebraska'dan ve diğer yerlerden Filestash'in üzerinde oturduğu kritik parçaları şükransız bir şekilde yönetmiş olan çok sayıda kişi:

Benzer MCP sunucuları

Daha fazla: File Systems →