fix: make scan page port-independent