-
Notifications
You must be signed in to change notification settings - Fork 61
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
Function getAppsInfo()
as used by serverinfo
provokes IP-ban (Connection refused) by apps.nextcloud.com
#503
Comments
I suspect this is a longstanding bug, though I'm not sure why it hasn't come up more often (maybe it has but no one realized this was the cause). See #145 (comment) We can probably address both matters at once. |
cool, I got ban from the appstore server, when installed serverinfo app and visit it page 😂😂😂 |
I had a brief look yesterday and the issue is more tricky than I thought 😒
As a short-term solution, I will implement an additional get parameter for the monitoring endpoint to skip the updater check and let our frontend use. This should relax the situation a bit. The long-term solution should be an endpoint v2 with different endpoints for short- and long-living data together with some of the ideas from #284. |
I also looked at moving the update server and update apps information to an own background job, like we do for the storage statistics. That would work, but a second cache for updates brings on the question of when to clear the cache. Let's assume we run such a background job every 30 minutes. You update and at worst it takes 30 minutes for the monitoring to notice the status change. A repair job to clear the update cache can solve this problem. But then we don't have any information for at worst the next 30 minutes until the job runs. That can be solved by fetching the data right away in the repair job, but that adds another dependency for the critical update process. Or we let the monitoring endpoint refresh the data when nothing is cached, but then the situation is not much better than right now. You visit the page and within a few seconds we trigger a couple of http requests. That adds a lot of complexity for a feature/metric that, from my perspective, not even belong here. |
Exactly, I fully agree! |
I reported this already in the appstore issue-tracker: nextcloud/appstore#1137
I'm posting this here, because I observed this behavior only when the AppstoreFetcher is called by
serverinfo
.Steps to reproduce
tail -F $(nextcloud logfile) | jq
and keep it openExpected behaviour
no impairments in the connection to apps.nextcloud.com
Actual behaviour
The affected IP get banned/blocked by apps.nextcloud.com.
Since it is my home network, I can easily fetch a new IP but every time a serverinfo tab is opened (no matter what instance, even newly setup in a virtual machine) it get banned again.
Because in my case it's the WAN Ip of my home network, i can not reach the appstore in my browser eather.
Server configuration
Operating system:
Ubuntu 22.04.3 LTS
Web server:
Apache2
Database:
MySQL and PostgeSQL
PHP version:
8.1.0 and 8.2.10
Nextcloud version: (see Nextcloud admin page)
27+
Client configuration
Browser:
Chrome, Brave, Opera
Operating system:
Windows, Linux, Mac
Nextcloud log (data/owncloud.log)
My workaround:
coment this line:
serverinfo/lib/SystemStatistics.php
Line 74 in 544bacf
// 'apps' => $this->getAppsInfo()
I hope this helps.
The text was updated successfully, but these errors were encountered: