setSafeMode(true); $markdown->setBreaksEnabled(true); $markdown->setUrlsLinked(true); $page_title = "隧道列表"; $rs = Database::querySingleLine("users", Array("username" => $_SESSION['user'])); $pm = new SakuraPanel\ProxyManager(); $nm = new SakuraPanel\NodeManager(); $um = new SakuraPanel\UserManager(); if(!$rs) { exit(""); } if(isset($_GET['getproxyinfo']) && preg_match("/^[0-9]{1,10}$/", $_GET['getproxyinfo'])) { ob_clean(); SakuraPanel\Utils::checkCsrf(); $rs = $pm->getProxyInfo($_GET['getproxyinfo']); if($rs) { if(isset($rs['username']) && $rs['username'] == $_SESSION['user']) { $ns = $nm->getNodeInfo($rs['node']); $domain = ""; $domains = json_decode($rs['domain'], true); if($domains && !empty($domains)) { for($i = 0;$i < count($domains);$i++) { $domain .= $domains[$i]; if($i < count($domains) - 1) { $domain .= ", "; } } } ?>
服务器
隧道 ID
隧道类型 映射
本地地址
本地端口
远程端口
连接加密
数据压缩
绑定域名
URI 绑定
Host 重写
连接密码
X-From-Where
状态
getProxyInfo($_GET['toggle']); if($rs) { if(isset($rs['username']) && $rs['username'] == $_SESSION['user']) { if($rs['status'] == '2') { exit("你的流量已经用完,无法开启隧道,充值或签到获取流量后即可恢复"); } elseif($rs['status'] == '3') { exit("此隧道已经被管理员封禁,无法恢复"); } else { $newStatus = $rs['status'] == "0" ? "1" : "0"; Database::update("proxies", Array("status" => $newStatus), Array("id" => $_GET['toggle'])); $nm->closeClient($rs['node'], $um->getUserToken($_SESSION['user'])); exit("隧道状态更新成功"); } } else { exit("拒绝访问"); } } else { exit("未找到该隧道"); } } if(isset($_GET['delete']) && preg_match("/^[0-9]{1,10}$/", $_GET['delete'])) { ob_clean(); SakuraPanel\Utils::checkCsrf(); $rs = $pm->getProxyInfo($_GET['delete']); if($rs) { if(isset($rs['username']) && $rs['username'] == $_SESSION['user']) { if($rs['status'] == '3') { exit("此隧道已经被管理员封禁,无法删除"); } else { Database::delete("proxies", Array("id" => $rs['id'])); $nm->closeClient($rs['node'], $um->getUserToken($_SESSION['user'])); exit("隧道删除成功,请刷新页面"); } } else { exit("拒绝访问"); } } else { exit("未找到该隧道"); } } $use_proxies = $pm->getUserProxies($_SESSION['user']); $max_proxies = Intval($um->getInfoByUser($_SESSION['user'])['proxies']); ?>

  管理您的内网穿透隧道

映射隧道列表

  您已添加 条隧道,还可以添加 条隧道。

$_SESSION['user'])); $ps = Database::toArray($ps); foreach($ps as $pi) { $domOrPort = ""; $domains = json_decode($pi[8], true); if($domains && !empty($domains)) { for($i = 0;$i < count($domains);$i++) { $domOrPort .= $domains[$i]; if($i < count($domains) - 1) { $domOrPort .= ", "; } } } elseif(!empty($pi[11])) { $domOrPort = $pi[11]; } $nodeName = $nm->getNodeInfo($pi[16])['name']; $enable = $pi[14] == "0" ? "checked" : ""; $enable = $pi[14] == "2" || $pi[14] == "3" ? "disabled" : $enable; echo ""; } ?>
ID 隧道名称 隧道类型 绑定域名 / 远程端口 服务器节点 操作 启用隧道
{$pi[0]} {$pi[2]} {$pi[3]} {$domOrPort} {$nodeName} 删除 | 详细信息
您还没有创建任何隧道
"; } ?>

隧道类型介绍

提示:XTCP 映射成功率并不高,具体取决于 NAT 设备的复杂度。

TCP 映射

基础的 TCP 映射,适用于大多数服务,例如远程桌面、SSH、Minecraft、泰拉瑞亚等

UDP 映射

基础的 UDP 映射,适用于域名解析、部分基于 UDP 协议的游戏等

HTTP 映射

搭建网站专用映射,并通过 80 端口访问。

HTTPS 映射

带有 SSL 加密的网站映射,通过 443 端口访问,服务器需要支持 SSL。

XTCP 映射

客户端之间点对点 (P2P) 连接协议,流量不经过服务器,适合大流量传输的场景,需要两台设备之间都运行一个客户端。

STCP 映射

安全交换 TCP 连接协议,基于 TCP,访问此服务的用户也需要运行一个客户端,才能建立连接,流量由服务器转发。