我想在我自己的服务器(GNU / Linux)上提供文件托管服务,该服务允许实时上传文件。

Web应用程序必须为FLOSS。

A drop.io克隆将是最好的,但我并不需要它提供的所有功能。

上传文件

注册/登录一定不是强制性的,因此用户应该可以保持匿名。


每个用户都应该可以创建一个新页面(具有专用/稳定的URL)。 http://file-hosting.example.org/oHg5SJYRHA0
每个页面都允许该用户上传文件。 http://file-hosting.example.org/oHg5SJYRHA0/license.txt http://file-hosting.example.org/oHg5SJYRHA0/me.png

用户可以配置此页面:


限制访问吗?否:其他人仅需要URL即可访问该页面并下载文件。是:其他需要URL和密码才能访问页面和下载文件。
有效期:否:页面/文件将永远可用。是:页面/文件将在特定的可配置时间后被删除。




它将如果用户可以在创建新页面时(可选)提供所有者密码,那就太好了。这将使他们即使在会话关闭后也可以更改设置或删除/上传文件。如果未提供所有者密码,则任何人都无法更改。

管理服务

不需要Web界面,我可以通过SSH对其进行配置。


它应该可以设置最大文件大小。
应该可以设置全局最大值(所有上传文件的总大小)。
应该可以通过某种方式通知管理员新页面和新文件(例如,通过电子邮件,XMPP或供稿…)。


评论

我将做出类似的事情(由于这个灵感),但不会很快完成,对于后端我还不是最好的。

也许社区可以在github.com上写一个开源平台,我将托管它!

您是否考虑过使用ownCloud?它不完全支持您的规范,但是您可以更改源,或根据需要解决它们。

@Marcel:您对ownCloud足够了解,以便您可以描述它满足哪些功能以及错过哪些功能吗?即使只是部分解决方案,它也将是一个有用的答案(尤其是因为似乎还没有更好的匹配方法)。

#1 楼

ownCloud(https://owncloud.org/)至少在某种程度上匹配:


它需要注册,但是您始终可以使用no / public密码创建一个“ public”用户
它是免费和开放源代码(AGPL许可,AFIAK)https://github.com/owncloud

它是自托管的,与Web服务器(例如apache)和数据库(必须使用MariaDB,MySQL或SQLite。
共享文件和目录(带或不带链接)
设置配额

它不支持(AFAIK)


“每个用户的页面”要求。
文件过期