Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WebDAV / Remote Mount #2

Open
ShadowJonathan opened this issue May 18, 2024 · 5 comments
Open

WebDAV / Remote Mount #2

ShadowJonathan opened this issue May 18, 2024 · 5 comments
Milestone

Comments

@ShadowJonathan
Copy link
Owner

We could possibly expose the site directory for a domain as a WebDAV share, but I don't entirely know how secure it is, or how supported it is (I heard Windows can't handle HTTPS webDAV, or something like that)

However, I'd like for there to be a possibility for remote mounts, so that users don't have to use the web interface to edit their stuff, but that they can use any application to edit locally mounted remote files.

@ShadowJonathan
Copy link
Owner Author

ShadowJonathan commented May 18, 2024

Mentioned on fedi, FTP library: https://pyftpdlib.readthedocs.io/en/latest/

Apparently Windows explorer supports connecting to it out of the box. Not sure about SFTP though.

@4censord
Copy link

4censord commented May 18, 2024

If we choose to use python, we could also expose FTP(s) using the pyftpd lib.

While FTP is not the greatest protocol, its widely supported, and comparatively easy.
Additionally, the pyftpd lib is using async by default, so that fits well.

Docs: https://pyftpdlib.readthedocs.io/en/latest/
Example: https://pyftpdlib.readthedocs.io/en/latest/tutorial.html#id2

And another note on security: pyftpd supports FTPS (FTP over TLS), and we are already generating TLS certs for the domains anyways

@ShadowJonathan ShadowJonathan added this to the Misc (1.x) milestone May 19, 2024
@ShadowJonathan
Copy link
Owner Author

Got this mentioned today: https://rexzhang.github.io/asgi-webdav/

@4censord
Copy link

That also sounds nice. Is this a library, or is it supposed to run as a separate service?
I couldn't conclusively tell from a quick look at the docs

@ShadowJonathan
Copy link
Owner Author

Eventually, it's supposed to run embedded, so it can use the same authentication module

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants