如何能用windows把其他協議map成folder

如何能用windows把其他協議map成folder

背景/目的

什麼時候有這個需要?

目标

支持

原理

windows本身支持map成drive的协议有

所以思路

python行不行?

发现python有几个lib貌似不错

PyWebDAV3

功能:实现一个webdav server

测试能跑服務,edge browser也能鏈接的上,也能map成非網盤。但是沒辦法map成網盤

pip install PyWebDAV3
python -m pywebdav.server.server -D g:\  -n -v -l info

ftplib

功能:实现一个ftp client。这个是标准库

测试能跑服務,edge browser也能鏈接的上,也能map成非網盤。但是沒辦法map成網盤

from ftplib import FTP
ftp = FTP('localhost', user='user',passwd='')
t = ftp.dir()
print(f)
ftp.quit()

def ftp_write_file(local_file, ftp, remote_file)
    with open(local_file, 'wb') as fp:
        ftp.retrbinary('RETR %s'%remote_file, fp.write)

TODO

修改pywebdav内部handler,把请求转发给ftp

dave-0.4.0-windows-amd64

這是一個webdav服務端,測試失敗

SMBServer_1.4.8

這是一個smb服務端。

gui沒辦法修改端口,而我又沒有c#編譯器。沒辦法測試

ftpuse

據説可以能把ftp map成本地硬盤,但是測了下,需要管理員權限

sshfs-win

據説可以能把sftp map成本地硬盤,沒測

https://segmentfault.com/a/1190000023726408

尽管sshfs-win简单直接,但如果读者需要更多功能(如图形界面、缓存等),就需要其他的替代品来实现同样的功能。这里笔者推荐几款替代品:

类似的软件还有很多,如SFTP Drive等,读者可以根据自己的需求挑选适合自己的软件

rclone

據説可以吧ftpmap成本地硬盤

F:\Users\cutepig\Downloads\rclone-v1.57.0-windows-amd64>type C:\Users\cutepig\AppData\Roaming\rclone\rclone.conf
[test]
type = ftp
host = localhost
user = user
port = 21000
pass = nXnuJ8LtwOUOK4qQhz4ubJQBX0o

F:\Users\cutepig\Downloads\rclone-v1.57.0-windows-amd64>rclone mount test:/ a:
2022/03/03 19:05:09 Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed: cgofuse: cannot find winfsp

相关技术

winfuse

winfsp

Powered by Jekyll and Theme by solid

本站总访问量