啊。 地址不敢放。
感觉放地址就会被DD - -
index.html是生成的纯静态
以下2个php文件 cron.php restart.php
cron.php
- <?php
- //CURL 请求接口
- $url='https://app.arukas.io/api/containers';
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERPWD, 'xxxAPPIDxxx:zzzAPPKEYzzz'); //arukas API 用户:密码
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
- $result = curl_exec($ch);
- curl_close($ch);
- //接收,并处理数据
- $result=json_decode($result,1);
- $port=$result['data'][0]['attributes']['port_mappings'][0][0]['service_port'];
- $host=str_replace('-','.',ltrim(explode('.', $result['data'][0]['attributes']['port_mappings'][0][0]['host'])[0],'seaof-'));
- $updated_at=$result['data'][0]['attributes']['updated_at'];
- $status_text=$result['data'][0]['attributes']['status_text'];
- if($status_text){
- //构造HTML字符串
- $url='ss://'.base64_encode('aes-256-cfb:666666@'.$host.':'.$port);
- $str= "<h4>服务器地址:{$host}</h4><h4>服务器端口:{$port}</h4><h4>连接密码:666666</h4><h4>加密方式:aes-256-cfb</h4><h4>上次维护:{$updated_at}</h4><h4>服务器状态:{$status_text}</h4><h4>更新时间:".date("H:i:s")."</h4>";
- $html='<!DOCTYPE HTML><html><head><meta charset="utf-8"></script><title>( ゜- ゜)つロ 乾杯~</title><script type="text/javascript" src="//cdn.bootcss.com/jquery/1.7.2/jquery.min.js"></script><script type="text/javascript" src="//cdn.bootcss.com/jquery.qrcode/1.0/jquery.qrcode.min.js"></script><script type="text/javascript">$(function(){$("#code").qrcode("'.$url.'")});function restart(){$("#btn").attr("disabled","disabled");$.post("restart.php", { password: $("#pwd").val() }, function (text, status) { alert(text);$("#pwd").val("");$("#btn").removeAttr("disabled");});}</script></head><body><div id="main"><div class="demo"><div id="code"></div></div>'. $str.'<input id="pwd" placeholder="请输入重启密码" type="password"><button id="btn" onclick="restart()">重启</button></div></body></html>';
- //写入index.html,静态化
- $fp = fopen("./index.html", "w");
- $res=fwrite($fp, $html);
- fclose($fp);
- if($res){
- echo 'ok';
- }else{
- echo 'fail2';
- }
- }else{
- echo 'fail';
- }
复制代码
restart.php
- <?php
- $pass=isset($_POST['password'])?$_POST['password']:1;
- if($pass=='1234567'){ //密码
- $url='https://app.arukas.io/api/containers';
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERPWD, 'xxxAPPIDxxx:zzzAPPKEYzzz'); //arukas API 用户:密码
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
- $result = curl_exec($ch);
- curl_close($ch);
- //接收,并处理数据
- $result=json_decode($result,1);
- $cid=$result['data'][0]['id'];
- $url="https://app.arukas.io/api/containers/$cid/power";
- $ch = curl_init($url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
- curl_setopt($ch, CURLOPT_USERPWD, 'xxxAPPIDxxx:zzzAPPKEYzzz');
- curl_setopt($ch, CURLOPT_HEADER, 0);
- curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
- curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'DELETE' );
- $result = curl_exec($ch);
- //接收,并处理数据
- sleep(15);
- curl_setopt ( $ch, CURLOPT_CUSTOMREQUEST, 'POST' );
- $result = curl_exec($ch);
- curl_close($ch);
- echo "已重启,请稍后5分钟查看";
- }else{
- echo "error";
- }
复制代码
|