首页
友人帐
留言板
关于
Search
1
IDE Eval Resetter:JetBrains 全家桶无限试用插件
377 阅读
2
影视资源采集站收录大全
302 阅读
3
linux安装或升级protoc
223 阅读
4
VFM 3.7.5 源码 - 一个极简的 PHP 私人云盘!
161 阅读
5
批量采集美女写真等图片做图片站
149 阅读
谈天说地
程序源码
技术教程
成品源码
登录
Search
标签搜索
PHP
linux
源码
go
windows
centos
原创
mysql
微信
激活
采集
宝塔
绿色版
API
解析
SDK
图片
破解
域名
html
云青
累计撰写
150
篇文章
累计收到
75
条评论
首页
栏目
谈天说地
程序源码
技术教程
成品源码
页面
友人帐
留言板
关于
搜索到
6
篇与
的结果
2022-06-10
golang使用宝塔API快速建站
由于某些原因,需要用一行命令来创建宝塔以及数据库,此函数基于官方的API注意:宝塔创建网站需要使用php 以下代码使用php80下面代码用到了第三方库github.com/spf13/vipermd5的计算就不贴了很简单BtServer主文件/* * @Author anderyly * @email admin@aaayun.cc * @link http://blog.aaayun.cc/ * @copyright Copyright (c) 2022 */ package ay import ( "encoding/json" "fmt" "io/ioutil" "net/http" "runtime" "strconv" "strings" "time" ) type BtServer struct { } // GetSign 获取签名 func (con BtServer) GetSign() map[string]string { res := make(map[string]string, 2) res["request_time"] = strconv.FormatInt(time.Now().Unix(), 10) res["request_token"] = MD5(res["request_time"] + MD5(Yaml.GetString("bt.code"))) return res } // GetSiteId 获取网站id func (con BtServer) GetSiteId() { type r struct { Where string `json:"where"` Page string `json:"page"` Data []struct { Id int `json:"id"` Name string `json:"name"` Path string `json:"path"` Status string `json:"status"` Ps string `json:"ps"` Addtime string `json:"addtime"` Edate string `json:"edate"` Type string `json:"type"` TypeVersion string `json:"type_version"` BackupCount int `json:"backup_count"` Domain int `json:"domain"` Ssl int `json:"ssl"` } `json:"data"` } url := Yaml.GetString("bt.panel") + "/data?action=getData&table=sites" data := con.GetSign() data["limit"] = "1" data["search"] = Yaml.GetString("bt.site") res := con.Http(url, data) var rj r json.Unmarshal([]byte(res), &rj) siteId := 0 if len(rj.Data) == 1 { for _, v := range rj.Data { siteId = v.Id } } Yaml.Set("bt.site_id", siteId) Yaml.WriteConfig() } func (con BtServer) Http(url string, data map[string]string) string { str := "" for k, v := range data { str += k + "=" + v + "&" } resp, err := http.Post(url, "application/x-www-form-urlencoded", strings.NewReader(strings.TrimRight(str, "&"))) if err != nil { fmt.Println(err) } defer resp.Body.Close() body, err := ioutil.ReadAll(resp.Body) if err != nil { // handle error } return string(body) } // Create 创建网站 func (con BtServer) Create() (bool, string) { type r struct { SiteStatus bool `json:"siteStatus"` SiteId int `json:"siteId"` FtpStatus bool `json:"ftpStatus"` DatabaseStatus bool `json:"databaseStatus"` Status bool `json:"status"` Msg string `json:"msg"` } url := Yaml.GetString("bt.panel") + "/site?action=AddSite" data := con.GetSign() pass := MD5(strconv.FormatInt(time.Time{}.Unix(), 10))[:10] Yaml.Set("mysql.user", "shop") Yaml.Set("mysql.database", "shop") Yaml.Set("mysql.password", pass) Yaml.Set("mysql.localhost", "127.0.0.1") Yaml.Set("mysql.port", "3306") if runtime.GOOS == "linux" { data["path"] = "/www/wwwroot/shop" } else { data["path"] = "D:/wwwroot/shop" } data["webname"] = `{"domain":"` + Yaml.GetString("bt.site") + `","domainlist":[],"count":0}` data["type_id"] = "0" data["type"] = "PHP" data["version"] = "80" data["port"] = "80" data["ps"] = "微营销" data["ftp"] = "false" data["sql"] = "true" data["codeing"] = "utf8mb4" data["datauser"] = "shop" data["datapassword"] = pass res := con.Http(url, data) var rj r json.Unmarshal([]byte(res), &rj) Yaml.Set("bt.site_id", rj.SiteId) if rj.SiteStatus && rj.DatabaseStatus { Yaml.WriteConfig() return true, "success" } else { return false, rj.Msg } } // GetDomain 获取域名 func (con BtServer) GetDomain() []map[string]string { type r struct { Id int `json:"id"` Pid int `json:"pid"` Name string `json:"name"` Port int `json:"port"` Addtime string `json:"addtime"` } url := Yaml.GetString("bt.panel") + "/data?action=getData&table=domain" data := con.GetSign() data["search"] = Yaml.GetString("bt.site_id") data["list"] = "true" res := con.Http(url, data) var rj []r json.Unmarshal([]byte(res), &rj) var s []map[string]string for _, v := range rj { s = append(s, map[string]string{ "id": strconv.Itoa(v.Id), "name": v.Name, "port": strconv.Itoa(v.Port), }) } return s } // DelDomain 删除域名 func (con BtServer) DelDomain(domain, port string) (bool, string) { type r struct { Status bool `json:"status"` Msg string `json:"msg"` } url := Yaml.GetString("bt.panel") + "/site?action=DelDomain" data := con.GetSign() data["id"] = Yaml.GetString("bt.site_id") data["webname"] = Yaml.GetString("bt.site") data["domain"] = domain data["port"] = port res := con.Http(url, data) var rj r json.Unmarshal([]byte(res), &rj) return rj.Status, rj.Msg } // SetDomain 设置域名 func (con BtServer) SetDomain(domain string) (bool, string) { type r struct { Status bool `json:"status"` Msg string `json:"msg"` } url := Yaml.GetString("bt.panel") + "/site?action=AddDomain" data := con.GetSign() data["id"] = Yaml.GetString("bt.site_id") data["webname"] = Yaml.GetString("bt.site") data["domain"] = domain res := con.Http(url, data) var rj r json.Unmarshal([]byte(res), &rj) return rj.Status, rj.Msg } // UpdateDomain 更新网站域名 func (con BtServer) UpdateDomain(str string) (bool, string) { domainArr := strings.Split(str, "=") btDomain := con.GetDomain() for _, v := range domainArr { domainS := 0 for _, v1 := range btDomain { if v == v1["name"] { domainS = 1 break } } if domainS != 1 { con.SetDomain(v) } } return true, "success" }yaml文件bt: code: QGg5Ct3BlSKlvZmvVk537vuVToJ8j8ci panel: http://127.0.0.1:8888 site: baidu1.com site_id: 1 domain: http://127.0.0.1:8082 mysql: database: shop localhost: 127.0.0.1 password: root port: 3306 user: root
2022年06月10日
17 阅读
0 评论
0 点赞
2021-01-25
宝塔linux版设置秒级监控
宝塔的定时任务最低周期为一分钟,那么我们可以通过执行shell脚本的方法来实现秒级监控,也就是无限循环,但是会大量消耗资源,请谨慎添加在某某博客看到的源码复制下来执行直接报错博主看了一会shell教程 修改了一下 代码如下#!/bin/bash declare -i step step=25 # 这里是秒 for ((i = 0; i <= 60; i += step)) do curl -sS --connect-timeout 10 -m 60 'URL地址' echo -e "\n----------------------------------------------------------------------------" endDate=`date +"%Y-%m-%d %H:%M:%S"` echo "★[$endDate] Successful" echo "----------------------------------------------------------------------------" sleep $step done exit 0
2021年01月25日
22 阅读
0 评论
0 点赞
2020-08-25
宝塔面板专业版7.4.3破解版一键脚本
脚本简介本次面板版本:7.4.3本脚本支持一键安装79版宝塔面板 以及 已经安装宝塔面板升级79版!感谢大家使用该脚本,本脚本未加密,有没有后门大家自己看就知道了,仅仅将官方的脚本本地化了,未经任何修改,请放心使用!本次脚本支持:Centos 7、Debian、Ubuntu!之前已安装此79版脚本,直接点击更新即可,直接升级7.4.3破解版宝塔面板 7.4.3 安装命令Centos安装命令:根据系统执行框内命令开始安装(大约2分钟完成面板安装)yum install -y wget && wget -O install.sh http://bt.79mz.cn/install/install_6.0.sh && sh install.sh 试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中:极速安装方式 (安装时间1至10分钟)curl -sSO http://bt.79mz.cn/install/install_panel.sh && bash install_panel.sh Ubuntu/Deepin安装命令:极速安装方式 (安装时间1至10分钟)wget -O install.sh http://bt.79mz.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh Debian安装命令:极速安装方式 (安装时间1至10分钟)wget -O install.sh http://bt.79mz.cn/install/install-ubuntu_6.0.sh && bash install.sh Fedora安装命令:极速安装方式 (安装时间1至10分钟)wget -O install.sh http://bt.79mz.cn/install/install_6.0.sh && bash install.sh 已经安装面板Linux面板7.4.3升级命令:极速安装方式 (安装时间1至10秒)wget -O /home/update6.sh http://bt.79mz.cn/install/update6.sh && bash /home/update6.sh 收费版Nginx防火墙脚本收费Nginx防火墙(面板先安装在执行脚本):直接面板安装防火墙使用,不在出现不显示拦截问题,不需要在配合bt命令!Apache防火墙脚本收费Apache防火墙(面板先安装在执行脚本):直接面板安装防火墙使用,不在出现不显示拦截问题,不需要在配合bt命令!
2020年08月25日
9 阅读
0 评论
0 点赞
2019-12-25
宝塔面板7.X高级破解版代码
宝塔面板 7.0.3 安装命令Centos安装命令:yum install -y wget && wget -O install.sh http://download.miui.uk:25041/install/install_6.0.sh && sh install.sh 试验性Centos/Ubuntu/Debian安装命令支持ipv6,注意使用root权限执行此命令 (支持Centos8)curl -sSO http://download.miui.uk:25041/install/new_install.sh && bash new_install.sh Ubuntu/Deepin安装命令:wget -O install.sh http://download.miui.uk:25041/install/install-ubuntu_6.0.sh && sudo bash install.sh Debian安装命令:wget -O install.sh http://download.miui.uk:25041/install/install-ubuntu_6.0.sh && bash install.sh Fedora安装命令:wget -O install.sh http://download.miui.uk:25041/install/install_6.0.sh && bash install.sh Linux面板7.0.3升级命令:curl http://download.miui.uk:25041/install/update6.sh|bash 插件相关脚本收费Nginx防火墙(面板先安装在执行脚本):wget -O btwaf.sh http://download.miui.uk:25041/install/btwaf.sh && bash btwaf.sh install 免费Nginx防火墙(无需面板安装):wget -O free_btwaf.sh http://download.miui.uk:25041/install/free_btwaf.sh && bash free_btwaf.sh install 收费Apache防火墙(面板先安装在执行脚本)wget -O btwaf_httpd.sh http://download.miui.uk:25041/install/btwaf_httpd.sh && bash btwaf_httpd.sh install 主机异常登录插件脚本wget -O host_login.sh http://download.miui.uk:25041/install/host_login.sh && bash host_login.sh install 河马webshell查杀插件脚本wget -O hm_shell_san.sh http://download.miui.uk:25041/install/hm_shell_san.sh && bash hm_shell_san.sh install 修复工具解除拉黑、解锁文件脚本:wget -O waf.sh http://download.miui.uk:25041/install/waf.sh && bash waf.sh
2019年12月25日
4 阅读
0 评论
0 点赞
2019-08-28
宝塔nginx环境下php7.2无mcrypt扩展
ssh以root用户登入服务器 执行以下命令 # yum install libmcrypt libmcrypt-devel mcrypt mhash # wget http://pecl.php.net/get/mcrypt-1.0.1.tgz # tar xf mcrypt-1.0.1.tgz # cd mcrypt-1.0.1 # /www/server/php/72/bin/phpize # ./configure --with-php-config=/www/server/php/72/bin/php-config && make && make install将下方代码放入php.ini配置文件中 extension=mcrypt.so
2019年08月28日
11 阅读
0 评论
0 点赞
1
2