基于wordpress站点的域名迁移
需要对部署的 wordpress 站点进行域名迁移,从旧域名 www.xxx.com 迁移到新域名 www.yyy.com
在迁移前,旧的域名访问正常
1、在域名服务商站点中修改域名 www.yyy.com域名指向服务器地址,不同的域名服务商修改方式相差不大,增加 @ 主机记录和 www 主机记录
修改后域名生效需要一点时间,可以通过 ping 域名来确认 DNS 配置是否已经生效
2、证书申请,因为证书是基于域名颁发的,在域名更换的时候,需要对新域名进行证书申请
之前有写过签发证书的,可以参考这里 https://blog.csdn.net/weixin_53109623/article/details/146275962
分别运行下面两个命令
certbot --nginx -d yyy.com -d …
win10下小米随身wifi驱动的安装
上古时期的小米随身 wifi,在 win10 下安装了官方的驱动程序,启动的时候,会尝试创建 wifi
但是小米随身 wifi 的驱动最初是为 win 7/8 开发的,官方并没有针对 win 10/11 的完整适配,最终创建 wifi 失败
网上提供了两种方式
(1)定位到 C:\Program Files (x86)\XiaoMi\MiWiFi\drivers\Win81x64\netr28ux.inf 文件,然后右键安装,部分机器可能会生效
(2)小米随身 wifi 是基于联发科的无线芯片制造的,因此可以指定使用联发科的驱动
事实上国内大部分随身 wifi 的无线芯片都是联发科,那么使用其他品牌的随身 wifi 无线驱动,理论上也是可行的
这里以指定联发科的驱动为例,完整的操作步骤见下图
(1)设备列表中选 …
使用KMS进行office2013激活
可以使用网上提供的 KMS 服务进行激活,比如这里 https://www.kms.pub/index.html
进入 office2013 的安装目录,默认安装在这里 cd "C:\Program Files\Microsoft Office\Office15"
安装 office2013 激活密钥 cscript ospp.vbs /inpkey:YC7DK-G2NP3-2QQC3-J6H88-GVGXT
密钥安装成功后,分别执行下面的命令,分别是:设置 KMS 服务器,激活 office2013,查看 office2013 激活状态
cscript ospp.vbs /sethst:kms.03k.org cscript ospp.vbs /act cscript ospp.vbs …
国内域名备案的完整流程
整体流程 众所周知,在国内的网站都是要备案的,现在就备案的主要步骤记录下,以供参考
开始备案前,要求个人名下购有经实名验证过的域名以及服务器,并且有效期不低于 3 个月,域名和服务器建议在同一个服务商处购买
以阿里云为例进行个人域名备案,点击 “开始备案”(阿里云主页中右上角也可以点击 “开始备案” 菜单)
备案方式选择为 “自助备案”
从上方的备案步骤可以看到,备案有 5 大步骤
1、基础信息校验
2、填写主办者信息
3、填写互联网信息服务
4、上传图片资料
5、提交订单
备案信息在阿里云上提交后,阿里云会进行初步审核,如果有问题工作人员会联系你进行修改,如果有人联系那都是阿里云的人
阿里云作为服务商也希望你可以一次性通过管局审核,所以接到电话不必紧张,在阿里云审核通过后,就会提交到通信管理局来审核,这是一个 …
流媒体服务SRS环境的搭建
服务部署 SRS 是一款开源的流媒体服务器工具,源码地址 https://github.com/ossrs/srs
这里以 ubuntu 作为服务器,下载源码后切换到 src/trunk 目录,使用以下命令进行安装
cd srs/trunk ./configure make -j4 编译完毕后,启动服务器进行测试
./objs/srs -c conf/srs.conf 从服务端监听端口来看,启动的进程开启了 3 个端口监听,其中:
8080 是 web 页面的监听
1935 是 rmtp 的监听,基于 tcp 协议之上
1985 是 提供 api 接口的 http 端口监听
媒体直播 RTMP直播推流 准备 mp4 文件,然后运行以下命令,将视频流推到服务器上
ffmpeg -re -i mvmusic.mp4 …
windbg添加调试符号
windbg 下输入命令,开启日志记录到 c:\windbg.log 下面
0:040> .logopen c:\windbg.log 0:040> !sym noisy 0:040> .sympath SRV*c:\LocalSymbols*https://msdl.microsoft.com/download/symbols 0:040> .reload /f 直接下载发现无法正常下载,抓包显示会先进行一个重定向,之后重定向建立 tls 连接后,主动发起了一个 FIN 操作
通过 _NT_SYMBOL_PROXY 环境变量设置为宿主机的代理后, 重新进行下载操作结果也是一样的,在建立起来 tls 之后主动进行 FIN 操作
取日志打印的一些 url 记录,在宿主机以及虚拟机下的浏览器 …
基于Trojan-Qt5的工具使用
这是以前写的笔记,现在已经不用 Trojan-Qt5 了,目前是在路由器刷了 openwrt 进行代理,不过这个也许对一些人可能会有帮助
导入代理配置 运行程序后,页面中间主体显示是空白的,首先需要导入配置信息,该配置是从服务提供商处获取到的
检测以及连接 导入配置后,需要检测导入的配置是否都是正常的,在程序主面板中右键菜单选择 “测试所有连接的延迟”
然后根据响应的时间快慢,选中一个耗时较少的记录,右键菜单中选择 “连接”(该记录没有连接的时候,“连接” 菜单是黑色可操作的)
由于防火墙是动态检测的,可能导致节点可能随时会被 block 掉,有需要的话可以重新检测下,换一个可用的节点进行连接
配置站点访问 程序中已经通过 gfwlist 配置了大部分被 block 的站点,详细记录在 proxy.pac 文件 …
基于python生成音乐的onset节拍信息
音乐文件的节拍信息,在一些视频剪辑中非常流行,在剪映中可以通过下面 “踩节拍” 的方式进行一键操作
如果希望使用自动化进行处理,可以通过代码的方式进行封装处理,python 中提供了成熟的 librosa 代码库
安装 python 的依赖库
python -m pip install librosa 编写代码,核心的代码就是下面这一段,onset_detect 检测,其中 units 是指定检测的单位,默认为帧,time 表示指定时间
import librosa y, sr = librosa.load('audio/music.wav') onsets = librosa.onset.onset_detect(y=y, sr=sr, units='time') …
路由器刷机ImmortalWrt的使用
存在问题 基于国内的现状,在路由器上进行刷机,使用 openwrt 的 ImmortalWrt 分支,路由器刷机参考 这里
在路由器中进行代理后,比原来的 pc 端启动客户端进行代理的方式相比有很大的优势,但是依旧存在很多的问题
1、页面上没有找到对 ssr 进行 stop 的按钮,只能终端登录命令进行 stop,即便页面可以 stop,每次登录很麻烦,这里 进行了优化
2、ip 地址库的更新问题,导致访问部分站点的时候,本地公网地址一会变国内,一会变国外,这同样带来了很多问题
3、访问控制这里的设置似乎成了摆设的,设置后并没有生效,软件的bug?还是和上面的 ip 地址是同一类问题?
配置ssr 在路由器安装 ImmortalWrt 后,通过 web 页面登录路由器,默认安装了多款代理软件,可以选择使用熟悉的 …
本地怎么使用unity官网的资源
资源已经购买添加到个人的名下,在我的资源中点击 “在Unity中打开” 无法启动 unity hub 打开项目
浏览器中输入 “unityhub://” 可以正常唤起 Unity Hub ,点击 “在Unity中打开” 在网络请求中提示错误如下
显示为请求了一个 com.unity3d.kharma:content/195698 地址,然后出现 “(已取消)” 的状态
com.unity3d.kharma:// 似乎是一个 Unity 旧的资源商店 (Asset Store) 协议 ,新的协议应该是 unityhub://
将请求修改为 unityhub://content/195698,然后直接在浏览器中打开,弹出 Unity Hub 后,显示一个错误如下,似乎编辑器版本的问题?
估计是待打开项目的编辑器版本 …
nginx部署goaccess监控
前言 要在 nginx 中增加 流量访问的统计功能,可以通过以下几种方式实现:
1、通过分析 nignx 的日志
2、使用 ningx 的模块,如 ngx_http_stub_status_module 以及第三方的 nginx 组件
3、使用第三方监控,如Grafana + Prometheus、ELK Stack、Zabbix 等
其中组件 ngx_http_stub_status_module 提供的监控信息比较基础,如果需要更详细的监控需要引入其他的组件,在部署上相对麻烦
第三方的监控方式,是比较成熟的商业解决方案,但是部署上比较麻烦,通常用于企业部署,个人部署倾向使用 goaccess 来分析 nginx 日志进行监控
部署 goaccess 是轻量级的开源解决方案, …
软件反调试(9)- 基于文件完整性的检测
前言 在前面的文章中,提到了一些基本的反调手段,事实上大部分的手段都作用不大,因为太容易被绕过了,只是从理论角度进行反调的学习
这里稍微升级一下,从基于文件完整性的角度进行反调试的学习,在这之前,补漏说明一下基于时间的反调
基于时间的反调理论也很简单,就是在关键代码前记录一下时间戳,接着在关键代码后记录一下时间戳,然后计算运行关键代码的时间差
通常来说,在没有被调试的情况下,运行关键代码的耗时不会太久(假定 100ms 内肯定能运行完毕),如果关键代码被调试了,那么这个时间差就会变大超过 100ms
实际反调的时候,对应的伪代码类似如下
ULONGLONG start = GetTickCount64(); //significant code ULONGLONG end = GetTickCount64(); …
软件反调试(8)- 基于SEH异常的检测
反调原理 异常处理 SEH(Structured Exception Handling)是 windows 提供的一种结构化异常处理机制,用于捕捉并处理运行时异常(如除以零、访问无效内存等)
基本结构如下
__try { // 可能抛出异常的代码 } __except(EXCEPTION_EXECUTE_HANDLER) { // 异常处理代码 } 目标程序在被调试时,程序触发的异常会被调试器优先处理,而不是程序的 SEH 来处理
调试器先收到 “first-chance exception” 通知,如果调试器选择不处理,异常将会传递给程序的 SEH 来进行处理
如果 SEH 也不处理该异常,调试器将会再次收到 “second-chance exception” …
软件反调试(7)- 基于NtSetInformationThread设置线程信息
反调原理 NtSetInformationThread 和 ZwSetInformationThread 是本质相同的函数,Nt 位于 ntdll.dll 模块,在用户模式下供应用程序调用
Zw 位于内核模式中,供驱动/内核模块使用,它们的调用关系如下
NtSetInformationThread -> syscall -> 内核 -> ZwSetInformationThread(或统一的内核服务处理函数)
通过 NtSetInformationThread 设置线程的某些属性,可以对调试器的行为造成干扰,最常见的反调试用途是 隐藏线程
函数原型如下
__kernel_entry NTSYSCALLAPI NTSTATUS NtSetInformationThread( [in] …
hugo博客优化PasteImage以及其他
前言 之前的博客是使用 halo 进行搭建的,前段时间迁移到了 hugo 构建,在 halo 中文章的图片是保存到自建的 easyimage 图床上的
在迁移到 hugo 后,图片不再需要保存到图床上,直接保存在 md 文件的当前目录下即可,基于 hugo 的配置,完整路径为 /archives/xxx/phndmy.png 这种格式
其中 xxx 为当前 md 文件的目录,phndmy 为图片的随机名称,在 vscode 中本身也支持 ctrl + v 粘贴剪切板中的图片,但是并不支持这种自定义路径和随机文件名
PasteImage插件 vscode 插件市场里面有很多同类插件,其中安装量最大的是下面这款,从最后 commit 的时间来看,已经是 6 年前的了
查看该插件的配置说明,也并不支持这种自定义路径和 …