150 lines
7.1 KiB
Smarty
150 lines
7.1 KiB
Smarty
{include file='user/header.tpl'}
|
|
|
|
<style>
|
|
.nodes-style {
|
|
text-align: right;
|
|
position: absolute;
|
|
right: 2em;
|
|
}
|
|
</style>
|
|
|
|
<!-- BEGIN: Content-->
|
|
<div class="app-content content">
|
|
<div class="content-overlay"></div>
|
|
<div class="header-navbar-shadow"></div>
|
|
<div class="content-wrapper">
|
|
<div class="content-header row">
|
|
<div class="content-header-left col-md-9 col-12 mb-2">
|
|
<div class="row breadcrumbs-top">
|
|
<div class="col-12">
|
|
<h2 class="content-header-title float-left mb-0">节点列表</h2>
|
|
<div class="breadcrumb-wrapper col-12">
|
|
<ol class="breadcrumb">
|
|
<li class="breadcrumb-item"><a href="/user">Home</a></li>
|
|
<li class="breadcrumb-item"><a href="/user/node">Server</a></li>
|
|
</ol>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="card">
|
|
<!--
|
|
<div class="card-header">
|
|
<h4 class="card-title">使用说明</h4>
|
|
<div class="d-flex">
|
|
<button class="btn btn-primary btn-sm fs-6"><a class="white" href="/user/edit">节点设置</a></button>
|
|
</div>
|
|
</div>
|
|
<hr />
|
|
<div class="card-body" style="padding-top: 0.5rem;">
|
|
<blockquote class="blockquote">
|
|
<p class="description badge-dot"><strong>线路简介</strong>:可以通过节点筛选来选择节点使用,这会更好的满足您的服务需求。</p>
|
|
<p class="description badge-dot"><strong>各类标签</strong>:流量倍率 -> 你使用 0.2 倍率的节点,消耗 1G 流量,则统计为 0.2G;速率 -> 标示速率为最高速率,但会受限于您本地网络、目标网络等;等级 -> 与会员套餐匹配;在线、负载 -> 表示节点当前使用人数,过载可能会影响线路体验...</p>
|
|
<p class="description badge-dot"><strong>使用权限</strong>:对应的节点使用<code>权限</code>根据你的用户等级和用户群组来决定的.</p>
|
|
<p>
|
|
当前套餐等级:<font color="#399AF2" size="3">VIP0 公益节点</font>
|
|
<a class="btn btn-success btn-sm" href="/user/shop">点此升级</a>
|
|
</p>
|
|
</blockquote>
|
|
|
|
</div>-->
|
|
</div>
|
|
|
|
|
|
<div class="content-body">
|
|
|
|
<h4 class="card-title"> 会员节点</h4>
|
|
|
|
<div class="row">
|
|
|
|
{foreach $oNodeList as $oNode}
|
|
|
|
<div class="col-12 col-sm-12 col-lg-6">
|
|
<div class="card" onclick="if (!window.__cfRLUnblockHandlers) return false; UserClassinsufficient()" data-cf-modified-c4d86746314722ec8753695f-="">
|
|
<div class="card-body">
|
|
<ul class="list-unstyled user-details list-unstyled-border list-unstyled-noborder">
|
|
<li class="media">
|
|
{if $oNode->country_code}
|
|
<img alt="image" class="mr-2 rounded-circle" width="50" height="50" src="/theme/cool/assets/fonts/flag-icon-css/flags/1x1/{$oNode->country_code}.svg">
|
|
{/if}
|
|
<div class="media-body">
|
|
{if in_array($oNode->pid, $aServerLiveIds)}
|
|
<div class="media-title node-status node-is-online">{$oNode->name}</div>
|
|
{else}
|
|
<div class="media-title node-status node-is-offline">{$oNode->name}</div>
|
|
{/if}
|
|
<div class=" text-job text-muted">{$oNode->memo_front}</div>
|
|
</div>
|
|
<div class="media-items">
|
|
<div class="media-item">
|
|
<div class="media-value">x{$oNode->traffic_rate_front}</div>
|
|
<div class="media-label">倍率</div>
|
|
</div>
|
|
</div>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
{/foreach}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<!-- END: Content-->
|
|
|
|
<!-- node_info -->
|
|
<div class="modal fade" tabindex="-1" role="dialog" id="nodeinfo" aria-labelledby="nodeinfoModalLabel" aria-hidden="true">
|
|
<div class="modal-dialog modal-dialog-centered" role="document">
|
|
<div class="modal-content">
|
|
<div class="modal-header">
|
|
<h4 id="nodeinfoModalLabel">节点详细信息</h4>
|
|
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
|
|
<span aria-hidden="true">×</span>
|
|
</button>
|
|
</div>
|
|
<iframe id="infoifram" style="display: block;border: none;width: 100%;height: 600px;margin: 0;padding: 0;over"></iframe>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{include file='user/footer.tpl'}
|
|
|
|
<script type="c4d86746314722ec8753695f-text/javascript">
|
|
function importSublink(client) {
|
|
if (client == 'ssr') {
|
|
oneclickImport('ssr', '?sub=1');
|
|
};
|
|
if (client == 'clash') {
|
|
oneclickImport('clashx','?clash=1')
|
|
};
|
|
if (client == 'clashr') {
|
|
oneclickImport('clashr','?clash=2')
|
|
};
|
|
if (client == 'shadowrocket') {
|
|
oneclickImport('shadowrocket','?list=shadowrocket')
|
|
};
|
|
if (client == 'quantumult') {
|
|
oneclickImport('quantumult','?sub=1')
|
|
};
|
|
if (client == 'quantumult_v2') {
|
|
oneclickImport('quantumult_v2','?list=quantumult')
|
|
};
|
|
}
|
|
</script>
|
|
|
|
<!-- END: Footer-->
|
|
|
|
<script type="c4d86746314722ec8753695f-text/javascript">
|
|
$("#filter_mode").on("change", function() {
|
|
$nodes_moal = $("#filter_mode-" + $(this).val());
|
|
$nodes_moal.siblings().hide();
|
|
$nodes_moal.show();
|
|
});
|
|
</script>
|
|
<script src="../cdn-cgi/scripts/7d0fa10a/cloudflare-static/rocket-loader.min.js" data-cf-settings="c4d86746314722ec8753695f-|49" defer></script></body>
|
|
</html>
|