渊澄YC

川流不息,渊澄取映

win+r运行cmd命令提示窗,键入以下命令在注册表中添加相应字段即可还原鼠标右键菜单。

1
reg add "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}\InprocServer32" /f /ve

如果想回复win11默认右键菜单,只需要运行下面命令,将添加的字段删除即可。

1
reg delete "HKCU\Software\Classes\CLSID\{86ca1aa0-34aa-4e8b-a509-50c905bae2a2}" /f

重启资源管理器生效

1
taskkill /f /im explorer.exe & start explorer.exe

20220808135436
docker运行一段时间后,占用的空间会越来越大,导致升级容器镜像的时候总会报空间不够,导致升级失败,之前我都是重装系统来解决的,这无疑会加大工作量,也不是个明智之举。
其实运行下面的命令就会自动清理docker无用的空间。
think01

1
docker system df -v

列出docker使用空间详情

1
docker system prune -a

该命令会删除暂停中的容器、没有关联容器的镜像、没有 tag 的镜像、没有被使用的数据卷,简单而言,没有在 run 或被使用的东西都被清理掉,注意,如果你有一些暂时暂停的容器,这个命令也会将其清理。
如果不希望删除镜像,而只是将无用的数据卷、容器等删除,则使用 docker system prune 命令(即不添加 - a 参数)

定时规则由六位组成,分辨是分、时、天、月、星期。

1
2
3
4
5
6
7
8
*    *    *    *    *
- - - - -
| | | | |
| | | | +----- 星期中星期几 (0 - 6) (星期天 为0)
| | | +---------- 月份 (1 - 12)
| | +--------------- 一个月中的第几天 (1 - 31)
| +-------------------- 小时 (0 - 23)
+------------------------- 分钟 (0 - 59)

引用来源:Runoob

Cloudflare有一个pages的功能,类似于Github Page,可以用来托管静态网站。那有没有可能将hexo站点托管到CF pages呢?
下面来操作吧。

创建build.sh脚本

首先确保你在Github上有Hexo的仓库,我们在仓库的根目录新建一个名为build.sh的文件,内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#!/bin/bash

# 配置环境
npm install -g hexo-cli
mkdir hexo
cd hexo
hexo init
npm install
rm -rf source/_posts
mkdir -p source/_posts

# 安装主题(你们可以改成自己喜欢的主题)
git clone -b master https://github.com/jerryc127/hexo-theme-butterfly.git themes/butterfly

# 使用新的渲染器
npm un hexo-renderer-marked --save
npm i hexo-renderer-markdown-it --save
# 处理图片
npm i hexo-image-link --save

# 复制文章到指定目录
cd ../
cp -r `ls | grep -v hexo | grep -v config.yml | xargs` hexo/source/_posts
# 复制配置文件
cp config.yml hexo

# 开始构建
cd hexo && hexo g --config config.yml

登录CF创建应用

登录到Cloudflare,切换到pages选项卡,新建一个项目,选择“连接到git”,使用Github账户登录
20220725160214
然后选择你的hexo仓库,点击下一步
20220725160035
按图片所示填入信息,然后点击保存并部署。
20220725160435
部署完成之后我们就可以使用系统分配的pages.dev域名来访问部署在Cloudflare的站点了。

测试同步

现在看下在github上发布一篇文章,看看会不会自动同步更新。
20220725160708

20220719161804
之前一直在使用L大openwrt中自带的阿里云盘webdav插件来,但最近发下插件老是运行报错,所以决定直接在openwrt的docker中跑阿里云盘webdav服务。
方法也很简单,直接在docker中运行下面命令就可以了

1
2
3
4
5
6
docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 2345:8080 \
-v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \
-e REFRESH_TOKEN='token' \
-e WEBDAV_AUTH_USER=username \
-e WEBDAV_AUTH_PASSWORD=password\
messense/aliyundrive-webdav

备注:
1.2345为docker主机映射的端口,可以任意修改。
2.username为你的阿里云盘登录用户名。
3.password为你的阿里云盘登录密码。
4.如何获取阿里云盘的token请参考另一篇文章(https://miaoyanginfo.github.io/2022/05/22/15%E8%8E%B7%E5%8F%96%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98refreshtoken/)

升级依赖测试文章发布。
20220620103038

每次写hexo文章的时候都需要手动敲入文章头部的front-matter字段,而且有时候可能会敲错,导致发布失败,那有没有一种简单的方法,输入某个字符就能带出这些内容呢?
你别说还真有,在vscode中有一个snippets的功能就可以实现上面的需求,下面跟我来操作吧。

编辑markdown.json文件

ctrl+shift+P打开配置搜索框搜索snippets。
20220525134538
然后搜索markdown编辑markdown.json文件
20220525134725
在文件中插入以下字段并保存。
这里prefix后面的title可以随意替换,之后输入这个词就会带出相应的内容。body里面的字段也可以随意增减。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
"Generate Hexo blog header": {
"prefix": "title",
"body": [
"---",
"title: ",
"date: $CURRENT_YEAR-$CURRENT_MONTH-$CURRENT_DATE $CURRENT_HOUR:$CURRENT_MINUTE:$CURRENT_SECOND",
"categories: ",
"tags:",
"cover: ",
"sticky: ",
"---",
],
"description": "hexo header"
}

20220525134901

编辑settings.json文件

在vscode中搜索settings.json文件进行编辑。
20220525135009
插入下面的字段并报错。

1
2
3
4
"[markdown]": {
"editor.wordWrap": "on",
"editor.quickSuggestions": true
},

大功告成

完成上面设置步骤之后在markdown文件中输入title就可以带出hexo所需的头部matter字段了。
20220525135235

青龙面板,是用来自动化定时执行脚本的控制面板。除了正常的用途之外,还可以用来薅狗东的羊毛。
刷了F大的openwrt系统之后,已经默认安装了docker的运行环境,用putty直接登录到系统之后执行下面的脚本就可以直接安装最新版本的青龙面板了。

拉取镜像

1
docker pull whyour/qinglong:latest

部署容器

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
docker run -dit \
-v /mnt/mmcblk2p4/docker/qinglong/config:/ql/config \
-v /mnt/mmcblk2p4/docker/qinglong/log:/ql/log \
-v /mnt/mmcblk2p4/docker/qinglong/db:/ql/db \
-v /mnt/mmcblk2p4/docker/qinglong/scripts:/ql/scripts \
-v /mnt/mmcblk2p4/docker/qinglong/jbot:/ql/jbot \
-v /mnt/mmcblk2p4/docker/qinglong/repo:/ql/repo \
-p 5700:5700 \
-e ENABLE_HANGUP=true \
-e ENABLE_WEB_PANEL=true \
--name qinglong \
--hostname qinglong \
--net=host \
--restart always \
whyour/qinglong:latest

上面的挂载路径需要根据你设备的实际情况做修改,我这里以刷了F大openwrt的N1盒子为例。

访问测试

容器成功运行之后,在openwrt后台的docker选项卡可以看到刚才创建好的容器,访问openwrt的地址加端口5700就可以访问到青龙面板的网页了。
20220523094120

安装依赖

为了之后脚本的正常运行,我们需要安装一些依赖,直接在面板里面操作就可以
20220523092903
复制下面对应类型的字段,添加依赖,选择自动拆分,就可以批量安装了。
20220523093308

NodeJS
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ds
[email protected]
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios
Python3
1
2
3
4
5
requests
canvas
ping3
jieba
aiohttp
Linux
1
2
3
bizCode
bizMsg
lxml

拉取脚本

推荐几个不错的库,当然你也可以直接拉取你需要的。

1
ql repo https://github.com/smiek2121/scripts.git "jd_|gua_" "" "ZooFaker_Necklace.js|JDJRValidator_Pure.js|sign_graphics_validate.js|cleancart_activity.js|jdCookie.js|sendNotify.js"
1
ql repo https://github.com/KingRan/KR.git "jd_|jx_|jdCookie" "activity|backUp" "^jd[^_]|USER|utils|function|sign|sendNotify|ql|JDJR"

添加COOKIE

环境变量里面新建一个变量,名称填入JD_COOKIE,值填入你的jd cookie。
20220523093832
如何获取JD的COOKIE请自行百度。

运行脚本

变量添加之后我们就可以运行拉取回来的脚本了,也可以看到脚本运行的日志和报错信息。
20220523093957

访问阿里云盘网页版,成功登录之后,按下F12,打开开发者模式,按照下图获取refresh_token。

获取到这个token之后我们就可以在各种阿里云盘的WEBDAV服务中使用这个token来开启阿里云盘的WEBDAV服务了。
自动获取:
登录阿里云盘后,控制台粘贴 JSON.parse(localStorage.token).refresh_token

现在我使用的HomeAssistant是用Docker跑在OPENWRT系统上的,目前版本是2021.12.5,之前尝试过直接拉取Dcoker镜像来升级,但是提示空间不足报错,后来就一直没有理他,运行了大半年还算稳定。今天打开HA官网看到最新版本已经更新到了2022.5.5版本了,所以是时候来一次升级操作了。
本周末的任务就是升级我的HomeAssistant系统到最新的2022.5.5版本。
如果不能直接升级,就只能备份现有的配置,然后删除容器,重新部署了。
2022-5-22更新:
今天抽时间试着做了更新操作,不出意外,还是由于空间不足,在拉取最新docker镜像的时候报错了。
所以只能重新安装openwrt,然后再拉取镜像操作。
下载了F大5月9日编译的最新openwrt固件,写入U盘镜像。

从U盘启动openwrt系统,执行命令将系统安装到N1的emmc上。

1
cd  /root   &&   ./install-to-emmc.sh

将N1盒子用网线和电脑直连,电脑设置为192.168.1的网段,进入openwrt的WEB界面修改LAN口地址为你网络环境的网段,保存设置之后将设备接入你的网络中。

如果和我一样作为旁路由来使用,还需要关闭LAN口的DHCP功能。

用putty登录到openwrt系统,执行下面的命令来拉取镜像和运行容器。

1
docker pull homeassistant/aarch64-homeassistant:latest
1
docker run -d -v /mnt/mmcblk2p4/docker/homeassisatant/config:/config -v /etc/localtime:/etc/localtime:ro --net=host homeassistant/aarch64-homeassistant:latest

一切顺利的话,访问openwrt的地址:8123就会看到最新版本的HomeAssistant系统界面了