Category: newest
-

Batch generation of nginx configuration files
first,need a template file like this: all the domain in file : domain_moneyslow.txt next , a shell for create config file from domain_moneyslow.txt and template :
-

-
ubuntu22.04 strongswan swanctl
https://pcvogel.sarakura.net/2024/05/01/42720 只允许用户从一个终端登录上来(第二个终端登录,会踢掉第一个终端):
-

-

ubuntu22.04 auto run on startup iptables -t nat -A POSTROUTING -j MASQUERADE
在 Ubuntu 22.04 中,由于系统默认使用 systemd 且 iptables 规则重启后会丢失,要实现开机自动执行这条 NAT 转发规则,最可靠的方式是通过 systemd 服务来实现。以下是详细步骤: 新建一个文件 /usr/local/bin/iptables-nat.sh ,内容: chmod +x /usr/local/bin/iptables-nat.sh 再新建一个启动文件:/etc/systemd/system/iptables-nat.service systemctl daemon-reloadsystemctl enable iptables-nat.servicesystemctl start iptables-nat.service 以下是验证:
-

-

-
wordpress升级插件失败导致网站故障,提示“Briefly unavailable for scheduled maintenance. Check back in a minute”
尤其是国内的worepress网站,升级插件连不到外网,很容易发生错误:Briefly unavailable for scheduled maintenance. Check back in a minute 方法1:登录到你网站根目录,然后找到.maintenance文件删除即可。 方法2:修改wp-activate.php文件如果你找不到上面说的这个.maintenance文件,那么可以在网站根目录找到wp-activate.php这个文件:在第9行,define( ‘WP_INSTALLING’, true );修改为:define( ‘WP_INSTALLING’, false); 最终解决办法:升级的时候想办法让你的网站可以临时上外网。
-

-

-

-

linux compress pdf command gs,to 10%
使用 Ghostscript(推荐)Ghostscript 是 Linux 下处理 PDF 最常用的工具之一,通过重新渲染 PDF 内容来压缩文件。 命令示例: 参数说明: -dPDFSETTINGS=/ebook:压缩级别,可选值:/screen:最低质量,最小文件(适用于屏幕查看)/ebook:中等质量(默认推荐)/printer:高质量打印/prepress:最高质量,用于印刷-dCompatibilityLevel=1.4:兼容 PDF 1.4 版本。 优点:压缩效果显著,支持自定义质量。缺点:重新渲染可能导致某些复杂内容(如高精度图像)轻微失真。 实际操作可以证明,30M的文件可以压缩到3M。
-

-

Discuz3.4升级3.5报错Error:Can’t DROP ’email’; check that column/key exists
在确定利用phpmyadmin升级cdb_members表里的email索引后,如果仍然报错,那么把你升级过程中的url的id自己加1,跳过去继续就行。
-

source install Python2
安装编译依赖: sudo yum groupinstall “Development Tools”sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel 从 Python 官方 FTP 下载 Python 2.7.x 的源代码: wget https://www.python.org/ftp/python/2.7.18/Python-2.7.18.tgz解压并编译: tar xzf Python-2.7.18.tgzcd Python-2.7.18./configure –enable-optimizationsmakesudo make altinstall验证安装:检查 Python 2 是否安装成功: python2.7 –version cd /usr/binln -s /usr/local/bin/python2.7 python
-

dns bind 的二进制zone文件查看工具named-compilezone
zone文件二进制形式,一般发生在linux同步windows的dns的情况,格式自动转为二进制,下面是查看二进制工具
-

Nginx 根据请求来源 IP 地址决定是否进行 301 跳转
如果ip很少的情况: 解释:if ($remote_addr = “192.168.0.1”):判断请求的来源 IP 是否为 192.168.0.1。break;:如果条件成立,则不进行跳转,继续处理请求。return 301 https://x.com$request_uri;:如果条件不成立,则执行 301 跳转。注意事项:使用 if 指令时要注意性能问题,尤其是在高并发场景下。if 指令在某些情况下可能会导致性能下降,因此建议在测试环境中充分测试后再应用到生产环境。如果有多个 IP 需要排除跳转,可以使用 map 指令来优化配置,避免多个 if 语句。 如果有多个 IP 需要排除跳转,可以使用 map 指令来优化配置: 在这个配置中,map 指令用于定义一个变量 $skip_redirect,根据 $remote_addr 的值来决定是否跳过跳转。这样可以更高效地处理多个 IP 的情况。
-

git clone 不能ssh拉取代码Connection to gitlab.com closed
代码仓库是gitlab搭建的,通过密钥配置,ssh -T git@gitlab.com 是可以识别到密钥代表的用户名的,项目上已经添加用户的权限,但是拉取报错,debug信息如下: 可尝试在当前目录下配置文件修改:.ssh/config 猜测是环境变量发生了混乱,需要指明服务器,主机,用户,密钥,精准验证配置后就正常了。
-
haproxy代理后端是https并且忽略域名证书验证
对于后端是强制https认证,但是是IP地址的情况:https://192.168.0.2,在前面加haproxy配置证书,haproxy的配置文件例子: 检查配置文件语法: systemctl start haproxy保障启动服务后的状态正确:
-

haproxy配置开启日志(Red Hat Enterprise Linux 8.6)
在默认情况haproxy是不记录日志的;通过配置haproxy.cfg使其记录日志haproxy.cfg:开启haproxy日志记录log 127.0.0.1 local2/etc/rsyslog.conf:利用rsyslog接收日志:去掉这两行的注释: 也有可能是如下形式: 重启rsyslog,查看udp的514端口是否开启: netstat -anlp|grep 514 udp 0 0 0.0.0.0:514 0.0.0.0:* 14592/rsyslogdudp6 0 0 :::514 :::* 14592/rsyslogd systemctl status rsyslog ● rsyslog.service – System Logging ServiceLoaded: loaded (/usr/lib/systemd/system/rsyslog.service; enabled; vendor preset: enabled)Active: active (running) since Mon 2025-02-17 16:07:30 CST; 16h ago tail -f haproxy.log 如果是ubuntu系统,可以参考:
-

Internet phone number form
美国的电话号码格式通常为:+1-XXX-XXX-XXXX 或 1-XXX-XXX-XXXX,其中: +1 或 1 是美国的国家代码。 XXX-XXX-XXXX 是具体的电话号码,前三位是区号,后七位是用户号码。 注意事项:国家代码:拨打国际电话时,需加 +1 或 001。 区号:不同地区有不同的区号,拨打本地电话时可不加区号。 格式:通常用连字符分隔,如 XXX-XXX-XXXX。 时区:美国有多个时区,拨打时需注意时间。 国际通话费用:拨打美国号码可能产生额外费用,需提前了解资费。 隐私:处理电话号码时,需遵守隐私保护法规。 示例:+1-212-555-1234 1-212-555-1234 国内购买电话充值卡时,一般要求提供美国电话号码,看具体要求,一般是最前面加1的,比如:14255550100 要呼叫的国家/地区 要呼叫的区域 电话号码格式 美国 雷德蒙德 +(1)(425) 555-0100 或 +14255550100 英国 伦敦 +(44)(20) 1234 5678 或 +442912345678 中华人民共和国 北京 +(86)(10) 1234 5678 或 +861012345678 新加坡共和国 不适用 +(65) 1234 5678 或 +6512345678
-
html speacial character list
list: 原始字符 entity 原始字符 entity ” " & & ‘ ' < < > > ¡ ¡ ¢ ¢ £ £ ¤ ¤ ¥ ¥ ¦ ¦ § § ¨ ¨ © © ª ª « « ¬ ¬ ­ ® ® ¯ ¯ ° ° ± ± ² ² ³ ³…
-

签署let’s encrypt证书报错 code”:9109,”message”:”Max auth failures reached, please check your Authorization header
一看到报错中包含Authorization,必定是认证错误,所以考虑是授权错误,此次签署证书是用的cloudflare 的token,顺思路想到是cf的认证不通过,手动执行认证token的命令: 是顺利通过的,没问题。 按照警察破案的思路,所以必须去案发现场看,登陆到cloudflare的token页面: https://dash.cloudflare.com/profile/api-tokens 立刻明白了,自己添加了Client IP Address Filtering ,新签署证书的Ip地址不在范围内。 这种低级错误很常见,比如你即使之前添加过IPv4地址,但是你服务器加了IPv6地址,你忘记了,系统会优先使用IPv6地址通信,所以就认证不过。 对于个人,在做好token保密的情况下,可以去掉 Client IP Address Filtering 的功能,没有必要。
-

-

forbiden AI Spider GPTBot|Claude-Web|ClaudeBot
可以用nginx的配置文件规则(放到server段里): 但是以上方法毕竟还是耗费服务器网络流量和nginx资源,在日志中仍然可以看到,不如下面的封禁IP地址段的方法: 手工人肉整理出claudebot的IP地址AS number的ip地址段如下: 可以通过防火墙进行屏蔽,例如ufw: 基本上清理的非常干净,不再有claudebot 的访问痕迹。
-

-

ubuntu22.04下haproxy的日志记录到rsyslog配置方法
ubuntu22.04 用apt install haproxy 进行安装后,/etc/haproxy/haproxy.cfg的配置中包含的日志选项: 其中 log /dev/log local0 的意思就是haproxy日志进入到本地日志系统中 (/dev/log).log: 全局的日志配置,local0是日志设备,info 表示日志级别。其中日志级别有 err、warning、info、debug 四种可选。这个配置表示使用 127.0.0.1 上的 rsyslog 服务中的 local0 日志设备,记录日志等级为 info;log 指定收集哪个机器的 log,log 的收集是通过系统工具来实现的,在 centos6 版本之前以 syslog 来收集日志,6版本变为了 rsysylog。这些都是用于收集系统的日志,local0 指定设备,info 表示输出日志的级别,error 级别是在报错的时候才会输出。info 只要有正常信息都会进行输出,生产环境建议设置 为 notice 级别。 安装rsyslog系统,apt install rsyslog,并启动:systemctl start rsyslog, 查看状态: systemctl status rsyslog ,确保没有报错: 编辑 /etc/rsyslog.conf 这个配置文件,在最后加两行: 重启服务: systemctl restart rsyslog 先确保日志文件的权限正确:…
-

pdf每页分割横着劈竖着劈
安装工具:apt-get install mupdf-tools 每页都竖着劈成2份: 原始文档: 处理后: https://askubuntu.com/questions/56853/splitting-a-pdf-page-in-two
-

-

Unable to negotiate with xx.xx.xx.xx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dssssh
Centos 6.8 操作系统下生成的 SSH Key,下载并添加至客户端,使用 OpenSSH v7.0 及以上的版本的 Linux 客户端进行访问时,提示如下内容:Unable to negotiate with xx.xx.xx.xx port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss。 其主要原因在于 OpenSSH v7.0 及以上的版本 不再支持 ssh-dss 加密算法,导致 Centos 6.8 操作系统下生成的 SSH 密钥在较高版本的 Linux 操作系统中无法适配。可参考以下操作步骤进行解决。 操作步骤: 登录客户端主机的终端,修改 /etc/ssh/ssh_config 配置文件。 vi /etc/ssh/ssh_config 如果是比较新的操作系统,比如阿里云的等保三级操作系统,有严格的加密要求,终极解决方案就是降低适配:
-

-

China DNS Server IP
114DNS 114.114.114.114 114.114.115.115 DNSPod DNS+ 119.29.29.29 182.254.116.116 2402:4e00:: DNS 派电信/移动/铁通 101.226.4.6 218.30.118.6 DNS 派 联通 123.125.81.6 140.207.198.6 cnnicDNS 1.2.4.8 210.2.4.8 GoogleDNS 8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844 CloudflareDNS 1.1.1.1 1.0.0.1 2606:4700:4700::1111 2606:4700:4700::1001 IBM Quad9DNS 9.9.9.9 149.112.112.112 2620:fe::fe 2620:fe::9 DNS.SB 185.222.222.222 185.184.222.222 2a09:: 2a11:: OpenDNS 208.67.222.222 208.67.220.220 2620:0:ccc::2 2620:0:ccd::2 V2EXDNS 199.91.73.222 178.79.131.110 阿里云DNS 223.5.5.5 223.6.6.6 2400:3200::1 2400:3200:baba::1 腾讯云DNS…
-
Normal user exec Docker command
检查是否有docker用户组,如果没有,则创建。Docker安装时一般都会创建docker用户组cat /etc/group | grep docker创建docker用户组,如果docker用户组存在可以忽略sudo groupadd docker把用户添加进docker组中sudo gpasswd -a ${USER} docker重启Dockersystemctl restart docker普通用户执行docker命令,如果提示以下错误,则修改/var/run/docker.sock权限使用root用户执行如下命令sudo chmod a+rw /var/run/docker.sock
-
腾讯云美国轻量服务器(CN2 GT)
腾讯云的轻量服务器具有很好的性价比,回国的线路是个cn2 GT,给电信用户做的服务可以考虑。 侧面可以验证一下全球测试速度,ping值: Ⅰ、国内区域 ( 1 ) 北京、上海、广州 国内区域首推当然是北上广,距离自己和目标客户合适即可。北上广是我国的互联网核心,省际互联常常由核心汇聚中继。此外,腾讯云海外是靠电信承载,所以上海广州对国际方向资源的获取会好一些。 ( 2 ) 成都、南京 成都地域适用于西南地区(西南距北上广延迟都差不多),南京则除了江苏本省之外,更推荐直接选择上海。 Ⅱ、 海外区域 ( 1 ) 香港、新加坡 香港地区是腾讯海外网络价值最高的区域,现在香港地域走的是三网直连线路。新加坡则是接入了电信 CN2 、联通 CUG 、移动 CMI 。东南亚的新加坡相比之下,只有电信接入了 CN2,移动联通都是通过 Singtel 承载。 ( 2 ) 硅谷 北美地区的硅谷电信接入了 CN2,由于北美 CN2 单价较低反而冗余较多,电信用户访问的速度往往介于香港、新加坡间,在其拥塞时还可能更稳定。移动联通则完全不推荐,通过 Telia 和 Level3 承载,速度没有保障。 ( 3 ) 东京、莫斯科东京和莫斯科是冷门地域,对大陆完全无优化。东京地区移动电信是 NTT 和 KDDI 随机,联通则是 NTT 和内网绕行 Singtel 。莫斯科地区基本都是 Megafou,不用考虑。
-

tmp目录下puppeteer_dev_chrome_profile 占用磁盘空间问题
有安装截图工具puppeteer 的,看看:/tmp目录下 ,直接干到100%磁盘 puppeteer_dev_profile是透过puppeteer操作Headless Chrome时会在 /tmp 自动产生的文件夹。倘若程序没有正确关闭chrome进程﹐/tmp/puppeteer_dev_profile-* 将无法自动回收并残留在操作系统上,佔用不必要的硬盘空间。 Github上已有人提出这个问题 ,而其解决方法 是程序在关闭headless chrome后接着移除相关文件夹。办法不错,前提是完成任务后需要主动关闭chrome,而且在移除puppeteer_dev_profile之前要祈求程序不要崩溃。 可惜我这边的是长时间运行的web service,chrome不会关 ,使用pm2管理程序重启,想简单一点移除多余的文件夹就可以了 (每个puppeteer_dev_profile佔 1 ~ 2 GB 不等,机器真的吃不消~)所以就组装一下以下shell command︰ 合共5个步骤用pipe串接︰ 首先ls -t /tmp按最近修改时间 (modification time) 逐一列出/tmp下的档案名字; grep puppeteer_dev_profile筛选出名字包含puppeteer_dev_profile的行; tail -n 2截取由第2行 (包括第2行) 至最后一行 (包括最后一行),因為第1个puppeteer_dev_profile文件通常正在被程序使用中; awk ‘{print “/tmp/”$1}’把每行文件名字加上前缀/tmp/,变成full path; 最后透过xargs -l1把每行full path接在rm -rf后执行,逐一永久移除/tmp/puppeteer_dev_profile-* 文件。 把这个放进crontab,视情况我每天执行一次,注意权限是否足够,每个指令建议改用full path,例如ls改为/usr/bin/ls。
-

About SSH tunnel jump Multiplexing
客户端使用ssh-keygen生成一对公私钥,然后将公钥存到登陆用户家目录的.ssh/authorized_keys这样客户端就能用公私钥登陆了,使用ssh客户端的-i选项可以指定私钥路径。 ssh -i /path/to/file.pem user@moneyslow.com如果没有指定文件路径,默认会找客户端用户目录下的~/.ssh/id_dsa或~/.ssh/id_rsa。 需要注意的是,私钥的权限应该是600(当前用户可读可写) 使用ssh-keygen创建私钥时可能设置了密码,可以使用ssh-agent管理这些密钥将密钥交给ssh-agent管理 ssh-add ~/.ssh/id_rsa如果设置了密码,这个命令会让你输入密钥的密码,之后使用ssh登陆就不用输入密码了。 Port 2222 #这个端口默认是22,改成不容易猜的这时候客户端需要加上-p选项 ssh -p 2222 user@moneyslow.com也可以使用ssh URI方式来指定端口 ssh ssh://user@moneyslow.com:2222和http://xxx的80端口类似,ssh://xxx不指定端口默认就是22号端口 ssh user@moneyslow.com “ps aux”除此之外,我们还可以将命令的输出与客户端的命令进行交互 ssh user@moneyslow.com “ps aux” | less甚至可以从远端拷贝文件夹到客户端 ssh user@moneyslow.com ‘tar cz /usr/share/nginx/html/’ | tar xzv这里压缩是为了加快传输速度 ssh user@moneyslow.com ‘tar -C /usr/share/nginx/html/ zcf – 404.html 50x.html’ | tar zxf -同样,我们可以使用ssh自己实现一个带压缩的scp的功能 tar czv src | ssh…
-

how to build favicon(ico logo banner)
图标 ico logo banner:https://www.icoconverter.com/https://www.shareicon.net/https://www.logomaker.com.cn/https://www.qt86.com/ 什么是网站图标?网站图标是一个16×16像素的小图标,贴在浏览器选项卡上的网站标题旁边。 它帮助用户在打开的所有标签中识别您的网站。请记住,网站图标和徽标是不同的,但您可以自由地在它们两者上使用相同的设计。在您说”这个小东西并不重要”之前,请让我告诉您,它确实非常重要。它为您的网站增加了合法性,并有助于突出您的品牌。此外,让访问者意识到在设计和品牌方面付出了努力,立即建立信任。我建议每个网站都有一个网站图标,如果您想在用户面前留下良好而持久的印象的话。那么,真正的问题是,”如何创建一个网站图标”?嗯,这并不是最困难的任务。至少在下面提到的资源的帮助下,您可以很快地创建自己的网站图标。 1、网站图标会影响seo吗?不,这些不会直接影响您网站的seo排名。然而,网站图标可以影响您的网站品牌、信任、积极用户体验和参与度。所有这些因素间接地有助于更好的seo。 2、最常用的网站图标图片文件格式是什么?png:由于其透明性和高质量,png是复杂和渐变网站图标的首选格式。ico:这是最广泛支持的网站图标格式。它甚至可以根据情况选择适当的大小和颜色深度。svg:svg用于提供可伸缩性而不损失质量的网站图标。不幸的是,这种格式不兼容所有浏览器。 3、如何创建一个好的网站图标?由于尺寸较小,请尝试使用简单而清晰的设计。专注于极简主义,避免杂乱。您的网站图标将是16×16像素或32×32像素。设计一个在缩小后看起来好看的网站图标。确保使用有对比度的有限色彩调色板,使其可见和可识别。要创建具有精确设计的网站图标,请使用强大的应用程序。不要选择时髦的设计,选择一个永恒的图标。为了确保其在所有背景上的可见性和影响力,请使用不同的背景颜色进行测试。 4、如何将网站图标添加到您的网站?首先,您需要为您的正方形网站创建一个16×16像素或32×32像素大小的网站图标。通过ftp或cpanel将图像文件上传到您的网站服务器。调整html文件中的href属性或包含必要的代码。清除浏览器缓存以查看正确放置的网站图标。之后,在不同的web浏览器上进行测试,并在图标无法正确显示时进行故障排除。 相关网站推荐: 1、Favicongenerator.Io – 简单快速的文字图标生成器,无广告 这是一个新推出的强大工具,专注于从文字快速生成favicon。其最大特点是支持SVG格式输出,确保图标在任何尺寸下都能保持清晰度。用户只需要:输入想要显示的文字选择字体和颜色一键生成所有常用尺寸工具特色:SVG矢量输出,确保各种尺寸下的清晰度自动生成16×16到512×512的所有尺寸支持自定义字体和颜色提供完整的HTML部署代码全球CDN加速特别适合需要快速创建文字型favicon的开发者和设计师。工具完全免费使用,无需注册。 2、favic-o-matic 首先,在favic-o-matic上可以选择两种不同的尺寸。第一种是普通的16×16和32×32像素,第二种是通用的,可以为每个设备和平台生成一个图标。还有一些高级设置可供选择,可以选择背景颜色、尺寸预设和其他功能。您可以像往常一样以png和ico格式下载您的图标。您可以直接上传图像并观看神奇的效果。它完全免费使用,但是他们总是欢迎您的小小捐赠。所以,如果您觉得有用,请不要忘记做一点贡献。 3、realfavicongenerator 您可以使用realfavicongenerator为每个浏览器和平台创建一个合适的图标,以便在任何地方都能显示清晰。您只需上传图像,它将全局优化,因此您不必进行任何手动工作。如果您不喜欢特定平台上的图标外观,那么您可以使用他们的工具来快速检查和改进它。整个过程不超过5分钟。最重要的是,它完全免费使用。 4、favicon.io 可能是最简单的方法,favicon.io可以让您创建或转换给定的图像为一个图标。这个工具完全免费使用,您可以将生成的图标放在任何地方。您可以导出png和ico格式。使用此工具生成图标有几种方式。第一种是普通文本。如果您没有要转换为图标的图像或标志,您可以使用此选项立即生成一个基于文本的普通图标。第二种是使用图像或标志。您只需上传所需的图像/标志,此工具将将其转换为适当的尺寸和格式。最后一种选择是表情符号。他们有各种预制表情符号供您选择并制作您的图标。我只推荐在您的网站较小或者不”太严肃”时使用此选项。 5、faviconer faviconer让您可以绘制自己的网站图标或上传现成的图片并转换为合适的格式。您可以选择16×16和32×32尺寸,或者更好的是,两者都选。这个工具的一个有趣的特点是您可以先上传图片,然后在图片上进行绘制。如果您想要在已有的图片上添加一些小细节,这将非常有用。您可以将网站图标导出为ico格式,因为这是最适合网站图标的格式。总的来说,这个工具非常易于使用,但如果您仍然需要帮助,您可以参考页面底部的视频教程。您可以免费使用所有功能。 6、antifavicon.com 最后但并非最不重要的,网站图标生成器是另一个简单而免费的工具,用于创建您的网站图标。您没有上传图片的选项,而是可以使用他们的自定义选项从头开始创建一个图标。这将完全基于文本,但带有颜色。 您可以设置以下内容:文本类型,背景颜色,文本颜色,边框颜色选项下面还有简单的说明,以便您可以获得最佳的结果。除了添加文本和选择颜色之外,您几乎无需做任何事情,生成后可以立即将网站图标导出为ico格式。如果您对自己的网站图标的外观持怀疑态度,您可以在页面顶部查看示例,亲自看一看。 结论:上述用于创建网站图标的资源肯定会在您的品牌建设过程中非常有用。如果您需要快速创建文字类型的favicon,推荐使用favicongenerator.io;如果您想要特定类型的网站图标设计,可以选择fiverr;其他提到的选项也都是很好的备选方案,关键是选择最适合您需求的工具。每个工具都有其独特的优势。
-
阿里云ecs服务器安装docker
主要面临的一个问题就是不能访问docker.io国外资源,以下就是简单的解决办法: Architecture: x86-64Operating System: Alibaba Cloud Linux 3 (Soaring Falcon) Docker Engine – Community 26.0.0 官方文档:Install Docker Engine on CentOS (注,Alibaba Cloud Linux 3 是一个 CentOS 系统。 ) https://docs.docker.com/engine/install/centos 阿里云 Docker CE 镜像https://developer.aliyun.com/mirror/docker-ce 说明,:根据官网文档 也可以安装,但考虑到 下载速度,最后选择了 阿里云镜像 进行安装。 安装全程使用 root 账号。 安装步骤 打开 阿里云 Docker CE 镜像 页面: 因为 Alibaba Cloud Linux 3 是一个 CentOS 系统,选择…