https://github.com/yiisoft/network-utilities
Network related utilities
https://github.com/yiisoft/network-utilities
hacktoberfest ip mask network yii3
Last synced: 7 months ago
JSON representation
Network related utilities
- Host: GitHub
- URL: https://github.com/yiisoft/network-utilities
- Owner: yiisoft
- License: bsd-3-clause
- Created: 2019-10-24T12:57:34.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-09-02T14:07:39.000Z (about 1 year ago)
- Last Synced: 2024-10-29T14:36:08.558Z (11 months ago)
- Topics: hacktoberfest, ip, mask, network, yii3
- Language: PHP
- Homepage: https://www.yiiframework.com/
- Size: 129 KB
- Stars: 27
- Watchers: 18
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: .github/CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Code of conduct: .github/CODE_OF_CONDUCT.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
Yii Network Utilities
[](https://packagist.org/packages/yiisoft/network-utilities)
[](https://packagist.org/packages/yiisoft/network-utilities)
[](https://github.com/yiisoft/network-utilities/actions/workflows/build.yml)
[](https://codecov.io/gh/yiisoft/network-utilities)
[](https://dashboard.stryker-mutator.io/reports/github.com/yiisoft/network-utilities/master)
[](https://github.com/yiisoft/network-utilities/actions?query=workflow%3A%22static+analysis%22)
[](https://shepherd.dev/github/yiisoft/network-utilities)The package contains various network utilities useful for:
- getting info about IP address;
- checking if IP is in a certain range;
- expanding IPv6;
- converting IP to bits representation;
- checking DNS record availability.## Requirements
- PHP 7.4 or higher.
## Installation
The package could be installed with [Composer](https://getcomposer.org):
```shell
composer require yiisoft/network-utilities
```## General usage
### `IpHelper`
```php
use Yiisoft\NetworkUtilities\IpHelper;// Check IP version.
$version = IpHelper::getIpVersion('192.168.1.1');
if ($version === IpHelper::IPV4) {
// ...
}// Check if IP is in a certain range.
if (!IpHelper::inRange('192.168.1.21/32', '192.168.1.0/24')) {
throw new \RuntimeException('Access denied!');
}// Expand IP v6.
echo IpHelper::expandIPv6('2001:db8::1');// Convert IP to bits representation.
echo IpHelper::ip2bin('192.168.1.1');// Get bits from CIDR Notation.
echo IpHelper::getCidrBits('192.168.1.21/32');
```### `DnsHelper`
```php
use Yiisoft\NetworkUtilities\DnsHelper;// Check DNS record availability.
if (!DnsHelper::existsA('yiiframework.com')) {
// Record not found.
}
```### `IpRanges`
```php
use Yiisoft\NetworkUtilities\IpRanges;$ipRanges = new IpRanges(
[
'10.0.1.0/24',
'2001:db0:1:2::/64',
IpRanges::LOCALHOST,
'myNetworkEu',
'!' . IpRanges::ANY,
],
[
'myNetworkEu' => ['1.2.3.4/10', '5.6.7.8'],
],
);$ipRanges->isAllowed('10.0.1.28/28'); // true
$ipRanges->isAllowed('1.2.3.4'); // true
$ipRanges->isAllowed('192.168.0.1'); // false
```## Documentation
- [Internals](docs/internals.md)
If you need help or have a question, the [Yii Forum](https://forum.yiiframework.com/c/yii-3-0/63) is a good place for that.
You may also check out other [Yii Community Resources](https://www.yiiframework.com/community).## License
The Yii Network Utilities is free software. It is released under the terms of the BSD License.
Please see [`LICENSE`](./LICENSE.md) for more information.Maintained by [Yii Software](https://www.yiiframework.com/).
## Support the project
[](https://opencollective.com/yiisoft)
## Follow updates
[](https://www.yiiframework.com/)
[](https://twitter.com/yiiframework)
[](https://t.me/yii3en)
[](https://www.facebook.com/groups/yiitalk)
[](https://yiiframework.com/go/slack)