<html>
<head></head>
<script>

function getType() {
  return navigator.connection.type;
}

function getDownlinkMax() {
  return navigator.connection.downlinkMax;
}

function getOnLine() {
  return navigator.onLine;
}

function getEffectiveType() {
  return navigator.connection.effectiveType;
}

function getRtt() {
  return navigator.connection.rtt;
}

function getDownlink() {
  return navigator.connection.downlink;
}

function getSaveData() {
  return navigator.connection.saveData;
}

</script>
</html>
