|
@@ -28,17 +28,46 @@ class DomainInfo extends Command |
|
@@ -28,17 +28,46 @@ class DomainInfo extends Command |
|
28
|
*/
|
28
|
*/
|
|
29
|
protected $description = '域名相关';
|
29
|
protected $description = '域名相关';
|
|
30
|
|
30
|
|
|
|
|
31
|
+ /**
|
|
|
|
32
|
+ * @remark :更新证书+证书有效时间
|
|
|
|
33
|
+ * @name :handle
|
|
|
|
34
|
+ * @author :lyh
|
|
|
|
35
|
+ * @method :post
|
|
|
|
36
|
+ * @time :2023/9/11 15:09
|
|
|
|
37
|
+ */
|
|
31
|
public function handle(){
|
38
|
public function handle(){
|
|
32
|
$domainModel = new DomainInfoModel();
|
39
|
$domainModel = new DomainInfoModel();
|
|
33
|
- $map = [];
|
40
|
+ $map = ['status'=>['!=',2]];
|
|
34
|
$list = $domainModel->list($map);
|
41
|
$list = $domainModel->list($map);
|
|
|
|
42
|
+ foreach ($list as $v){
|
|
|
|
43
|
+ $ssl = $this->updateDomainSsl($v['domain']);
|
|
|
|
44
|
+ $time = $this->updateDomain($v['domain']);
|
|
|
|
45
|
+ $data = [
|
|
|
|
46
|
+ 'certificate_start_time'=>$ssl['from'] ?? '',
|
|
|
|
47
|
+ 'certificate_end_time'=>$ssl['to'] ?? '',
|
|
|
|
48
|
+ 'domain_start_time'=>$time['start'] ?? '',
|
|
|
|
49
|
+ 'domain_end_time'=>$time['end'] ?? ''
|
|
|
|
50
|
+ ];
|
|
|
|
51
|
+ $domainModel->edit($data,['id'=>$v['id']]);
|
|
|
|
52
|
+ }
|
|
|
|
53
|
+ return 1;
|
|
|
|
54
|
+ }
|
|
|
|
55
|
+
|
|
|
|
56
|
+ /**
|
|
|
|
57
|
+ * @remark :更新域名证书
|
|
|
|
58
|
+ * @name :updateDomainSsl
|
|
|
|
59
|
+ * @author :lyh
|
|
|
|
60
|
+ * @method :post
|
|
|
|
61
|
+ * @time :2023/9/11 15:07
|
|
|
|
62
|
+ */
|
|
|
|
63
|
+ public function updateDomainSsl($domain){
|
|
35
|
$context = stream_context_create([
|
64
|
$context = stream_context_create([
|
|
36
|
'ssl' => [
|
65
|
'ssl' => [
|
|
37
|
'capture_peer_cert' => true,
|
66
|
'capture_peer_cert' => true,
|
|
38
|
'capture_peer_cert_chain' => false,
|
67
|
'capture_peer_cert_chain' => false,
|
|
39
|
],
|
68
|
],
|
|
40
|
]);
|
69
|
]);
|
|
41
|
- $stream = stream_socket_client('ssl://oa.quanqiusou.cn:443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
|
70
|
+ $stream = stream_socket_client('ssl://'.$domain.':443', $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
|
|
42
|
if(!$stream) {
|
71
|
if(!$stream) {
|
|
43
|
die("Failed to connect: $errno - $errstr");
|
72
|
die("Failed to connect: $errno - $errstr");
|
|
44
|
}
|
73
|
}
|
|
@@ -49,7 +78,25 @@ class DomainInfo extends Command |
|
@@ -49,7 +78,25 @@ class DomainInfo extends Command |
|
49
|
$valid_from = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validFrom_time_t']);
|
78
|
$valid_from = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validFrom_time_t']);
|
|
50
|
$valid_to = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validTo_time_t']);
|
79
|
$valid_to = date('Y-m-d H:i:s', openssl_x509_parse($remote_cert)['validTo_time_t']);
|
|
51
|
fclose($stream);
|
80
|
fclose($stream);
|
|
52
|
- echo "Certificate Valid From: $valid_from<br>";
|
|
|
|
53
|
- echo "Certificate Valid To: $valid_to<br>";
|
81
|
+ return ['from'=>$valid_from,'to'=>$valid_to];
|
|
|
|
82
|
+ }
|
|
|
|
83
|
+
|
|
|
|
84
|
+ /**
|
|
|
|
85
|
+ * @remark :更新域名有限时间
|
|
|
|
86
|
+ * @name :updateDomain
|
|
|
|
87
|
+ * @author :lyh
|
|
|
|
88
|
+ * @method :post
|
|
|
|
89
|
+ * @time :2023/9/11 15:11
|
|
|
|
90
|
+ */
|
|
|
|
91
|
+ public function updateDomain($domain){
|
|
|
|
92
|
+ $url = 'http://openai.waimaoq.com/v1/whois_api?domain='.$domain;
|
|
|
|
93
|
+ $response = http_get($url);
|
|
|
|
94
|
+ $start = '';
|
|
|
|
95
|
+ $end = '';
|
|
|
|
96
|
+ if($response['code'] == 200){
|
|
|
|
97
|
+ $start = $response['creation_date'];
|
|
|
|
98
|
+ $end = $response['expiration_date'];
|
|
|
|
99
|
+ }
|
|
|
|
100
|
+ return ['start'=>$start,'end'=>$end];
|
|
54
|
}
|
101
|
}
|
|
55
|
} |
102
|
} |