Q's blog

一些个人文档笔记

我的手机是Android10,需要将证书从用户移动到系统,但是MT管理器和RE管理器和adb,移动都会挂载失败,然后网上去搜索后,才知道,Android10对于/system目录只有读的权限。

解决方法:用magisk的模块movecert(https://github.com/Magisk-Modules-Repo/movecert),我的magisk版本为25.2,本地安装一直报unzip error,我就放弃直接用magisk安装,然后找到一个magisk的模块,可以代替magisk安装,FoxMagiskModuleManager(https://github.com/Fox2Code/FoxMagiskModuleManager)。可以在我分享的网盘链接下载链接:https://pan.baidu.com/s/1U_g536YICT3q-bcdMROzbg

提取码:xzcc。

安装方法:1.安装apk,2.将zip adb push 到手机,3.打开apk,安装zip,重启手机,4.打开加密与凭证,就可以看到证书移动到系统里了

参考:

Android12 HttpCanary系统证书安装 Magisk模块movecert

https://www.52pojie.cn/thread-1809966-1-1.html

Dockerd 代理

在执行docker pull时,是由守护进程dockerd来执行。因此,代理需要配在dockerd的环境中。而这个环境,则是受systemd所管控,因此实际是systemd的配置。

sudo mkdir -p /etc/systemd/system/docker.service.d
sudo touch /etc/systemd/system/docker.service.d/proxy.conf
在这个proxy.conf文件(可以是任意*.conf的形式)中,添加以下内容:

1
2
3
4
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:8888/"
Environment="HTTPS_PROXY=http://127.0.0.1:8888/"
Environment="NO_PROXY=localhost,127.0.0.1,.example.com"
阅读全文 »

需求:

java应用访问qyapi.weixin.qq.com时根据不同组织对应不同公网出口ip

java实现部分:更新token的任务,先把token写到redis里TTL设置为4小时,再写到mysql

redis格式为

qwtoken: cropid
阅读全文 »

开启eip功能

https://help.aliyun.com/document_detail/200610.html?spm=a2c4g.443632.0.i4#section-jp3-5or-n4s

1
2
3
4
5
6
7
8
9
spec:
template:
metadata:
annotations:
k8s.aliyun.com/pod-eip-instanceid: eip-xxxxx

# 使用过程中可能会出现pod删除,但eip任然处于绑定状态
# 默认情况下如果EIP已经绑定了实例,则会创建EIP失败。如果希望解绑之前的实例再绑定新的实例,需要在上述修改ConfigMap中配置 eni_conf中 "allow_eip_rob": "true"
kubectl delete pod -n kube-system -l app=terway-eniip

只支持1个pod挂载,并且可以通过公网访问容器内服务 或者给2个容器,不同的ip组成高可用

以下介绍为Pod配置公网IP的具体操作:

生成证书

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
29
30
31
32
33
# ⽣成根证书私钥
openssl genrsa -out rootCA.key 2048

#可以将ca.key转为pem文件
#openssl rsa -in rootCA.key -out rootCA.pem
#再查看一下ca-key.pem文件,内容和ca.key是相同的

# 生成根证书
openssl req -x509 -new -nodes -key rootCA.key -days 75000 -out rootCA.pem -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=qyapi.weixin.qq.com/CN=CA/emailAddress=admin@test.com"
CN=commonName 注:生成证书时,CN要和服务器的域名相同,如果在本地测试,就使用localhost
  OU=organizationUnit
  O=organizationName
  L=localityName
  S=stateName
  C=country

# 查看证书
openssl x509 -in rootCA.pem -text -noout

# 可以将rootCA.pem转为.crt扩展名
openssl x509 -outform pem -in rootCA.pem -out rootCA.crt


# 生成服务端证书
openssl genrsa -out server.key 2048
# 生成服务端证书签名请求文件
openssl req -new -key server.key -out server.csr -subj "/C=CN/ST=SD/L=JN/O=QDZY/OU=qyapi.weixin.qq.com/CN=CA/emailAddress=admin@test.com"

echo "subjectAltName=DNS:qyapi.weixin.qq.com,IP:0.0.0.0" > cert_extensions
# 根据签发请求⽣成服务端证书 增加-extfile参数即可生成v3版本的证书:
openssl x509 -req -in server.csr -CA rootCA.pem -CAkey rootCA.key -CAcreateserial -out server.crt -days 75000 -extfile cert_extensions
# 验证
openssl verify -CAfile rootCA.pem -verify_hostname qyapi.weixin.qq.com server.crt
阅读全文 »

wrk 是一种现代 HTTP 基准测试工具,能够在单个多核 CPU 上运行时产生大量负载。它将多线程设计与可扩展的事件通知系统(如 epoll 和 kqueue)相结合。

基本用法

这运行基准测试 30 秒,使用 12 个线程,并保持 400 个 HTTP 连接打开。

1
wrk -t12 -c400 -d30s http://127.0.0.1:8080/index.html

-c, –connections:保持打开状态的 HTTP 连接总数
每个线程处理 N = 连接/线程

-d, –duration: 测试持续时间,例如 2 秒、2 米、2 小时

-t, –threads:要使用的线程总数

-s, –script: LuaJIT 脚本,见 SCRIPTING

-H, –header: 添加到请求的 HTTP 标头,例如 “用户代理:wrk”

–latency:打印详细的延迟统计信息

–timeout:如果在时间内没有收到响应,则记录超时
这段时间。

官方文档

https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.6/deploy/pdserving/README_CN.md

https://github.com/PaddlePaddle/Serving/blob/v0.8.3/doc/Latest_Packages_CN.md

PaddlePaddle是一个深度学习框架,提供了丰富的深度学习模型和工具,可以让用户快速构建、训练和部署深度学习模型。PaddlePaddle 支持多种编程语言,包括 Python、C++等,同时还提供了丰富的数据集和工具集,例如预训练模型、模型优化工具等。PaddlePaddle 可以用于各种深度学习应用,包括计算机视觉、自然语言处理、推荐系统等。

PaddleServing 则是一个用于部署深度学习模型的开源服务器,它可以将训练好的深度学习模型转换为可以被部署到生产环境中的格式,例如 HTTP API、Docker 容器等。PaddleServing 支持多种深度学习框架,包括 TensorFlow、PyTorch 等,同时还提供了丰富的功能,例如模型优化、量化、调参等。PaddleServing 可以帮助用户快速构建深度学习应用程序,并方便地进行部署和扩展。

阅读全文 »
0%