首先,如果您不知道的话,samba 或 smb == Windows 文件共享、\\computer\share 等。

我在一堆不同的计算机上有一堆不同的文件。主要是媒体,而且数量相当多。我正在研究各种方法将其整合为更易于管理的东西。

目前我正在考虑几个选项, 最多 其中最疯狂的是某种 samba 共享索引器,它会生成在我告诉它的各种 samba 服务器上共享的内容列表,并将它们上传到一个网站,然后可以搜索和浏览。

这是一个便宜的解决方案,好吗?

忽略这个想法显然是缺少一个类的几个方法这一事实,你们知道有什么方法可以跨浏览器方式链接到 html 中的 samba 文件共享吗?在 Windows 中,可以使用 \\computer\share,在 Linux 中,可以使用 smb://computer/share,这两种方法在不用作文件管理器的浏览器中都不起作用(例如,除 Internet Explorer 之外的任何浏览器)。

一些澄清

  • 用于访问本网站的计算机是 WIndows (XP) 和 Linux (Ubuntu) 的混合体,以及浏览器(Opera 和 Firefox)的混合体。
  • 在 Linux 中,输入 smb://computer/share 似乎只在 Nautilus 中起作用(对于 KDE3.5/4 的人来说,大概还有 Konqueror / Dolphin)。它在 Firefox 或 Opera 中不起作用(Firefox 不执行任何操作,Opera 抱怨 URL 无效)。
  • 我没有方便的 Windows 盒子,所以我不确定 \\computer\share 是否可以在 IE 以外的任何地方工作(例如火狐/歌剧)。
  • 如果您有更好的想法来整合一堆随机 samba 共享(它肯定不会比我的更糟糕;-)),值得知道的是,不能保证我想要索引/整合的任何服务器会在任何特定时刻起来。此外,我不希望仅仅因为他们不可用而导致他们共享的内容丢失或隐藏。我想知道他们共享“foo”,但目前已关闭。
有帮助吗?

解决方案

嗯,协议处理程序看起来很有趣。

作为 标记 也就是说,在 Windows 中协议处理程序可以在操作系统级别进行处理

协议处理程序也可以在浏览器级别完成(这是首选,因为它是跨平台的并且不涉及安装任何内容)。

Firefox 中的工作原理总结
Opera 中的工作原理总结

其他提示

我可能只是在 SAMBA 服务器上设置 Apache 并让它通过 HTTP 提供文件服务。这也会给你一个很好的自动索引默认页面,你可以只 wget 并连接主列表的每个索引。

其他一些想法:

  1. file://server/share/file 是 Windows 的默认方式
  2. 你可以 注册协议处理程序 在 Windows 中,您可以注册 smb 并将其重定向到 file://。我怀疑 GNOME/KDE/等等。会提供相同的。

要使链接跨平台工作,您可以查看 CGI 脚本或 JavaScript 中的用户代理,并相应地更新您的 URL。

或者,如果您想合并 SMB 共享,您可以尝试使用 微软DFS (也适用于 Samba)。

您设置 DFS 根目录并告诉它您环境中拥有的所有其他 SMB/Samba 共享。然后,客户端连接到根并查看所有共享,就好像它们托管在该单个根计算机上一样;当客户端打开共享时,根会默默地将客户端重定向到正确的系统。

将其视为 SMB 的符号链接或虚拟文件系统。

它将解决您的浏览问题。我不确定它是否能解决您的搜索问题。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top