Update:更新了一些小脚本
This commit is contained in:
19
PHP/jsd加速/README.md
Normal file
19
PHP/jsd加速/README.md
Normal file
@@ -0,0 +1,19 @@
|
||||
# 伪静态需求
|
||||
|
||||
```Apache
|
||||
RewriteEngine on
|
||||
RewriteBase /
|
||||
RewriteCond $1 ^(index\.php)?$ [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -f [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} -d [OR]
|
||||
RewriteCond %{REQUEST_FILENAME} ^index\.php?$
|
||||
RewriteRule ^(.*)$ - [S=1]
|
||||
RewriteRule . /index.php [L]
|
||||
|
||||
```
|
||||
|
||||
```nginx
|
||||
location / {
|
||||
try_files $uri $uri/ /index.php?$query_string;
|
||||
}
|
||||
```
|
||||
203
PHP/jsd加速/index.php
Normal file
203
PHP/jsd加速/index.php
Normal file
@@ -0,0 +1,203 @@
|
||||
<?php
|
||||
header('Access-Control-Allow-Origin: *');
|
||||
// 获取文件名
|
||||
$file = $_SERVER['REQUEST_URI'];
|
||||
// 获取文件类型
|
||||
$file_info = pathinfo($file);
|
||||
// 获取文件后缀名
|
||||
$file_ext = $file_info['extension'];
|
||||
// 定义允许的后缀
|
||||
$allow_ext = array('js', 'css', 'png', 'jpg', 'jpeg', 'gif', 'ico', 'json', 'txt', 'moc', 'moc3', 'svg', 'webp' , 'hosts', 'ttf', 'woff', 'woff2', 'eot', 'sgmodule');
|
||||
if($_SERVER['REQUEST_URI'] == '/'){
|
||||
// 输出首页
|
||||
header('content-type: text/html;charset=utf-8');
|
||||
echo file_get_contents('jsd.html');
|
||||
exit();
|
||||
}
|
||||
if($_SERVER['REQUEST_URI'] == '/help'){
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
echo json_encode(array(
|
||||
'code' => 200,
|
||||
'title'=> 'Welcome to use OvOfish Studio API',
|
||||
'message' => '这是一个反代接口,如有需要请联系管理员。',
|
||||
'How_to_use' => '您只需将原有的域名更改为本站域名如需要使用jsdelivr的反代请添加/jsd,如需要raw.githubusercontent.com则添加/gh',
|
||||
'support_list' => '支持的接口:'.implode(',', array('/gh', '/jsd', '/unpkg')),
|
||||
'file_ext_list' => '允许的后缀列表:'.implode(',', $allow_ext)
|
||||
));
|
||||
exit();
|
||||
}
|
||||
if($_SERVER['REQUEST_URI'] == '/contact'){
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
echo json_encode(array(
|
||||
'code' => 200,
|
||||
'title'=> 'Welcome to use OvOfish Studio API',
|
||||
'message' => '这是一个反代接口,如有需要请联系管理员。',
|
||||
'QQnumber' => '1709964150',
|
||||
'email' => 'mirai@lolicon.team',
|
||||
'blog' => 'https://lolicon.team'
|
||||
));
|
||||
exit();
|
||||
}
|
||||
if(empty($file_ext)){
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
echo json_encode(array(
|
||||
'code' => 403,
|
||||
'title'=> 'Welcome to use OvOfish Studio API',
|
||||
'message' => '未能识别到文件类型',
|
||||
'file_ext' => '当前文件类型为:NULL',
|
||||
'file_ext_list' => '允许的后缀列表:'.implode(',', $allow_ext)
|
||||
));
|
||||
exit();
|
||||
}
|
||||
// 判断后缀是否在允许的后缀列表中 如果不在,则返回403
|
||||
if(!in_array($file_ext, $allow_ext)){
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
echo json_encode(array(
|
||||
'code' => 403,
|
||||
'title'=> 'Welcome to OvOfish Studio API',
|
||||
'message' => '该文件类型不被允许, 请不要滥用本接口。',
|
||||
'file_ext' => '当前文件类型为:'.$file_ext,
|
||||
'file_ext_list' => '允许的后缀列表:'.implode(',', $allow_ext)
|
||||
));
|
||||
exit();
|
||||
}
|
||||
$mimetype = get_mimetype($file_info['extension']);
|
||||
header('content-type:'. $mimetype .';charset=utf-8');
|
||||
// 代理的域名及使用的协议最后不用加/
|
||||
$target_host = "";
|
||||
$new_request_uri = "";
|
||||
if (strpos($_SERVER['REQUEST_URI'], '/gh') === 0) {
|
||||
$target_host = "https://raw.githubusercontent.com";
|
||||
$new_request_uri = substr($_SERVER['REQUEST_URI'], 3);
|
||||
} elseif (strpos($_SERVER['REQUEST_URI'], '/jsd') === 0) {
|
||||
$target_host = "https://cdn.jsdelivr.net";
|
||||
$new_request_uri = substr($_SERVER['REQUEST_URI'], 5);
|
||||
}elseif (strpos($_SERVER['REQUEST_URI'], '/unpkg') === 0) {
|
||||
$target_host = "https://unpkg.com";
|
||||
$new_request_uri = substr($_SERVER['REQUEST_URI'], 6);
|
||||
} else {
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
// 返回404状态
|
||||
http_response_code(404);
|
||||
echo json_encode(array(
|
||||
'code' => 404,
|
||||
'title'=> 'Welcome to use OvOfish Studio API',
|
||||
'message' => '无效的请求路径'
|
||||
));
|
||||
exit;
|
||||
}
|
||||
// 解析url参数
|
||||
function get_request_params()
|
||||
{
|
||||
$url = $_SERVER["REQUEST_URI"];
|
||||
$refer_url = parse_url($url);
|
||||
$params = $refer_url['query'];
|
||||
$arr = array();
|
||||
if(!empty($params))
|
||||
{
|
||||
$paramsArr = explode('&',$params);
|
||||
foreach($paramsArr as $k=>$v)
|
||||
{
|
||||
$a = explode('=',$v);
|
||||
$arr[$a[0]] = $a[1];
|
||||
}
|
||||
}
|
||||
return $arr;
|
||||
}
|
||||
// 解析HTTP响应头
|
||||
function parse_headers($headers)
|
||||
{
|
||||
global $root, $top;
|
||||
foreach( $headers as $k=>$v )
|
||||
{
|
||||
$t = explode( ':', $v, 2 );
|
||||
if( isset( $t[1] ) )
|
||||
{
|
||||
if(strcasecmp('Set-Cookie',trim($t[0]))==0)
|
||||
{
|
||||
$targetcookie=trim( $t[1] ).";";
|
||||
$res_cookie=preg_replace("/domain=.*?;/","domain=".$_SERVER["SERVER_NAME"].";",$targetcookie);
|
||||
$res_cookie=substr($res_cookie,0,strlen($res_cookie)-1);
|
||||
header("Set-Cookie: ".$res_cookie);
|
||||
}
|
||||
elseif(strcasecmp('Content-Type',trim($t[0]))==0)
|
||||
{
|
||||
header("Content-Type: ".trim( $t[1] ));
|
||||
}
|
||||
elseif(strcasecmp('Location',trim( $t[0] ))==0)
|
||||
{
|
||||
$relocation=str_replace($protocal_host['host'],$_SERVER["SERVER_NAME"],trim( $t[1] ));
|
||||
header("Location: ".$relocation);
|
||||
}
|
||||
elseif(strcasecmp('cache-control',trim( $t[0] ))==0)
|
||||
{
|
||||
header("cache-control: ".trim( $t[1] ));
|
||||
}
|
||||
else
|
||||
continue;
|
||||
}
|
||||
}
|
||||
return;
|
||||
}
|
||||
// 组装HTTP请求头
|
||||
$opts = array(
|
||||
'http'=>array(
|
||||
'method'=>$_SERVER['REQUEST_METHOD'],
|
||||
'header'=>"Accept-language: zh-CN\r\n" .
|
||||
"user-agent: {$_SERVER['HTTP_USER_AGENT']}\r\n".
|
||||
"Cookie: ".array_to_str($_COOKIE)."\r\n"
|
||||
)
|
||||
);
|
||||
$context = stream_context_create($opts);
|
||||
// 发送请求
|
||||
$homepage = file_get_contents($target_host.'/'.$new_request_uri,false,$context);
|
||||
if ($homepage === FALSE) {
|
||||
header('content-type: application/json;charset=utf-8');
|
||||
echo json_encode(array(
|
||||
'code' => 404,
|
||||
'title'=> 'Welcome to use OvOfish Studio API',
|
||||
'message' => '未能找到文件',
|
||||
'file_ext' => '当前文件类型为:'.$file_ext
|
||||
));
|
||||
exit;
|
||||
}
|
||||
function get_mimetype($extension) {
|
||||
// MIME类型数组
|
||||
$ct = array(
|
||||
'js' => 'application/javascript',
|
||||
'css' => 'text/css',
|
||||
'png' => 'image/png',
|
||||
'jpg' => 'image/jpeg',
|
||||
'jpeg' => 'image/jpeg',
|
||||
'gif' => 'image/gif',
|
||||
'ico' => 'image/vnd.microsoft.icon',
|
||||
'json' => 'application/json',
|
||||
'txt' => 'text/plain',
|
||||
'moc' => 'text/plain',
|
||||
'moc3' => 'text/plain',
|
||||
'svg' => 'image/svg+xml',
|
||||
'webp' => 'image/webp'
|
||||
);
|
||||
return isset($ct[strtolower($extension)]) ? $ct[strtolower($extension)] : 'text/plain';
|
||||
}
|
||||
function array_to_str($array)
|
||||
{
|
||||
$string="";
|
||||
if (is_array($array))
|
||||
{
|
||||
foreach ($array as $key => $value)
|
||||
{
|
||||
if(!empty($string))
|
||||
$string.="; ".$key."=".$value;
|
||||
else
|
||||
$string.=$key."=".$value;
|
||||
}
|
||||
} else
|
||||
{
|
||||
$string = $array;
|
||||
}
|
||||
return $string;
|
||||
}
|
||||
// 输出网页内容
|
||||
echo $homepage;
|
||||
?>
|
||||
387
PHP/jsd加速/jsd.html
Normal file
387
PHP/jsd加速/jsd.html
Normal file
@@ -0,0 +1,387 @@
|
||||
<!DOCTYPE html>
|
||||
<html lang='en'>
|
||||
<head>
|
||||
<meta charset='utf-8'>
|
||||
<title>ovofish - A free, fast, and reliable CDN for JS and open source</title>
|
||||
</head>
|
||||
<body>
|
||||
<div>
|
||||
<style>
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
#i72pql {
|
||||
vertical-align: inherit;
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
|
||||
body {
|
||||
margin-top: 0px;
|
||||
margin-right: 0px;
|
||||
margin-bottom: 0px;
|
||||
margin-left: 0px;
|
||||
font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Roboto, Arial, "PingFang SC", "Hiragino Sans GB", "Microsoft Yahei", "Microsoft Jhenghei", sans-serif;
|
||||
}
|
||||
|
||||
.logo path {
|
||||
pointer-events: none;
|
||||
fill: none;
|
||||
stroke-linecap: round;
|
||||
stroke-width: 7px;
|
||||
stroke: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.wechat-group img {
|
||||
max-width: 220px;
|
||||
height: auto;
|
||||
border-top-left-radius: 8px;
|
||||
border-top-right-radius: 8px;
|
||||
border-bottom-right-radius: 8px;
|
||||
border-bottom-left-radius: 8px;
|
||||
margin-top: 0px;
|
||||
margin-right: auto;
|
||||
margin-bottom: 0px;
|
||||
margin-left: auto;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.welcome-img img {
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
#header:not(.sticky-header) #logo a {
|
||||
opacity: 0;
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
.display-1.mb-3.text-white {
|
||||
font-size: 45px;
|
||||
}
|
||||
|
||||
.fdb-block {
|
||||
font-family: "Roboto", sans-serif;
|
||||
font-size: 16px;
|
||||
line-height: 1.5;
|
||||
text-rendering: optimizelegibility;
|
||||
padding-top: 100px;
|
||||
padding-right: 0px;
|
||||
padding-bottom: 100px;
|
||||
padding-left: 0px;
|
||||
color: rgb(68, 68, 68);
|
||||
position: relative;
|
||||
background-size: cover;
|
||||
background-position-x: center;
|
||||
background-position-y: center;
|
||||
background-color: rgb(255, 255, 255);
|
||||
}
|
||||
|
||||
.text-center {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.fdb-block .text-h1,
|
||||
.fdb-block h1 {
|
||||
font-size: 1.75rem;
|
||||
margin-bottom: 0.5em;
|
||||
margin-top: 0.3em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.img-fluid {
|
||||
max-width: 100%;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.fdb-block .col-fill-left {
|
||||
width: 50%;
|
||||
position: absolute;
|
||||
left: 0px;
|
||||
top: 0px;
|
||||
bottom: 0px;
|
||||
background-size: cover;
|
||||
background-position-x: center;
|
||||
background-position-y: center;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
a {
|
||||
color: rgb(0, 123, 255);
|
||||
text-decoration-line: none;
|
||||
text-decoration-style: solid;
|
||||
text-decoration-color: currentcolor;
|
||||
text-decoration-thickness: auto;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: rgb(0, 86, 179);
|
||||
text-decoration-line: underline;
|
||||
text-decoration-style: solid;
|
||||
text-decoration-color: currentcolor;
|
||||
text-decoration-thickness: auto;
|
||||
}
|
||||
|
||||
.c102664 {
|
||||
background-image: url(img/bg_c_1.svg);
|
||||
}
|
||||
|
||||
.col-fill-left.c102664 {
|
||||
background-repeat: no-repeat;
|
||||
background-position: center center;
|
||||
background-attachment: scroll;
|
||||
background-size: cover;
|
||||
background-image: url('https://img-bohe.lolicon.team/i/img/img-cdn/74573F0B38416BABA998256E6240C0A7.jpg');
|
||||
}
|
||||
|
||||
.lead.px-md-12.px-lg-12.px-xl-15.px-xxl-18 {
|
||||
text-align: center;
|
||||
font-size: 18px;
|
||||
}
|
||||
|
||||
.progress-list .progressbar.line {
|
||||
height: 8px;
|
||||
background-color: rgb(244, 244, 244);
|
||||
}
|
||||
|
||||
.fdb-block img.fdb-icon {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.pt-4 {
|
||||
padding-top: 1.5rem !important;
|
||||
}
|
||||
|
||||
.mt-5 {
|
||||
margin-top: 3rem !important;
|
||||
}
|
||||
|
||||
.fdb-block img+h3,
|
||||
.fdb-block img+h4,
|
||||
.fdb-block img+p {
|
||||
margin-top: 20px;
|
||||
}
|
||||
|
||||
.fdb-block .text-h3,
|
||||
.fdb-block h3 {
|
||||
font-size: 0.875rem;
|
||||
margin-bottom: 0.5em;
|
||||
margin-top: 0.3em;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.pt-sm-0 {
|
||||
padding-top: 0px !important;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 992px) {
|
||||
#iwtj0h{
|
||||
display: none;
|
||||
}
|
||||
#helpx{
|
||||
flex:none;
|
||||
max-width:none;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
<div>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||
<meta name="description" content="A free, fast, and reliable CDN for JS and open source" />
|
||||
<meta name="keywords"
|
||||
content="A free, fast, and reliable CDN for JS and open source" />
|
||||
<meta name="author" content="OvOFish" />
|
||||
<title>ovofish - A free, fast, and reliable CDN for JS and open source</title>
|
||||
<link rel="preload" href="fonts/Unicons.woff2" as="font" type="font/woff2" crossorigin="" />
|
||||
<link rel="shortcut icon" href="https://img-bohe.lolicon.team/i/img/svg/logo.ico" />
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/plugins.css" />
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/style.css" />
|
||||
<nav id="sticky-navbar" class="navbar navbar-expand-lg classic transparent navbar-light navbar-clone fixed">
|
||||
<div class="container flex-lg-row flex-nowrap align-items-center">
|
||||
<div class="navbar-brand w-100"><a href="/"><img style="width: 24vh;" src="https://img-bohe.lolicon.team/i/img/svg/logo-small-dark.webp" alt="" /></a></div>
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-header d-lg-none">
|
||||
<h3 class="text-white fs-30 mb-0">LOLICON.TEAM</h3><button type="button"
|
||||
data-bs-dismiss="offcanvas" aria-label="Close"
|
||||
class="btn-close btn-close-white"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body ms-lg-auto d-flex flex-column h-100">
|
||||
<ul class="navbar-nav"><a href="/" class="nav-link">首页</a><a href="/help"
|
||||
class="nav-link">帮助</a>
|
||||
<li class="nav-item"><a href="https://lolicon.team" target="_blank"
|
||||
class="nav-link">博客<br /></a></li>
|
||||
<li class="nav-item dropdown"></li>
|
||||
</ul><!-- /.navbar-nav -->
|
||||
<div class="offcanvas-footer d-lg-none">
|
||||
<div><a href="mailto:mirai@lolicon.team" class="link-inverse">mirai@lolicon.team</a><br />
|
||||
QQ:1709964150<br />
|
||||
</div>
|
||||
</div><!-- /.offcanvas-footer -->
|
||||
</div><!-- /.offcanvas-body -->
|
||||
</div><!-- /.navbar-collapse -->
|
||||
</div><!-- /.container -->
|
||||
</nav>
|
||||
<div class="content-wrapper">
|
||||
<header class="wrapper bg-soft-primary">
|
||||
<nav class="navbar navbar-expand-lg center-nav transparent position-absolute navbar-dark">
|
||||
<div class="container flex-lg-row flex-nowrap align-items-center">
|
||||
<div class="navbar-brand w-100"><a href="/"><img
|
||||
src="https://img-bohe.lolicon.team/i/img/svg/logo-small-dark.webp" style="width: 24vh;" alt="" class="logo-dark" /><img
|
||||
src="https://img-bohe.lolicon.team/i/img/svg/logo-small-dark.webp" style="width: 24vh;" alt="" class="logo-light" /></a></div>
|
||||
<div class="navbar-collapse offcanvas offcanvas-nav offcanvas-start">
|
||||
<div class="offcanvas-header d-lg-none">
|
||||
<h3 class="text-white fs-30 mb-0">LOLICON.TEAM</h3><button type="button"
|
||||
data-bs-dismiss="offcanvas" aria-label="Close"
|
||||
class="btn-close btn-close-white"></button>
|
||||
</div>
|
||||
<div class="offcanvas-body ms-lg-auto d-flex flex-column h-100">
|
||||
<ul class="navbar-nav">
|
||||
<li class="nav-item"><a href="/" class="nav-link">首页</a></li>
|
||||
<li class="nav-item dropdown"><a href="/help" class="nav-link">帮助</a></li>
|
||||
<li class="nav-item dropdown">
|
||||
</li><a href="https://lolicon.team" class="nav-link">博客</a>
|
||||
</ul><!-- /.navbar-nav -->
|
||||
</div><!-- /.offcanvas-body -->
|
||||
</div><!-- /.navbar-collapse -->
|
||||
<div class="navbar-other w-100 d-flex ms-auto">
|
||||
<ul class="navbar-nav flex-row align-items-center ms-auto">
|
||||
<li class="nav-item d-none d-md-block"><a href="/contact"
|
||||
class="btn btn-sm btn-white rounded-pill">联系我们</a></li>
|
||||
<li class="nav-item d-lg-none"><button type="button"
|
||||
class="hamburger offcanvas-nav-btn"></button></li>
|
||||
</ul><!-- /.navbar-nav -->
|
||||
</div><!-- /.navbar-other -->
|
||||
</div><!-- /.container -->
|
||||
</nav><!-- /.navbar -->
|
||||
</header><!-- /header -->
|
||||
<section data-image-src="https://img-bohe.lolicon.team/i/img/img-cdn/Akatsuki/001922551404335.webp" style="background-position: fixed; background-size: cover; background-repeat: no-repeat; background-attachment: scroll; height: 75vh;"
|
||||
class="wrapper image-wrapper bg-image bg-overlay text-white">
|
||||
<div class="container pt-17 pb-12 pt-md-19 pb-md-16 text-center">
|
||||
<div class="row">
|
||||
<div class="col-md-10 mx-auto">
|
||||
<div class="post-header">
|
||||
<div class="post-category text-line text-white"><a href="#" rel="category"
|
||||
class="text-reset">Fast. Reliable. Automated.</a></div><!-- /.post-category -->
|
||||
<h1 class="display-1 mb-3 text-white">A free CDN for open source projects</h1>
|
||||
<p class="lead px-md-12 px-lg-12 px-xl-15 px-xxl-18">
|
||||
前端文件加速服务,<br />妈妈再也不用担心我的博客加载慢啦!</p>
|
||||
</div><!-- /.post-header -->
|
||||
</div><!-- /column -->
|
||||
</div><!-- /.row -->
|
||||
</div><!-- /.container -->
|
||||
</section><!-- /section -->
|
||||
<section class="wrapper bg-light wrapper-border">
|
||||
<div class="container pt-14 pt-md-16 pb-13 pb-md-15">
|
||||
<div class="container py-10">
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/bootstrap.min.css" />
|
||||
<section data-block-type="contents" data-id="3" draggable="true" class="fdb-block">
|
||||
<div id="iwtj0h" class="col-fill-left c102664"></div>
|
||||
<div class="container">
|
||||
<div class="row justify-content-end">
|
||||
<div class="col-12 col-md-5 text-center" id="helpx">
|
||||
<h1>安心稳定的服务</h1>
|
||||
<p class="text-h3">
|
||||
由于本项目是反代jsdelivr和github的raw。<br />具有亚太CDN缓存(亚马逊服务器)<br />为了防止被滥用,我们限制了文件类型<br />
|
||||
</p>
|
||||
<p class="mt-4"><a href="/help">使用方法 ></a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</section><!--/.row -->
|
||||
</div>
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/plugins.css" />
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/style.css" />
|
||||
<link rel="stylesheet" href="https://down-cdn.lolicon.team/static/miraipip/css/bootstrap.min.css" />
|
||||
<section data-block-type="features" data-id="4" draggable="true" class="fdb-block">
|
||||
<div class="container">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-12 text-center">
|
||||
<h1>
|
||||
<font>
|
||||
<h2 class="text-4xl font-bold max-w-lg md:text-5xl">
|
||||
<font id="i72pql">探索更多的可能</font>
|
||||
</h2>
|
||||
</font>
|
||||
</h1>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row text-center mt-5">
|
||||
<div class="col-12 col-sm-4"><img alt="image" src="https://down-cdn.lolicon.team/static/miraipip/img/img_round.svg"
|
||||
class="fdb-icon" />
|
||||
<h3><strong>稳定性</strong></h3>
|
||||
<p>服务使用市面上成熟可靠的程序和服务,为OvOFish Studio API提供了稳固的底层基础。</p>
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 pt-4 pt-sm-0"><img alt="image" src="https://down-cdn.lolicon.team/static/miraipip/img/img_round.svg"
|
||||
class="fdb-icon" />
|
||||
<h3><strong>安全性</strong></h3>
|
||||
<p>OvOFish Studio API使用质量可靠的SSL证书,最低TLS版本为1.2,保障文件不被篡改。</p>
|
||||
</div>
|
||||
<div class="col-12 col-sm-4 pt-4 pt-sm-0"><img alt="image" src="https://down-cdn.lolicon.team/static/miraipip/img/img_round.svg"
|
||||
class="fdb-icon" />
|
||||
<h3><strong>高速传输</strong></h3>
|
||||
<p>使用亚马逊服务器搭建的CDN加速,保障每一次文件加载都是最快;延迟极低的本地缓存,让除第一次访问外的回源,无比迅速。</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row mt-5">
|
||||
<div class="col-12"><img alt="image" src="https://img-bohe.lolicon.team/i/img/img-cdn/Akatsuki/2BF88138E5D3FB086F90A0CEB84BC475.jpg" class="img-fluid" /></div>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section class="wrapper"><!-- /.container --></section><!-- /section -->
|
||||
<script src="https://down-cdn.lolicon.team/static/miraipip/js/plugins.js"></script>
|
||||
<script src="https://down-cdn.lolicon.team/static/miraipip/js/theme.js"></script><!-- /.row -->
|
||||
</div><!-- /.container -->
|
||||
<div class="container-fluid px-md-6"><!-- /.swiper-container --></div><!-- /.container-fluid -->
|
||||
</section><!-- /section -->
|
||||
<section class="wrapper bg-light"><!-- /.container --></section><!-- /section -->
|
||||
</div><!-- /.content-wrapper -->
|
||||
<footer class="bg-dark text-inverse">
|
||||
<div class="container py-13 py-md-15">
|
||||
<div class="row gy-6 gy-lg-0">
|
||||
<div class="col-md-4 col-lg-3">
|
||||
<div class="widget"><img src="https://img-bohe.lolicon.team/i/static/beta/img/logo-small-white1.webp" style="width: 22vh;" alt="" class="mb-4" />
|
||||
<p class="mb-4">© 2024 OvOFish Studio. <br class="d-none d-lg-block" />All rights reserved.</p>
|
||||
<!-- /.social -->
|
||||
</div><!-- /.widget -->
|
||||
</div><!-- /column -->
|
||||
<div class="col-md-4 col-lg-3">
|
||||
<div class="widget">
|
||||
<h4 class="widget-title text-white mb-3">联系我们</h4>
|
||||
<address class="pe-xl-15 pe-xxl-17">中国·广东·肇庆</address><a
|
||||
href="mailto:mirai@lolicon.team">mirai@lolicon.team</a><br />
|
||||
</div><!-- /.widget -->
|
||||
</div><!-- /column -->
|
||||
<div class="col-md-4 col-lg-3">
|
||||
<div class="widget">
|
||||
<h4 class="widget-title text-white mb-3">了解更多</h4>
|
||||
<ul class="list-unstyled mb-0">
|
||||
<li><a href="/help">查询帮助</a></li>
|
||||
</ul>
|
||||
</div><!-- /.widget -->
|
||||
</div><!-- /column -->
|
||||
<div class="col-md-12 col-lg-3">
|
||||
<div class="widget">
|
||||
<h4 class="widget-title text-white mb-3">电子邮件</h4>
|
||||
<p class="mb-5">您可以发送邮件到:<a href="mail:mirai@lolicon.team"
|
||||
class="hover">mirai@lolicon.team</a>联系我们!</p><!-- /.newsletter-wrapper -->
|
||||
</div><!-- /.widget -->
|
||||
</div><!-- /column -->
|
||||
</div><!--/.row -->
|
||||
</div><!-- /.container -->
|
||||
</footer>
|
||||
<script src="https://down-cdn.lolicon.team/static/miraipip/js/plugins.js"></script>
|
||||
<script src="https://down-cdn.lolicon.team/static/miraipip/js/theme.js"></script>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
|
||||
</html>
|
||||
Reference in New Issue
Block a user