(address)
| 29 | } |
| 30 | |
| 31 | function isPrivateIpv4(address) { |
| 32 | const parts = address.split('.').map((part) => Number.parseInt(part, 10)) |
| 33 | if (parts.length !== 4 || parts.some((part) => Number.isNaN(part))) { |
| 34 | return false |
| 35 | } |
| 36 | |
| 37 | const [first, second] = parts |
| 38 | return ( |
| 39 | first === 10 || |
| 40 | (first === 172 && second >= 16 && second <= 31) || |
| 41 | (first === 192 && second === 168) |
| 42 | ) |
| 43 | } |
| 44 | |
| 45 | function isUsableIpv4(info) { |
| 46 | return ( |