feat: add intelligence to detect default ports
test: rephrase tests
feat: infer the port from the protocol