分类: 技术教程

17 篇文章

解决关闭docker容器时需要等待10秒的问题
首先这个问题的产生有很多可能的原因。启动命令不对,容器内程序未接收停止信号之类。 首先编写dockerfile文件时,启动命令最好是使用CMD["\entrypoint.sh"],然后在entrypoint.sh文件中在程序运行的那一行开头加上exec。例如:exec ./myapp -c config.json 如果像这样编写的dockerfil…
windows端使用python解压rar文件
首先吐槽网上的所有教程,全都是错的。连带也污染了chatgpt的回答,也是错的。中文互联网的内容已经垃圾到这种地步了。 如果是zip文件,python的内置库就可以搞定。但是rar文件则需要使用pip来安装rarfile pip install rarfile 然后还需要一个用于解压的程序,这里使用winrar安装目录下的unrar.exe。 un…
django删除记录时同时删除upload_to文件
Django在admin后台直接删除一条数据时, file = models.FileField(upload_to=‘file’)上传的文件并不会删除。通过配置钩子函数可以解决这个问题。 在models.py加入以下内容 from django.db.models.signals import pre_delete from django.dis…
记一次racknerd vps 救援模式修复内核启动问题
因为折腾bbr而尝试安装了新内核,结果却导致vps无法正常启动。 经过查找,发现这些vps服务商的后台面板一般都会有“救援模式”,进入这个模式,可以对原系统进行救援。 由于是安装了新内核导致系统无法正常启动,所以在救援模式里把那个内核卸载即可。 mount /dev/vda1 /mnt mount -o bind /dev /mnt/dev mou…
利用h2c实现http2自定义底层加密协议
众所周知,http2的规范要求使用tls作为加密。而当你有其他想法,不想用tls,但想要http2的多路复用时,这就成为阻碍你实现目标的障碍物了。 但所幸还有h2c在,利用它的相关接口,可以实现自定义加密协议。 客户端的实现 t := &http2.Transport{ DialTLSContext: func(ctx context.Co…
thumbnail
某工具使用grpc协议魔法上网及caddy配置方式
看着千篇一律的ws传输方式,感觉很是无聊。发现grpc也支持cdn(cloudflare),就想着折腾一下。 这里有几点要注意,cf中tls等级选择严格,分流路径在caddy配置中要多填写一个/Tun。 caddy配置段 :443, example.com { tls <cert-path> <key-path> @grpc { pro…
无需cmd后台运行exe程序并实现开机自启
在探索naiveproxy之类的exe程序如何方便快捷地在电脑上启动时发现了一种不错的方法。 即创建vbs文件 以naive.exe为例,在同目录下创建一个run.vbs文件,在其中填入以下内容 CreateObject("WScript.Shell").Run "naive.exe",0 完成后,双击这个vbs文件即可 实现开机自启 创建上述vb…
使用go resty库访问wx.jscode2session接口
之前用django写小程序后端,请求微信接口获取openid时用的都是py的requests库。现在改用go写后端,自然要找功能相似的库来用。 resty是一个go编写的网络请求库。但与偏重于爬虫的requests在功能上有些许差别。下面直接贴代码 type wxJsonRes struct { Openid string `json:"openi…
go web项目的部署
下午准备进行个人图站后端的部署。第一次用go写东西,不知道怎么部署,就去搜索了一下。看到最多的方法是使用supervisor 于是我直接apt install supervisor,完成了安装,到了启动这部分直接给我报错了,😅 The supervisor==3.3.1' distribution was not found 似乎将python3设…