cryptomator / ios

Cryptomator for iOS
https://cryptomator.org
GNU General Public License v3.0
210 stars 26 forks source link

Web-DAV supports customized request headers and user agents. #370

Open yuyu1025 opened 3 weeks ago

yuyu1025 commented 3 weeks ago

Please agree to the following

Summary

Web-DAV supports customized request headers and user agents.

Motivation

There are some netdisks that don't support Web-DAV mounting method, but you can disguise the mounting by alist. However, it is often necessary to customize the user agent. After providing this ability, it will be possible to support most of the network disks.

Considered Alternatives

No response

Anything else?

No response

tobihagemann commented 3 weeks ago

I can imagine this to be part of #37, so that the user agent is automatically set to "just work". I don't really like the idea to be able to fully customize it. However, I'm not even sure if this workaround would violate the terms of services of the respective cloud storage service. Sounds like it, to be honest.

Can you be more specific, which cloud storage service is affected here?

yuyu1025 commented 2 weeks ago

Here is the cloud storage service I saw: https://alist.nn.ci/guide/drivers/baidu.html . In fact, ALIST supports web-dav mounting on most of the cloud storage services by proxy, but due to the limitation of cloud storage services, sometimes you need to modify the user agent, e.g. for baidu cloud storage service, you need to add "pan.baidu.com" to the user agent.

tobihagemann commented 2 weeks ago

If I understood you correctly, you'd like to establish this kind of connection:

Cryptomator ↔ AList (via WebDAV) ↔ Baidu Netdisk

In this scenario, Cryptomator doesn't connect to Baidu Netdisk directly and Baidu is the one that requires a special user agent. Technically, AList is responsible for including the customized user agent. Or is AList already doing that? Have you tried out this scenario? Maybe it just works already?

yuyu1025 commented 2 weeks ago

alist does include a user agent, but the client has to go through the proxy server, which is a big test of the server's performance and traffic flow