From 1ed93cd295b4817016972de994ff81546cda086a Mon Sep 17 00:00:00 2001 From: net909 Date: Thu, 19 Dec 2024 19:11:32 +0800 Subject: [PATCH] fix --- app/common.php | 84 ++++++++++++++++++++++++++++++ public/static/images/namesilo.ico | Bin 0 -> 167294 bytes 2 files changed, 84 insertions(+) create mode 100644 public/static/images/namesilo.ico diff --git a/app/common.php b/app/common.php index 7c058ee..eec1643 100644 --- a/app/common.php +++ b/app/common.php @@ -285,6 +285,21 @@ function convert_second($s) } } +function getMainDomain($host) +{ + if (filter_var($host, FILTER_VALIDATE_IP)) return $host; + $domain_root = file_get_contents(app()->getBasePath() . 'data' . DIRECTORY_SEPARATOR . 'domain_root.txt'); + $domain_root = explode("\r\n", $domain_root); + $data = explode('.', $host); + $co_ta = count($data); + if ($co_ta <= 2) return $host; + $domain_name = $data[$co_ta - 2] . '.' . $data[$co_ta - 1]; + if (in_array($domain_name, $domain_root) && $co_ta > 2) { + $domain_name = $data[$co_ta - 3] . '.' . $domain_name; + } + return $domain_name; +} + function check_proxy($url, $proxy_server, $proxy_port, $type, $proxy_user, $proxy_pwd) { $ch = curl_init($url); @@ -358,4 +373,73 @@ function clearDirectory($dir): bool } } return true; +} + +function curl_client($url, $data = null, $referer = null, $cookie = null, $headers = null, $proxy = false, $method = null, $timeout = 5) +{ + $ch = curl_init(); + curl_setopt($ch, CURLOPT_URL, $url); + curl_setopt($ch, CURLOPT_TIMEOUT, $timeout); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); + $httpheader[] = "Accept: */*"; + $httpheader[] = "Accept-Language: zh-CN,zh;q=0.8"; + $httpheader[] = "Connection: close"; + if ($headers) { + $httpheader = array_merge($httpheader, $headers); + } + curl_setopt($ch, CURLOPT_HTTPHEADER, $httpheader); + curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.6261.95 Safari/537.36"); + curl_setopt($ch, CURLOPT_HEADER, true); + if ($data) { + curl_setopt($ch, CURLOPT_POST, 1); + curl_setopt($ch, CURLOPT_POSTFIELDS, $data); + } + if ($cookie) { + curl_setopt($ch, CURLOPT_COOKIE, $cookie); + } + if ($referer) { + curl_setopt($ch, CURLOPT_REFERER, $referer); + } + if ($method) { + curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method); + } + + if ($proxy) { + $proxy_server = config_get('proxy_server'); + $proxy_port = intval(config_get('proxy_port')); + $proxy_userpwd = config_get('proxy_user') . ':' . config_get('proxy_pwd'); + $proxy_type = config_get('proxy_type'); + if ($proxy_type == 'https') { + $proxy_type = CURLPROXY_HTTPS; + } elseif ($proxy_type == 'sock4') { + $proxy_type = CURLPROXY_SOCKS4; + } elseif ($proxy_type == 'sock5') { + $proxy_type = CURLPROXY_SOCKS5; + } else { + $proxy_type = CURLPROXY_HTTP; + } + curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_BASIC); + curl_setopt($ch, CURLOPT_PROXY, $proxy_server); + curl_setopt($ch, CURLOPT_PROXYPORT, $proxy_port); + if ($proxy_userpwd != ':') { + curl_setopt($ch, CURLOPT_PROXYUSERPWD, $proxy_userpwd); + } + curl_setopt($ch, CURLOPT_PROXYTYPE, $proxy_type); + } + + $ret = curl_exec($ch); + $errno = curl_errno($ch); + if ($errno) { + curl_close($ch); + throw new Exception('Curl error: ' . curl_error($ch)); + } + $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE); + $headerSize = curl_getinfo($ch, CURLINFO_HEADER_SIZE); + $redirect_url = curl_getinfo($ch, CURLINFO_REDIRECT_URL); + curl_close($ch); + $header = substr($ret, 0, $headerSize); + $body = substr($ret, $headerSize); + return ['code' => $httpCode, 'redirect_url' => $redirect_url, 'header' => $header, 'body' => $body]; } \ No newline at end of file diff --git a/public/static/images/namesilo.ico b/public/static/images/namesilo.ico new file mode 100644 index 0000000000000000000000000000000000000000..ad76749d7cd6d55c97744827f88c3042ccc8497a GIT binary patch literal 167294 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 literal 0 HcmV?d00001