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
const internalIp = require('internal-ip');
internalIp.v6().then(ip => {
console.log(ip);
});
internalIp.v4().then(ip => {
console.log(ip);
});
The module relies on tools provided by most operating systems. One notable exception may be the ip
command which is used on Linux. If it's missing, it can usually be installed with the iproute2
package in your package manager.
In the case no address can be determined, ::1
or 127.0.0.1
will be returned as a fallback. If you think this is incorrect, please open an issue.
Related
License
MIT © Sindre Sorhus