msaid/port

域名端口检查

资助包维护!
Patreon

dev-master 2023-05-12 06:50 UTC

This package is not auto-updated.

Last update: 2024-09-28 11:17:30 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

变更日志

有关最近更改的更多信息,请参阅 变更日志

贡献

有关详细信息,请参阅 贡献指南

安全

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

致谢

支持我们

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

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件