Can NextCloud Server <-> Client connection be done using UDP?

Hello,

We have a NextCloud 15.0.8 server running on an EC2 Instance, using a S3 as external Storage, everything works fine, except for the speed of sync, I was told that when sync is done via UDP it’s faster, right now NextCloud does this using TCP, is there a way to change this process to UDP?

Thanks.

The sync between the client and Nextcloud is done using HTTPS, so no.

HTTPS can run over any reliable stream transport protocol. Normally that’s TCP, but it could also be SCTP. It is NOT expected to run over UDP, which is an unreliable datagram protocol (in fact, while that’s not its official name, that’s a good way to remember what it is).

OR you can try to implement DTLS https://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security

Do you know it is the NC server <-> NC client connection? And not the NC server <-> storage connection, or some delay on the server (managing database etc.?). Have you tried to optimize caching (database, redis)?
For the client software for fast connections, larger chunks improve the overall speed.

Thank you all for the info.

Yes. Right. This is why Aspera uses UDP and OpenVPN. And and and. No way hundreds of companies would pay $100,000 a year for software like Aspera cause it must not work cause it uses UDP. Oh wait they do and it does work. You can initiate transfers over https and then transfer it to UDP. The handshake. Why Aspera needs a browser. plugin. Ps I’m looking for a open source or cheap Aspera like server for my home gigabit connection to transfer files direct. I get 106MBps to Dropbox!

At the best of my knowledge the only open source alternative for UDP accelerated transfers is called UDT. I guess Nexctcloud could add this but it might need some serious amounts of work to do it given that one first needs to implement the locally running apps that the browser can communicate with.
And no, the transfer is not “initiated” over https, it is only the UI that is served over https. The transfer itself is initiated and carried out over udp. They just implemented their own protocol, kind of tcp within udp if you like to call it so.