HangarMC / Hangar

A plugin repository used for paper plugins
https://hangar.papermc.io/
MIT License
249 stars 65 forks source link

Consider Removing the Upload Time Limit Entirely (Or Increase it Further) #1357

Closed LOOHP closed 3 months ago

LOOHP commented 3 months ago

Is your feature request related to a problem?

A while ago #1235 proposed to increase the upload time limit so the timeout now is 45 seconds. However, with my slow internet, that is still not enough to get a 5MB plugin uploaded.

Describe the solution you'd like.

I propose to remove the upload time limit entirely so developers with slow internet speeds will not be discriminated against,

Describe alternatives you've considered.

Alternatively, a size limit could be enforced instead of a time limit if plugin size is a concern for the backend.

Other

No response

electronicboy commented 3 months ago

The big concern here would generally be slowlaris-esque attacks, idk how the tooling works in regards to that

LOOHP commented 3 months ago

I also upload my plugins to Modrinth and I'm not stopped by an upload time limit over there. If they also have a max upload time then it must be much higher, or maybe there's something else they're doing to migrate this vulnerability? If 45 seconds is the limit, I could fallback to using external links like how I do on SpigotMC, but I would prefer to upload if I could.

electronicboy commented 3 months ago

I mean, I have some questions over how bad your connection is that 45 seconds is an issue, but, I do consider that to be relatively small, so it's probably worth increasing it, I just generally wouldn't condone 0 limit at all

LOOHP commented 3 months ago

Well, I too would like to know how an internet speed this slow still exists in a UK city centre but it is what it is. Perhaps increasing it to something like 5 minutes?

MiniDigger commented 3 months ago

long ass timeouts are a terrible user experience and potentially a resource hog when stuff hits the fan on our side (which is why these were added initially). maybe we can implement a retry mechanism that raises or disables the limit