简单记录一下青龙面板的设置

如何部署就不赘述了,网上很多文章都有介绍。
今天早上发现自制的黑铁威马NAS的内存占用达到了70%,(安装的是一根2G的内存条),再一看发现是docker的容器很吃内存。
我运行了一个librespeed测速服务器,一个自动签到,一个青龙面板。可以看到青龙面板和自动签到就占用了接近1.2GB的内存。

然后拆机更换为一根4GB的内存,由于当初配置的时候设置的镜像是不自动启动的,所以必须手工启动它们。结果手贱在自动重新启动应用前面打了对勾并按下了应用,等了好久还是打不开青龙面板的页面,再一看青龙的容器居然被删除了!

瞬间一万个羊驼从脑海奔过,这特么的真是一个手贱导致要浪费大把时间的节奏啊,关键是距上一次从0开始设置已经过去几个月时间了,都已经忘记了具体操作步骤了。
没办法,这次就多花点时间精力记录一下,免得下次设置时候又要浪费时间搜索爬文。
青龙面板运行后设置完账户密码,登录到面板界面。
然后在ssh下面用root用户运行
docker ps
显示所有容器。
然后选择你需要进入的容器名称,比如我的青龙是f8ed1db3309c
运行docker exec -it f8ed1db3309c /bin/bash 进入青龙容器
然后运行ql check,坐等一两分钟,会输出下面一堆信息。
/ql/shell/check.sh: line 94: /root/.bashrc: No such file or directory
## 开始执行… 2022-10-18 08:23:34

=====> 开始检测

changed 1 package in 21s
Progress: resolved 1, reused 0, downloaded 0, added 0
Progress: resolved 3, reused 0, downloaded 3, added 0
Progress: resolved 4, reused 0, downloaded 3, added 0
Progress: resolved 35, reused 0, downloaded 17, added 0
Progress: resolved 54, reused 0, downloaded 34, added 0
Progress: resolved 83, reused 2, downloaded 57, added 0
WARN  deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.
Progress: resolved 127, reused 7, downloaded 95, added 0
Progress: resolved 174, reused 14, downloaded 133, added 0
Packages: +3 -2
+++–
Progress: resolved 198, reused 17, downloaded 179, added 3, done

/root/.local/share/pnpm/global/5:
– pm2 5.2.0
+ pm2 5.2.2

WARN  Issues with peer dependencies found
.
└─┬ ts-node 10.9.1
└── ✕ missing peer @types/node@”*”
Peer dependencies that should be installed:
@types/node@”*”

Done in 10.9s
—> 1. 复制通知文件

—> 复制一份 /ql/sample/notify.py 为 /ql/data/scripts/notify.py

‘/ql/sample/notify.py’ -> ‘/ql/data/scripts/notify.py’

—> 复制一份 /ql/sample/notify.js 为 /ql/data/scripts/sendNotify.js

‘/ql/sample/notify.js’ -> ‘/ql/data/scripts/sendNotify.js’
—> 通知文件复制完成

—> 2. 复制nginx配置文件

‘/ql/docker/nginx.conf’ -> ‘/etc/nginx/nginx.conf’
‘/ql/docker/front.conf’ -> ‘/etc/nginx/conf.d/front.conf’
—> 配置文件复制完成

=====> 检测面板

<!DOCTYPE html>
<html>
<head>
<meta charset=”utf-8″ />
<meta
name=”viewport”
content=”width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no”
/>
<link rel=”shortcut icon” type=”image/x-icon” href=”/images/favicon.svg” />
<link rel=”stylesheet” href=”/umi.1a1e4a3d.css” />
<script>
window.routerBase = “/”;
</script>
<script>
//! umi version: 3.5.34
</script>
</head>
<body>
<div id=”root”></div>

<script src=”https://gw.alipayobjects.com/os/lib/react/16.13.1/umd/react.production.min.js”></script>
<script src=”https://gw.alipayobjects.com/os/lib/react-dom/16.13.1/umd/react-dom.production.min.js”></script>
<script src=”/umi.171fdc21.js”></script>
</body>
</html>

=====> 面板服务启动正常

=====> 检测nginx服务
94 root 0:00 nginx: master process nginx -c /etc/nginx/nginx.conf
95 root 0:00 nginx: worker process
96 root 0:00 nginx: worker process

=====> nginx服务正常

—> pm2日志
2022-10-18T07:26:42: info: ✌️ DB loaded
2022-10-18T07:26:42: info: ✌️ Init file down
2022-10-18T07:26:43: info: ✌️ Sentry loaded
2022-10-18T07:26:45: info: ✌️ Dependency Injector loaded
2022-10-18T07:26:45: info: ✌️ Express loaded
2022-10-18T07:26:45: info: ✌️ init data loaded
2022-10-18T07:26:45: info: ✌️ link deps loaded
2022-10-18T07:26:45: info: ✌️ init task loaded
2022-10-18T07:26:46: info: ✌️ Sock loaded
2022-10-18T07:26:46: info: [创建interval任务],任务ID: token,任务名: 生成token,执行命令: node /ql/static/build/token.js
2022-10-18T07:26:46: debug: ✌️ Back server launched on port 5600
2022-10-18T07:26:47: info: 任务 node /ql/static/build/token.js 进程id: 228 退出,退出码 0
2022-10-18T08:16:49: info: [取消定时任务],任务名:KR
2022-10-18T08:16:49: info: [创建cron任务],任务ID: 1,cron: 0 1 * * *,任务名: KR,执行命令: ql repo “https://github.com/KingRan/KR.git” “” “” “” “” “”
2022-10-18T08:17:12: error: 执行任务 ql repo “https://github.com/KingRan/KR.git” “” “” “” “” “” 失败,时间:2022-10-18 8:17:12, 错误信息:”Cloning into ‘/ql/data/repo/KingRan_KR’…\n”
2022-10-18T08:18:59: info: 任务 task KingRan_KR/h5st.ts 进程id: 10679 退出,退出码 0
2022-10-18T08:19:17: info: 任务 task KingRan_KR/jd_bean_change_pro.js 进程id: 12067 退出,退出码 0
2022-10-18T08:23:15: info: 任务 ql repo “https://github.com/KingRan/KR.git” “” “” “” “” “” 进程id: 239 退出,退出码 0

=====> 检测后台

{“code”:401,”message”:”jwt malformed”}

=====> 后台服务启动正常

启动面板服务

启动定时任务服务

启动公开服务

=====> 检测结束

## 执行结束… 2022-10-18 08:24:20 耗时 46 秒

 
运行之后应该就解决了脚本的依赖关系的问题。不用手工一个个去设置了。
再然后去青龙面板添加名称为JD_COOKIE的变量,填入你的cookie即可,至于如何获取京东cookie,大家自行搜索爬文,这里就不赘述了。
再接下来去青龙面板的订阅管理里面按下图添加KR库然后运行一下即可,各个脚本就会被添加到定时任务里面。

对了,在运行订阅管理脚本之前去青龙面板的配置文件里,改一下下面这个参数即可,加上ts。
## ql repo命令拉取脚本时需要拉取的文件后缀,直接写文件后缀名即可
RepoFileExtensions=”js py ts”

搞定。

20221021 update
还是需要在青龙面板里面手工安装依赖的
NodeJs 依赖库
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios
moment
got
md5
request
download
tunnel
ws
qrcode-terminal

Python3 依赖库
requests
canvas
ping3
jieba
aiohttp

Linux 依赖库安装失败,不清楚是什么情况。
bizCode
bizMsg
lxml

折腾路由器以及编译op常用到的指令

自己经常用到的,记录一下,用时候好找。
不走代理的域名
bilibili.com
bilibili.cn
bilivideo.com
bilivideo.cn
biliapi.com
biliapi.net
apple.com
ixigua.com
toutiao.com
douyin.com
tmall.com
taobao.com
alimama.com
alipay.com
wifizoo.net
删除编译文件夹下面不需要的辣鸡文件
rm -rfv ./build_dir/* ./staging_dir/* ./tmp/*

青龙面板配置备份

openwrt:
root@OpenWrt:~# find / -name env.sh
/opt/overlay2/d9479246f2de51b54782fd2275cb4d8dedc571cfe4fe714d91a16fb5c98a9a0e/merged/ql/data/config/env.sh
/opt/overlay2/d9479246f2de51b54782fd2275cb4d8dedc571cfe4fe714d91a16fb5c98a9a0e/diff/ql/data/config/env.sh
/opt/overlay2/4edf900d43ecb765c9e85a4c0c849697cb5053e3ff40708754d5d372e7cbcb83/diff/ql/data/config/env.sh
铁威马:
]# find / -name env.sh
/mnt/md0/appdata/docker/overlay2/63c768eae6e9faf7564128ea62dfdda9c0dd3c4e2fe89dd7b932812716e8efd7/merged/ql/data/config/env.sh
/mnt/md0/appdata/docker/overlay2/63c768eae6e9faf7564128ea62dfdda9c0dd3c4e2fe89dd7b932812716e8efd7/diff/ql/data/config/env.sh

复制到新的面板下面对应文件夹覆盖即可

经测试不行,并不会显示,而且重启青龙会被清空。

青龙面板安装依赖库

我是在铁威马的docker里面操作的,openwrt以及其他系统下面的docker应该是大同小异。
docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5b46dabac8c9 whyour/qinglong “./docker/docker-e…” 9 hours ago Up 9 hours whyour_qinglong
73d7315f0339 adolfintel/speedtest “docker-php-entryp…” 9 hours ago Up 9 hours 0.0.0.0:70->80/tcp adolfintel_speedtest
docker exec -it 5b46dabac8c9 bash
输入下面的安装命令,回车,坐等结束。
curl -fsSL https://raw.githubusercontent.com/FlechazoPh/QLDependency/main/Shell/QLOneKeyDependency.sh | sh
然后去青龙面板里面手工增加对应的依赖管理。
NodeJs 依赖库
crypto-js
prettytable
dotenv
jsdom
date-fns
tough-cookie
tslib
ws@7.4.3
ts-md5
jsdom -g
jieba
fs
form-data
json5
global-agent
png-js
@types/node
require
typescript
js-base64
axios

Python3 依赖库
requests
canvas
ping3
jieba
aiohttp

Linux 依赖库
bizCode
bizMsg
lxml

在青龙面板依赖库中添加后会自动执行安装,点击日志或者刷新页面可以查看是否安装成功,若安装失败可以点击重新安装。如果重新安装仍然失败,那要检查是不是有其他的问题。
比如linux的依赖就会安装失败。

输入 docker inspect 容器名 去查看容器地址。
# docker inspect 5b46dabac8c9
此处省略若干行。。。。。。
“MergedDir”: “/mnt/md0/appdata/docker/overlay2/63c768eae6e9faf7564128ea62dfdda9c0dd3c4e2fe89dd7b932812716e8efd7/merged”,
于是顺藤摸瓜找到目标文件夹是这个。
/mnt/md0/appdata/docker/overlay2/63c768eae6e9faf7564128ea62dfdda9c0dd3c4e2fe89dd7b932812716e8efd7/merged/usr/lib/python3.10
然后去https://pypi.org/project/lxml/#files 下载对应的包放到这个文件夹下面。

直接进入容器
docker exec -it 5b46dabac8c9 bash
然后,创建一个虚拟环境然后来安装,这样就没问题了。否则会报错。
:/ql $ pip install lxml
Looking in indexes: https://pypi.doubanio.com/simple/
Collecting lxml
Downloading https://pypi.doubanio.com/packages/a7/52/e72cbbbf43845313b9adfa7820aa75898b3832bd6bacc3bdb18dfdcbd8f8/lxml-4.9.1-cp310-cp310-musllinux_1_1_x86_64.whl (7.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.6/7.6 MB 14.5 MB/s eta 0:00:00
Installing collected packages: lxml
Successfully installed lxml-4.9.1
WARNING: Running pip as the ‘root’ user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
运行下面指令可破。
source tutorial-env/bin/activate
然后再运行 pip install lxml
:/ql $ pip install lxml
Looking in indexes: https://pypi.doubanio.com/simple/
Collecting lxml
Downloading https://pypi.doubanio.com/packages/a7/52/e72cbbbf43845313b9adfa7820aa75898b3832bd6bacc3bdb18dfdcbd8f8/lxml-4.9.1-cp310-cp310-musllinux_1_1_x86_64.whl (7.6 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 7.6/7.6 MB 6.7 MB/s eta 0:00:00
Installing collected packages: lxml
Successfully installed lxml-4.9.1
成功搞定。
但是在青龙面板里面linux的依赖依旧安装不成功,搞不懂了。
(tutorial-env) root@TNAS-EDDB:/ql $ pip install bizMsg
Looking in indexes: https://pypi.doubanio.com/simple/
ERROR: Could not find a version that satisfies the requirement bizMsg (from versions: none)
ERROR: No matching distribution found for bizMsg
(tutorial-env) root@TNAS-EDDB:/ql $ pip install bizCode
Looking in indexes: https://pypi.doubanio.com/simple/
ERROR: Could not find a version that satisfies the requirement bizCode (from versions: none)
ERROR: No matching distribution found for bizCode
其他两个目前pip安装失败。有时间再研究。

MT7621开发板HATLab GateBoard-One

8月初我添加GateBoard-One到自用的0429版lean代码里面了。
https://github.com/uclee888/20220429-lean
固件
openwrt-ramips-mt7621-hatlab_gateboard-one-ext4-combined
固件解压密码hatlab

因为免费和时间精力问题,不提供任何技术滋持。
有问题请善用搜索自行研究。谢谢理解。

WIN8升级WIN8.1之后无法激活的问题

升级过程中随便找了个码填进去了,结果升级成功之后系统无法激活。
路由器已经安装了kms server。
使用如下脚本成功搞定。
rem Win 8.1 pro
@echo off
echo.
echo 等待“操作完成按任意键退出程序!”即可退出。
echo.
echo 激活过程会有弹窗,稍等几秒钟!
echo.
slmgr -ipk GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
slmgr -skms 192.168.2.1
Timeout /t 30
slmgr -ato
echo.
echo 操作完成按任意键退出程序!
echo.
pause >nul
exit
关键在于下面这个激活码,如果选择不对的话,再运行脚本也是无法激活的。
Windows 8.1 Professional
GCRJD-8NW9H-F2CDX-CCM8D-9D6T9
参考链接 https://www.tuziang.com/combat/980.html

关闭英特尔显示器节能技术(Intel DPST)避免笔记本使用电池时打开深色页面屏幕变暗

在笔记本拔掉电源只使用电池的时候常会遇到屏幕上是深色页面的时候显示器渐渐变暗的情况,令人烦不胜烦。一开始以为是微软的锅,结果一番查询之后发现是由于英特尔的显示器节能技术(Intel Display Power Saving Technology, Intel DPST)技术捣的鬼。
解决办法也很简单:
用Win+R快捷键呼出运行,输入regedit之后确定打开注册表编辑器。定位到:
“计算机\HKEY_LOCALMACHINE\SYSTEM\ControlSet001\Control\Class\{4d36e968-e325-11ce-bfc1-08002be10318}\0001”(也可能在0000、0002项目下,重点是下面标粗的项目名字)
里的名称为“FeatureTestControl”的REGDWORD项目。如果是8200则修改为8210,如果是9240就修改为9250,(注意是十六进制的数值。)以此类推。
之后,重启电脑即可。
如果十六进制是F800那么就改成F810

https://zhuanlan.zhihu.com/p/383082737

PR里面如何将插入的图片设置为全屏

图片的分辨率是有要求的,取决于拍摄设备的分辨率,几乎所有的拍摄设备,视频大小一般都是1080p的整数倍。所以需要将图片剪切为1080分辨率的整数倍,图片才能在pr里面全屏,否则由于分辨率不通肯定是填不满屏幕的。
1080P的分辨率为1920×1080,在ps里面选择剪切工具,然后设置宽度1920,高度1080回车,即可剪切这个比例的图片了。
然后将剪切出来的图片导入到pr里面,在图片轨道上面点击右键,选择缩放为帧大小即可。