gemz/port

域名端口检查

资助包维护!
Patreon

1.0.4 2020-04-20 14:42 UTC

This package is auto-updated.

Last update: 2024-09-21 00:24:28 UTC


README

Latest Version on Packagist GitHub Tests Action Status Quality Score Total Downloads

通过协议检查端口。此包底层使用ReactPHP Promises

安装

您可以通过composer安装此包

composer require gemz/port

使用

use \Gemz\Port\Port;

$checks = new Port('gemz.io');
// or
$checks = Port::for('gemz.io');

// check all default ports on tcp
$checks = Port::for('gemz.io')->check();

// check specific ports on tcp
$checks = Port::for('gemz.io')->check(80, 8080, 443, 22, 3306, 9000, 9001);

// check only specific ports on tcp
$checks = Port::for('gemz.io')->useTcp()->check(80, 8080);

// check only specific ports on udp
$checks = Port::for('gemz.io')->useUdp()->check(110, 140);

// check only specific ports on tls
$checks = Port::for('gemz.io')->useTls()->check(443);

// check only specific ports on ssl
$checks = Port::for('gemz.io')->useSsl()->check(443);

// check with array for specific port => protocol checks
// if global setting will be ignored
$checks = Port::for('gemz.io')->useTcp()->check([80 => 'tcp', 2525 => 'udp', 443 => 'tls']);

// check with array for specific port 
$checks = Port::for('gemz.io')->useTcp()->check([80, 2525, 443]);

// set timeout, default is 0.5s
$checks = Port::for('gemz.io')->setTimeout(0.4)->check(80);

// get supported protocols
$protocols = Port::for('gemz.io')->getProtocols();

// get default ports
$ports = Port::for('gemz.io')->getDefaultPorts();

// get domain
$protocols = Port::for('gemz.io')->getDomain();

测试

composer test
composer test-coverage

变更日志

请参阅CHANGELOG以获取有关最近更改的更多信息。

贡献

请参阅CONTRIBUTING以获取详细信息。

安全

如果您发现任何与安全相关的问题,请发送电子邮件至stefan@sriehl.com,而不是使用问题跟踪器。

致谢

支持我们

Gemz.io 由 Stefan Riehl 维护。您可以在Gemz.io github上找到所有开源项目。

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。