我正在寻找一款服务器软件产品:
允许我的用户与以下对象共享大文件:
- 广大市民
- 安全地发送给 1 人或多人(通过电子邮件通知,可选择使用令牌给他们 x 段时间进行下载)
允许公众中的任何人与我的用户共享文件。也许需要邀请。
必须足够用户友好,以允许我的用户使用它而不必打扰我这个管理员。
它需要是一个我们可以安装在自己的服务器上的系统(我们不希望共享数据存储在任何其他人的服务器上)
基于网络的解决方案。
使用某种安全通信渠道也是不错的选择,例如 ssh
要共享的文件可能超过 1 GB。
我发现了以下问题。WebDav 听起来不够用户友好: 关于安全(且简单)Dropbox 系统的建议
我搜索了很多次,但还是找不到正确的搜索词。提供这种服务的服务太多了,但我想要一些可以安装在我们自己的服务器上的东西。
最后的办法就是自己动手。
任何想法都值得赞赏。
- 格伦
编辑
对不起汤姆和杰夫,但格伦明确表示他正在寻找一种“产品”,因此鉴于我专门从事该领域,我认为我在该领域的专业知识可能对他有用。
我不知道他编写的服务在未来如何才能轻易维持(巨大的 IT 管理开销)或者如何才能让他的用户和普通公众轻易使用。
答案1
如果您可以使用 Amazon S3 作为基础设置,则可以尝试为其编写自己的服务,这样就可以创建临时密钥来下载文件。或者,您可以使用 Dropbox(基于 Amazon S3 构建),这样您就可以与朋友共享文件,但他们需要在 Dropbox 中拥有帐户。
我建议你这样做。使用 1024 加密密钥加密文件后将其保存在 dropbox/S3 上,然后与您想要共享的用户共享解密密钥。
答案2
几年前,我实现了一个功能与你描述的非常相似的系统。它是一个文件共享门户(以一些用户生成的视频游戏内容为中心),提供数千个大小从 5 到 500Mb 不等的文件。
我找不到现成的解决方案,只能自己想办法。我认识的其他人和我处于同样的境地(大量用户上传的内容提交后重新发布到网上),他们也都想出了自己的解决方案。我知道这不是你想听到的,我希望你能找到一些解决方案,但集体思维似乎还没有为你找到解决方案。
如果你采用自制解决方案,你可能会遇到与我相同的一些问题:
如果不调整 Web 服务器设置,文件上传的最大大小为 50Mb。任何超过 100Mb 的文件通过 HTTP 上传都非常不可靠,主要是因为大多数用户的上传带宽有限,而且上传通常会影响所有其他 Web 活动。
上传后文件的完整性非常不稳定。仅通过 HTTP,大约十分之一的大型 .zip 文件上传会导致哈希值不匹配。
对交易文件的管理监督变得非常重要,以至于我们必须在将所有文件发布回下载池之前对其进行审查。在公司环境中,这不会成为什么问题,但您仍然需要非常谨慎,不要让客户向您发送任何大型、可能可执行的内容。尤其是数百 Mb 的内容,而目的地是 Web 服务器。
答案3
非常大的文件无法通过“网络”(即浏览器)可靠地传输。故事结束。你认为视频共享网站为什么要构建安装在你电脑上以协助上传的特殊应用程序?当你上传 1Gb 文件时,如果在 50% 时失败,会发生什么?你一次又一次地尝试,直到成功。太差劲了。
FTP 是一个很好的解决方案。任何想要传输大文件的人都应该学习如何使用它。您可以为所有用户设置帐户,并为下载设置一个匿名帐户。Webdav 可能也很好用。当您只有一把锤子时,一切看起来都像钉子。当您只知道浏览器时,您所能使用的只有网络。
现在我的讲座已经结束(请原谅我),请看一下: http://jupload.sourceforge.net/index.html
也许你可以将它与某种基于 PHP 的 Web 文件管理器集成。这应该会让网络用户感到满意。
答案4
编辑:一个很好的解决方案是:http://justattach.com/
我还查看了:http://www.ipswitchft.com/Business/Products/AdHocTransferModule/
WS_FTP 是适用于 Windows 的 FTP 服务器。它包含一个用于通过 Web 浏览器共享文件的 Web 传输模块。但更棒的是,他们刚刚发布了一个“Ad Hoc Transfer”模块。这似乎几乎满足了我的要求(我的用户可以轻松地与第三方共享文件 - 临时共享)。它似乎没有做到的唯一一件事是我想要的,那就是让第三方(客户)可以轻松地与我的用户共享大文件。我在这里的想法是我的用户发起传输(发送一封带有链接的电子邮件,允许第三方上传)。