使用easyimage部署个人图床服务
前言 最开始使用的 gitee 作为个人图床,但总觉得不踏实,gitee 毕竟是公开的仓库,而且还是国内的服务
这两天考虑部署 easyimage 个人图床的时候,使用 picgo + web-uploader ,发现图片无法正常上传
于是瞅了一下 picgo-plugin-gitee 插件的源码参考,不曾想上面赫然写着,图床这个在几年前就被 gitee 废掉了
还有一个重要的原因是自己手贱,本来想用 notepad++ 打开一个文本文件,结果给整到图床上去了
picgo 这个右键菜单 ”Upload pictures with PicGo” 也太便利了,竟然没对文件类型进行过滤就直接给上传了
文件虽然是删除了,也不是什么私密文件,但是 log 还在,万一哪天不小心把一些重要文件给上传就不好了
图床部署 开源的 …
本地部署drawio绘图方案
前言 绘图的 Processon 确实是一个比较优秀的解决方案,但免费版只有可怜巴巴的 10 张图
之前开了 Processon 的会员,但是使用率比较低,最近会员快到期了,不再考虑续费,需要本地化部署 drawio 方案
drawio 有桌面客户端版本,也有 web 的版本,这里使用 web 的版本进行部署,并使用 github 私有仓库进行存储
部署服务 drawio下载 drawio 官方地址 https://github.com/jgraph/drawio ,release中下载最新的 war 包
这个 war 包运行需要外部的 Servlet 容器,主流的 Servlet 容器如 tomcat
tomcat部署 tomcat 运行是基于 java 环境的,所以机器上要先部署好 java 环境,java …
命令行终端的编码
编码设置 查看当前系统的编码,可以通过 cmd 命令行终端,运行 chcp 命令查看
常见的有以下几种( GBK 通常是中文系统的默认编码)
936 GBK
437 美国英语
65001 utf-8
对于中文系统来说,GBK 经常会导致一些终端窗口的乱码问题,可以设置全局的编码为 65001
打开注册表路径 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
在当前位置增加一个 autorun 的项,值为 chcp 65001,表示每个终端启动的时候都会设置编码
再次运行 cmd 终端,就会自动的设置编码为 65001 了,打印出 Active code page: 65001 的提示
VS控制台的编码错误 打开 visual studio, …
vscode支持实时预览php代码
vscode预览静态页面 如果是开发静态的页面,使用 vscode 的 Live Server 插件就可以了,在 vscode 的插件管理中下载
插件安装后,不需要配置,打开html文件,右键点击 Open with live Server 即可在浏览器中进行预览了
另外一种启动方式可以在 vscode 的右下角,点击 Go Live 也可以同样启动预览
vscode预览php动态页面 下载php版本包 如果本地没有安装 php 解析器,那么需要先提前下载安装好
php 的版本包可以到官网下载 https://windows.php.net/download
下载后解压到某路径下,如 d:\software\php-8.2.7-Win32-vs16-x64 目录下
静态页面不需要额外的解析器,页面在浏览器中就可 …
部署Uptime Kuma监控业务健康
Uptime Kuma 是参照 uptime robot 实现的开源监控工具,官网地址 https://github.com/louislam/uptime-kuma
支持使用多种方式来进行服务的监控,如 HTTP(s)、TCP、Ping、DNS、Push、gRPC… 等多种方式
常规使用 http(s) 主动请求的方式,来检查业务健康情况,可以部署在能访问到业务节点的内网中
监控部署 官方提供 docker 的安装方式,在 linux 下在新建路径,并切换到该路径下
mkdir -p /root/docker/uptime_kuma cd /root/docker/uptime_kuma 部署前需要准备好 docker 环境,运行以下 docker 命令,该命令会自动拉取 uptime_kuma …
配置web服务端对https进行抓包
之前提到可以抓取浏览器发起的 https 请求包,有时候需要抓取服务器端发起的 https 请求包
例如对于一个庞大的 web 项目,怎么抓取服务端中主动发起的 https 请求呢?
检查版本支持 这里以 phpstudy 为例,当在 php 代码主动发起一个 https 请求,那么其执行路径是
php代码 –> curl 组件(C代码) –> openssl(C代码)
在站点下增加一个 phpinfo.php 文件
<?php phpinfo(); 访问 phpinfo 地址,查看使用的 openssl 版本支持情况
SSLKEYLOGFILE 在 OpenSSL 1.1.1 以及更高的版本中引入的,因此该版本是支持 https …
不同平台下编译php源码
windows平台编译 前提需要准备好 vs2022 环境
下载 php sdk,地址 https://github.com/php/php-sdk-binary-tools 中的 release 下载最新版本
解压到比如 d:\develop\php-sdk 目录下
在系统的开始菜单中,找到 x64 Native Tools Command Prompt for vs 2022 点击运行
命令行中切换到 php-sdk 目录下,运行构建初始化脚本 phpsdk-vs17-x64.bat 进入到 $ 操作符下
在 $ 操作符下切换到 php-src 源码目录
php 源码从 github 下载 https://github.com/php/php-src ,切换到指定构建分支
运行 buildconf 生成配置 …
openssl在windows下的编译
编译需要预装 vs2022 以及 perl 工具,perl 下载地址 https://strawberryperl.com/
在 github 下载 openssl 的源码 https://github.com/openssl/openssl
根据需要切换到对应的分支版本
在系统的开始菜单中,找到 Visual Studio 2022 下的 x64 Native Tools Command Prompt for vs 2022 点击运行
在命令行中切换到 openssl 的源码目录下,输入以下命令(no-shared 表示编译静态库)
这里选的 64 位版本,默认安装目录在 C:\Program Files\OpenSSL
perl Configure VC-WIN64A no-asm no-shared …
wireshark开启对https密文抓包
通常情况下,wireshark只能抓取 http 的明文包,对于 https 的报文需要设置才能抓取
不设置的话,抓取到的都是 TLS 的报文,是加密了的,对调试十分困难
前言 提到 https 抓包,基本都绕不开一个 SSLKEYLOGFILE 的环境变量
SSLKEYLOGFILE 是由 Mozilla 开发团队首先引入的一个调试功能,随后被 Google Chrome 等浏览器采纳
并成为网络分析工具(如 Wireshark)的非正式行业惯例,并没有组织或者标准定义这个行为,是属于一个事实上的规范
由 wireshark + chrome 抓 https 包的原理大概就是
1、chrome 发起 https 请求的时候,会将站点的加密密钥信息存储到 SSLKEYLOGFILE …
连接mysql错误问题处理
问题原因 机器上安装了 mysql,需要从另外一台机器连接到 mysql 服务
在连接的时候提示错误如下
出现这个错误的原因,是 mysql 服务没有开启对外部机器的访问权限
问题处理 这里以 windows 下的 mysql 为例,在 mysql 的安装机器下,定位到 mysql 的安装路径
输入 cmd 打开命令行终端
在命令行终端中,输入以下命令,然后输入密码进行 mysql 登录
mysql -u root -p 登录 mysql 后,进入的终端窗口如下
进入 mysql 数据库,并查看 root 用户的配置主机,当前默认只能 localhost 进行连接
use mysql;
select host from user where user='root'; 修改为 % 表示允许外部主机 …
关闭windows系统的自动更新
windows 有一个体验很糟糕的问题,就是经常会进行系统自动更新
特别是一些旧机器上更新大概率会出现失败的情况,极端情况下无法进行回滚
windows 自动更新这个问题遇到了好多次,这里记录下怎么关闭
关闭Windows Update服务 在桌面 “我的电脑” 右键菜单,然后选择 “管理”,出现下面的窗口
定位到 “服务” 菜单项,选择右边的项 “Windows Update” 然后右键 “属性”
在常规标签页中,将启动类型设置为 “禁用”
在恢复标签页中,将失败的后续操作设置为 “无操作”
本地组策略设置 按 Windows + R 然后输入 gpedit.msc 运行,打开 “本地组策略编辑器”
依次单击左边的菜单 “计算机配置” -> “管理模板” -> “Windows组件” -> …
win10解决ping不通的问题
有时候 ping 一台目标机器为 win10 的时候,会出现 ping 不通的情况
因为 win10 默认没有开启 ICMP 回显,这个问题遇到好多次了,记录一下
在 “设置” 中选择 “更新和安全”
选择左侧的 “windows安全中心”,点击 “防火墙和网络保护”
在 “防火墙和网络保护” 页面点击 “高级设置”
打开 windows 防火墙的高级设置,左侧选中 “入站规则”,将下面这两个规则右键启用
开源免费手机投控制器使用
Scrcpy 是一个开源的、轻量级的 Android 屏幕镜像工具
支持 USB 以及 Wi-Fi 连接,它提供高帧率的流畅体验,无需 root 权限
官方仓库地址 https://github.com/Genymobile/scrcpy
要想手机能够投屏到电脑上,需要打开手机的 USB 调试配置
小米手机可以参考我的上一篇文章,软件安装的话下载压缩包解压就可以了
软件的目录结构如下,主要用到 adb 以及 scrcpy 这两个
USB 连接投屏 手机通过 USB 连接到电脑,连接后手机弹出调试的提示,表示配置正常
在 scrcpy 软件的安装路径下,运行控制台命令窗口
通过 adb devices 命令可以查看当前已经连接的设备
通过 scrcpy 命令开启手机投屏,默认会连接列表显示的第一台设备
如果设备列 …
小米手机打开开发者选项
打开 “设置”,点击 “我的设备”, 下滑点击 “全部参数与信息”
然后下滑看到 “MIUI版本”,连续点击 8 下打开 “开发者模式”
回到 “设置” 页面,往下拉打开 “更多设置”,往下拉看到 “开发者选项”
进入开发者选项后,在当前页面往下拉,在调试下打开 “USB调试” 配置项
后面还有一些和调试相关的配置项,根据实际需要打开
使用cloudflare托管域名
cloudflare 有很多功能,可以在 cf 中可以进行域名托管,证书管理,WAF 等
这里来实操一下怎么通过 cf 来托管个人域名,以及邮件和证书的配置
域名添加 登录 cf 后,在首页的右侧位置,有一个 “添加域” 按钮,点击然后输入你自己的域名
然后为自己的选择一个计划,这里选择免费的就行
添加域名后,会出现一个页面,提示 “更改您的名称服务器”
这里会出现两条 cf 的名称服务器地址,一会要在域名服务提供商中配置
这里以托管阿里云的域名为例,其他域名提供商注册的域名也是一样的
登录阿里云,选择需要修改的域名,在 “DNS修改” 页面中,将上面两条 cf 的地址添加到这里来
阿里云中的 DNS 服务器修改后,回到 cf 中来
但是修改不会马上生效,有一个生效时间,当看到绿勾的时候表示已经生效了
生效后就 …