[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-4914":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":23,"hasPages":23,"topics":25,"createdAt":10,"pushedAt":10,"updatedAt":45,"readmeContent":46,"aiSummary":47,"trendingCount":16,"starSnapshotCount":16,"syncStatus":17,"lastSyncTime":48,"discoverSource":49},4914,"filestash","mickael-kerjean\u002Ffilestash","mickael-kerjean",":file_folder: File Management Platform \u002F Universal Data Access Layer (without FUSE)","https:\u002F\u002Fwww.filestash.app\u002F",null,"Go",14297,984,117,83,0,2,17,109,13,43.98,"GNU Affero General Public License v3.0",false,"master",[26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"archiving","azure","dms","dropbox","edrms","ftp","ged","git","ipfs","mft","nfs","s3","sae","seda","sftp","sharepoint","smb","vfs","webdav","2026-06-12 02:01:05","![screenshot](https:\u002F\u002Fraw.githubusercontent.com\u002Fmickael-kerjean\u002Ffilestash_images\u002Fmaster\u002F.assets\u002Fphoto.jpg)\n\n# What is this?\n\n\u003Cp>\n    It started as a storage agnostic Dropbox-like file manager that works with every storage protocol: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fftp-client.html\">FTP\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fssh-file-transfer.html\">SFTP\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fs3-browser.html\">S3\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fsmb-client.html\">SMB\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fwebdav-client.html\">WebDAV\u003C\u002Fa>, IPFS, and \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F#storage\">about 20 more\u003C\u002Fa>.\n\u003C\u002Fp>\n\n\u003Cp>\n    It grew into what we want to be the world's best file management platform, where everything that's not a fundamental truth of the universe lives in a plugin. Where other platforms are take-it-or-leave-it, ours gives you a rock solid core and a plugin system to handle opinions, so however deep requirements go, the only limit won't be technical but your own creativity.\n\u003C\u002Fp>\n\n\u003Cp>\n    \u003Ca href=\"http:\u002F\u002Fdemo.filestash.app\">\u003Cimg src=\"https:\u002F\u002Fwww.filestash.app\u002Fimg\u002Fillustration\u002Ffilestash-integrations.png\" alt=\"storage + auth architecture\" \u002F>\u003C\u002Fa>\n\u003C\u002Fp>\n\n# Key Features\n\n\u003Cul>\n    \u003Cli>\u003Ca href=\"#vision--philosophy\">Plugin Driven Architecture\u003C\u002Fa>: everything that matters is a plugin, browse the \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F\">ecosystem\u003C\u002Fa> or \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fplugin-development.html?origin=github\">build your own\u003C\u002Fa>. With this approach, you get exactly what you need without overhead and bloat.\u003C\u002Fli>\n    \u003Cli>Universal Access: the web client is just one way to access your data (albeit an awesome one, handcrafted in vanilla JS). \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fapi\u002F#api\">APIs\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fstorage-gateway.html?origin=github\">Gateways\u003C\u002Fa> let you also expose your data over protocols like \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fsftp-gateway.html?origin=github\">SFTP\u003C\u002Fa>, S3, FTP, WebDAV, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fmcp-gateway.html?origin=github\">MCP\u003C\u002Fa>, and AS2.\u003C\u002Fli>\n    \u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F#storage\">Integrations\u003C\u002Fa>: our explicit goal is to support 100% of storage and authentication technologies on the market. Beyond your usual options, you can go much further, like a \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fvirtual-filesystem.html?origin=github\">virtual filesystem\u003C\u002Fa> delegating authentication to your \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmickael-kerjean\u002Ffilestash\u002Ftree\u002Fmaster\u002Fserver\u002Fplugin\u002Fplg_authenticate_wordpress\">WordPress site\u003C\u002Fa> and using its roles to drive \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fauthorization.html#option-2-rbac\">RBAC authorization\u003C\u002Fa>.\u003C\u002Fli>\n    \u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fworkflow-engine.html\">Workflow Engine\u003C\u002Fa>: automate anything that happens to your files by chaining actions on events, from simple notifications via Slack or email to full on MFT pipelines and everything in between.\u003C\u002Fli>\n    \u003Cli>File Apps: use any of the existing apps or \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fplugin-development.html#xdg-open-plugins-in-depth\">build your own\u003C\u002Fa>, from astronomy to embroidery and everything in between like:\n        \u003Cul>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_photography.zip\">photography\u003C\u002Fa>: heif, nef, raf, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Ftiff-viewer.html\">tiff\u003C\u002Fa>, raw, arw, sr2, srf, nrw, cr2, crw, x3f, pef, rw2, orf, mrw, mdc, mef, mos, dcr, kdc, 3fr, erf and srw\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_photography.zip\">astronomy\u003C\u002Fa>: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Ffits-viewer.html\">fits\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fxisf-viewer.html\">xisf\u003C\u002Fa>\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_science.zip\">science\u003C\u002Fa>: with latex, plantuml & pandoc compilers\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_musician.zip\">music\u003C\u002Fa>: mid, midi, gp4 and gp5\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_gis.zip\">GIS\u003C\u002Fa>: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fgeojson-viewer.html\">geojson\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fshp-viewer.html\">shp\u003C\u002Fa>, gpx, wms and \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fdbf-viewer.html\">dbf\u003C\u002Fa>\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_engineering.zip\">data engineering\u003C\u002Fa>: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fparquet-viewer.html\">parquet\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Farrow-viewer.html\">arrow\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Ffeather-viewer.html\">feather\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Favro-viewer.html\">avro\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Forc-viewer.html\">orc\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fhdf5-viewer.html\">hdf5\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fhdf5-viewer.html\">h5\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fnetcdf-viewer.html\">netcdf\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fnetcdf-viewer.html\">nc\u003C\u002Fa>, rds, rda and rdata\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_dev.zip\">dev\u003C\u002Fa>: a, so, o, dylib, dll, tar, tgz, zip, har, cap, pcap, pcapng and \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fsqlite-viewer.html\">sqlite\u003C\u002Fa>\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_creative.zip\">creative work\u003C\u002Fa>: svg, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fpsd-viewer.html\">psd\u003C\u002Fa>, ai, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fsketch-viewer.html\">sketch\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fcdr-viewer.html\">cdr\u003C\u002Fa>, woff, woff2, ttf, otf, eot, exr, tga, pgm, ppm, dds, ktx, dpx, pcx, xpm, pnm, xbm, aai, xwd, cin, pbm, pcd, sgi, wbmp and rgb\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_biomed.zip\">biomedical\u003C\u002Fa>: dicom, sam, bam, cif, pdb, xyz, sdf, mol, mol2 and mmtf\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_autodesk.zip\">autodesk\u003C\u002Fa>: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fdwg-viewer.html\">dwg\u003C\u002Fa> and \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fdxf-viewer.html\">dxf\u003C\u002Fa>\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_adobe.zip\">adobe\u003C\u002Fa>: \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fpsd-viewer.html\">psd\u003C\u002Fa>, ai, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fxd-viewer.html\">xd\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Fdng-viewer.html\">dng\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ftools\u002Feps-viewer.html\">postscript\u003C\u002Fa>, aco, ase, swf\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_3d.zip\">3d\u003C\u002Fa>: fbx, gltf, obj, stl, step, mesh, ifc, dae\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fdemo.filestash.app\u002Fassets\u002Fplugin\u002Fapplication_embroidery.zip\">embroidery\u003C\u002Fa>: dgt, dst, dsb, dsz, edr, exp, 10o, col, hus, inf, jef, ksm, pcm, pcs, pes, sew, shv, sst, tap, u01, vip, vp3 and xxx\u003C\u002Fli>\n            \u003Cli>\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fmickael-kerjean\u002Ffilestash\u002Ftree\u002Fmaster\u002Fserver\u002Fplugin\u002Fplg_widget_pgp\">e2e\u003C\u002Fa>: pgp, gpg\u003C\u002Fli>\n        \u003C\u002Ful>\n    \u003C\u002Fli>\n    \u003Cli>Themes: \u003Cbr>\n        \u003Cimg src=\"https:\u002F\u002Fwww.filestash.app\u002Fimg\u002Fscreenshots\u002Ftheme_github.png\" height=\"150\" \u002F>\n        \u003Cimg src=\"https:\u002F\u002Fwww.filestash.app\u002Fimg\u002Fscreenshots\u002Ftheme_apple.png\" height=\"150\" \u002F>\n        \u003Cimg src=\"https:\u002F\u002Fwww.filestash.app\u002Fimg\u002Fscreenshots\u002Ftheme_dropbox.png\" height=\"150\" \u002F>\n        \u003Cimg src=\"https:\u002F\u002Fwww.filestash.app\u002Fimg\u002Fscreenshots\u002Ftheme_ibm.png\" height=\"150\" \u002F>\n    \u003C\u002Fli>\n    \u003Cli>AI features for \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fsearch.html\">search\u003C\u002Fa>, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Ffeatures\u002Fsmart-folder.html\">smart folders\u003C\u002Fa> and OCRs.\u003C\u002Fli>\n    \u003Cli>... and much \u003Csub>much \u003Csub>more (versioning, audit, public site, antivirus, quota, chat, chromecast support, on demand video transcoding, mounting shared links as network drive, ....)\u003C\u002Fsub>\u003C\u002Fsub>\u003Cbr> As a rule of thumb, if your problem involves files, we either already \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F\">have a plugin\u003C\u002Fa> for it or can make a plugin for it\n\u003C\u002Ful>\n\n\n# Getting Started\n\nTo install Filestash, head to the [Getting started](https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002F?origin=github) guide. If you want to leverage plugins, head over to the [inventory](https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F?origin=github), or learn about [developing your own plugins](https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fplugin-development.html?origin=github).\n\nIf you want guidance and expert help on your file management problem, [book a call](https:\u002F\u002Fwww.filestash.app\u002Ftunnel\u002Fdemo\u002F?origin=github) and let's figure out if Filestash is the right platform for you.\n\n\n# Vision & Philosophy\n\nOur goal is simple: **to build the best file management platform ever made. Period.** But \"best\" means different things to different people, so we made everything pluggable. The core defines interfaces, plugins implement them. Disagree with our implementation? Write your own. Anything that isn't a fundamental truth of the universe and might spark a debate belongs in a plugin. Literally every piece listed in the key features is a plugin you can swap for another implementation or remove entirely.\n\nSay you want to give your users a Dropbox like experience on top of your existing FTP server (remember the [FTP guy during the Dropbox launch on HN](https:\u002F\u002Fnews.ycombinator.com\u002Fitem?id=9224)?). All the [FTP plugin](https:\u002F\u002Fgithub.com\u002Fmickael-kerjean\u002Ffilestash\u002Ftree\u002Fmaster\u002Fserver\u002Fplugin\u002Fplg_backend_ftp) does is implement this interface:\n```go\ntype IBackend interface {\n\tLs(path string) ([]os.FileInfo, error)           \u002F\u002F list files in a folder\n\tStat(path string) (os.FileInfo, error)           \u002F\u002F file stat\n\tCat(path string) (io.ReadCloser, error)          \u002F\u002F download a file\n\tMkdir(path string) error                         \u002F\u002F create a folder\n\tRm(path string) error                            \u002F\u002F remove something\n\tMv(from string, to string) error                 \u002F\u002F rename something\n\tSave(path string, file io.Reader) error          \u002F\u002F save a file\n\tTouch(path string) error                         \u002F\u002F create a file\n\n\t\u002F\u002F I have omitted 2 other methods, a first one to enable connections reuse and\n\t\u002F\u002F another one to declare what should the login form be like.\n}\n```\n\nThere are interfaces you can implement for every key component of Filestash: from storage, to authentication, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fauthorization.html\">authorisation\u003C\u002Fa>, custom apps, \u003Ca href=\"https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fsearch.html\">search\u003C\u002Fa>, thumbnailing, frontend patches, middleware, endpoint creation and a few others documented in the [plugin development guide](https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fguide\u002Fplugin-development.html).\n\nTo see what's currently installed in your instance, head over to [\u002Fabout](https:\u002F\u002Fdemo.filestash.app\u002Fabout). The inventory of plugins is [documented here](https:\u002F\u002Fwww.filestash.app\u002Fdocs\u002Fplugin\u002F)\n\n\n# Support\n\n- Commercial Users → [support contract](https:\u002F\u002Fwww.filestash.app\u002Fpricing\u002F?origin=github)\n- For individuals:\n  - [#filestash](https:\u002F\u002Fkiwiirc.com\u002Fnextclient\u002F#irc:\u002F\u002Firc.libera.chat\u002F#filestash?nick=guest??) on IRC (libera.chat)\n  - Bitcoin: `3LX5KGmSmHDj5EuXrmUvcg77EJxCxmdsgW`\n  - [Open Collective](https:\u002F\u002Fopencollective.com\u002Ffilestash)\n\n\n# Credits\n\nFilestash stands on the shoulder of: [contributors](https:\u002F\u002Fgithub.com\u002Fmickael-kerjean\u002Ffilestash\u002Fgraphs\u002Fcontributors), folks developing [awesome libraries](https:\u002F\u002Fgithub.com\u002Fmickael-kerjean\u002Ffilestash\u002Fblob\u002Fmaster\u002Fgo.mod), a whole bunch of C stuff (the [C standard library](https:\u002F\u002Fimgs.xkcd.com\u002Fcomics\u002Fdependency.png), [libjpeg](https:\u002F\u002Flibjpeg-turbo.org\u002F), [libpng](https:\u002F\u002Fwww.libpng.org\u002Fpub\u002Fpng\u002Flibpng.html), [libgif](https:\u002F\u002Fgiflib.sourceforge.net\u002F), [libraw](https:\u002F\u002Fwww.libraw.org\u002Fabout) and many more), [fontawesome](https:\u002F\u002Ffontawesome.com), [material](https:\u002F\u002Fmaterial.io\u002Ficons\u002F), [Browser stack](https:\u002F\u002Fwww.browserstack.com\u002F) to let us test on real devices, and the many guys from Nebraska and elsewhere who have been thanklessly maintaining the critical pieces that Filestash sits on top:\n\n\u003Cimg src=\"https:\u002F\u002Fimgs.xkcd.com\u002Fcomics\u002Fdependency.png\" alt=\"credit to the nebraska guy on xkcd\" \u002F>\n","Filestash 是一个文件管理平台，支持多种存储协议，如FTP、SFTP、S3、SMB和WebDAV等。其核心功能包括插件驱动架构、通用数据访问能力以及广泛的集成选项。通过插件系统，用户可以根据需求定制功能，避免不必要的复杂性；同时，它提供了丰富的API和网关，允许以多种方式（如SFTP、S3等）访问数据。此外，Filestash 还具备强大的工作流引擎，能够自动化处理文件相关的各种任务。适用于需要灵活管理和访问不同来源数据的企业或个人场景，特别是在需要高度自定义和扩展性的环境中。","2026-06-11 03:01:28","top_language"]