教你搭建超简单的 WebDAV 服务,在网络上传输文件[Win/Linux/Mac]

19
1 Star2 Stars3 Stars4 Stars5 Stars (2 votes)
Loading...

 如果你处于一个有多台电脑的办公室内,或者在家中也有多台电脑,那么总不可避免互相传输文件,最简单的方法是通过 QQ 等工具,但如果需求稍高,比如想像自己的文件夹一样,通过 WebDAV 来实现就显得非常简单了。

WebDAV 是一个基于万维网的分布式创作和版本控制,是一组基于超文本传输协议的技术集合,有利于用户间协同编辑和管理存储在万维网服务器文档。

WebDAV 的支持非常广泛,Mac 下原生支持,Windows 下更丰富了,小众介绍过的 FolderSync – 手机上的文件同步应用ownCloud 6 – 建立自己的私有云储存服务Omnifocus 等等,你可以在很多地方找到 WebDAV 的影子。

@chentca 同学在 发现频道 推荐了一款开源的、非常简单易用的集 DNS + WWW +WebDAV 为一体的服务软件:Parkomat。并提到:

Parkomat 由 Go 语言编写,性能好,资源占用小,跨平台,使用配置简单。

上图是 Parkomat 最简单的配置文件,仅启用了 Web 服务器和 WebDAV 服务。

@chentca 还说道:

Parkomat 可以用作本地 DNS 和 Web 服务器,但我主要是用 WebDAV 服务。WebDAV 是 Web 服务的扩展,主要原因是网上邻居有 20 户的连接限制,用 Parkomat 则无限制,且易于跨网,只要一个端口映射就可以了。使用 net use 或者支持 WebDAV 的客户端都很方便。

青小蛙一开始没有反应过来这货能干嘛,经过 @chentca 提醒后,尝试在 VPS 里设置了一下,比起 Nginx 什么的简单太多了,无需编译,拿来就用。

只需两步(需要 Golang 环境):

go get github.com/parkomat/parkomat

./parkomat -config_file=/path/to/config.toml

好事的同学可以试试,如果打不开就是关了哦。

Web: http://23.226.78.124/

WebDAV: http://23.226.78.124/dav/ (用户名密码均 appinn,青小蛙把配置文件放到了这里:config.toml)

如果你用 WebDAV 登录后还能直接修改 html 文件…

Parkomat 在 github: https://github.com/parkomat/parkomat,里面有配置示例文件。想讨论的同学可以前往论坛主题帖:https://meta.appinn.com/t/parkomat-webdav/2154

已有 19 条评论, 我要留言

  1. jerrylu说道:

    顺路推荐一个同步应用:syncthing,开源,界面清新便捷,甚至还有版本控制,唯一美中不足就是没有iOS app,但着实是电脑端用户和Android用户的福利,推荐去试试看。

    • Unee Wang说道:

      我一直用btsync,知道syncthing太晚了,VPS上都部署好了,迁移成本太高

      • chentca说道:

        我也刚刚知道,不过同时布上了,切换倒是方便的,就是怕其他用户不习惯看到这么个黑屏界面。btsync已经支持以系统服务后台运行了。

    • 水鬼说道:

      能双向同步吗?主要是要在不同时间修改同一个文件。

    • Jack说道:

      能支持多用户吗?有支持多用户的开源云存储解决方案吗

  2. allor说道:

    就差一个如同HFS一般简单的界面

  3. huiyi说道:

    HFS有时候载入异常缓慢,不稳定

  4. 哥白尼胶布说道:

    Method Not Allowed,还说给你放点种子呢

  5. David Aldrich说道:

    坚果云支持WebDAV,但是好像对文件大小有上限,100MB。用来同步文档绰绰有余。

  6. Unee Wang说道:

    期待多介绍些VPS上好玩的项目

  7. chentca说道:

    刚刚在你的网盘建了个中文目录,直接造成webdav不显示所有文件了。
    目前parkomat已知问题:
    1.文件名相关,不能包含&字符,可能跟http的字符处理有关。
    2.文件被锁定的情况下,比如某个excel文件被网上邻居的其他用户打开,会造成该目录下文件不显示。
    上载了一个carotdav,很好用,但是有个bug。
    excel文件在线编辑并保存会损坏!

  8. 匿了个名说道:

    第一眼看标题 默认屏蔽了D字母

  9. 水鬼说道:

    加密传输吗?

  10. yu说道:

    按照教程,提示出错……求解答
    package golang.org/x/net/webdav: unrecognized import path “golang.org/x/net/webd
    av” (https fetch: Get https://golang.org/x/net/webdav?go-get=1: dial tcp 58.176.
    217.88:443: connectex: A connection attempt failed because the connected party d
    id not properly respond after a period of time, or established connection failed
    because connected host has failed to respond.)

有不同想法?说说看