作者 lyh

gx

@@ -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 }
@@ -296,4 +296,16 @@ class LoginController extends BaseController @@ -296,4 +296,16 @@ class LoginController extends BaseController
296 } 296 }
297 return $data; 297 return $data;
298 } 298 }
  299 +
  300 + public function ceshi(){
  301 + $url = 'http://openai.waimaoq.com/v1/whois_api?domain=dev.globalso.site';
  302 + $response = http_get($url);
  303 + $start = '';
  304 + $end = '';
  305 + if($response['code'] == 200){
  306 + $start = $response['creation_date'];
  307 + $end = $response['expiration_date'];
  308 + }
  309 + return ['start'=>$start,'end'=>$end];
  310 + }
299 } 311 }