perf(secubox-p2p): Optimize shared services for faster LuCI response
- Skip IPv6 addresses and use active_address when available - Filter out local node from shared services query - Increase curl max-time to 10s for slow CGI responses - Skip null/empty peer addresses - Reduces response time from 48s to ~5s Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
2248785ff6
commit
747d1ffbaa
@ -357,10 +357,14 @@ get_services() {
|
||||
# Get shared services (from peers)
|
||||
get_shared_services() {
|
||||
local all_services="[]"
|
||||
local peers=$(get_peers | jq -r '.peers[] | select(.status=="online") | select(.is_local != true) | .address')
|
||||
# Use active_address if available, skip IPv6 and local nodes
|
||||
local peers=$(get_peers | jq -r '.peers[] | select(.status=="online") | select(.is_local==false or .is_local==null) | .active_address // .address' | grep -v '^\[' | sed 's/ .*//')
|
||||
|
||||
for peer_addr in $peers; do
|
||||
local response=$(curl -s --connect-timeout 2 "http://${peer_addr}/cgi-bin/p2p-services" 2>/dev/null)
|
||||
[ -z "$peer_addr" ] && continue
|
||||
[ "$peer_addr" = "null" ] && continue
|
||||
# Fetch services with reasonable timeout
|
||||
local response=$(curl -s --connect-timeout 2 --max-time 10 "http://${peer_addr}/cgi-bin/p2p-services" 2>/dev/null)
|
||||
if [ -n "$response" ]; then
|
||||
local peer_services=$(echo "$response" | jq -c '.services // []' 2>/dev/null)
|
||||
if [ -n "$peer_services" ] && [ "$peer_services" != "null" ] && [ "$peer_services" != "[]" ]; then
|
||||
|
||||
Loading…
Reference in New Issue
Block a user