简单的网络文件系统, 支持 Linux 挂载 Windows 的目录

2015-09-11 23:01:44 +08:00
 gleport
服务端使用 Go 编写,我已在 Linux 和 Windows 上测试运行过了,不过我没有 OS X 运行环境,欢迎有 OS X 环境的同学尝试。

因客户端依赖 [fuse]( http://fuse.sourceforge.net/) 库的缘故,目前仅支持 Linux 。如需移植到 OS X 的话,[FUSE for OS X]( https://osxfuse.github.io/) 应该可以解决这个依赖。

这个简单的文件系统类似于 sshfs ,不过 sshfs 需要服务端开放 ssh 服务,这在 Windows 上比较麻烦。而 NFS 配置又过于繁琐。这个网络文件系统使用很简单:

服务端开启文件共享服务:

```
# 查看帮助
tcfsd -h
# 把整个 e 盘共享出去, 使用 rc4 加密传输, 密码为 foobar, 监听端口为 4567
tcfsd -crypto "rc4" -key "foobar" -port ":4567" -dir "e:"
```

客户端挂载服务端共享的目录:

```
# 查看帮助
./tcfs -h
mkdir mountpoint # 挂载点必须是空目录, 创建一个空目录
./tcfs -s "服务端 IP 地址" -p 4567 -m rc4 -k foobar mountpoint
```

然后客户端就可以像访问本地文件系统一样访问服务端共享的 E 盘了。

代码地址: https://github.com/hmgle/tcfs
2963 次点击
所在节点    分享创造
6 条回复
xfspace
2015-09-11 23:28:56 +08:00
明天撸下看看好不好使
songco
2015-09-12 01:36:31 +08:00
一直在用 cifs 。系统自带。
choury
2015-09-12 01:54:34 +08:00
ls 说的对啊, cifs 挺好用的啊,为什么要再写个呢?有什么优势吗?
gleport
2015-09-12 09:18:17 +08:00
哦,我之前不了解 cifs ,没有在 Linux 上使用 mount.cifs 挂载过 Windows 上的文件夹。现在试了下 cifs ,觉得挺好用。我写的这个没有什么优势吧,就是利用了 fuse ,挂载时不要 root 权限,认证不与服务端账户关联,协议简单粗暴,实现起来简单。
@choury
gleport
2015-09-12 09:25:47 +08:00
之前的本意是写一个玩具级别云文件系统 TCFS (Toy cloud file system ),遇到不少困难,干脆放弃,以此简单的网络文件系统终结。
line
2015-09-12 20:58:09 +08:00
有没有反向的,可以把客户端目录共享给 server

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/220076

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX