What is internal-ip?
The internal-ip npm package is designed to retrieve the internal IP address of a system. It can fetch both IPv4 and IPv6 addresses and works across different operating systems. This package is particularly useful for development environments where knowing the internal IP address is necessary for tasks such as network configuration or services that need to bind to the internal IP rather than localhost.
What are internal-ip's main functionalities?
Get IPv4 address
This feature allows you to asynchronously retrieve the IPv4 address of the system. The example demonstrates how to import the package, use the v4 method, and log the result.
const internalIp = require('internal-ip');
(async () => {
console.log(await internalIp.v4());
//=> '10.0.0.79'
})();
Get IPv6 address
This feature enables the asynchronous retrieval of the system's IPv6 address. The code sample shows how to use the v6 method to get the IPv6 address and log it.
const internalIp = require('internal-ip');
(async () => {
console.log(await internalIp.v6());
//=> 'fe80::1'
})();
Other packages similar to internal-ip
ip
The 'ip' package provides utilities for handling IP addresses, including methods to retrieve the local IP address. It offers broader functionality for IP address manipulation but does not focus exclusively on internal IP addresses like internal-ip does.
public-ip
While 'internal-ip' focuses on retrieving internal IP addresses, 'public-ip' is designed to fetch the public IP address of the system. It's useful for applications that need to know how they are perceived externally on the internet. The difference in focus (internal vs. public IP) is the main distinction between these two packages.
internal-ip
Get your internal IP address
Install
npm install internal-ip
Usage
import {internalIpV6, internalIpV4} from 'internal-ip';
console.log(await internalIpV6());
console.log(await internalIpV4());
API
The package returns the address of the internet-facing interface, as determined from the default gateway. When the address cannot be determined for any reason, undefined
will be returned.
The package relies on operating systems tools. On Linux and Android, the ip
command must be available, which depending on distribution might not be installed by default. It is usually provided by the iproute2
package. internalIpV6Sync()
and internalIpV4Sync()
are not supported in browsers and just return undefined
.
internalIpV6()
Returns the internal IPv6 address asynchronously.
internalIpV4()
Returns the internal IPv4 address asynchronously.
internalIpV6Sync()
Returns the internal IPv6 address synchronously.
internalIpV4Sync()
Returns the internal IPv4 address synchronously.
Related