<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>路飞博客</title><link>https://blog.lufei.de/</link><description>Recent content on 路飞博客</description><generator>Hugo -- gohugo.io</generator><language>zh-cn</language><atom:link href="https://blog.lufei.de/index.xml" rel="self" type="application/rss+xml"/><item><title>路飞工具箱</title><link>https://blog.lufei.de/p/87/</link><pubDate>Sun, 17 Sep 2023 15:30:46 +0000</pubDate><guid>https://blog.lufei.de/p/87/</guid><description>&lt;img src="https://img.meituan.net/csc/b3af8d16f23d1e63f8157d761c4688c51249652.png" alt="Featured image of post 路飞工具箱" />自用脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/setup_menu.sh &amp;amp;&amp;amp; chmod +x setup_menu.sh &amp;amp;&amp;amp; ./setup_menu.sh 脚本推荐一
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tp.sh &amp;amp;&amp;amp; chmod +x tp.sh &amp;amp;&amp;amp; ./tp.sh 脚本推荐二
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tool.sh &amp;amp;&amp;amp; chmod +x tool.sh &amp;amp;&amp;amp; ./tool.sh 脚本推荐三
curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh &amp;amp;&amp;amp; chmod +x kejilion.sh &amp;amp;&amp;amp; ./kejilion.sh 脚本推荐四
curl -fsSL https://raw.githubusercontent.com/eooce/ssh_tool/main/ssh_tool.sh -o ssh_tool.sh &amp;amp;&amp;amp; chmod +x ssh_tool.sh &amp;amp;&amp;amp; ./ssh_tool.sh 脚本五
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh ssh密钥登录
脚本1（推荐）
curl -sS -O https://raw.</description></item><item><title>debian13修复中文乱码</title><link>https://blog.lufei.de/p/536/</link><pubDate>Tue, 10 Mar 2026 21:44:43 +0800</pubDate><guid>https://blog.lufei.de/p/536/</guid><description>备份原配置文件并修改语言环境设置 sed -i.bak &amp;#39;s/^LANG=C$/LANG=zh_CN.UTF-8/; s/^LANGUAGE=C$/LANGUAGE=zh_CN:zh/; s/^#.*no localization for root.*$/# Modified: Chinese UTF-8 locale for better Chinese support/&amp;#39; /root/.profile &amp;amp;&amp;amp; \ source /root/.profile &amp;amp;&amp;amp; \ echo &amp;#34;✅ 中文乱码修复完成！当前语言环境：&amp;#34; &amp;amp;&amp;amp; locale | grep -E &amp;#34;LANG|LANGUAGE&amp;#34; 测试中文显示 echo &amp;#34;中文测试：修复成功！你好，世界！&amp;#34; &amp;amp;&amp;amp; \ date +&amp;#34;%Y年%m月%d日 %H时%M分%S秒&amp;#34; &amp;amp;&amp;amp; \ touch &amp;#34;测试文件.txt&amp;#34; &amp;amp;&amp;amp; ls -la &amp;#34;测试文件.txt&amp;#34; &amp;amp;&amp;amp; rm &amp;#34;测试文件.txt&amp;#34; 注意：这些命令假设您的系统已经安装了中文语言包（zh_CN.UTF-8）。如果未安装，需要先运行：
apt update &amp;amp;&amp;amp; apt install -y locales &amp;amp;&amp;amp; dpkg-reconfigure locales</description></item><item><title>easytier一键组网脚本</title><link>https://blog.lufei.de/p/535/</link><pubDate>Tue, 10 Mar 2026 21:05:25 +0800</pubDate><guid>https://blog.lufei.de/p/535/</guid><description>文档：https://easytier.cn/guide/introduction.html
项目：https://github.com/EasyTier/EasyTier/
Lniux服务节点部署 选择一台云服务器（vps），具有公网ip，速度快，线路好的，作为中转节点
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/easytier.sh &amp;amp;&amp;amp; chmod +x easytier.sh &amp;amp;&amp;amp; ./easytier.sh 选择菜单1安装，然后选择菜单2：部署服务器
服务节点放行端口
ufw allow 11010/udp ufw allow 11010/tcp 快捷命令et
echo &amp;#34;alias et=&amp;#39;/root/easytier.sh&amp;#39;&amp;#34; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc Lniux客户端 每台VPS都是1安装好，然后3加入网络
用户、密码要和前面的服务节点一样的，
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/easytier.sh &amp;amp;&amp;amp; chmod +x easytier.sh &amp;amp;&amp;amp; ./easytier.sh uuid生成,填到配置里面的instance_id cat /proc/sys/kernel/random/uuid 修改配置 nano /etc/easytier/easytier.toml 配置如下
# EasyTier 客户端配置 instance_name = &amp;#34;debian13&amp;#34; instance_id = &amp;#34;66aee9ad-2f7f-4f39-b73a-3424173ce37a&amp;#34; dhcp = true # 监听端口 - 使用不同的端口避免与服务器冲突 listeners = [&amp;#34;udp://0.0.0.0:23010&amp;#34;, &amp;#34;tcp://0.</description></item><item><title>一个易用而强大的，跨平台的 V2Ray 客户端</title><link>https://blog.lufei.de/p/534/</link><pubDate>Tue, 10 Mar 2026 13:39:35 +0800</pubDate><guid>https://blog.lufei.de/p/534/</guid><description>项目：https://github.com/v2rayA/v2rayA/blob/main/README_zh.md
文档： https://v2raya.org/
预览</description></item><item><title>CF-tunnel内网穿透一键脚本</title><link>https://blog.lufei.de/p/533/</link><pubDate>Sun, 08 Mar 2026 21:19:23 +0800</pubDate><guid>https://blog.lufei.de/p/533/</guid><description>一键脚本
bash &amp;lt;(curl -sSL https://cdn.jsdelivr.net/gh/sky22333/shell@main/dev/cf-tunnel.sh) win系统PowerShell在线脚本，需要以管理员模式打开PowerShell，跟linux系统使用方式一样
iwr -useb https://raw.githubusercontent.com/sky22333/shell/main/dev/cf-setup.ps1 | iex 脚本演示</description></item><item><title>CLIProxyAPIPlus安装教程</title><link>https://blog.lufei.de/p/532/</link><pubDate>Tue, 03 Mar 2026 13:57:07 +0800</pubDate><guid>https://blog.lufei.de/p/532/</guid><description>项目：https://github.com/router-for-me/CLIProxyAPIPlus/blob/main/README_CN.md
文档：https://help.router-for.me/cn/configuration/basic
推荐chrome扩展：Page Assist
注意事项，推荐使用国外服务器注册codex
Docker 快速部署 创建部署目录
mkdir -p ~/cli-proxy &amp;amp;&amp;amp; cd ~/cli-proxy 创建 docker-compose.yml
cat &amp;gt; docker-compose.yml &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; services: cli-proxy-api: image: eceasy/cli-proxy-api-plus:latest container_name: cli-proxy-api-plus ports: - &amp;#34;8317:8317&amp;#34; volumes: - ./config.yaml:/CLIProxyAPI/config.yaml - ./auths:/root/.cli-proxy-api - ./logs:/CLIProxyAPI/logs restart: unless-stopped EOF 下载示例配置
curl -o config.yaml https://raw.githubusercontent.com/router-for-me/CLIProxyAPIPlus/main/config.example.yaml 修改配置，使用以下命令，把123456改成你的登录密钥
SECRET_KEY=&amp;#39;123456&amp;#39;; ESCAPED=$(printf &amp;#39;%s&amp;#39; &amp;#34;$SECRET_KEY&amp;#34; | sed &amp;#39;s/[\/&amp;amp;]/\\&amp;amp;/g&amp;#39;); sed -i -E &amp;#34;s|allow-remote: false|allow-remote: true|; s|secret-key: &amp;#39;&amp;#39;|secret-key: &amp;#39;$ESCAPED&amp;#39;|&amp;#34; config.yaml 拉取并启动
docker compose pull &amp;amp;&amp;amp; docker compose up -d 登录后台地址</description></item><item><title>sub2api安装教程</title><link>https://blog.lufei.de/p/531/</link><pubDate>Tue, 03 Mar 2026 00:53:15 +0800</pubDate><guid>https://blog.lufei.de/p/531/</guid><description>项目：https://github.com/Wei-Shaw/sub2api
Docker Compose 安装方式 使用 Docker Compose 部署，包含 PostgreSQL 和 Redis 容器
安装docker curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sh get-docker.sh 一键部署 # 创建部署目录 mkdir -p sub2api-deploy &amp;amp;&amp;amp; cd sub2api-deploy # 下载并运行部署准备脚本 curl -sSL https://raw.githubusercontent.com/Wei-Shaw/sub2api/main/deploy/docker-deploy.sh | bash # 启动服务 docker compose -f docker-compose.local.yml up -d # 查看日志，找出密码，邮箱默认：admin@sub2api.local docker compose -f docker-compose.local.yml logs sub2api | grep -Ei &amp;#34;admin|password&amp;#34; 设置账号密码 或者手动设置账号密码
cd sub2api-deploy nano .env 修改配置：
ADMIN_EMAIL=admin@example.com ADMIN_PASSWORD=your_admin_password 重启容器
docker compose down docker compose up -d 反向代理 反向代理使用caddy的方法如下：</description></item><item><title>caddy一键脚本</title><link>https://blog.lufei.de/p/530/</link><pubDate>Mon, 09 Feb 2026 23:28:08 +0800</pubDate><guid>https://blog.lufei.de/p/530/</guid><description>准备好1个域名，A 纪录指向到你服务器的IP 比如我的域名是openclaw.cnno.de 然后开始反代。用caddy这个脚本，1分钟就完成了。在你的vps上运行以下内容
wget -O caddyman.sh https://c.cococ.co/caddyman.sh &amp;amp;&amp;amp; bash caddyman.sh</description></item><item><title>让你的 Claude code 拥有“肌肉记忆”！</title><link>https://blog.lufei.de/p/529/</link><pubDate>Sat, 31 Jan 2026 03:39:49 +0800</pubDate><guid>https://blog.lufei.de/p/529/</guid><description>前言 厌倦了每次 /clear 后都要重新调教 AI？我开发了一套基于 Windows 环境的自动化闭环：对话 -&amp;gt; 自动归档 -&amp;gt; 技能 (Skills) 自动提取。让 Claude 彻底告别 “鱼的记忆”，在实战中不断自我进化！
只需一句 “归档”，所有技术决策、Bug 修复方案瞬间转化为本地 Skill 库。
1️⃣ 环境准备 确保安装 Python 中文处理库：
pip install pypinyin 确认技能目录存在：
C:\Users\Administrator\.claude\skills 2️⃣ 创建归档存储目录 创建归档目录： New-Item -ItemType Directory -Force -Path &amp;#34;C:\Users\Administrator\archives\conversations&amp;#34; 创建配置文件 archivist-config.json，路径： C:\Users\Administrator\archivist-config.json 内容如下：
{ &amp;#34;default_archive_path&amp;#34;: &amp;#34;C:\\Users\\Administrator\\archives\\conversations&amp;#34;, &amp;#34;custom_project_paths&amp;#34;: {}, &amp;#34;include_full_history&amp;#34;: false, &amp;#34;summarize_conversations&amp;#34;: true, &amp;#34;auto_tag&amp;#34;: true } 3️⃣ 创建 Python 转化脚本 路径：
C:\Users\Administrator\.claude\scripts\archive_to_skill.py 内容如下（保持原样）：
import os import re from pypinyin import pinyin, Style # 配置路径：直接指向 skills 根目录以确保可见性 ARCHIVE_DIR = r&amp;#34;C:\Users\Administrator\archives\conversations&amp;#34; SKILLS_DIR = r&amp;#34;C:\Users\Administrator\.</description></item><item><title>memos备忘录/个人笔记-部署</title><link>https://blog.lufei.de/p/528/</link><pubDate>Fri, 30 Jan 2026 23:52:46 +0800</pubDate><guid>https://blog.lufei.de/p/528/</guid><description>项目：https://github.com/usememos/memos
安卓端推荐：https://github.com/hzc073/memoflow
注意：部署成功后，需要反向代理才能打开，IP+端口是打不开的
开放端口：5230
下载
cd /tmp wget https://github.com/memospot/memos-builds/releases/download/v0.25.3/memos-v0.25.3-linux-x86_64.tar.gz 解压
tar -xzf memos-v0.25.3-linux-x86_64.tar.gz 移动到系统位置
sudo mv memos /usr/local/bin/ sudo chmod +x /usr/local/bin/memos 创建数据目录
sudo mkdir -p /var/lib/memos 启动
# Create service file sudo tee /etc/systemd/system/memos.service &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; [Unit] Description=Memos After=network.target [Service] Type=simple ExecStart=/usr/local/bin/memos --mode prod --port 5230 --data /var/lib/memos Restart=always RestartSec=3 [Install] WantedBy=multi-user.target EOF # Enable and start sudo systemctl daemon-reload sudo systemctl enable --now memos 升级
下载来自memos-builds的最新版本(memos-builds) 替换二进制 sudo systemctl stop memos sudo cp /usr/local/bin/memos /usr/local/bin/memos.</description></item><item><title>Gemini cli 开发技巧</title><link>https://blog.lufei.de/p/527/</link><pubDate>Sat, 24 Jan 2026 15:38:14 +0800</pubDate><guid>https://blog.lufei.de/p/527/</guid><description>系统/工具：windows、powershell 目前的 免费额度 (~250 次 Pro 请求/天 + 1500 次 Flash 请求/天) 所有 Pro 系列模型共享这 250 次的额度池 神奇代码(powershell)
# 创建配置文件并添加函数 $profileContent = @&amp;#39; # Git快捷命令 function mm { git add .; git commit -m &amp;#34;vibe save&amp;#34; } function uc { git reset --hard HEAD~1 } function mmp { mm; git push origin main } function ms { git status } function ml { git log --oneline -10 } &amp;#39;@ # 确保目录存在 $profileDir = Split-Path $PROFILE -Parent if (!</description></item><item><title>强大简洁的nginx日志分析工具</title><link>https://blog.lufei.de/p/526/</link><pubDate>Fri, 23 Jan 2026 22:46:27 +0800</pubDate><guid>https://blog.lufei.de/p/526/</guid><description>项目：https://github.com/woniu336/rhit
致谢：https://github.com/Canop/rhit
威胁情报：https://www.abuseipdb.com/
场景 市面上有不少分析nginx日志的工具，部分内容和统计工具有重合，还有不少花里胡哨的、加载慢的，总觉得不顺手，就自己训练AI做了一个自用的，借此分享出来，如果你觉得还行，就打个星吧。
基于 rhit 的 Web 日志分析和报告管理系统，提供友好的 Web 界面进行日志查询、威胁检测和报告管理。
功能特性 📊 日志报告管理：自动生成和管理多站点的 rhit 报告 🔍 日志搜索：支持按状态码、路径、IP等条件搜索日志 🛡️ 威胁检测：IP威胁分析、XSS/SQL注入检测、爬虫识别 🕷️ 蜘蛛统计：识别30+种知名爬虫，按类型统计访问情况 🔐 用户认证：基于 Session 的登录认证系统 ⏰ 定时任务：自动生成每日报告并清理旧数据 快速安装 首先开放5000端口，例如
ufw allow 5000/tcp 一键脚本
git clone https://github.com/woniu336/rhit.git cd rhit chmod +x install.sh ./install.sh 打开浏览器访问：http://localhost:5000
默认账号：
用户名：admin 密码：admin123 如果使用我之前的rsyslog教程设置日志中心，需要替换脚本
cd /rhit &amp;amp;&amp;amp; \ wget -O daily_report.sh https://github.com/woniu336/rhit/raw/main/daily_reports.sh &amp;amp;&amp;amp; \ chmod +x daily_report.sh &amp;amp;&amp;amp; \ echo &amp;#34;下载并设置权限完成，准备执行...&amp;#34; &amp;amp;&amp;amp; \ ./daily_report.sh 截图预览</description></item><item><title>rsyslog配置方法</title><link>https://blog.lufei.de/p/525/</link><pubDate>Thu, 22 Jan 2026 13:36:18 +0800</pubDate><guid>https://blog.lufei.de/p/525/</guid><description>说明：日志中心指的是服务端，站点指的是客户端（你的网站）
日志中心配置 脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/deploy_server.sh &amp;amp;&amp;amp; chmod +x deploy_server.sh 默认路径：/data/nginx_logs
./deploy_server.sh 日志轮转文件
cat /etc/logrotate.d/nginx-log-center 创建errors目录, 防止脚本没有创建
mkdir -p /data/nginx_logs/errors 查看日志大小
cd /data/nginx_logs/active du -h * | sort -h 清除配置
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cleanup_server.sh &amp;amp;&amp;amp; chmod +x cleanup_server.sh &amp;amp;&amp;amp; ./cleanup_server.sh 站点日志配置 添加日志格式 /etc/nginx/nginx.conf 在原本的log下方添加
log_format syslog_combined &amp;#39;$remote_addr - $remote_user [$time_local] &amp;#39; &amp;#39;&amp;#34;$request&amp;#34; $status $body_bytes_sent &amp;#39; &amp;#39;&amp;#34;$http_referer&amp;#34; &amp;#34;$http_user_agent&amp;#34;&amp;#39;; 站点日志脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/deploy_client.sh &amp;amp;&amp;amp; chmod +x deploy_client.sh 运行脚本
./deploy_client.sh &amp;lt;日志中心IP&amp;gt; all 注意：转发后的日志不会保存在本地</description></item><item><title>nginxpulse日志分析工具安装教程</title><link>https://blog.lufei.de/p/524/</link><pubDate>Wed, 21 Jan 2026 14:32:36 +0800</pubDate><guid>https://blog.lufei.de/p/524/</guid><description>项目：https://github.com/likaia/nginxpulse
系统：debian12
下载并解压 进入临时目录并下载：
cd /tmp wget https://github.com/likaia/nginxpulse/releases/download/v1.6.0/nginxpulse-v1.6.0-linux-amd64.tar.gz 解压文件：
tar -zxvf nginxpulse-v1.6.0-linux-amd64.tar.gz 解压后会得到一个名为 nginxpulse-linux-amd64 的文件。
安装并设置权限 创建安装目录并移动文件：
sudo mkdir -p /opt/nginxpulse sudo mv nginxpulse-linux-amd64 /opt/nginxpulse/ 赋予执行权限：
cd ~ sudo chmod +x /opt/nginxpulse/nginxpulse-linux-amd64 创建配置文件 创建 configs 目录
cd /opt/nginxpulse sudo mkdir -p var/nginxpulse_data sudo mkdir -p /opt/nginxpulse/configs sudo chown -R root:root /opt/nginxpulse sudo chmod -R 755 /opt/nginxpulse 创建配置文件
配置文件是重点，如果你使用我之前日志中心的方式，那么可以使用以下脚本生成数组
脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/gen_config.sh &amp;amp;&amp;amp; chmod +x gen_config.sh 指定路径输出
sudo .</description></item><item><title>轻量级 Nginx 日志中心搭建：Rsync 同步 + 自动轮转</title><link>https://blog.lufei.de/p/523/</link><pubDate>Tue, 20 Jan 2026 11:49:02 +0800</pubDate><guid>https://blog.lufei.de/p/523/</guid><description>方案介绍 本文档介绍一种 基于 Rsync 的集中式 Nginx 日志中心方案，适用于多台业务服务器统一收集访问日志，并在日志中心完成自动轮转与留存。
整体思路：
日志中心部署 rsync daemon，仅负责接收与存储日志
客户端周期性推送指定日志文件
日志轮转仅在日志中心执行，避免多端轮转冲突
一键脚本设置
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx_log_manager.sh &amp;amp;&amp;amp; chmod +x nginx_log_manager.sh &amp;amp;&amp;amp; ./nginx_log_manager.sh 客户端主机名
hostname -s 客户端查看日志
cd /var/log/nginx du -h * | sort -h 日志中心服务器配置 放行防火墙，例如
ufw allow 8873/tcp
然后执行以下脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rsync-log.sh &amp;amp;&amp;amp; chmod +x rsync-log.sh &amp;amp;&amp;amp; ./rsync-log.sh ⚠️ 脚本执行完成后，请 记录生成的 rsync 密码，客户端需要使用。
日志存储目录结构说明
日志中心统一使用如下目录结构：
/data/nginx_logs/ └── active/ ├── hostA/ │ ├── xxx-access.log │ └── yyy-access.log └── hostB/ └── .</description></item><item><title>VSCode SFTP插件-远程开发</title><link>https://blog.lufei.de/p/522/</link><pubDate>Tue, 13 Jan 2026 12:11:56 +0800</pubDate><guid>https://blog.lufei.de/p/522/</guid><description>前言 在日常开发中，我们经常需要在本地编写代码，然后将代码同步到远程服务器进行测试或部署。传统的方式是使用 FileZilla、WinSCP 等第三方工具手动上传文件，这种方式不仅繁琐，而且容易出错。VSCode 的 SFTP 插件可以帮助我们实现本地代码与远程服务器的自动同步，大大提高开发效率。
应用场景 SFTP 插件适用于以下场景：
本地开发，远程调试：在本地编写代码，保存后自动同步到远程服务器，无需手动上传 快速部署：本地测试通过后，一键同步到生产环境服务器 多服务器管理：同时管理多个远程服务器，快速切换上传目标 团队协作：统一开发环境，确保代码在服务器端运行一致 安装插件 打开 VSCode，按下快捷键 Ctrl + Shift + X 打开扩展商店，搜索 sftp，找到名为 SFTP 的插件（作者：Natizyskunk），这是安装量最高、最受欢迎的 SFTP 插件。点击安装即可。
安装完成后，VSCode 会在侧边栏显示 SFTP 图标，表示插件已成功安装。
配置插件 生成配置文件 插件安装完成后，我们需要为当前项目创建配置文件。有两种方式：
方式一：使用命令面板
按下快捷键 Ctrl + Shift + P 打开命令面板 输入 SFTP: Config 并回车 VSCode 会在当前工作区的 .vscode 文件夹下自动生成 sftp.json 配置文件 方式二：右键菜单
在 VSCode 资源管理器中，右键点击项目文件夹 选择 SFTP: Config 同样会生成 sftp.json 配置文件 配置示例 打开生成的 sftp.json 文件
{ &amp;#34;name&amp;#34;: &amp;#34;myserver&amp;#34;, &amp;#34;host&amp;#34;: &amp;#34;192.</description></item><item><title>强大简洁的vps到期监控系统</title><link>https://blog.lufei.de/p/521/</link><pubDate>Thu, 08 Jan 2026 00:44:40 +0800</pubDate><guid>https://blog.lufei.de/p/521/</guid><description>项目 项目：https://github.com/woniu336/vps
系统： Debian12
一键安装 wget -O install.sh https://raw.githubusercontent.com/woniu336/vps/main/install.sh &amp;amp;&amp;amp; chmod +x install.sh &amp;amp;&amp;amp; ./install.sh 安装完成后：
访问地址: http://你的服务器IP:9527 默认用户名: admin 默认密码: admin123 请记得开放 9527 端口！ 服务管理命令
# 启动服务 systemctl start vps-manager # 停止服务 systemctl stop vps-manager # 重启服务 systemctl restart vps-manager # 查看状态 systemctl status vps-manager # 查看日志 journalctl -u vps-manager -f 卸载 wget -O uninstall.sh https://raw.githubusercontent.com/woniu336/vps/main/uninstall.sh &amp;amp;&amp;amp; chmod +x uninstall.sh &amp;amp;&amp;amp; ./uninstall.sh</description></item><item><title>域名到期监控系统</title><link>https://blog.lufei.de/p/520/</link><pubDate>Tue, 06 Jan 2026 10:16:30 +0800</pubDate><guid>https://blog.lufei.de/p/520/</guid><description>项目 Github: https://github.com/woniu336/whois
API调用：https://whois.233333.best/api/
一键部署脚本 提醒：开放8080端口
curl -fsSL https://raw.githubusercontent.com/woniu336/whois/main/install.sh | sudo bash 默认登录密码：admin/admin123
通知说明： 剩余天数精准匹配提醒天数就会触发通知，默认在凌晨两点通知(可在检测频率)设置
通知生效需要重启：systemctl restart domain-monitor
浏览器打开：http://localhost:8080 默认账户：admin 默认密码：admin123 Bug 某些后缀无法查询到，会报错，例如.de后缀，最好删掉，添加常用后缀
功能特性 ✅ 域名WHOIS查询和到期监控 ✅ 多渠道通知（邮件、Telegram、钉钉） ✅ JWT身份认证 ✅ 密码加密存储（bcrypt） ✅ 自动定时检测 ✅ Web管理界面</description></item><item><title>Scoop - Windows 命令行式的软件安装工具</title><link>https://blog.lufei.de/p/519/</link><pubDate>Mon, 05 Jan 2026 13:00:01 +0800</pubDate><guid>https://blog.lufei.de/p/519/</guid><description>原文档: https://gitee.com/scoop-installer-mirrors
开始部署 安装PowerShell 7
https://gh-proxy.com/https://github.com/PowerShell/PowerShell/releases/download/v7.5.4/PowerShell-7.5.4-win-x64.msi 安装 Scoop 打开 PowerShell 7.0+ (Core) 或 Windows PowerShell 5.1
设置执行策略
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser 下载安装脚本
irm https://gitee.com/scoop-installer-mirrors/Install/releases/download/archive/install.ps1 -OutFile install.ps1 执行安装脚本
mkdir D:\scoop .\install.ps1 -ScoopDir &amp;#34;D:\scoop&amp;#34; 或者
$env:SCOOP=&amp;#39;D:\scoop&amp;#39;; iex &amp;#34;&amp;amp; {$(irm get.scoop.sh)} -RunAsAdmin&amp;#34; 设置 scoop 仓库
scoop config scoop_repo https://gitee.com/scoop-installer-mirrors/Scoop 添加 bucket
scoop bucket add main https://gitee.com/scoop-installer-mirrors/Main extras
scoop bucket add extras https://gitee.com/scoop-installer-mirrors/Extras 优化 scoop search 的性能
scoop config use_sqlite_cache true 提升 Scoop 使用体验 添加 abyss (Github 或 Gitee)</description></item><item><title>CF DNS 宕机切换面板</title><link>https://blog.lufei.de/p/518/</link><pubDate>Sun, 04 Jan 2026 20:03:17 +0800</pubDate><guid>https://blog.lufei.de/p/518/</guid><description>项目：https://github.com/woniu336/CFGuard
放行防火墙 默认8081端口，例如
ufw allow 8081/tcp 安装 unzip 工具避免安装失败
sudo apt-get update sudo apt-get install unzip 部署脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cfserver.sh &amp;amp;&amp;amp; chmod +x cfserver.sh &amp;amp;&amp;amp; ./cfserver.sh 修改令牌
cd /opt/cfserver &amp;amp;&amp;amp; ./dns-server -reset-token 然后重启
cd /opt/cfserver &amp;amp;&amp;amp; pkill dns-server &amp;amp;&amp;amp; nohup ./dns-server &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp; 部署说明： 新建目录
mkdir -p /opt/cfserver cd /opt/cfserver 上传到 Linux 服务器
# 将以下文件上传到服务器 - dns-server (二进制文件) - web/ (整个目录) 在服务器上设置
# 赋予执行权限 chmod +x dns-server # 启动服务 .</description></item><item><title>一个轻量、可靠的 Nginx 可视化运维面板</title><link>https://blog.lufei.de/p/517/</link><pubDate>Fri, 02 Jan 2026 15:34:07 +0800</pubDate><guid>https://blog.lufei.de/p/517/</guid><description>项目：https://github.com/woniu336/ngx-nova
轻量级的 Nginx 可视化运维面板，内存占用 低于 20MB，帮助你快速完成安装、站点管理、端口转发、备份与日志查看等常见任务。
✨ 功能亮点 极简部署：单一 Go 二进制 + 静态前端，极低资源占用。
一键安装/卸载：内置 nginx-acme 脚本调用，快速部署或清理 Nginx。
站点与转发管理：图形化创建/编辑/删除站点与 Stream 转发配置，自动执行重载
一键备份与恢复：本地备份 + 自动每天备份到 Cloudflare R2。
日志中心：可视化按域名聚合 Access/Error 日志，支持刷新与独立查看。
不再担心 SSL 证书过期，内置 ACME 自动化能力，HTTPS 证书申请与续期全自动完成。
🚀 快速开始 1.放行防火墙
ufw allow 8083/tcp 安装脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ngx.sh &amp;amp;&amp;amp; chmod +x ngx.sh &amp;amp;&amp;amp; ./ngx.sh 登录http://ip:8083/ui/ 首次设置登录令牌 如需修改令牌
tokenctl --set &amp;#34;你的令牌&amp;#34; --file /opt/nginx-mgr/auth_token.json 卸载 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/uni-ngx.sh &amp;amp;&amp;amp; chmod +x uni-ngx.sh &amp;amp;&amp;amp; .</description></item><item><title>网页版vscode部署</title><link>https://blog.lufei.de/p/516/</link><pubDate>Thu, 01 Jan 2026 22:19:39 +0800</pubDate><guid>https://blog.lufei.de/p/516/</guid><description>系统：debian12
API：https://dmxapi.cn/
安装 code-server 安装node
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt install -y nodejs 验证
node -v npm -v which node 安装code-server
curl -fsSL https://code-server.dev/install.sh | sh 开机自启
sudo systemctl enable --now code-server@$USER 编辑配置
nano ~/.config/code-server/config.yaml 开放防火墙
sudo ufw allow 8080 sudo ufw reload 重启
sudo systemctl restart code-server@$USER 安装 codex sudo npm install -g @openai/codex 验证
codex --version 配置 DMXAPI mkdir -p ~/.codex touch ~/.</description></item><item><title>Nginx 网站日志分析工具</title><link>https://blog.lufei.de/p/515/</link><pubDate>Tue, 30 Dec 2025 13:07:48 +0800</pubDate><guid>https://blog.lufei.de/p/515/</guid><description>原项目 https://github.com/BeyondXinXin/nixvis
功能特点 全面访问指标：实时统计独立访客数 (UV)、页面浏览量 (PV) 和流量数据 地理位置分布：展示国内和全球访问来源的可视化地图 详细访问排名：提供 URL、引荐来源、浏览器、操作系统和设备类型的访问排名 时间序列分析：支持按小时和按天查看访问趋势 多站点支持：可同时监控多个网站的访问数据 增量日志解析：自动扫描 Nginx 日志文件，解析并存储最新数据 高性能查询：存储使用轻量级 SQLite，结合多级缓存策略实现快速响应 嵌入式资源：前端资源和IP库内嵌于可执行文件中，无需额外部署静态文件 用户认证：内置用户认证系统，保护敏感数据访问 可疑IP检测：自动检测异常访问行为，支持IP黑名单功能 蜘蛛统计：识别并统计各类搜索引擎蜘蛛的访问情况 快速开始 Linux/Debian 系统部署 放行防火墙，例如
ufw allow 9523/tcp 一键安装脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/nixvis/main/install.sh &amp;amp;&amp;amp; chmod +x install.sh &amp;amp;&amp;amp; ./install.sh 安装脚本会自动完成以下操作：
创建专用用户和目录 安装二进制文件到 /opt/nixvis 创建 systemd 服务 生成默认配置文件 /etc/nixvis/config.json 启动服务 设置正确的权限
sudo chown nixvis:nixvis /opt/nixvis/nixvis sudo chmod +x /opt/nixvis/nixvis sudo systemctl stop nixvis sudo systemctl start nixvis 如果添加到 adm 组后仍有权限问题，可以检查：
# 1.</description></item><item><title>cloudflare R2 备份/还原脚本 - nginx专用</title><link>https://blog.lufei.de/p/514/</link><pubDate>Mon, 29 Dec 2025 13:02:53 +0800</pubDate><guid>https://blog.lufei.de/p/514/</guid><description>备份脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/r2-b.sh &amp;amp;&amp;amp; chmod +x r2-b.sh &amp;amp;&amp;amp; ./r2-b.sh 还原脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/r2.sh &amp;amp;&amp;amp; chmod +x r2.sh &amp;amp;&amp;amp; ./r2.sh</description></item><item><title>优化静态资源传输：在 Nginx 中启用 Brotli 预压缩</title><link>https://blog.lufei.de/p/513/</link><pubDate>Sun, 28 Dec 2025 11:59:30 +0800</pubDate><guid>https://blog.lufei.de/p/513/</guid><description>安装nginx脚本 带Brotli压缩模块
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx-acme.sh &amp;amp;&amp;amp; chmod +x nginx-acme.sh &amp;amp;&amp;amp; ./nginx-acme.sh br压缩检查
curl -I -H &amp;#34;Accept-Encoding: gzip, br&amp;#34; https://www.xxxx.com/static/css/style.css 静态处理 bulu
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/gzbr.sh &amp;amp;&amp;amp; chmod +x gzbr.sh &amp;amp;&amp;amp; ./gzbr.sh 8090
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/8090.sh &amp;amp;&amp;amp; chmod +x 8090.sh &amp;amp;&amp;amp; ./8090.sh cat
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cat.sh &amp;amp;&amp;amp; chmod +x cat.sh &amp;amp;&amp;amp; ./cat.sh qk
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/qk.sh &amp;amp;&amp;amp; chmod +x qk.sh &amp;amp;&amp;amp; ./qk.sh 将静态处理成br格式
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/br.sh &amp;amp;&amp;amp; chmod +x br.</description></item><item><title>rsync同步和实时监控工具</title><link>https://blog.lufei.de/p/512/</link><pubDate>Tue, 23 Dec 2025 00:19:22 +0800</pubDate><guid>https://blog.lufei.de/p/512/</guid><description> 注意事项：在填写同步目录时，结尾要带上/ 例如：/home/web/
脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rsync_manager.sh &amp;amp;&amp;amp; chmod +x rsync_manager.sh &amp;amp;&amp;amp; ./rsync_manager.sh 快速启动
echo &amp;#34;alias rsync=&amp;#39;/root/rsync_manager.sh&amp;#39;&amp;#34; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc 自定义模式 排除 .gz 文件
-avz --exclude=&amp;#39;*.gz&amp;#39; 排除多种压缩文件
-avz --exclude=&amp;#39;*.gz&amp;#39; --exclude=&amp;#39;*.zip&amp;#39; --exclude=&amp;#39;*.tar&amp;#39; 带删除并排除 .gz 文件, 在镜像同步（删除远程多余文件）的同时排除 .gz 文件
-avz --delete --exclude=&amp;#39;*.gz&amp;#39; 使用排除模式文件：
-avz --exclude-from=&amp;#39;/path/to/exclude-list.txt&amp;#39;</description></item><item><title>可能是最好的Nginx反向代理管理脚本</title><link>https://blog.lufei.de/p/511/</link><pubDate>Mon, 22 Dec 2025 15:28:02 +0800</pubDate><guid>https://blog.lufei.de/p/511/</guid><description>前言
这款脚本将 ACME 自动化模块 编译到 Nginx v1.28.0 实现证书自动化
完美适配Nginx-UI如果你习惯使用面板管理，推荐
主要用于反向代理，非建站环境
脚本特色：
全自动 SSL： 内置 Nginx ACME 模块，证书申请、部署、自动续期一条龙，上线即 HTTPS。 一键全能型： 反代、负载均衡、静态站点、端口转发，WebSocket 支持、HTTP 强制跳转等 标准路径： 拒绝乱放文件，遵循标准 Nginx路径。 备份还原： 压缩备份与一键还原功能，改错配置瞬间回血。 多节点同步 利用Nginx-ui节点同步特色可以做到修改配置就同步 脚本
注意事项：
1G内存机子最好添加swap，避免安装失败 安装过程大概5分钟，也许不到 要事先解析域名到ip，避免一顿操作猛如虎，检查一看250 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx-acme.sh &amp;amp;&amp;amp; chmod +x nginx-acme.sh &amp;amp;&amp;amp; ./nginx-acme.sh 快捷启动
echo &amp;#34;alias ng=&amp;#39;/root/nginx-acme.sh&amp;#39;&amp;#34; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc 输入ng 启动脚本
编辑站点
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ng-s.sh &amp;amp;&amp;amp; chmod +x ng-s.sh &amp;amp;&amp;amp; ./ng-s.sh 在这个追求效率的时代，别让琐事消耗你的技术热情。这套脚本将复杂的 Nginx 调优和证书维护浓缩进一个 0-15 的选择题里。</description></item><item><title>nginx配置反向代理400错误解决办法</title><link>https://blog.lufei.de/p/510/</link><pubDate>Mon, 22 Dec 2025 00:36:03 +0800</pubDate><guid>https://blog.lufei.de/p/510/</guid><description>nginx配置反向代理或跳转出现
400,Request Header Or Cookie Too Large
浪费我不少时间排查，结果网上查找资料找到了答案
通常与客户端请求头或 Cookie 太大有关。通过增加 client_header_buffer_size 和 large_client_header_buffers 的值，可以允许更大的请求头被正确解析，从而避免出现 400 错误。
修改 nginx 配置，将 nginx 的以下值调大, 这里我修改的是后端的nginx，前端可以不改动
http { client_header_buffer_size 32k; large_client_header_buffers 4 32k; } 重启 nginx，解决。</description></item><item><title>强大的ssl证书申请/管理/自动续期脚本</title><link>https://blog.lufei.de/p/509/</link><pubDate>Sat, 20 Dec 2025 23:42:35 +0800</pubDate><guid>https://blog.lufei.de/p/509/</guid><description>注意事项：
每次在终端申请证书都要先执行菜单5，修改配置 仅当前终端有效，退出无痕，安全拉满 仅适配域名托管在CF debian12测试通过 脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssl-manager.sh &amp;amp;&amp;amp; chmod +x ssl-manager.sh &amp;amp;&amp;amp; ./ssl-manager.sh 预览
╔════════════════════════════════════════╗ ║ SSL 证书管理工具 ╚════════════════════════════════════════╝ 📊 证书统计: 有效证书: 2 个 域名列表: 2 个 📋 当前配置: 📧 邮箱: 123456@qq.com 🔑 Token: TOKEN****** 📌 主菜单 1. 申请新证书 2. 批量续期所有证书 3. 续期特定域名 4. 管理域名列表 5. 修改配置 6. 安装Lego工具 7. 查看帮助 0. 退出 ──────────────────────────────────────────── 请选择操作 (0-7): 定时任务 注意：在脚本菜单中修改是变量，是临时的，所以需要退出脚本修改才算长久
修改配置 nano /root/ssl-manager.conf 替换成你的CF账号邮箱和Token (不是全局key)
每周一凌晨2点检查 (crontab -l 2&amp;gt;/dev/null; echo &amp;#34;0 2 * * 1 /root/ssl-manager.</description></item><item><title>一键ip证书申请脚本</title><link>https://blog.lufei.de/p/508/</link><pubDate>Sat, 20 Dec 2025 13:54:02 +0800</pubDate><guid>https://blog.lufei.de/p/508/</guid><description>虽然是针对nginx设计的脚本，
不管你是否安装了nginx，不影响使用，只要80端口没有被占用
忽略nginx警告即可，如果你不使用nginx
首次申请 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ip-cert-apply.sh &amp;amp;&amp;amp; chmod +x ip-cert-apply.sh &amp;amp;&amp;amp; ./ip-cert-apply.sh 成功提示：
检测证书申请结果... ✓ 证书申请成功！ 证书文件: /root/lego/certificates/3.3.3.3.crt 私钥文件: /root/lego/certificates/3.3.3.3.key 复制证书到nginx目录... ✓ 证书已复制到 /etc/nginx/ssl/ip 重新启动nginx服务... 警告: nginx启动失败 === 证书申请完成 === 公网IP: 3.3.3.3 证书文件: /etc/nginx/ssl/ip/3.3.3.3.crt 私钥文件: /etc/nginx/ssl/ip/3.3.3.3.key 如果遇到什么错误，重启docker容器
sudo systemctl restart docker 续期脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ip-renew.sh &amp;amp;&amp;amp; chmod +x ip-renew.sh &amp;amp;&amp;amp; ./ip-renew.sh 提示
执行证书续期... [3.3.3.3] acme: renewalInfo endpoint indicates that renewal is not needed [3.3.3.3] The certificate expires in 6 days, the number of days defined to perform the renewal is 2: no ✓ 证书续期成功！ 更新nginx证书文件.</description></item><item><title>nginx 防御教程之Shell脚本（二）</title><link>https://blog.lufei.de/p/507/</link><pubDate>Fri, 19 Dec 2025 21:10:01 +0800</pubDate><guid>https://blog.lufei.de/p/507/</guid><description>deny方式 零依赖｜只用 Nginx｜运维只需写文件
脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx-b.sh &amp;amp;&amp;amp; chmod +x nginx-b.sh &amp;amp;&amp;amp; ./nginx-b.sh 然后在 Nginx 配置中引入黑名单,例如
# ===== HTTPS 443 ===== server { listen 443 ssl; listen [::]:443 ssl; http2 on; server_name www.xxxx.cc; # ===== IP / UA 黑名单（最优位置）===== include /etc/nginx/dynamic/blacklist.conf; 核心思想：
维护一个纯文本黑名单文件：/etc/nginx/blacklist.txt（每行一个 IP）
用一个 Shell 脚本自动转成 deny 配置并 重载nginx
通过 inotifywait 监听文件变化，改完即生效
配合fail2ban（cc策略）检测到403状态码，封禁，完美联动
使用方式： 运维只需编辑 /etc/nginx/blacklist.txt, 或者使用菜单2
示例内容
1.2.3.4 5.6.7.8/24 保存文件后，3 秒内自动封禁！无需任何命令！
优点： 只需一个文本文件 + 一个 Shell 脚本 完全兼容原生 Nginx</description></item><item><title>nginx防御教程之fail2ban（一）</title><link>https://blog.lufei.de/p/506/</link><pubDate>Wed, 17 Dec 2025 21:24:27 +0800</pubDate><guid>https://blog.lufei.de/p/506/</guid><description>基于 nginx 基础上，非docker nginx
测试系统：debian12
防CC攻击过滤器基于nginx的limit速率限制配置，判断403和429状态码
使用ufw封禁
注意：日志要存在，避免报错
fail2ban脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/f2.sh &amp;amp;&amp;amp; chmod +x f2.sh &amp;amp;&amp;amp; ./f2.sh 相关命令 # 查看 Fail2Ban 服务状态 sudo systemctl status fail2ban # 重启 sudo systemctl restart fail2ban # 查看所有监狱 sudo fail2ban-client status # 查看 Nginx 相关监狱 sudo fail2ban-client status sshd sudo fail2ban-client status nginx-bad-request sudo fail2ban-client status nginx-cc # 测试 Fail2Ban 配置语法 sudo fail2ban-server -t # Fail2Ban 实时日志 sudo tail -f /var/log/fail2ban.log # 日志 sudo journalctl -u fail2ban -f -n 50 编辑过滤器</description></item><item><title>Nginx-ui 部署教程</title><link>https://blog.lufei.de/p/505/</link><pubDate>Sun, 14 Dec 2025 01:21:53 +0800</pubDate><guid>https://blog.lufei.de/p/505/</guid><description>项目：https://github.com/0xJacky/nginx-ui
文档：https://nginxui.com/zh_CN/
系统：debian12
先安装nginx # 1. 安装依赖 sudo apt update sudo apt install curl gnupg2 ca-certificates lsb-release -y # 2. 安全导入密钥（最小权限原则） curl -fsSL https://nginx.org/keys/nginx_signing.key | gpg --dearmor | sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg &amp;gt;/dev/null # 3. 添加稳定版源（使用HTTPS） echo &amp;#34;deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg] https://nginx.org/packages/debian $(lsb_release -cs) nginx&amp;#34; | sudo tee /etc/apt/sources.list.d/nginx.list # 4. 设置精确的优先级 echo -e &amp;#34;Package: nginx*\nPin: origin nginx.org\nPin-Priority: 900&amp;#34; | sudo tee /etc/apt/preferences.d/99-nginx &amp;gt;/dev/null # 5. 安装 sudo apt update sudo apt install -y nginx 启动并设置开机自启</description></item><item><title>haproxy配置分享</title><link>https://blog.lufei.de/p/504/</link><pubDate>Fri, 12 Dec 2025 18:52:52 +0800</pubDate><guid>https://blog.lufei.de/p/504/</guid><description>修改配置
nano /etc/haproxy/haproxy.cfg 配置1：
https://github.com/woniu336/open_shell/blob/main/haproxy/001.cfg 配置2：
https://github.com/woniu336/open_shell/blob/main/haproxy/002.cfg 配置3：
https://github.com/woniu336/open_shell/blob/main/haproxy/003.cfg 验证
haproxy -c -f /etc/haproxy/haproxy.cfg 重启
systemctl restart haproxy 检查状态
systemctl status haproxy</description></item><item><title>木雷短网址</title><link>https://blog.lufei.de/p/503/</link><pubDate>Thu, 11 Dec 2025 00:31:35 +0800</pubDate><guid>https://blog.lufei.de/p/503/</guid><description>项目：https://github.com/muleiwu/dwz-server
开放防火墙 # 查看 UFW 状态 sudo ufw status numbered # 如果要禁止外部访问 8080，用 UFW 更简单： sudo ufw deny 8080/tcp # 如果要允许访问： sudo ufw allow 8080/tcp # 删除规则： sudo ufw delete deny 8080/tcp 一键安装 mkdir -p mliev-dwz cd ~/mliev-dwz wget https://github.com/muleiwu/dwz-server/releases/latest/download/dwz-server_Linux_x86_64.tar.gz tar -xzf dwz-server_Linux_x86_64.tar.gz chmod +x dwz-server # 创建所有必要目录 mkdir -p config data logs # 设置权限 chmod 755 config data logs # 后台运行 nohup ./dwz-server &amp;gt; dwz.log 2&amp;gt;&amp;amp;1 &amp;amp; echo &amp;#34;✅ 服务已重启&amp;#34; echo &amp;#34;📂 数据目录已创建: $(pwd)/data&amp;#34; echo &amp;#34;🌐 请访问配置页面，数据库路径填写: .</description></item><item><title>iptables + ipset 黑名单管理脚本</title><link>https://blog.lufei.de/p/502/</link><pubDate>Tue, 09 Dec 2025 11:16:20 +0800</pubDate><guid>https://blog.lufei.de/p/502/</guid><description>高效封禁大量恶意IP
脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ip_blacklist.sh &amp;amp;&amp;amp; chmod +x ip_blacklist.sh &amp;amp;&amp;amp; ./ip_blacklist.sh 快捷键
echo &amp;#34;alias ipban=&amp;#39;/root/ip_blacklist.sh&amp;#39;&amp;#34; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc 输入ipban即可启动脚本
开机自动加载规则（脚本已经包含）
sudo cat &amp;gt; /etc/rc.local &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; #!/bin/bash ipset restore -f /etc/ipset.conf iptables-restore &amp;lt; /etc/iptables/rules.v4 exit 0 EOF sudo chmod +x /etc/rc.local 检查服务状态
systemctl status rc-local.service 手动查询 # ✅ 查看ipset集合 ipset list blacklist # ✅ 查看iptables规则是否生效 iptables -L INPUT -n | grep blacklist # ✅ 检查某个IP是否被封禁 ipset test blacklist 194.</description></item><item><title>IP滥用检查系统</title><link>https://blog.lufei.de/p/501/</link><pubDate>Mon, 08 Dec 2025 20:55:17 +0800</pubDate><guid>https://blog.lufei.de/p/501/</guid><description> 免费API限制
每天1000次查询 每分钟不超过一定次数 下载check_ip.php
https://github.com/woniu336/open_shell/blob/main/check_ip.php 下载index.html
https://github.com/woniu336/open_shell/blob/main/index.html 放在同一个目录下，修改check_ip.php, 添加密钥
使用步骤 获取API密钥 访问 https://www.abuseipdb.com/register 注册账号并获取免费API密钥
配置PHP文件 在 check_ip.php 第11行替换你的API密钥：
define(&amp;#39;ABUSEIPDB_API_KEY&amp;#39;, &amp;#39;你的API密钥&amp;#39;); 部署文件 将两个文件上传到支持PHP的服务器（例如宝塔面板）
功能特点 ✅ 滥用置信度评分（带颜色进度条） ✅ ISP、用途类型、ASN信息 ✅ 地理位置（国家和城市） ✅ 报告类别标签 ✅ 最近3条报告摘要 ✅ 最近活跃警告 ✅ 优雅的错误处理 ✅ 响应式设计</description></item><item><title>一键封禁整个 ASN — 高效服务器防火墙脚本！</title><link>https://blog.lufei.de/p/500/</link><pubDate>Sun, 07 Dec 2025 21:44:39 +0800</pubDate><guid>https://blog.lufei.de/p/500/</guid><description>快速安装 curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_asn.py &amp;amp;&amp;amp; chmod +x block_asn.py &amp;amp;&amp;amp; ./block_asn.py 功能说明
这个脚本可以帮你：
通过ASN号码批量封禁IP段 自动查询ASN下的所有IP地址 将规则添加到防火墙并永久保存 主要特性
高性能封禁 使用 ipset + iptables 组合，支持同时封禁数千个IP段
简单易用 提供交互式菜单：封禁ASN、查询ASN信息、移除封禁、查看封禁列表、测试IP
智能检测 自动检测并提示安装所需的系统依赖
双栈支持 同时支持IPv4和IPv6
持久化配置 服务器重启后规则自动生效
使用场景
封禁爬虫：屏蔽某些云厂商的过度抓取 地域封锁：限制特定地区的访问 防御攻击：快速封禁攻击来源 节省带宽：减少无效流量消耗 常见ASN参考
ASN 组织 AS398722 Censys AS14061 DigitalOcean AS135377 UCLOUD</description></item><item><title>openresty-manager开源反代面板</title><link>https://blog.lufei.de/p/498/</link><pubDate>Tue, 02 Dec 2025 00:41:02 +0800</pubDate><guid>https://blog.lufei.de/p/498/</guid><description>项目：https://github.com/Safe3/openresty-manager
文档：https://github.com/Safe3/openresty-manager/blob/main/README_CN.md
基于OpenResty提供的强大web的管理界面，具有服务器状态监控、安全防护、免费SSL证书、主机管理、应用商店等功能。
安装 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/om.sh &amp;amp;&amp;amp; chmod +x om.sh &amp;amp;&amp;amp; ./om.sh 固定版
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/omm.sh &amp;amp;&amp;amp; chmod +x omm.sh &amp;amp;&amp;amp; ./omm.sh 访问 https://your-ip:34567 ，用户名: admin ，密码: #Passw0rd
备份脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/om-b.sh &amp;amp;&amp;amp; chmod +x om-b.sh &amp;amp;&amp;amp; ./om-b.sh 还原
tar --warning=no-timestamp -xzf /root/backup_20251211_225222.tar.gz -C /opt/om &amp;amp;&amp;amp; /opt/om/oms -s restart 启动 # 启动服务 /opt/om/oms -s start # 检查服务状态 /opt/om/oms -s status # 停止服务 /opt/om/oms -s stop # 重新启动 /opt/om/oms -s start 配置 这部分是DIY，为了满足个性化需求</description></item><item><title>监控ovh服务器上新，通过钉钉发送通知。</title><link>https://blog.lufei.de/p/497/</link><pubDate>Sun, 30 Nov 2025 11:53:14 +0800</pubDate><guid>https://blog.lufei.de/p/497/</guid><description>钉钉通知设置机器人,记得把监控服务器的ip地址添加到IP地址(段)
监控脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ovh-k.sh &amp;amp;&amp;amp; chmod +x ovh-k.sh &amp;amp;&amp;amp; ./ovh-k.sh 常用命令（可在任何目录运行）:
查看实时日志: pm2 logs ovh-monitor 查看进程状态: pm2 list 停止服务: pm2 stop ovh-monitor 重启服务: pm2 restart ovh-monitor 按 Ctrl+C 退出日志查看（服务会继续运行） 这个脚本是一个状态变化监控器：
🎯 目标：监控特定型号（25sk/24sk/25rise）的补货情况 🔍 机制：每分钟对比当前状态和上次保存的状态 📢 通知：只在&amp;quot;从无到有&amp;quot;时发送通知 💾 记忆：通过 last_data.json 记住上次的状态 所以第一次会发现所有当前有货的，之后只会在补货或新型号上架时通知，避免重复骚扰。
替换钉钉通知
cd ovh-monitor-dingtalk # 替换 Webhook sed -i &amp;#34;s|DINGTALK_WEBHOOK: &amp;#39;.*&amp;#39;|DINGTALK_WEBHOOK: &amp;#39;你的新Webhook&amp;#39;|g&amp;#34; ecosystem.config.cjs # 替换 Secret sed -i &amp;#34;s|DINGTALK_SECRET: &amp;#39;.*&amp;#39;|DINGTALK_SECRET: &amp;#39;你的新Secret&amp;#39;|g&amp;#34; ecosystem.config.cjs # 重启服务 pm2 restart ovh-monitor</description></item><item><title>TCP参数调优</title><link>https://blog.lufei.de/p/496/</link><pubDate>Thu, 27 Nov 2025 10:33:56 +0800</pubDate><guid>https://blog.lufei.de/p/496/</guid><description>TCP参数调优
cat &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; | sudo tee /etc/sysctl.conf &amp;gt; /dev/null fs.file-max = 6815744 net.ipv4.tcp_no_metrics_save = 1 net.ipv4.tcp_ecn = 0 net.ipv4.tcp_frto = 1 net.ipv4.tcp_mtu_probing = 1 net.ipv4.tcp_rfc1337 = 1 net.ipv4.tcp_sack = 1 net.ipv4.tcp_fack = 1 net.ipv4.tcp_window_scaling = 1 net.ipv4.tcp_adv_win_scale = 1 net.ipv4.tcp_moderate_rcvbuf = 1 net.ipv4.tcp_slow_start_after_idle = 0 net.core.rmem_max = 33554432 net.core.wmem_max = 33554432 net.core.rmem_default = 87380 net.core.wmem_default = 87380 net.ipv4.tcp_rmem = 4096 87380 33554432 net.ipv4.tcp_wmem = 4096 87380 33554432 net.ipv4.udp_rmem_min = 16384 net.</description></item><item><title>croc：一款安全性极强的点对点数据传输工具</title><link>https://blog.lufei.de/p/495/</link><pubDate>Fri, 21 Nov 2025 00:07:22 +0800</pubDate><guid>https://blog.lufei.de/p/495/</guid><description>Croc Croc是一款安全性极强的点对点数据传输工具，该工具允许两台计算机设备以一种简单和安全的方式来传输文件或文件夹。简而言之，Croc是一款命令行接口工具，在Croc的帮助下，广大研究人员可以通过命令行工具来实现文件传输。
工具特性 该工具允许任意两台计算机设备直接进行数据传输； 提供了端到端加密支持（PAKE）； 支持跨平台传输（Windows、Linux和macOS）； 支持多文件传输； 允许断线后的文件续传； 不需要本地服务器或端口转发； 支持IPv6和IPv4； 支持使用Tor之类的代理； windows系统 打开cmd或者powershell 工具 执行以下命令
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString(&amp;#39;https://community.chocolatey.org/install.ps1&amp;#39;)) 或者
iwr https://cin.st | iex 再安装
choco install croc linux系统 curl https://getcroc.schollz.com | bash 用法 如需发送文件，可以直接运行下列命令：
$ croc send [file(s)-or-folder] Sending &amp;#39;file-or-folder&amp;#39; (X MB) Code is: code-phrase 接下来，在另一台电脑上使用下列命令来进行文件或目录接收：
$ croc code-phrase 这里的code-phrase即密码短语，用于建立密码认证密钥协议（PAKE），该协议将生成一个密钥供发送方和接收方用于端到端加密。
自定义密码短语
我们可以使用下列方式来配置自己的密码短语，必须是4个字符以上：
$ croc send --code [code-phrase] [file(s)-or-folder] 使用管道-stdin和stdout
我们可以通过管道来向Croc传递文件：</description></item><item><title>3 步搞定境外 IP 扫描，无需编译 Nginx</title><link>https://blog.lufei.de/p/493/</link><pubDate>Thu, 20 Nov 2025 19:56:30 +0800</pubDate><guid>https://blog.lufei.de/p/493/</guid><description>转载自wx公众号小柳实验室, 在原文基础上做了修改,
前言 你的服务器是否每天被 /admin、/wp-login.php、/.env 扫描刷屏？
这些攻击 90% 来自境外。如果你的业务只服务中国大陆用户，那完全没必要开放全球访问！
更重要的是：你不需要编译 Nginx，不需要 MaxMind 账号，甚至不用装额外模块
只需利用 亚太网络信息中心（APNIC）公开的官方 IP 数据，配合 Nginx 原生功能，3 步实现精准拦截！
创建自动生成脚本 ⚠️提醒：因为使用的是kejilion的反代脚本(docker版nginx)，所以站点配置目录是/home/web/conf.d,请根据实际情况修改配置目录
sudo cat &amp;gt; /usr/local/bin/gen-cn-allow.sh &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; #!/bin/bash # 从 APNIC 官方数据生成 Nginx allow 规则 # 适用于任意 Linux 系统 OUTPUT_DIR=&amp;#34;/home/web/conf.d&amp;#34; mkdir -p &amp;#34;$OUTPUT_DIR&amp;#34; echo &amp;#34;正在下载 APNIC 最新数据...&amp;#34; wget -qO- http://ftp.apnic.net/apnic/stats/apnic/delegated-apnic-latest | \ awk -F&amp;#39;|&amp;#39; &amp;#39; $2 == &amp;#34;CN&amp;#34; &amp;amp;&amp;amp; $3 == &amp;#34;ipv4&amp;#34; { prefix = $4; len = 32 - log($5) / log(2); print &amp;#34;allow &amp;#34; prefix &amp;#34;/&amp;#34; len &amp;#34;;&amp;#34;; } $2 == &amp;#34;CN&amp;#34; &amp;amp;&amp;amp; $3 == &amp;#34;ipv6&amp;#34; { print &amp;#34;allow &amp;#34; $4 &amp;#34;/&amp;#34; $5 &amp;#34;;&amp;#34;; } &amp;#39; &amp;gt; /tmp/cn_allow.</description></item><item><title>USDT钱包监控</title><link>https://blog.lufei.de/p/492/</link><pubDate>Tue, 18 Nov 2025 14:32:18 +0800</pubDate><guid>https://blog.lufei.de/p/492/</guid><description>下载脚本
wget https://raw.githubusercontent.com/woniu336/open_shell/main/wallet_monitor.py 安装依赖
pip3 install requests 后台运行
nohup python3 wallet_monitor.py &amp;gt; monitor.log 2&amp;gt;&amp;amp;1 &amp;amp; 查看进程：
ps aux | grep wallet_monitor 终止进程，假设PID是426197：
kill 426197 监控新的地址需要删除缓存
rm wallet_cache.json 然后修改脚本中的地址，重新运行脚本。</description></item><item><title>Linux 内核参数调优</title><link>https://blog.lufei.de/p/491/</link><pubDate>Wed, 12 Nov 2025 21:17:14 +0800</pubDate><guid>https://blog.lufei.de/p/491/</guid><description>推荐配置组合（16GB 内存服务器）：
# 备份 cp /etc/sysctl.conf /etc/sysctl.conf.bak.$(date +%Y%m%d_%H%M%S) &amp;amp;&amp;amp; cp /etc/security/limits.conf /etc/security/limits.conf.bak.$(date +%Y%m%d_%H%M%S) &amp;amp;&amp;amp; \ # 删除旧配置 sed -i &amp;#39;/net.ipv4.ip_local_port_range/d;/net.ipv4.tcp_tw_reuse/d;/net.ipv4.tcp_fin_timeout/d;/net.core.somaxconn/d;/net.ipv4.tcp_max_syn_backlog/d;/net.core.rmem_max/d;/net.core.wmem_max/d&amp;#39; /etc/sysctl.conf &amp;amp;&amp;amp; \ sed -i &amp;#39;/nofile/d&amp;#39; /etc/security/limits.conf &amp;amp;&amp;amp; \ # 添加 sysctl 配置 cat &amp;gt;&amp;gt; /etc/sysctl.conf &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; # Network Performance Tuning net.ipv4.ip_local_port_range = 1024 65535 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_fin_timeout = 30 net.core.somaxconn = 65535 net.ipv4.tcp_max_syn_backlog = 65535 net.core.rmem_max = 16777216 net.core.wmem_max = 16777216 EOF # 添加 limits 配置 cat &amp;gt;&amp;gt; /etc/security/limits.</description></item><item><title>Debian 双栈网络时开启 IPv4 优先</title><link>https://blog.lufei.de/p/489/</link><pubDate>Thu, 06 Nov 2025 23:00:35 +0800</pubDate><guid>https://blog.lufei.de/p/489/</guid><description>在 Debian 等 Linux 系统下，有一个 /etc/gai.conf 文件，默认情况下，它会使用 IPv6 优先，如果您安装了 curl 并且本地支持 IPv6，那么可以使用 curl ip.sb 测试
一键命令 开启 IPv4 优先，一行命令修改：
sed -i &amp;#39;s/#precedence ::ffff:0:0\/96 100/precedence ::ffff:0:0\/96 100/&amp;#39; /etc/gai.conf 或者
sed -Ei &amp;#39;/^[[:space:]]*#?[[:space:]]*precedence[[:space:]]+::ffff:0:0\/96[[:space:]]+100\b.*?$/ {s/.+100\b([[:space:]]*#.*)?$/precedence ::ffff:0:0\/96 100\1/; :a;n;b a}; /^[[:space:]]*precedence[[:space:]]+::ffff:0:0\/96[[:space:]]+[0-9]+.*$/ {s/^.*precedence.+::ffff:0:0\/96[^0-9]+([0-9]+).*$/precedence ::ffff:0:0\/96 100\t#原值为 \1/; :a;n;ba;}; $aprecedence ::ffff:0:0\/96 100&amp;#39; /etc/gai.conf 恢复ipv6优先
sudo sed -i &amp;#39;s/^[[:space:]]*precedence[[:space:]]\+::ffff:0:0\/96[[:space:]]\+100/#&amp;amp;/&amp;#39; /etc/gai.conf 测试 curl ip.sb 或者
ping google.com 显示ipv4地址则说明优先使用 IPv4
debian13系统测试
从 Debian 13 开始，curl (8.14.1) 默认强制使用 IPv6。因此，如果希望测试本地出口公网 IP，可以改用 wget：</description></item><item><title>ufw + ipset 防火墙：仅允许大陆与 Cloudflare 访问 80/443</title><link>https://blog.lufei.de/p/488/</link><pubDate>Fri, 31 Oct 2025 09:37:01 +0800</pubDate><guid>https://blog.lufei.de/p/488/</guid><description>这是一套基于 UFW + IPSet 的防火墙方案，用于仅允许 中国大陆与 Cloudflare 访问网站的 80/443 端口。 脚本自动管理规则，兼容双栈网络，并支持每日更新 IP 段。
主要特色：
🧩 原生兼容 UFW：不修改现有规则，只在用户链中追加放行逻辑。
🌏 精准放行：限制访问来源为中国大陆与 Cloudflare。
🔄 自动更新：通过 systemd 定时任务每日刷新 IP 数据。
⚡ 双栈支持：IPv4 与 IPv6 独立控制。
🚀 一键部署脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ufw_cn.sh \ &amp;amp;&amp;amp; chmod +x ufw_cn.sh \ &amp;amp;&amp;amp; ./ufw_cn.sh ✅ 说明： 脚本会自动检测现有 UFW 状态与规则，并在不影响原有策略的前提下，附加 CN 与 Cloudflare 放行规则。
如果你有监控，例如uptime kuma，请放行kuma的ip
🔍 查看当前规则 iptables -L ufw-user-input -n --line-numbers ip6tables -L ufw6-user-input -n --line-numbers 🧹 删除规则（恢复原状） 该操作将清除 IPSet 与相关放行策略，使防火墙恢复默认状态：</description></item><item><title>haproxy和nginx证书替换脚本</title><link>https://blog.lufei.de/p/487/</link><pubDate>Wed, 29 Oct 2025 11:28:02 +0800</pubDate><guid>https://blog.lufei.de/p/487/</guid><description>haproxy证书替换脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/update-haproxy-certs.sh &amp;amp;&amp;amp; \ chmod +x update-haproxy-certs.sh &amp;amp;&amp;amp; \ sudo ./update-haproxy-certs.sh &amp;amp;&amp;amp; \ sudo mv update-haproxy-certs.sh /usr/local/bin/ &amp;amp;&amp;amp; \ (crontab -l ; echo &amp;#34;0 4 */3 * * /usr/local/bin/update-haproxy-certs.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab - nginx证书替换脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/copy-letsencrypt-certs.sh &amp;amp;&amp;amp; \ chmod +x copy-letsencrypt-certs.sh &amp;amp;&amp;amp; \ sudo ./copy-letsencrypt-certs.sh &amp;amp;&amp;amp; \ sudo mv copy-letsencrypt-certs.sh /usr/local/bin/ &amp;amp;&amp;amp; \ (crontab -l ; echo &amp;#34;3 3 */3 * * /usr/local/bin/copy-letsencrypt-certs.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab -</description></item><item><title>Rclone 单向实时同步：A→B 服务器自动化方案</title><link>https://blog.lufei.de/p/486/</link><pubDate>Mon, 27 Oct 2025 20:02:02 +0800</pubDate><guid>https://blog.lufei.de/p/486/</guid><description>一键脚本管理
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rclone_deploy.sh &amp;amp;&amp;amp; chmod +x rclone_deploy.sh &amp;amp;&amp;amp; ./rclone_deploy.sh 快捷键设置
read -p &amp;#34;请输入想要的快捷命令名称 (如: cm, caddy, mgr): &amp;#34; cmd_name &amp;amp;&amp;amp; echo &amp;#34;alias $cmd_name=&amp;#39;/root/rclone_deploy.sh&amp;#39;&amp;#34; &amp;gt;&amp;gt; ~/.bashrc &amp;amp;&amp;amp; source ~/.bashrc &amp;amp;&amp;amp; echo &amp;#34;快捷命令 &amp;#39;$cmd_name&amp;#39; 已设置完成，现在可以直接输入 $cmd_name 来运行脚本&amp;#34; 场景 A服务器同步内容到B服务器（单向同步）
特点：
本地文件变化 → 延迟 5 秒同步
没有变化 → 每 1 小时强制同步一次
安装 rclone 首先在A服务器安装 rclone, 使用以下命令安装
sudo -v ; curl https://rclone.org/install.sh | sudo bash 生成密钥对 在A服务器生成密钥对，并查看公钥
ssh-keygen -t ed25519 -C &amp;#34;rclone-copy&amp;#34; -f ~/.</description></item><item><title>Caddy 性能优化：添加缓存插件的编译与配置</title><link>https://blog.lufei.de/p/485/</link><pubDate>Mon, 27 Oct 2025 15:34:43 +0800</pubDate><guid>https://blog.lufei.de/p/485/</guid><description>一键脚本 无需编译，直接使用已经编译好的caddy替换掉原版caddy，前提是要先安装原版caddy
curl -fsSL https://raw.githubusercontent.com/woniu336/open_shell/main/caddy-cache.sh | bash 安装原版caddy 重要：避免后续出现什么意外，请先安装原版caddy，推荐使用我的一键安装脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh 安装 Go wget https://go.dev/dl/go1.23.2.linux-amd64.tar.gz rm -rf /usr/local/go &amp;amp;&amp;amp; tar -C /usr/local -xzf go1.23.2.linux-amd64.tar.gz 配置环境变量
echo &amp;#39;export PATH=$PATH:/usr/local/go/bin&amp;#39; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc 验证安装
go version 安装 xcaddy xcaddy 是 Caddy 的官方构建工具，用于编译带有自定义插件的 Caddy 版本。 让你把第三方模块（如缓存插件）编译进 Caddy 二进制文件中。
使用 Go 安装（推荐）
go install github.com/caddyserver/xcaddy/cmd/xcaddy@latest 添加 Go bin 目录到 PATH
echo &amp;#39;export PATH=$PATH:$HOME/go/bin&amp;#39; &amp;gt;&amp;gt; ~/.bashrc source ~/.</description></item><item><title>榛子图床加强版，包含r2配合rclone的同步功能教程</title><link>https://blog.lufei.de/p/483/</link><pubDate>Sat, 25 Oct 2025 23:26:35 +0800</pubDate><guid>https://blog.lufei.de/p/483/</guid><description>原项目 https://github.com/ceocok/fake-nodeimage
特点 去重、图片命名缩短，默认压缩webp格式
前端 因为是静态文件，部署到cf pages，然后自定义域名即可，就是这么简单
下载压缩包传到cf pages即可
https://github.com/woniu336/open_shell/blob/main/nodeimg/fake-nodeimage-main.zip 后端 安装Node.js
curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs 验证安装
node -v npm -v 上传代码到VPS sudo mkdir -p /var/www/image-hosting-backend cd /var/www/image-hosting-backend wget https://raw.githubusercontent.com/woniu336/open_shell/main/nodeimg/package.json wget https://raw.githubusercontent.com/woniu336/open_shell/main/nodeimg/server-s.js mv server-s.js server.js 安装依赖 npm install 安装 sharp 图片处理库
cd /var/www/image-hosting-backend npm install sharp 查看安装结果
npm list sharp 使用PM2运行（推荐） 安装 PM2
sudo npm install -g pm2 启动服务
pm2 start server.</description></item><item><title>图床后端部署指南</title><link>https://blog.lufei.de/p/482/</link><pubDate>Sat, 25 Oct 2025 12:41:27 +0800</pubDate><guid>https://blog.lufei.de/p/482/</guid><description>系统：Ubuntu/Debian系统
项目：https://github.com/ceocok/fake-nodeimage
安装Node.js curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs 验证安装
node -v npm -v 上传代码到VPS sudo mkdir -p /var/www/image-hosting-backend cd /var/www/image-hosting-backend wget https://raw.githubusercontent.com/woniu336/open_shell/main/nodeimg/package.json wget https://raw.githubusercontent.com/woniu336/open_shell/main/nodeimg/server.js 安装依赖 npm install 使用PM2运行（推荐） 安装 PM2
sudo npm install -g pm2 启动服务
pm2 start server.js --name image-hosting 设置开机自启
pm2 startup pm2 save 查看日志
pm2 logs image-hosting 重启服务
pm2 restart image-hosting 常用PM2命令
pm2 list # 查看所有进程 pm2 logs image-hosting # 查看日志 pm2 restart image-hosting # 重启 pm2 stop image-hosting # 停止 pm2 delete image-hosting # 删除 测试接口 测试健康检查接口</description></item><item><title>🧠 我写了一个脚本，让网站只对中国开放（iptables 实战解析）</title><link>https://blog.lufei.de/p/481/</link><pubDate>Mon, 13 Oct 2025 14:11:26 +0800</pubDate><guid>https://blog.lufei.de/p/481/</guid><description>主要目标：
只允许中国大陆 IP 访问 HTTP (80) 和 HTTPS (443) 自动检测 SSH 端口 允许访问SSH 端口（自动检测） 拒绝其他来源访问（DROP） 自动安装 ipset 自动持久化规则（开机自加载） 下载中国大陆 IP 段（来自 ispip.clang.cn） 注意：如果你部署了fq协议，记得修改节点端口号，在行3x-ui端口处修改
脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/safe_cn_firewall.sh &amp;amp;&amp;amp; chmod +x safe_cn_firewall.sh &amp;amp;&amp;amp; ./safe_cn_firewall.sh 脚本2（包含放行必应爬虫ip段）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/safe_cn_firewall_with_bing.sh &amp;amp;&amp;amp; chmod +x safe_cn_firewall_with_bing.sh &amp;amp;&amp;amp; ./safe_cn_firewall_with_bing.sh 查看
ipset list bingbot 验证：过几个小时或几天后，你可以再次执行
iptables -L -n -v | grep bingbot 若看到计数器（pkts 和 bytes）不为 0，则说明：
✅ Bing 爬虫确实访问并成功被放行。
定时任务 (crontab -l ; echo &amp;#34;0 4 * * * /root/safe_cn_firewall.</description></item><item><title>docker端口白名单脚本</title><link>https://blog.lufei.de/p/480/</link><pubDate>Fri, 03 Oct 2025 11:40:17 +0800</pubDate><guid>https://blog.lufei.de/p/480/</guid><description> 系统推荐：debian12
docker端口白名单脚本 注意：是针对内部端口才有效，例如
8083:8088, 那么是对8088端口来设置
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/docker_whitelist.sh &amp;amp;&amp;amp; chmod +x docker_whitelist.sh &amp;amp;&amp;amp; ./docker_whitelist.sh 使用流程:
选择 1 → 添加允许访问的 IP(如 192.168.1.100) 选择 4 → 为端口添加保护(如 9000) 选择 3 → 查看白名单确认 选择 7 → 保存配置(重启后自动生效) 多端口保护:
你可以多次选择选项 4,为不同的端口(9000、3306、6379 等)添加保护规则,它们都会共享同一个白名单。
非docker版本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ipwl.sh &amp;amp;&amp;amp; chmod +x ipwl.sh &amp;amp;&amp;amp; ./ipwl.sh</description></item><item><title>Nginx ACME 自动化管理脚本，证书自动续签</title><link>https://blog.lufei.de/p/479/</link><pubDate>Wed, 01 Oct 2025 23:25:03 +0800</pubDate><guid>https://blog.lufei.de/p/479/</guid><description>前言 系统推荐：debian12
服务器要开放80端口
nginx版本1.25以上
一键脚本 ，安装的末尾提示输入邮箱，安装完成后记得运行一下启动nginx。
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nginx-acme-manager.sh &amp;amp;&amp;amp; chmod +x nginx-acme-manager.sh &amp;amp;&amp;amp; ./nginx-acme-manager.sh 以下为手动操作
安装依赖 sudo apt update sudo apt install -y build-essential libpcre3-dev zlib1g-dev libssl-dev pkg-config libclang-dev git wget curl 安装 Rust 工具链：
curl --proto &amp;#39;=https&amp;#39; --tlsv1.2 -sSf https://sh.rustup.rs | sh source $HOME/.cargo/env 创建目录结构
mkdir -pv /app/nginx/{logs,conf,cache,acme} /app/nginx-build cd /app/nginx-build 获取源码 下载 ACME 模块：
git clone https://github.com/nginx/nginx-acme.git /app/nginx-build/nginx-acme 下载并解压 NGINX 源码（推荐稳定版 1.28.0）：
wget https://nginx.org/download/nginx-1.28.0.tar.gz tar -zxf nginx-1.</description></item><item><title>nginx日志分析工具</title><link>https://blog.lufei.de/p/478/</link><pubDate>Mon, 29 Sep 2025 05:27:05 +0800</pubDate><guid>https://blog.lufei.de/p/478/</guid><description>转载：https://ros6.com/?action=show&amp;amp;id=264
预览
防火墙 确保876端口开放
# 如果使用ufw ufw allow 876 # 如果使用iptables iptables -A INPUT -p tcp --dport 876 -j ACCEPT 日志格式 首先查询 nginx.conf 所在目录
find /etc/nginx /www/server/nginx/conf /usr/local/nginx* /usr/local/etc/nginx -name nginx.conf 2&amp;gt;/dev/null 日志格式
# 新增JSON日志格式（用于nginx_alog程序） log_format jsonlog escape=json &amp;#39;{&amp;#39; &amp;#39;&amp;#34;time_local&amp;#34;:&amp;#34;$time_iso8601&amp;#34;,&amp;#39; &amp;#39;&amp;#34;timestamp&amp;#34;:&amp;#34;$msec&amp;#34;,&amp;#39; &amp;#39;&amp;#34;remote_addr&amp;#34;:&amp;#34;$remote_addr&amp;#34;,&amp;#39; &amp;#39;&amp;#34;host&amp;#34;:&amp;#34;$host:$server_port&amp;#34;,&amp;#39; &amp;#39;&amp;#34;request&amp;#34;:&amp;#34;$request&amp;#34;,&amp;#39; &amp;#39;&amp;#34;status&amp;#34;: &amp;#34;$status&amp;#34;,&amp;#39; &amp;#39;&amp;#34;body_bytes_sent&amp;#34;:&amp;#34;$body_bytes_sent&amp;#34;,&amp;#39; &amp;#39;&amp;#34;http_referer&amp;#34;:&amp;#34;$http_referer&amp;#34;,&amp;#39; &amp;#39;&amp;#34;http_user_agent&amp;#34;:&amp;#34;$http_user_agent&amp;#34;,&amp;#39; &amp;#39;&amp;#34;request_time&amp;#34;:&amp;#34;$request_time&amp;#34;,&amp;#39; &amp;#39;&amp;#34;cache_status&amp;#34;:&amp;#34;$upstream_cache_status&amp;#34;,&amp;#39; &amp;#39;&amp;#34;gzip_ratio&amp;#34;:&amp;#34;$gzip_ratio&amp;#34;&amp;#39; &amp;#39;}&amp;#39;; 站点日志更改
access_log /home/wwwroot/xxx.access.log jsonlog buffer=32k flush=5s; 重载nginx
nginx -s reload 启动程序 创建工作目录并进入
mkdir -p /opt/nginx_alog cd /opt/nginx_alog 下载主程序</description></item><item><title>彩虹聚合DNS管理系统部署教程</title><link>https://blog.lufei.de/p/477/</link><pubDate>Sun, 28 Sep 2025 14:04:03 +0800</pubDate><guid>https://blog.lufei.de/p/477/</guid><description>项目： github.com/netcccyun/dnsmgr
系统：推荐 Debian12
安装docker curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sh get-docker.sh 检测是否安装
docker --version docker compose version 创建目录 # 创建项目根目录 mkdir dnsmgr-deploy cd dnsmgr-deploy # 创建必要的目录结构 mkdir -p ./web mkdir -p ./mysql/conf mkdir -p ./mysql/logs mkdir -p ./mysql/data 配置MySQL文件 vim mysql/conf/my.cnf 在 my.cnf 文件中添加以下内容：
[mysqld] sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION 创建 docker-compose.yml 文件 vim docker-compose.yml 添加以下内容：
services: dnsmgr-web: container_name: dnsmgr-web stdin_open: true tty: true ports: - 8081:80 volumes: - ./web:/app/www image: netcccyun/dnsmgr depends_on: - dnsmgr-mysql networks: - dnsmgr-network restart: unless-stopped dnsmgr-mysql: container_name: dnsmgr-mysql restart: always volumes: - .</description></item><item><title>haproxy的安装与反向代理配置</title><link>https://blog.lufei.de/p/476/</link><pubDate>Sat, 27 Sep 2025 12:25:34 +0800</pubDate><guid>https://blog.lufei.de/p/476/</guid><description>系统：debian12
使用场景：网站反代
前提：后端站点要配置好证书，绑定域名
域名解析到安装haproxy服务器的ip上
一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/fd-haproxy.sh &amp;amp;&amp;amp; chmod +x fd-haproxy.sh &amp;amp;&amp;amp; ./fd-haproxy.sh 找一台线路还不错的服务器按照以下方式进行
HAProxy的安装 apt install haproxy -y 安装完毕后，启用haproxy进程
systemctl start haproxy systemctl enable haproxy HAProxy的配置文件地址默认为/etc/haproxy/haproxy.cfg接下来，我们要编辑这个文件，
nano /etc/haproxy/haproxy.cfg 配置HAProxy前后端 反代后端站点的80和443端口，仅修改后端服务器ip即可
提示：8.8.8.8为备用服务器（不需要可以注释掉），要做负载均衡，把backup参数移除
global log /dev/log local0 log /dev/log local1 notice chroot /var/lib/haproxy stats socket /run/haproxy/admin.sock mode 660 level admin stats timeout 30s user haproxy group haproxy daemon maxconn 30000 defaults log global mode tcp option tcplog option dontlognull timeout connect 5000 timeout client 50000 timeout server 50000 errorfile 400 /etc/haproxy/errors/400.</description></item><item><title>docker安装失败解决办法</title><link>https://blog.lufei.de/p/475/</link><pubDate>Fri, 26 Sep 2025 23:17:21 +0800</pubDate><guid>https://blog.lufei.de/p/475/</guid><description> 更换软件源 # 临时使用官方源 curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg echo &amp;#34;deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/debian bookworm stable&amp;#34; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null 重新安装 sudo apt update sudo apt install docker-ce docker-ce-cli containerd.io 验证安装 sudo systemctl status docker docker --version</description></item><item><title>cloudsaver部署教程</title><link>https://blog.lufei.de/p/473/</link><pubDate>Mon, 22 Sep 2025 12:20:48 +0800</pubDate><guid>https://blog.lufei.de/p/473/</guid><description>搭建环境：debian12
项目地址：github.com/jiangrui1994/cloudsaver
提醒：务必通过Docker自行私有化部署本项目，不要使用任何第三方或他人部署的服务
搭建教程 mkdir -p /root/data/docker_data/cloudsaver cd /root/data/docker_data/cloudsaver 接着我们来编辑下docker-compose.yml
nano docker-compose.yml 如下
services: cloudsaver: image: jiangrui1994/cloudsaver:latest container_name: cloud-saver ports: - &amp;#34;8009:8008&amp;#34; volumes: - ./data:/app/data - ./config:/app/config restart: unless-stopped 启动
cd /root/data/docker_data/cloudsaver docker compose up -d # 注意，老版本用户用 docker-compose up -d 理论上我们就可以输入 http://ip:8009 访问了
caddy 反向代理 # 通用配置 (common_config) { tls { protocols tls1.2 tls1.3 } header { Permissions-Policy interest-cohort=() Strict-Transport-Security max-age=31536000; X-Content-Type-Options nosniff Referrer-Policy strict-origin-when-cross-origin X-XSS-Protection &amp;#34;1; mode=block&amp;#34; -Via -Alt-Svc -Server } handle_errors { @5xx expression {http.</description></item><item><title>docker备份脚本</title><link>https://blog.lufei.de/p/472/</link><pubDate>Tue, 16 Sep 2025 21:19:37 +0800</pubDate><guid>https://blog.lufei.de/p/472/</guid><description>基于https://www.nodeseek.com/post-409979-1修改而来
改进特性:
• 内置Python HTTP服务器，无需依赖Nginx
• 自动检测是否是数据库类型
• 支持自定义端口，自动检测端口冲突
• 增强的错误处理和连接测试
• 更好的跨平台兼容性
脚本 注意：源服务器要开放8889端口（可以自定义）
在两台服务器上下载脚本，任意目录均可
curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/Docker_container_migration.sh chmod +x Docker_container_migration.sh ./Docker_container_migration.sh bug 在新服务器恢复需要注意的地方
1. 使用docker-compose.yml或者有变量创建的项目
由于脚本仅备份了卷，恢复完成后，会出现一些错误，比如没有创建docker网络，忽略错误退出脚本，按照原本项目的一些创建步骤： 比如创建文件夹 创建docker-compose.yml或者变量 然后进入项目文件夹，再启动
docker compose up -d 2. 一键docker run创建的项目
如果你的项目是一键docker run生成的，忽略错误，退出脚本后，直接按照你原本的一键docker run方式去生成即可。
完结~</description></item><item><title>一键组网之windows远程桌面</title><link>https://blog.lufei.de/p/471/</link><pubDate>Tue, 02 Sep 2025 16:46:33 +0800</pubDate><guid>https://blog.lufei.de/p/471/</guid><description>复制到powershell
#================================================================================ # --- 脚本配置 --- $GithubApiUrl = &amp;#34;https://api.github.com/repos/EasyTier/EasyTier/releases/latest&amp;#34; $GithubProxy = &amp;#34;ghfast.top&amp;#34; # 可选代理, 留空则不使用 # --- 路径和名称定义 --- # 使用 Program Files 和 ProgramData 是 Windows 的标准做法 $InstallDir = &amp;#34;$env:ProgramFiles\EasyTier&amp;#34; $ConfigDir = &amp;#34;$env:ProgramData\EasyTier&amp;#34; # ProgramData 是系统级应用数据的存放位置 $ConfigFile = Join-Path $ConfigDir &amp;#34;easytier.toml&amp;#34; $CoreBinaryName = &amp;#34;easytier-core.exe&amp;#34; $CliBinaryName = &amp;#34;easytier-cli.exe&amp;#34; $CoreBinaryPath = Join-Path $InstallDir $CoreBinaryName $CliBinaryPath = Join-Path $InstallDir $CliBinaryName # --- Windows 服务定义 --- $ServiceName = &amp;#34;EasyTierService&amp;#34; $ServiceDisplayName = &amp;#34;EasyTier Service&amp;#34; # --- 颜色定义 --- $c_green = &amp;#34;Green&amp;#34; $c_red = &amp;#34;Red&amp;#34; $c_yellow = &amp;#34;Yellow&amp;#34; $c_cyan = &amp;#34;Cyan&amp;#34; $c_normal = &amp;#34;White&amp;#34; # --- 辅助函数 --- # 检查是否以管理员身份运行 function Check-Admin { $identity = [System.</description></item><item><title>使用caddy反代MoonTV</title><link>https://blog.lufei.de/p/470/</link><pubDate>Mon, 01 Sep 2025 10:07:21 +0800</pubDate><guid>https://blog.lufei.de/p/470/</guid><description>前言 前提条件：把MoonTV部署到vercel之后
caddy配置 把https://xxxxx.vercel.app替换成你的vercel地址即可
(common_config) { tls { protocols tls1.2 tls1.3 } header { Permissions-Policy interest-cohort=() Strict-Transport-Security max-age=31536000; X-Content-Type-Options nosniff Referrer-Policy strict-origin-when-cross-origin X-XSS-Protection &amp;#34;1; mode=block&amp;#34; -Via -Alt-Svc -Server } log { output file /var/log/caddy/global.log { roll_size 50mb roll_keep 5 } } } tv.xxxxx.com { import common_config reverse_proxy https://xxxxx.vercel.app { header_up Host {upstream_hostport} header_up X-Real-IP {remote} } } 重启生效
systemctl restart caddy</description></item><item><title>caddy 反代cloudflare方法</title><link>https://blog.lufei.de/p/469/</link><pubDate>Sun, 24 Aug 2025 12:11:12 +0800</pubDate><guid>https://blog.lufei.de/p/469/</guid><description>系统：debian12
准备工作 假设1234.com是用户访问的域名，再找一个域名，例如 1234.kkk.eu.org
1234.kkk.eu.org 绑定到源站（注意：1234.com也要绑定到源站）
1234.kkk.eu.org 解析到源服务器 IP 地址，开启 CDN（小云朵），设置为灵活模式
给 Caddy 正确的日志目录权限
sudo mkdir -p /var/log/caddy sudo chown -R caddy:caddy /var/log/caddy sudo chmod 750 /var/log/caddy 安装caddy sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&amp;#39; | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt&amp;#39; | sudo tee /etc/apt/sources.list.d/caddy-stable.list chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg chmod o+r /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy 检测是否安装成功
caddy -v 配置修改 nano /etc/caddy/Caddyfile 反代配置如下：</description></item><item><title>Caddy 模块化配置：按需引入，各取所需</title><link>https://blog.lufei.de/p/468/</link><pubDate>Fri, 22 Aug 2025 12:44:48 +0800</pubDate><guid>https://blog.lufei.de/p/468/</guid><description>脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh 问题 多个场景（多项目）配置重复冗余，维护困难。
结尾贴出配置
解决方案 三种配置模块，按需组合：
(main_backend) # 双后端负载均衡 (common_config) # 通用安全配置 (standard_site) # 组合上述两者 应用场景 场景一：标准站点（需要负载均衡）
www.2345.com { import standard_site # 双后端 + 安全配置 } 场景二：单独服务器，不需要负载均衡
www.456.cc { reverse_proxy 192.168.100.3:80 # 专用后端 import common_config # 复用安全配置 } 场景三：简单重定向
2345.com { redir https://www.2345.com{uri} permanent # 无需额外配置 } 场景四：HTTP批量重定向
http://456g.cc, http://www.456g.cc { redir https://www.456.cc{uri} permanent # 多域名一次性配置 } 查看日志 （前 20 的访问统计）：</description></item><item><title>caddy设置日志并查询日志的方法</title><link>https://blog.lufei.de/p/467/</link><pubDate>Tue, 12 Aug 2025 11:50:16 +0800</pubDate><guid>https://blog.lufei.de/p/467/</guid><description>设置权限 # 删除并重新创建目录，确保权限正确 sudo rm -rf /var/log/caddy sudo mkdir -p /var/log/caddy sudo chown -R caddy:caddy /var/log/caddy sudo chmod -R 755 /var/log/caddy # 测试 caddy 用户能否写入 sudo -u caddy touch /var/log/caddy/test.log &amp;amp;&amp;amp; echo &amp;#34;权限OK&amp;#34; || echo &amp;#34;权限失败&amp;#34; 错误信息解决方案 open /var/log/caddy/global.log: permission denied 步骤1：
# 创建日志目录 sudo mkdir -p /var/log/caddy # 设置正确的所有者和权限 sudo chown caddy:caddy /var/log/caddy sudo chmod 755 /var/log/caddy 步骤2：
重载
# 重新加载systemd配置 sudo systemctl daemon-reload # 启动Caddy服务 sudo systemctl start caddy # 检查服务状态 sudo systemctl status caddy 配置 (common_config) { tls { protocols tls1.</description></item><item><title>ncdu-磁盘使用分析工具查看空间大小</title><link>https://blog.lufei.de/p/466/</link><pubDate>Tue, 05 Aug 2025 13:10:58 +0800</pubDate><guid>https://blog.lufei.de/p/466/</guid><description>ncdu 是一个交互式的磁盘使用分析工具，非常直观：
安装：
sudo apt update sudo apt install ncdu 使用：
# 分析根目录 sudo ncdu / # 分析当前目录 ncdu # 分析指定目录 ncdu /home</description></item><item><title>节点搭建</title><link>https://blog.lufei.de/p/465/</link><pubDate>Mon, 04 Aug 2025 12:27:41 +0800</pubDate><guid>https://blog.lufei.de/p/465/</guid><description>搭建代码 Github
bash &amp;lt;(wget -qO- https://raw.githubusercontent.com/fscarmen/sing-box/main/sing-box.sh) 软件下载 工具
开启BBR echo &amp;#34;net.core.default_qdisc=fq&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf echo &amp;#34;net.ipv4.tcp_congestion_control=bbr&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf sysctl -p lsmod | grep bbr 检查
sysctl net.ipv4.tcp_congestion_control net.core.default_qdisc</description></item><item><title>haproxy分析脚本</title><link>https://blog.lufei.de/p/463/</link><pubDate>Sat, 02 Aug 2025 14:39:54 +0800</pubDate><guid>https://blog.lufei.de/p/463/</guid><description>安装工具 apt update &amp;amp;&amp;amp; apt install net-tools 分析脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/monitor_without_logs.sh &amp;amp;&amp;amp; chmod +x monitor_without_logs.sh &amp;amp;&amp;amp; ./monitor_without_logs.sh 连接数超过100的IP
netstat -tn | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1 | sort | uniq -c | sort -nr | awk &amp;#39;$1 &amp;gt; 100 {print $1 &amp;#34; connections from &amp;#34; $2}&amp;#39; 前10个连接数最多的IP
netstat -tn | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1 | sort | uniq -c | sort -nr | head -10 防火墙 限制该IP最多200个连接</description></item><item><title>caddy和haproxy配置分享</title><link>https://blog.lufei.de/p/462/</link><pubDate>Fri, 01 Aug 2025 01:09:34 +0800</pubDate><guid>https://blog.lufei.de/p/462/</guid><description>caddy安装脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh haproxy转发脚本 (基于caddy后端)
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/haproxy-ca.sh &amp;amp;&amp;amp; chmod +x haproxy-ca.sh &amp;amp;&amp;amp; ./haproxy-ca.sh caddy备份恢复脚本 先安装rsync
sudo apt update sudo apt install -y rsync 脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_backup.sh &amp;amp;&amp;amp; chmod +x caddy_backup.sh &amp;amp;&amp;amp; ./caddy_backup.sh 备份
./caddy_backup.sh backup 恢复
mkdir -p /opt/caddy-backups ./caddy_backup.sh restore /opt/caddy-backups/caddy-backup-20231201-120000.tar.gz 用法
# 赋予执行权限 chmod +x caddy_backup.sh # 创建备份（自动命名） sudo ./caddy_backup.sh backup # 创建指定名称的备份 sudo ./caddy_backup.sh backup my-migration-backup # 列出所有备份 .</description></item><item><title>amh之redis优化</title><link>https://blog.lufei.de/p/461/</link><pubDate>Thu, 31 Jul 2025 20:06:10 +0800</pubDate><guid>https://blog.lufei.de/p/461/</guid><description>查找 redis-cli 的位置
find / -name redis-cli 建议创建软链接：
ln -s /usr/local/redis-8.0/bin/redis-cli /usr/bin/redis-cli 连接到 Redis CLI
redis-cli 允许 Redis 在保存快照失败时继续写入数据。
config set stop-writes-on-bgsave-error no 验证
config get stop-writes-on-bgsave-error 按 CTRL+D 退出
永久生效
sed -i &amp;#39;s/^stop-writes-on-bgsave-error yes/stop-writes-on-bgsave-error no/&amp;#39; /usr/local/redis-8.0/redis.conf 优化设置 假设服务器内存为8G
# 设置内存上限 redis-cli config set maxmemory 3gb # 设置内存淘汰策略 redis-cli config set maxmemory-policy allkeys-lru # 适度提高采样精度 redis-cli config set maxmemory-samples 10 # 永久保存配置 redis-cli config rewrite 启用主动碎片整理 # 更保守的生产环境配置 redis-cli config set activedefrag yes redis-cli config set active-defrag-threshold-lower 10 # 10%碎片率才开始 redis-cli config set active-defrag-threshold-upper 100 redis-cli config set active-defrag-ignore-bytes 100mb # 100MB以上才处理 redis-cli config set active-defrag-cycle-min 1 # 最小1% CPU redis-cli config set active-defrag-cycle-max 25 # 最大25% CPU # 保存当前配置到配置文件 redis-cli config rewrite 查看碎片</description></item><item><title>Caddy 实战：一个配置文件搞定 Docker + 多站点 + 负载均衡</title><link>https://blog.lufei.de/p/460/</link><pubDate>Tue, 29 Jul 2025 21:03:22 +0800</pubDate><guid>https://blog.lufei.de/p/460/</guid><description>记住：Caddy 会自动为这个域名申请和续期 SSL 证书。
安装的部分请看我上一篇帖子，或者使用我的caddy管理脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh 格式规范的警告，使用以下命令修复
caddy fmt --overwrite /etc/caddy/Caddyfile 场景一：Docker 环境下的简单反向代理 以下配置适用于 Docker 环境，如果你有多个项目，只需要复制配置块并修改域名和端口即可：
(common_config) { tls { protocols tls1.2 tls1.3 } header { Permissions-Policy interest-cohort=() Strict-Transport-Security max-age=31536000; X-Content-Type-Options nosniff Referrer-Policy strict-origin-when-cross-origin X-XSS-Protection &amp;#34;1; mode=block&amp;#34; -Via -Alt-Svc -Server } } www.2345.com { import common_config reverse_proxy 127.0.0.1:80 } portainer.2345.com { import common_config reverse_proxy 127.0.0.1:8000 } new.example.com { import common_config reverse_proxy 127.</description></item><item><title>Debian12安装caddy与反向代理配置分享</title><link>https://blog.lufei.de/p/459/</link><pubDate>Sat, 26 Jul 2025 13:25:48 +0800</pubDate><guid>https://blog.lufei.de/p/459/</guid><description>使用场景 源站和反代分开，即源站和反代各一台服务器
系统：Debian12
caddy一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/caddy_manager.sh &amp;amp;&amp;amp; chmod +x caddy_manager.sh &amp;amp;&amp;amp; ./caddy_manager.sh 安装caddy sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/gpg.key&amp;#39; | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLf &amp;#39;https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt&amp;#39; | sudo tee /etc/apt/sources.list.d/caddy-stable.list chmod o+r /usr/share/keyrings/caddy-stable-archive-keyring.gpg chmod o+r /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy 检测是否安装成功
caddy -v 配置修改 nano /etc/caddy/Caddyfile 我的配置如下
2345.com { redir https://www.2345.com{uri} permanent } www.2345.com { reverse_proxy 源站服务器ip:80 tls { protocols tls1.</description></item><item><title>Debian12安装fail2ban封禁恶意ip</title><link>https://blog.lufei.de/p/458/</link><pubDate>Mon, 07 Jul 2025 13:32:16 +0800</pubDate><guid>https://blog.lufei.de/p/458/</guid><description>安装Fail2Ban sudo apt update sudo apt install fail2ban rsyslog -y 安装 rsyslog，以确保日志文件能够正常生成并供 Fail2Ban 使用
启动服务
sudo systemctl enable --now fail2ban sudo systemctl enable --now rsyslog 检查服务状态
sudo systemctl status fail2ban sudo systemctl status rsyslog 配置 Fail2Ban
sudo nano /etc/fail2ban/jail.local 粘贴以下内容，记得把 5522 改成你的SSH端口
[sshd] ignoreip = 127.0.0.1/8 enabled = true filter = sshd port = 5522 maxretry = 3 findtime = 300 bantime = -1 banaction = ufw logpath = /var/log/auth.log 配置说明：</description></item><item><title>nginx一键反代</title><link>https://blog.lufei.de/p/457/</link><pubDate>Mon, 07 Jul 2025 12:26:10 +0800</pubDate><guid>https://blog.lufei.de/p/457/</guid><description>一键脚本 bash &amp;lt;(curl -sL kejilion.sh) fd 批量反代 bash &amp;lt;(curl -sL kejilion.sh) fd [你的域名] [目标IP] [目标端口] bash &amp;lt;(curl -sL kejilion.sh) fd web1.example.com 123.123.123.123 8080 bash &amp;lt;(curl -sL kejilion.sh) fd web2.example.com 123.123.123.123 8060 如果需要根域重定向到www,先执行上面的批量反代命令，然后再执行重定向菜单
负载均衡 轮询方式
server 3.3.3.3:80 max_fails=3 fail_timeout=30s; server 6.6.6.6:80 max_fails=3 fail_timeout=30s; 加权轮询
server 192.168.1.10 weight=2 max_fails=3 fail_timeout=30s; server 192.168.1.11 weight=1 max_fails=3 fail_timeout=30s; 原版方式
hash $remote_addr consistent; server 3.3.3.3:80; server 6.6.6.6:80; 查看占用
netstat -an | grep ESTABLISHED | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1 | sort | uniq -c | sort -rn | head -20 测试权重分配（3:1）</description></item><item><title>iptables规则开放80/443</title><link>https://blog.lufei.de/p/456/</link><pubDate>Fri, 20 Jun 2025 21:45:55 +0800</pubDate><guid>https://blog.lufei.de/p/456/</guid><description> 插入新的允许规则 iptables -I INPUT 1 -p tcp -m multiport --dports 80,443 -j ACCEPT 删除原来的限制规则（现在变成了第2、3条） iptables -D INPUT 2 iptables -D INPUT 2 保存规则 iptables-save &amp;gt; /etc/iptables/rules.v4</description></item><item><title>小鸡变中转站！轻松部署 haproxy 实现稳定高速访问</title><link>https://blog.lufei.de/p/455/</link><pubDate>Tue, 03 Jun 2025 12:27:32 +0800</pubDate><guid>https://blog.lufei.de/p/455/</guid><description>一键脚本 安装与配置 HAProxy：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/haproxy-d.sh &amp;amp;&amp;amp; chmod +x haproxy-d.sh &amp;amp;&amp;amp; ./haproxy-d.sh 迁移配置备份与恢复：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/restore_haproxy.sh &amp;amp;&amp;amp; chmod +x restore_haproxy.sh &amp;amp;&amp;amp; ./restore_haproxy.sh 验证
haproxy -c -f /etc/haproxy/haproxy.cfg 显示Configuration file is valid 即正确
重启服务
systemctl restart haproxy 检查状态
systemctl status haproxy sni证书匹配检测
提示：如果包含www，仅检测根域即可
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/sni_check.sh &amp;amp;&amp;amp; chmod +x sni_check.sh &amp;amp;&amp;amp; ./sni_check.sh 其他端口脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/haproxy-k.sh &amp;amp;&amp;amp; chmod +x haproxy-k.sh &amp;amp;&amp;amp; ./haproxy-k.sh 前言 网站托管在欧洲（如德国、荷兰）服务器上，不使用 Cloudflare CDN 域名托管在 Cloudflare，准备好具有 DNS 权限的 API 令牌 使用说明 系统推荐：Debian 12（测试通过） 节点推荐：线路好（如 CN2、CMIN2、9929） 脚本功能菜单 ================================ HAProxy 配置管理工具 ================================ 1.</description></item><item><title>haproxy之爬虫拦截规则</title><link>https://blog.lufei.de/p/454/</link><pubDate>Sun, 01 Jun 2025 05:48:55 +0800</pubDate><guid>https://blog.lufei.de/p/454/</guid><description>注意：后端服务器监听80端口（HTTP），但前端是HTTPS HAProxy将终止SSL，并以HTTP协议与后端通信 新建爬虫文件 nano /etc/haproxy/blacklist-agent.txt 内容
YandexBot DotBot SemrushBot AhrefsBot BLEXBot YaK MJ12bot MauiBot MegaIndex.ru GPTBot meta-externalagent/1.1 Qwantbot ClaudeBot Amazonbot SearchBot DataForSeoBot Barkrowler GoogleOther Googlebot 更多爬虫
https://raw.githubusercontent.com/mitchellkrogza/nginx-ultimate-bad-bot-blocker/master/_generator_lists/bad-user-agents.list
配置文件 配置参考: https://github.com/woniu336/open_shell/blob/main/u-haproxy.cfg
global log /dev/log local0 warning log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group haproxy daemon maxconn 10000 stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s # SSL会话缓存优化 tune.ssl.cachesize 50000 tune.ssl.lifetime 300 tune.ssl.ssl-ctx-cache-size 1000 # TLS安全全局设置 ssl-default-bind-ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256 ssl-default-bind-ciphersuites TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256 ssl-default-bind-options no-sslv3 no-tlsv10 no-tlsv11 prefer-client-ciphers defaults log global mode http option dontlognull option httplog option http-keep-alive option forwardfor timeout connect 5s timeout client 30s timeout server 30s timeout http-keep-alive 15s errorfile 400 /etc/haproxy/errors/400.</description></item><item><title>ovh杜甫修改dns</title><link>https://blog.lufei.de/p/453/</link><pubDate>Fri, 30 May 2025 20:40:31 +0800</pubDate><guid>https://blog.lufei.de/p/453/</guid><description>注意： 这里的dns是服务器端的，与用户访问你的网站完全无关
用户的 DNS：用户浏览器使用他们本地配置的 DNS
可能是 ISP 提供的、或者他们手动设置的（如 8.8.8.8）用于解析你的域名到你服务器的 IP 地址
所以你的 DNS 优化主要是为了提升服务器自身的网络性能，而不是用户访问体验
编辑 /etc/systemd/resolved.conf
nano /etc/systemd/resolved.conf 内容
[Resolve] DNS=9.9.9.9 149.112.112.112 FallbackDNS=1.1.1.1 8.8.8.8 查看当前生成的 resolv.conf
cat /run/systemd/resolve/resolv.conf 查看完整的 DNS 配置状态
resolvectl status 确认服务状态
systemctl status systemd-resolved 或者可以这样（临时的）
resolvectl dns ens3 8.8.8.8 1.0.0.1 resolvectl flush-caches 测试
resolvectl query openai.com 测试不同 DNS 的性能
安装dig
apt update &amp;amp;&amp;amp; apt install dnsutils 测试主要 DNS 服务器
dig @1.1.1.1 google.com | grep &amp;#34;Query time&amp;#34; dig @8.</description></item><item><title>haproxy反向代理教程</title><link>https://blog.lufei.de/p/452/</link><pubDate>Thu, 29 May 2025 12:20:03 +0800</pubDate><guid>https://blog.lufei.de/p/452/</guid><description>为什么是使用haproxy作为反代，而不是nginx，或者iptables，就不细说了，因为haproxy更高效简洁，性能更优秀！这是我几个月来的使用和验证。
注意：下面的配置是针对80端口（源站，可以开启cf cdn），但是没有针对https（443），如果有需要可以问ai怎么修改配置文件。
安装haproxy 一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/haproxy-k.sh &amp;amp;&amp;amp; chmod +x haproxy-k.sh &amp;amp;&amp;amp; ./haproxy-k.sh 安装
apt install haproxy -y systemctl start haproxy systemctl enable haproxy 编辑haproxy
nano /etc/haproxy/haproxy.cfg 内容如下
参考：https://github.com/woniu336/open_shell/blob/main/haproxy.cfg
global log /dev/log local0 warning log /dev/log local1 notice chroot /var/lib/haproxy user haproxy group haproxy daemon maxconn 10000 stats socket /run/haproxy/admin.sock mode 660 level admin expose-fd listeners stats timeout 30s defaults log global mode http # 改为 http 模式 option dontlognull option httplog # 启用 HTTP 日志 option http-keep-alive option forwardfor # 传递客户端真实IP timeout connect 5s # 连接超时增加 timeout client 30s # 客户端超时增加 timeout server 30s # 服务器超时增加 timeout http-keep-alive 15s errorfile 400 /etc/haproxy/errors/400.</description></item><item><title>屏蔽谷歌蜘蛛</title><link>https://blog.lufei.de/p/451/</link><pubDate>Fri, 23 May 2025 19:08:13 +0800</pubDate><guid>https://blog.lufei.de/p/451/</guid><description>执行以下命令来安装 pip3：
sudo apt update sudo apt install python3-pip 验证 pip 是否已正确安装：
pip3 --version 使用 pip3 安装 requests 库
pip3 install requests 下载脚本并运行
wget https://raw.githubusercontent.com/woniu336/open_shell/main/googlebot_blocker.py python3 googlebot_blocker.py 查看当前iptables规则
iptables -L INPUT -v -n | grep DROP 查看被阻止的连接统计
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/googlebot_stats.sh &amp;amp;&amp;amp; chmod +x googlebot_stats.sh &amp;amp;&amp;amp; ./googlebot_stats.sh 移除屏蔽
sudo bash remove_googlebot_block.sh</description></item><item><title>推荐3个开源Github项目</title><link>https://blog.lufei.de/p/450/</link><pubDate>Thu, 22 May 2025 10:16:33 +0800</pubDate><guid>https://blog.lufei.de/p/450/</guid><description>openresty-manager https://github.com/Safe3/openresty-manager
文档：https://github.com/Safe3/openresty-manager/blob/main/README_CN.md
从“手撕配置”到“可视化面板”，从“手动续期”到“一键 Let’s Encrypt”，OpenResty Manager用极简姿态承载了反向代理的全部实力
主机版
sudo bash -c &amp;#34;$(curl -fsSL https://om.uusec.com/cn/installer.sh)&amp;#34; 启动
# 启动服务 /opt/om/oms -s start # 检查服务状态 /opt/om/oms -s status # 停止服务 /opt/om/oms -s stop # 重新启动 /opt/om/oms -s start 访问 https://your-ip:34567 ，用户名: admin ，密码: #Passw0rd
DNS解析, 在系统设置-OpenResty-DNS解析修改
resolver 1.1.1.1 8.8.8.8 1.0.0.1 valid=300s ipv6=off local=off; 301重定向（在站点高级配置修改）
return 301 &amp;#39;http://www.xxxx.cc$request_uri&amp;#39;; 屏蔽敏感信息头（在系统设置-OpenResty-缓存资源）修改
add_header X-Cf-Cache $upstream_cache_status always; more_set_headers &amp;#34;Server: &amp;#34;; 负载均衡（轮询）
server 3.3.3.3:80 weight=3 max_fails=3 fail_timeout=30s; server 6.6.6.6:80 weight=1 max_fails=3 fail_timeout=30s; keepalive 320; keepalive_requests 1000; 应用限流（在在系统设置-OpenResty-Real IP）后面添加</description></item><item><title>如何解决 429 Too Many Requests</title><link>https://blog.lufei.de/p/448/</link><pubDate>Thu, 15 May 2025 13:39:34 +0800</pubDate><guid>https://blog.lufei.de/p/448/</guid><description>429 Too Many Requests 是 Nginx 返回的 HTTP 状态码，表示客户端发送的请求过多，超过了设定的访问频率或连接数限制。你在配置中启用了限流：
🔍 相关配置片段 以下是原始配置，当请求过多时，返回429
# 请求速率限制 limit_req_zone $binary_remote_addr zone=example_zone:50m rate=100r/s; limit_req zone=example_zone burst=500 nodelay; limit_req_status 429; # 连接数限制 limit_conn_zone $binary_remote_addr zone=addr:30m; limit_conn addr 500; limit_conn_status 429; ✅ 如何解决 429 Too Many Requests ✅ 1. 放宽限制 适用于：真实用户高频访问，非恶意行为。
📌 调高请求频率限制 limit_req_zone $binary_remote_addr zone=example_zone:50m rate=200r/s; # 原为100r/s limit_req zone=example_zone burst=1000 nodelay; # 建议去掉nodelay，允许排队 📌 增加并发连接上限 limit_conn addr 1000; # 原为500 ✅ 2. 添加延迟队列（防止瞬时爆发） 把 nodelay 去掉，允许小延迟排队处理请求，而不是直接返回 429：</description></item><item><title>使用白名单限制IP访问指定端口服务</title><link>https://blog.lufei.de/p/447/</link><pubDate>Sat, 10 May 2025 10:48:21 +0800</pubDate><guid>https://blog.lufei.de/p/447/</guid><description>需求 有时，我需要通过 IP + 端口的方式来访问服务，而不是所有服务都需要通过域名反向代理。 但我需要确保禁止其他 IP 访问我的端口。 这时，白名单方法就显得尤为重要。 脚本（非 Docker 服务） 如果你不使用 Docker，可以通过以下脚本进行操作：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ipwl.sh &amp;amp;&amp;amp; chmod +x ipwl.sh &amp;amp;&amp;amp; ./ipwl.sh 如果遇到错误提示，可以执行以下命令解决：
sudo mkdir -p /etc/mysql sudo touch /etc/mysql/mariadb.cnf sudo dpkg --configure -a 查看
sudo iptables -S INPUT amh面板设置方法，例如29669端口
首先创建一个新的 ipset 用于 29669 端口的白名单： sudo ipset create whitelist_port_29669 hash:ip 向白名单中添加您想要允许的 IP 地址，例如： sudo ipset add whitelist_port_29669 8.8.8.8 # 替换为您想要允许的 IP 地址 查看规则 sudo iptables -L INPUT --line-numbers 移除对 29669 端口的通用许可，假设在32编号 sudo iptables -D INPUT 32 然后添加新规则，允许 HTTP 端口和 29670端口的访问（与原始规则相同，但不包括 29669 ）： sudo iptables -I INPUT 32 -p tcp -m multiport --dports 80,29670 -j ACCEPT 最后，添加针对 29669 端口的白名单规则： sudo iptables -I INPUT 33 -p tcp -m tcp --dport 29669 -m set --match-set whitelist_port_29669 src -j ACCEPT sudo iptables -I INPUT 34 -p tcp -m tcp --dport 29669 -j DROP 保存规则，确保重启后规则仍然生效： sudo mkdir -p /etc/iptables sudo iptables-save &amp;gt; /etc/iptables/rules.</description></item><item><title>ZeroSSL 免费证书申请与自动配置</title><link>https://blog.lufei.de/p/446/</link><pubDate>Sun, 04 May 2025 23:57:32 +0800</pubDate><guid>https://blog.lufei.de/p/446/</guid><description>安装 acme.sh curl https://get.acme.sh | sh -s email=my@example.com 添加 acme.sh 到环境变量
echo &amp;#39;export PATH=&amp;#34;$HOME/.acme.sh:$PATH&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc 确认 acme.sh 是否安装成功
acme.sh --version 获取 EAB凭证 https://app.zerossl.com/developer
设置 ZeroSSL 的 EAB 信息
acme.sh --register-account -m my@gmail.com --server https://acme.zerossl.com/v2/DV90 \ --eab-kid &amp;#34;11111&amp;#34; \ --eab-hmac-key &amp;#34;111111&amp;#34; 切换默认CA，默认CA为ZeroSSL
acme.sh --set-default-ca --server zerossl 签发新证书 签发的是泛域名证书
获取需要DNS添加的 TXT 记录
acme.sh --issue --dns dns_manual -d 123.com -d *.123.com 申请证书
acme.sh --issue --dns dns_manual -d 123.com -d *.123.com 续签</description></item><item><title>OCSP装订：优化HTTPS性能</title><link>https://blog.lufei.de/p/445/</link><pubDate>Sun, 04 May 2025 20:54:21 +0800</pubDate><guid>https://blog.lufei.de/p/445/</guid><description>检测OCSP装订是否开启 一键查询脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/check-cert.sh &amp;amp;&amp;amp; chmod +x check-cert.sh 运行脚本并提供域名作为参数：
./check-cert.sh example.com 输出，例如
OCSP Stapling: Enabled OCSP URI: http://e5.o.lencr.org Enabled 已启用，Not Enabled 未开启
或者可以使用以下命令检测, 将命令中 www.yourdomain.com 改为你的域名
openssl s_client -connect www.yourdomain.com:443 -servername www.yourdomain.com -status -tlsextdebug &amp;lt; /dev/null 2&amp;gt;&amp;amp;1 | grep -i &amp;#34;OCSP response&amp;#34; 成功输出：OCSP Response Status: successful (0x0) 失败提示：OCSP response: no response sent 开启 OCSP 装订 开启OCSP装订需要在网站的nginx配置文件中添加如下配置,例如
# 123.com 的 HTTPS 配置 server { listen 443 ssl; http2 on; server_name 123.</description></item><item><title>使用Docker快速部署CDN管理平台-goedge</title><link>https://blog.lufei.de/p/443/</link><pubDate>Wed, 30 Apr 2025 20:17:39 +0800</pubDate><guid>https://blog.lufei.de/p/443/</guid><description>项目：https://github.com/icodex/docker-goedge
测试系统: debian12
注意放行必要端口: 7788、8002
安装docker curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sh get-docker.sh 部署主程序 创建目录 mkdir -p /opt/goedge cd /opt/goedge 创建docker-compose.yaml 注意：这里的API通信端口我改成了8002（默认是8001，因为我的8001被占用了），你可以改成默认的8001
cat &amp;gt; docker-compose.yaml &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; networks: goedge: external: false services: mysqld: image: mysql:8 container_name: mysqld environment: - MYSQL_ROOT_PASSWORD=root - MYSQL_USER=edges - MYSQL_PASSWORD=edges - MYSQL_DATABASE=edges networks: - goedge volumes: - ./data/db/mysql:/var/lib/mysql:rw restart: always edge-admin: image: icodex/edge-admin:1.3.3 container_name: edge-admin ports: - 7788:7788/tcp - 8002:8002/tcp networks: - goedge volumes: - .</description></item><item><title>Debian11安装docker报错解决办法</title><link>https://blog.lufei.de/p/442/</link><pubDate>Wed, 30 Apr 2025 13:28:50 +0800</pubDate><guid>https://blog.lufei.de/p/442/</guid><description>错误信息：E: The repository &amp;lsquo;http://security.debian.org bullseye/updates Release&amp;rsquo; does not have a Release file.
错误信息显示您的Debian仓库配置有问题，具体是&amp;quot;http://security.debian.org bullseye/updates Release&amp;quot;仓库没有Release文件。
您可以更新您的源列表，将bullseye/updates修改为bullseye-security:
sudo sed -i &amp;#39;s/bullseye\/updates/bullseye-security/g&amp;#39; /etc/apt/sources.list 然后更新软件包列表并重试Docker安装:
sudo apt-get update curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sh get-docker.sh</description></item><item><title>防止 Docker 端口泄露：使用 ipset 实现端口管理</title><link>https://blog.lufei.de/p/%E9%98%B2%E6%AD%A2-docker-%E7%AB%AF%E5%8F%A3%E6%B3%84%E9%9C%B2%E4%BD%BF%E7%94%A8-ipset-%E5%AE%9E%E7%8E%B0%E7%AB%AF%E5%8F%A3%E7%AE%A1%E7%90%86/</link><pubDate>Mon, 28 Apr 2025 21:37:18 +0800</pubDate><guid>https://blog.lufei.de/p/%E9%98%B2%E6%AD%A2-docker-%E7%AB%AF%E5%8F%A3%E6%B3%84%E9%9C%B2%E4%BD%BF%E7%94%A8-ipset-%E5%AE%9E%E7%8E%B0%E7%AB%AF%E5%8F%A3%E7%AE%A1%E7%90%86/</guid><description>以下是使用 ipset 和 iptables 来控制容器端口访问的完整步骤，以 9000 端口为例：
1. 安装 ipset（如果尚未安装） sudo apt-get update sudo apt-get install ipset -y 2. 创建 ipset 集合 创建允许的特定 IP 集合
sudo ipset create allowed_ips hash:ip 创建 Cloudflare IPv4 集合
sudo ipset create cf_ipv4 hash:net 创建 Cloudflare IPv6 集合（如需要）
sudo ipset create cf_ipv6 hash:net family inet6 3. 添加 IP 到集合 添加需要允许访问的特定 IP 地址到allowed_ips 集合，替换为你自己的 IP
sudo ipset add allowed_ips 192.168.1.11 添加 Cloudflare IPv4 网段
sudo ipset add cf_ipv4 103.</description></item><item><title>仅允许特定IP或Cloudflare访问docker端口</title><link>https://blog.lufei.de/p/440/</link><pubDate>Mon, 28 Apr 2025 14:16:58 +0800</pubDate><guid>https://blog.lufei.de/p/440/</guid><description>需求：
禁止使用ip+端口访问 无需nginx反代 可使用域名访问 方法：
解析好域名，开启小黄云 规则 &amp;ndash; Origin Rules &amp;ndash; 创建规则 指定端口，⚠️ 注意：这里的端口为外部端口，即宿主机端口。
备份现有iptables规则 修改前务必备份当前规则，以便回滚。
sudo iptables-save &amp;gt; ~/iptables-backup-$(date +%F-%H%M%S).bak 查看备份：
ls ~/iptables-backup-*.bak 恢复备份：
sudo iptables-restore &amp;lt; ~/iptables-backup-xxx.bak 仅允许特定IP访问容器端口 示例：仅允许192.168.1.11访问5021端口
sudo iptables -I DOCKER-USER 1 -s 192.168.1.11 -p tcp --dport 5021 -j ACCEPT sudo iptables -I DOCKER-USER 2 -p tcp --dport 5021 -j DROP ⚠️ 注意：5021为容器内部端口。
允许Cloudflare IP段访问容器端口 若使用Cloudflare CDN，需允许其节点IP访问容器指定端口。
示例：允许Cloudflare IPv4段访问5021端口,⚠️ 注意：5021为容器内部端口。
sudo iptables -I DOCKER-USER 1 -s 103.</description></item><item><title>安装网站访客统计工具Plausible最新版本(v3)</title><link>https://blog.lufei.de/p/439/</link><pubDate>Thu, 24 Apr 2025 13:38:38 +0800</pubDate><guid>https://blog.lufei.de/p/439/</guid><description>测试环境 Debian12 需要安装好docker 解析好统计域名 项目 项目：https://github.com/plausible/community-edition
文档：https://plausible.io/docs/
🔢 总内存占用：765.98 MiB
📦 总镜像大小：996.00 MiB
一键查询内存占用和镜像大小
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/plausible_stats_v3.sh &amp;amp;&amp;amp; chmod +x plausible_stats_v3.sh &amp;amp;&amp;amp; ./plausible_stats_v3.sh 安装 git clone -b v3.0.1 --single-branch https://github.com/plausible/community-edition plausible-ce cd plausible-ce 配置 .env 文件 创建 .env 文件并写入以下内容
提醒：把plausible.example.com改成你的统计域名
touch .env echo &amp;#34;BASE_URL=https://plausible.example.com&amp;#34; &amp;gt;&amp;gt; .env echo &amp;#34;SECRET_KEY_BASE=$(openssl rand -base64 48)&amp;#34; &amp;gt;&amp;gt; .env echo &amp;#34;HTTP_PORT=8000&amp;#34; &amp;gt;&amp;gt; .env 查看确认内容：
cat .env 输出类似如下：
BASE_URL=https://plausible.example.com SECRET_KEY_BASE=随机生成的密钥 HTTP_PORT=8000 流量高峰通知【可选】
cd plausible-ce nano .env 添加如下内容,以QQ邮箱为例</description></item><item><title>Debian 12 安装配置 Fail2Ban 完整指南</title><link>https://blog.lufei.de/p/438/</link><pubDate>Mon, 21 Apr 2025 00:18:11 +0800</pubDate><guid>https://blog.lufei.de/p/438/</guid><description>推荐使用密钥登录 SSH，因其更加安全。如果必须使用密码登录，请务必设置复杂密码，并更改默认的 SSH 端口以减少暴力破解的风险。此外，建议启用 Fail2Ban 来防范暴力破解攻击
更改ssh端口 sudo nano /etc/ssh/sshd_config 找到 #Port 22，更改为其他端口（例如123）：
Port 123 UFW防火墙开放对应端口
sudo ufw allow 123/tcp 重启SSH服务
sudo systemctl restart sshd ⚠️ 重要: 不要关闭当前连接！用新开终端测试 123 端口能否连接，确认成功后再关闭原会话。
安装Fail2Ban 更新系统
sudo apt update sudo apt install fail2ban rsyslog -y 安装 rsyslog，以确保日志文件能够正常生成并供 Fail2Ban 使用
1.3 启动服务
sudo systemctl enable --now fail2ban sudo systemctl enable --now rsyslog 检查服务状态
sudo systemctl status fail2ban sudo systemctl status rsyslog 配置 Fail2Ban
sudo nano /etc/fail2ban/jail.</description></item><item><title>netcup RS1000 初始化配置</title><link>https://blog.lufei.de/p/437/</link><pubDate>Sun, 20 Apr 2025 23:02:20 +0800</pubDate><guid>https://blog.lufei.de/p/437/</guid><description>rs1000德国纽伦堡机器，默认的系统语言是德文，方法如下
安装必要工具
sudo apt update sudo apt install lrzsz wget curl -y 更换系统语言到英文
1、查看当前语言环境
env | grep LANG 2、en表示语言，US表示国家，UTF-8表示编码
export LANG=en_US.UTF-8 3、配置
sudo dpkg-reconfigure locales 在弹出的界面中，使用方向键导航，空格键选择 en_US.UTF-8，确保其被标记为 [ * ] 然后，按 Tab 键选择 ，按 Enter 确认。
接下来，系统会询问默认的系统环境，选择 en_US.UTF-8，同样按 Tab 键选择 ，按 Enter 确认。
4、重启reboot
验证语言更改✅
系统重新启动后，您应该会发现界面和应用程序的语言已更改为英文。您可以打开终端，输入以下命令确认当前语言设置：
echo $LANG 解释：
echo $LANG：输出当前的语言环境变量，验证是否为 en_US.UTF-8。 5、初始化配置
脚本1：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/fortress.sh &amp;amp;&amp;amp; chmod +x fortress.sh &amp;amp;&amp;amp; ./fortress.sh 脚本2：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/menu.sh &amp;amp;&amp;amp; chmod +x menu.</description></item><item><title>优化宝塔面板Redis内存配置</title><link>https://blog.lufei.de/p/436/</link><pubDate>Wed, 16 Apr 2025 10:22:41 +0800</pubDate><guid>https://blog.lufei.de/p/436/</guid><description>宝塔面板后台redis莫名停止运作，导致站点打开出现错误，当我重启redis后，系统负载又飙升，解决办法如下
即时配置调整 # 设置内存上限 redis-cli config set maxmemory 1g # 设置内存淘汰策略 redis-cli config set maxmemory-policy allkeys-lru # 适度提高采样精度 redis-cli config set maxmemory-samples 10 # 永久保存配置 redis-cli config rewrite amh的配置文件路径
/usr/local/redis-6.2/redis.conf 或者使用volatile-lru内存淘汰策略
redis-cli config set maxmemory-policy volatile-lru 开启 active-defrag 机制
redis-cli CONFIG SET activedefrag yes 确认是否已开启：
redis-cli CONFIG GET activedefrag 找出 Redis 中“最大的键”
redis-cli --bigkeys 批量删除这些大 key（谨慎操作）：
redis-cli --scan --pattern &amp;#34;xxxxx.com*&amp;#34; | xargs redis-cli del 脚本删除大 key
curl -sS -O https://raw.</description></item><item><title>the fuck</title><link>https://blog.lufei.de/p/435/</link><pubDate>Tue, 15 Apr 2025 19:29:16 +0800</pubDate><guid>https://blog.lufei.de/p/435/</guid><description> 项目: https://github.com/nvbn/thefuck
ubuntu / debian11 安装命令
sudo apt update sudo apt install python3-dev python3-pip python3-setuptools pip3 install thefuck --user 配置别名
echo &amp;#39;export PATH=&amp;#34;$PATH:/root/.local/bin&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc echo &amp;#39;eval &amp;#34;$(thefuck --alias)&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc debian12
sudo apt install pipx pipx install thefuck 配置别名
echo &amp;#39;export PATH=&amp;#34;$PATH:/root/.local/bin&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc echo &amp;#39;eval &amp;#34;$(thefuck --alias)&amp;#34;&amp;#39; &amp;gt;&amp;gt; ~/.bashrc source ~/.bashrc</description></item><item><title>ufw-docker 防火墙工具</title><link>https://blog.lufei.de/p/434/</link><pubDate>Wed, 09 Apr 2025 00:17:48 +0800</pubDate><guid>https://blog.lufei.de/p/434/</guid><description>项目: https://github.com/chaifeng/ufw-docker
下载 ufw-docker 脚本 sudo wget -O /usr/local/bin/ufw-docker \ https://github.com/chaifeng/ufw-docker/raw/master/ufw-docker chmod +x /usr/local/bin/ufw-docker 使用下列命令来修改 ufw 的 after.rules 文件
ufw-docker install 重载ufw
sudo ufw reload 这个命令做了以下事情：
备份文件 /etc/ufw/after.rules 把 UFW 和 Docker 的相关规则添加到文件 after.rules 的末尾 仅允许特定ip访问 可以在修改前先备份一下当前规则：
sudo iptables-save &amp;gt; ~/iptables-backup-$(date +%F-%H%M%S).bak 这样如果不小心搞坏了，可以快速还原：
查看 ls ~/iptables-backup-*.bak 还原 sudo iptables-restore &amp;lt; ~/iptables-backup-xxx.bak 例如: 仅允许192.168.1.11访问5021端口
sudo iptables -I DOCKER-USER 1 -s 192.168.1.11 -p tcp --dport 5021 -j ACCEPT sudo iptables -I DOCKER-USER 2 -p tcp --dport 5021 -j DROP 注意：5021为容器内部端口，</description></item><item><title>ELK 日志收集与分析系统部署指南</title><link>https://blog.lufei.de/p/433/</link><pubDate>Tue, 08 Apr 2025 11:10:29 +0800</pubDate><guid>https://blog.lufei.de/p/433/</guid><description>什么是 ELK？
ELK 是 Elasticsearch、Logstash 和 Kibana 三个开源项目的首字母缩写，它是一个功能强大的日志收集、分析和可视化平台：
Elasticsearch：分布式搜索和分析引擎，用于存储和快速查询日志数据 Logstash：数据收集和处理引擎，可以从多种来源获取数据，转换数据，然后将其发送到 Elasticsearch Kibana：可视化平台，提供了强大的图表、仪表板和查询功能，用于浏览和分析 Elasticsearch 中的数据 在本指南中，我们使用 Filebeat 代替 Logstash 作为日志收集工具，因此也可以称为 EFK 栈，这种组合更加轻量且适合于单纯的日志收集场景。
关键说明
EFK 栈优势：Filebeat 相比 Logstash 资源占用更低，适合单纯日志收集需求 协同工作流程：Filebeat（采集） → Elasticsearch（存储） → Kibana（分析展示） 典型应用场景：服务器日志监控、应用故障排查、业务数据可视化分析 部署架构 本指南采用双服务器部署架构：
服务器 A：部署 ELK 核心服务（Elasticsearch 和 Kibana） 服务器 B：部署 Nginx 网站和 Filebeat 日志采集工具 A 服务器：部署 ELK 核心服务 推荐2G内存以上
1. 创建 Docker 网络 首先，创建一个名为 logging 的 Docker 网络，用于 Elasticsearch 和 Kibana 容器之间的通信：
docker network create logging 2. 运行 Elasticsearch 容器 启动 Elasticsearch 容器，配置单节点模式并设置适当的内存限制：</description></item><item><title>域名可视化展示面板搭建教程</title><link>https://blog.lufei.de/p/432/</link><pubDate>Sun, 06 Apr 2025 21:46:59 +0800</pubDate><guid>https://blog.lufei.de/p/432/</guid><description>原项目: https://github.com/ypq123456789/domainkeeper
本项目: https://github.com/woniu336/domain-whois
demo(原作者) https://domainkeeper.bacon159.me/
demo 借用原作者的图
前言 在最开始根据原项目搭建的时候，后台提示json错误的坑，问题在于自建whois上，因为我是根据其他项目自建的whois的，我猜测是没有匹配到原项目导致的，所以我更改了部分domainkeeper.js代码, 记录一下搭建的过程。
自建whois 系统debian，一键脚本搞定
curl -sS -O https://raw.githubusercontent.com/woniu336/domain-whois/main/install_whois.sh &amp;amp;&amp;amp; chmod +x install_whois.sh &amp;amp;&amp;amp; ./install_whois.sh 搭建成功后，访问：http://ip:8043/example.com, 输出内容表明安装成功，也可以查ip和ASN的whois信息，
例如：http://ip:8043/8.8.8.8，http://ip:8043/AS135377
绑定域名，这一步最简单
访问cf后台，解析域名，开启cdn，然后找到规则，Origin Rules，创建规则
反代成功！！
搭建面板 登录您的 Cloudflare 账户 创建新的 Worker 将domainkeeper.js脚本内容复制到 Worker 编辑器 https://github.com/woniu336/domain-whois/blob/main/domainkeeper.js 在脚本顶部配置以下变量： const CF_API_KEY = &amp;#34;your_cloudflare_api_key&amp;#34;; const WHOIS_PROXY_URL = &amp;#34;your_whois_proxy_url&amp;#34;; const ACCESS_PASSWORD = &amp;#34;your_frontend_password&amp;#34;; const ADMIN_PASSWORD = &amp;#34;your_backend_password&amp;#34;; CF_API_KEY的获取方式： 登录自己的cloudflare账号，打开https://dash.cloudflare.com/profile
点击API令牌，创建令牌，读取所有资源-使用模板，继续以显示摘要，创建令牌，复制此令牌，保存到记事本，之后不会再显示！
WHOIS_PROXY_URL的获取方式：根据前面成功搭建的whois，你只需要填入http(s)://你的域名
前台密码按需设置，后台密码必须设置。
创建一个 KV 命名空间，命名为DOMAIN_INFO，并将其绑定到 Worker，绑定名称为 DOMAIN_INFO 保存并部署，完结</description></item><item><title>开源的SSL证书管理工具-certimate</title><link>https://blog.lufei.de/p/431/</link><pubDate>Thu, 20 Mar 2025 23:28:41 +0800</pubDate><guid>https://blog.lufei.de/p/431/</guid><description>开源的SSL证书管理工具，可以帮助你自动申请、部署SSL证书，并在证书即将过期时自动续期
https://github.com/certimate-go/certimate
文档： https://docs.certimate.me/docs/introduction/
cloudflare授权管理: https://docs.certimate.me/docs/tutorial/authorization-management#cloudflare-credentials
二进制安装 1 分钟部署 Certimate！
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/deploy_certimate.sh &amp;amp;&amp;amp; chmod +x deploy_certimate.sh &amp;amp;&amp;amp; ./deploy_certimate.sh 浏览器中访问 http://ip:8090。(注意：如果你选择了仅本地访问，是打不开的，需要反向代理)
初始的管理员账号及密码：
账号：admin@certimate.fun 密码：1234567890 卸载脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/uninstall_certimate.sh &amp;amp;&amp;amp; chmod +x uninstall_certimate.sh &amp;amp;&amp;amp; ./uninstall_certimate.sh 常用命令：
##查看服务状态 systemctl status certimate ##停止服务 systemctl stop certimate ##重启服务 systemctl restart certimate ##修改监听地址 nano /etc/systemd/system/certimate.service ##重启生效 systemctl daemon-reload &amp;amp;&amp;amp; systemctl restart certimate caddy反代 nano /etc/caddy/Caddyfile 配置
ssl.xxxx.com { reverse_proxy 127.0.0.1:8090 } 重启生效</description></item><item><title>导航站一键脚本与Docker部署</title><link>https://blog.lufei.de/p/430/</link><pubDate>Sat, 15 Mar 2025 01:28:40 +0800</pubDate><guid>https://blog.lufei.de/p/430/</guid><description>文档: https://github.com/ecouus/E-Nav/blob/main/README.md
后台管理 访问地址：http://您的域名:1239/admin 默认密码：admin 请及时修改默认密码以确保安全 快速部署 方式一：Docker部署（推荐） docker run -d \ --name e-nav \ -p 1239:1239 \ -v $(pwd)/data:/app/data \ --restart unless-stopped \ ecouus/e-nav:latest 更新 docker pull ecouus/e-nav:latest &amp;amp;&amp;amp; docker stop e-nav &amp;amp;&amp;amp; docker rm e-nav &amp;amp;&amp;amp; docker run -d --name e-nav -p 1239:1239 -v $(pwd)/data:/app/data --restart unless-stopped ecouus/e-nav:latest 💡 端口修改说明
-p 1239:1239 中第一个1239可更改为任意未被占用的端口 例如：-p 8080:1239 则使用8080端口访问 💡 挂载路径说明
$(pwd)/data 表示挂载到宿主机当前工作目录的data文件夹下 Docker Compose 部署
下载源文件 sudo apt install git -y &amp;amp;&amp;amp; git clone https://github.</description></item><item><title>使用电报管理你的Cloudflare DNS</title><link>https://blog.lufei.de/p/429/</link><pubDate>Sat, 15 Mar 2025 00:07:53 +0800</pubDate><guid>https://blog.lufei.de/p/429/</guid><description>项目地址 https://github.com/zcp1997/telegram-cf-dns-bot
一键脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cf-dns-bot.sh &amp;amp;&amp;amp; chmod +x cf-dns-bot.sh &amp;amp;&amp;amp; ./cf-dns-bot.sh 快速开始 前置要求
Docker 和 Docker Compose
Telegram Bot Token（从 @BotFather 获取）
Cloudflare API Token（从 Cloudflare 控制面板获取）
域名的 Zone ID（从 Cloudflare 控制面板获取）
通过 @userinfobot 获取您的Telegram 用户 ID
部署方式 以下为手动，可以使用脚本快速部署
创建 docker-compose.yml 文件： services: tg-cf-dns-bot: image: ghcr.io/zcp1997/telegram-cf-dns-bot:latest container_name: tg-cf-dns-bot restart: unless-stopped environment: # Telegram Bot Token - TELEGRAM_TOKEN=your_telegram_token_here # Cloudflare API Token - CF_API_TOKEN=your_api_token_here # 允许访问的 Telegram 用户 ID（逗号分隔），第一个用户是管理员 - ALLOWED_CHAT_IDS=123456789,987654321 # 域名到 Zone ID 的映射（JSON 格式） - &amp;#39;DOMAIN_ZONE_MAP= { &amp;#34;example.</description></item><item><title>使用iptables和ipset配合AbuseIPDB阻止恶意扫描</title><link>https://blog.lufei.de/p/428/</link><pubDate>Thu, 13 Mar 2025 15:29:03 +0800</pubDate><guid>https://blog.lufei.de/p/428/</guid><description>不会对现有的防火墙规则造成负面影响。它采用了独立的链和集合，与现有规则和策略和平共存。即使删除这个黑名单系统，也不会影响其他防火墙规则的正常运行。
脚本 首先安装依赖工具：
apt-get install iptables ipset cron 然后运行以下脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ipblocker.sh &amp;amp;&amp;amp; chmod +x ipblocker.sh &amp;amp;&amp;amp; ./ipblocker.sh 持久化 确保目录存在
mkdir -p /etc/iptables 安装 iptables-persistent 工具（Debian/Ubuntu）：
apt install iptables-persistent 保存规则
iptables-save &amp;gt; /etc/iptables/rules.v4 ipset save banned_ips -f /etc/ipset.conf 验证持久化配置 # 重启系统 reboot # 确认 banned_ips 存在 ipset list banned_ips # 确认 IPTables 规则生效 iptables -L BANNED -n 验证规则 统计规则匹配次数
iptables -L BANNED -n -v -x 手动添加黑名单 ipset add banned_ips 1.</description></item><item><title>防火墙规则设置</title><link>https://blog.lufei.de/p/427/</link><pubDate>Thu, 06 Mar 2025 00:46:02 +0800</pubDate><guid>https://blog.lufei.de/p/427/</guid><description>防火墙设置 保存当前规则（以防万一）
sudo iptables-save &amp;gt; ~/iptables.backup 允许本地回环（lo 接口）
iptables -A INPUT -i lo -j ACCEPT 允许已建立和相关连接（关键！）
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 放行特定端口（如 SSH、HTTP、HTTPS）
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A INPUT -p tcp --dport 80 -j ACCEPT iptables -A INPUT -p tcp --dport 443 -j ACCEPT 默认拒绝其他所有入站流量
iptables -P INPUT DROP 永久保存规则
sudo apt install iptables-persistent sudo netfilter-persistent save sudo netfilter-persistent reload 检查规则是否生效</description></item><item><title>使用ufw防火墙自动检测和防御高频连接攻击</title><link>https://blog.lufei.de/p/426/</link><pubDate>Wed, 05 Mar 2025 21:23:12 +0800</pubDate><guid>https://blog.lufei.de/p/426/</guid><description>功能:
实时监控TCP连接 自动识别异常连接 智能封禁可疑IP段 白名单保护机制 ufw安装 如果已经安装可以滤过，如果没有安装必须正确安装后放行ssh端口，避免ssh连接不上，把自己关门外，推荐使用以下脚本一键安装，自动放行ssh
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_censys_ips.sh &amp;amp;&amp;amp; chmod +x block_censys_ips.sh &amp;amp;&amp;amp; ./block_censys_ips.sh 脚本 提示：脚本中的阈值和白名单可自行调整
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/monitor_and_block.sh &amp;amp;&amp;amp; chmod +x monitor_and_block.sh 创建日志文件 sudo touch /var/log/ip_monitor.log sudo chmod 644 /var/log/ip_monitor.log 后台运行 60秒监控频率
nohup ./monitor_and_block.sh &amp;gt; monitor.out 2&amp;gt;&amp;amp;1 &amp;amp; 查看连接数超过100的IP 正常情况下会看到127.0.0.1、172.19.0.2，是本地回环地址和Docker容器的内部IP地址，大量连接是正常的。
netstat -apn | grep &amp;#39;tcp&amp;#39; | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1 | grep -E &amp;#39;^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$&amp;#39; | sort | uniq -c | awk &amp;#39;$1 &amp;gt; 100 {print $0}&amp;#39; 查看除了白名单之外的高连接数IP netstat -apn | grep &amp;#39;tcp&amp;#39; | awk &amp;#39;{print $5}&amp;#39; | cut -d: -f1 | grep -E &amp;#39;^[0-9]+\.</description></item><item><title>系统调优一键脚本</title><link>https://blog.lufei.de/p/425/</link><pubDate>Mon, 03 Mar 2025 23:13:09 +0800</pubDate><guid>https://blog.lufei.de/p/425/</guid><description>脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tcp_mem.sh &amp;amp;&amp;amp; chmod +x tcp_mem.sh &amp;amp;&amp;amp; ./tcp_mem.sh</description></item><item><title>nginx日志logrotate轮转设置</title><link>https://blog.lufei.de/p/424/</link><pubDate>Sat, 01 Mar 2025 01:34:49 +0800</pubDate><guid>https://blog.lufei.de/p/424/</guid><description>如果不设置轮转，日志会越来越大，可以删除，但更推荐logrotate方式
logrotate 设置步骤：
检查文件所有者
ls -l /data/wwwlogs/ 首先设置日志目录权限： sudo chown root:root /data/wwwlogs/* 创建 logrotate 配置文件： sudo nano /etc/logrotate.d/website_logs 写入以下配置： # access logs /data/wwwlogs/*.access.log { size 500M missingok rotate 7 compress delaycompress notifempty dateext dateformat -%Y%m%d copytruncate create 0644 root root su root root sharedscripts postrotate [ -f /run/nginx/nginx.pid ] &amp;amp;&amp;amp; kill -USR1 $(cat /run/nginx/nginx.pid) endscript } # error logs /data/wwwlogs/*.error.log { size 20M missingok rotate 5 compress delaycompress notifempty dateext dateformat -%Y%m%d copytruncate create 0644 root root su root root sharedscripts postrotate [ -f /run/nginx/nginx.</description></item><item><title>一键屏蔽垃圾爬虫，包括Censys、facebook、SemrushBot、GPTbot</title><link>https://blog.lufei.de/p/423/</link><pubDate>Fri, 28 Feb 2025 15:17:30 +0800</pubDate><guid>https://blog.lufei.de/p/423/</guid><description>使用ufw防火墙
自动安装ufw，已安装的不影响 自动放行ssh已有端口 不影响现有规则 脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_censys_ips.sh &amp;amp;&amp;amp; chmod +x block_censys_ips.sh &amp;amp;&amp;amp; ./block_censys_ips.sh 查看规则
sudo ufw status numbered Censys的 ASN 有三个
AS398722 AS398705 AS398324 如果你使用cf，可以在后台屏蔽
预览
#!/bin/bash # # Censys UFW Blocker # 版本: 1.1.0 # 描述: 自动下载 Censys 扫描器 IP 列表并更新 UFW 防火墙规则 # 最后更新: $(date &amp;#39;+%Y-%m-%d&amp;#39;) # # 设置错误处理 set -e trap &amp;#39;echo &amp;#34;错误发生在第 $LINENO 行&amp;#34;; exit 1&amp;#39; ERR # 定义变量 CENSYS_IP_LIST_URL=&amp;#34;https://support.censys.io/hc/en-us/article_attachments/34972050185876&amp;#34; SCRIPT_DIR=&amp;#34;$(cd &amp;#34;$(dirname &amp;#34;${BASH_SOURCE[0]}&amp;#34;)&amp;#34; &amp;amp;&amp;amp; pwd)&amp;#34; LOG_FILE=&amp;#34;${SCRIPT_DIR}/censys_ufw_update.</description></item><item><title>一键开启zram内存脚本，解决硬盘读写不佳(或容量小)的鸡鸡</title><link>https://blog.lufei.de/p/422/</link><pubDate>Fri, 28 Feb 2025 04:20:58 +0800</pubDate><guid>https://blog.lufei.de/p/422/</guid><description>系统：debian12，claw-jp测试通过
前言 根据友佬@crzax的帖子 https://www.nodeseek.com/post-69126-1
制作的一键开启zram脚本
脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/zram_manager.sh &amp;amp;&amp;amp; chmod +x zram_manager.sh &amp;amp;&amp;amp; ./zram_manager.sh 预览：
===== zRAM 管理工具 ===== 1. 安装并配置zRAM 2. 卸载zRAM 3. 查看系统状态 4. 验证zRAM运行状态 0. 退出 请选择操作 [0-4]: 查看状态：
===== 系统状态 ===== &amp;gt;&amp;gt; 物理内存大小：0GB &amp;gt;&amp;gt; SWAP状态： NAME TYPE SIZE USED PRIO /swapfile file 1024M 0B -2 /dev/zram0 partition 923M 0B 100 &amp;gt;&amp;gt; 块设备信息： NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS zram0 252:0 0 923M 0 disk [SWAP] vda 254:0 0 20G 0 disk ├─vda1 254:1 0 19.</description></item><item><title>简易跳板机工具lssh，附安装脚本</title><link>https://blog.lufei.de/p/421/</link><pubDate>Wed, 19 Feb 2025 16:11:02 +0800</pubDate><guid>https://blog.lufei.de/p/421/</guid><description>使用场景：一对密钥维护多台机子，备份好配置，被控小鸡密钥丢了也没事
项目 Github: https://github.com/blacknon/lssh/
wiki: https://github.com/blacknon/lssh/wiki/Config
脚本 在debian11测试通过
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ilssh.sh &amp;amp;&amp;amp; chmod +x ilssh.sh &amp;amp;&amp;amp; ./ilssh.sh 配置 默认密钥登录
参考模板: https://github.com/woniu336/open_shell/blob/main/.lssh.conf
添加主机 [common] 代表通用配置，主机配置可以覆盖通用配置
port = &amp;#34;22&amp;#34; #假设所有主机默认ssh端口为22，可以是其他端口 user = &amp;#34;root&amp;#34; #默认用户root key = &amp;#34;~/.ssh/id_rsa&amp;#34; #默认密钥路径 pre_cmd = &amp;#34;echo &amp;#39;SSH连接中。。。&amp;#39;&amp;#34; #连接前执行的命令，可以是其他命令 post_cmd = &amp;#34;find /root/log/lssh -mindepth 2 -maxdepth 2 -type d -name &amp;#39;logdir&amp;#39; -exec sh -c &amp;#39;cd \&amp;#34;{}\&amp;#34; &amp;amp;&amp;amp; ls -t | tail -n +2 | xargs rm -f&amp;#39; \\;&amp;#34; #退出后的命令 [server.</description></item><item><title>数据库导入设置</title><link>https://blog.lufei.de/p/420/</link><pubDate>Mon, 17 Feb 2025 15:11:52 +0800</pubDate><guid>https://blog.lufei.de/p/420/</guid><description>进入数据库命令行终端
mysql -u root -p 查看所有数据库：
SHOW DATABASES; 查看当前用户权限:
SHOW GRANTS; 删除数据库，你可以使用以下 SQL 命令：
DROP DATABASE 123; 使用以下命令来恢复数据库：
# 进入备份目录 cd /www/backup/database # 导入数据库（使用 mysql 命令） mysql -u root -p 123 &amp;lt; 123.sql 验证表是否已经创建：
mysql -u root -p 执行以下命令检查：
USE 123; SHOW TABLES;</description></item><item><title>haproxy调优记录</title><link>https://blog.lufei.de/p/418/</link><pubDate>Sat, 15 Feb 2025 19:56:23 +0800</pubDate><guid>https://blog.lufei.de/p/418/</guid><description>一键脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ophaproxy.sh &amp;amp;&amp;amp; chmod +x ophaproxy.sh &amp;amp;&amp;amp; ./ophaproxy.sh 验证
ulimit -n haproxy脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/bt-cf/haproxy/setup_haproxy.sh &amp;amp;&amp;amp; chmod +x setup_haproxy.sh &amp;amp;&amp;amp; ./setup_haproxy.sh 验证
sudo haproxy -c -f /etc/haproxy/haproxy.cfg 可以根据服务器核心数设置nbthread 1参数，例如4核心，则是nbthread 4
检查 HAProxy 服务状态：
systemctl status haproxy 重启
systemctl restart haproxy TCP蜜汁调优
sudo sed -i &amp;#39;/tcp_init_cwnd/d&amp;#39; /etc/sysctl.conf sudo sysctl -p ssh连接优化
# 配置 PAM if grep -q &amp;#34;^UsePAM&amp;#34; /etc/ssh/sshd_config; then sed -i &amp;#39;s/^UsePAM.*/UsePAM yes/&amp;#39; /etc/ssh/sshd_config else echo &amp;#34;UsePAM yes&amp;#34; &amp;gt;&amp;gt; /etc/ssh/sshd_config fi # 禁用 X11 转发 if grep -q &amp;#34;^X11Forwarding&amp;#34; /etc/ssh/sshd_config; then sed -i &amp;#39;s/^X11Forwarding.</description></item><item><title>一个基于 Cloudflare API 的 DNS: 宕机自动切换ip脚本</title><link>https://blog.lufei.de/p/417/</link><pubDate>Fri, 14 Feb 2025 15:15:23 +0800</pubDate><guid>https://blog.lufei.de/p/417/</guid><description>一个基于 Cloudflare API 的智能 DNS 故障转移解决方案，当主服务器宕机时自动切换到备用 IP。
curl -sS -O https://raw.githubusercontent.com/woniu336/dns-update/main/dns_menu.sh &amp;amp;&amp;amp; chmod +x dns_menu.sh &amp;amp;&amp;amp; ./dns_menu.sh Github: https://github.com/woniu336/dns-update
预览：
┌─────────────────────────────────────────┐ │ Cloudflare 宕机切换IP脚本 │ │ 博客:https://woniu336.github.io │ ├─────────────────────────────────────────┤ │ 1. 安装依赖 │ │ 2. 设置 Cloudflare 配置 │ │ 3. 设置钉钉机器人配置 │ │ 4. 启动 DNS 更新脚本 │ │ 5. 查看运行状态 │ │ 6. 停止 DNS 更新脚本 │ │ 7. 切换 CDN 状态 │ │ 8. 设置服务器备注 │ │ 9.</description></item><item><title>宝塔面板安全之后台访问限制</title><link>https://blog.lufei.de/p/416/</link><pubDate>Thu, 13 Feb 2025 16:33:49 +0800</pubDate><guid>https://blog.lufei.de/p/416/</guid><description>推荐，一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ipwl.sh &amp;amp;&amp;amp; chmod +x ipwl.sh &amp;amp;&amp;amp; ./ipwl.sh 如果遇到错误提示：
sudo mkdir -p /etc/mysql sudo touch /etc/mysql/mariadb.cnf sudo dpkg --configure -a 虽然后台可以设置特定ip访问，但是权限不同，我使用ufw方式限制。
安全提醒：
不要追求市面上最新版的开心版，各种安装开心版的脚本，有没有加料无法分辨。 不需要phpMyAdmin的，可以移除888端口 改默认22端口，使用密钥登录服务器 脚本：前提你已经安装并正确启用了ufw
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ufw-port.sh &amp;amp;&amp;amp; chmod +x ufw-port.sh &amp;amp;&amp;amp; ./ufw-port.sh 添加后台端口，添加可以访问的ip即可。
手动设置 首先，删除现有的相关规则（假设规则编号是 36 和 37）：
sudo ufw delete 36 sudo ufw delete 37 添加两个允许规则, 例如33333端口
sudo ufw allow from 192.168.1.101 to any port 33333 sudo ufw allow from 192.168.1.102 to any port 33333 添加默认拒绝规则：</description></item><item><title>网站安全之限制ip回源，附一键脚本</title><link>https://blog.lufei.de/p/415/</link><pubDate>Thu, 13 Feb 2025 14:57:39 +0800</pubDate><guid>https://blog.lufei.de/p/415/</guid><description>使用场景 场景1：凡是站点开启了cloudflare cdn的都适用。
场景2：B机反代了A机，那么在A机添加B机白名单。
场景3：套娃模式，B机反代了A机，C机转发了B机80、443端口，那么在B机添加C机白名单。
场景4：仅特定ip访问：在没有开启cf代理的情况下，添加本地或者你FQ的ip，也就是仅仅你自己可以访问。
脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cloudflare-only.sh &amp;amp;&amp;amp; chmod +x cloudflare-only.sh &amp;amp;&amp;amp; ./cloudflare-only.sh 使用要点：先执行菜单1，再执行菜单2，添加白名单。</description></item><item><title>主流搜索引擎的IP范围</title><link>https://blog.lufei.de/p/413/</link><pubDate>Thu, 13 Feb 2025 13:45:04 +0800</pubDate><guid>https://blog.lufei.de/p/413/</guid><description> Google：Googlebot IP列表 Bing：Bingbot IP列表</description></item><item><title>Nginx+CF+宝塔三剑客带你起飞</title><link>https://blog.lufei.de/p/412/</link><pubDate>Wed, 12 Feb 2025 03:08:58 +0800</pubDate><guid>https://blog.lufei.de/p/412/</guid><description>前言 个人网站搭建在多数情况下，基本是单台服务器托管多个站点，
长期以来我都是这样建站的，因为简单，但是
源站直接暴露在公网，面临 DDoS、CC 攻击或恶意扫描的风险，以下有三种方案可供参考
添加b服务器，做站点目录同步和数据库主从同步，域名解析到b
添加b服务器，使用nginx反代源站
不需要额外机子，源站开启cf代理，这种方式最便捷省事
先说第一种，配置比较繁琐，这种方式我使用了一段时间，博客有介绍，但涉及到数据库的操作，容易误操作，弃之，
第二种后面再说，先说第三种，cf虽然速度欠佳，但配置好缓存整体还是可以的，
但是假设你有dmca数字千年版权法的困扰（尤其影视站），单台服务器是不行的，避免商家收到投诉停机。
总之，你还是需要b服务器。那么可不可以结合一下，nginx反代的同时开启cf代理呢，答案是没问题
优势： 提升安全性：源站 IP 隐匿，避免成为直接攻击目标。 低成本防护：结合 Cloudflare 免费防护，无需源站改造。 整活 debian11, 宝塔面板7.7.0
在b服务器安装宝塔面板，推荐安装原版，可解除手机登录，不要安装什么开心版。推荐以下脚本安装
curl -sSO https://raw.githubusercontent.com/8838/btpanel-v7.7.0/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh 1，屏蔽手机号
sed -i &amp;#34;s|bind_user == &amp;#39;True&amp;#39;|bind_user == &amp;#39;XXXX&amp;#39;|&amp;#34; /www/server/panel/BTPanel/static/js/index.js 2，删除强制绑定手机 js 文件
rm -f /www/server/panel/data/bind.pl 3.安装好之后，仅仅需要安装nginx即可，需要到软件商店里查找nginx，然后安装1.27版本，使用编译的方式安装
假设用户访问的域名是a.com, b.com是源站域名，b.com可开启cf代理（推荐），也可不开代理，但是需要配置好证书，
然后添加a.com站点，
接着使用以下配置覆盖nginx1.27配置，保存重启nginx。
https://github.com/woniu336/open_shell/blob/main/bt-cf/nginx.conf
接着使用以下配置覆盖a.com站点
https://github.com/woniu336/open_shell/blob/main/bt-cf/http.conf
把a.com替换成用户访问的域名，b.com替换成源站域名即可
把a.com解析到这台机子ip，开启cf小黄云，搞定！
实测和源站开启cf代理并无明显差异
你可能觉得直接在抗版权的机子上建站，再开启cf代理不就完事了。这样的好处是不动源站，不想再繁琐的部署站点。
但是还是回到前面说的隐藏源站，提高安全性的话题，最重要的一点是下面我将提到的进阶玩法，
请不要觉得这样建站不正经，恰恰相反，cdn和负载均衡是不是更折腾，在你看来是不是更不正经都是瞎折腾，
不管是cdn还是反代，原理都是差不多的。
我们求稳的同时，也要居安思危，万一雷来了，好应付。
那如果a.com不开cf代理呢？流程如下：
nginx配置还是使用前面给的覆盖，a.com申请好证书，然后使用以下配置覆盖站点，
https://github.com/woniu336/open_shell/blob/main/bt-cf/https.conf
把a.com替换成主域名，b.com替换成源站域名,
最后a.com解析到本机ip（即b服务器）
进阶玩法 尽管开启cf代理带来了稳定性，但如果我想要追求速度呢，也就是源站开启cf代理，a.com直接解析到线路机。
开整：
同样在宝塔面板新建a.com，申请证书，推送使用以下脚本申请，适配宝塔面板,自动续期</description></item><item><title>将托管在Github上的博客同步到vps教程</title><link>https://blog.lufei.de/p/411/</link><pubDate>Tue, 11 Feb 2025 13:17:06 +0800</pubDate><guid>https://blog.lufei.de/p/411/</guid><description>前言 我使用hugo搭建博客，记录一些技术、经验、踩坑，已有567天，博客部署在vercel，使用的是官方的cname：cname.vercel-dns.com，访问速度不佳，
鉴于手头上小鸡多，何不把博客同步到vps，这样当本地写完文章，推送到Github的时候，同时也同步到了小鸡上。
教程 原理：使用 rsync，配置 Actions 脚本同步
1.安装 rsync
登录远程服务器，键入以下命令来完成 rsync 的安装：
sudo apt install rsync 2.新建 rsync 用户
sudo adduser rsyncer 创建用户的途中会要求设置用户密码，其它配置使用默认值直接回车就行。
然后会在/home目录生成一个rsyncer文件夹，记住这个文件夹。
3.本地生成 SSH key
然后在你的电脑上生成一个 Key 对，其中一个扩展名是.pub，是公钥。假设分别命名为：id_rsa 和 id_rsa.pub
ssh-keygen -q -t rsa -b 4096 -C &amp;#34;阿弥托福&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/id_rsa 打开 id_rsa.pub, 复制里面的内容，稍后需要用到，
4.将公钥添加到vps 登录你的服务器，逐个输入以下代码
su rsyncer # 要输入密码 cd ~ mkdir -p www .ssh chmod 700 .ssh touch .ssh/authorized_keys chmod 600 .ssh/authorized_keys vim .ssh/authorized_keys # 用文本编辑器打开 `id_rsa.</description></item><item><title>反代cloudflare之宝塔面板</title><link>https://blog.lufei.de/p/410/</link><pubDate>Thu, 06 Feb 2025 02:10:00 +0800</pubDate><guid>https://blog.lufei.de/p/410/</guid><description>debian11 测试通过
优化脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/menu.sh &amp;amp;&amp;amp; chmod +x menu.sh &amp;amp;&amp;amp; ./menu.sh 首先安装宝塔面板 以下脚本安装的是宝塔原版7.7.0版本，可以解除手机号登录
安装bt curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tp.sh &amp;amp;&amp;amp; chmod +x tp.sh &amp;amp;&amp;amp; ./tp.sh 或者使用以下脚本
curl -sSO https://raw.githubusercontent.com/8838/btpanel-v7.7.0/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh 1，屏蔽手机号
sed -i &amp;#34;s|bind_user == &amp;#39;True&amp;#39;|bind_user == &amp;#39;XXXX&amp;#39;|&amp;#34; /www/server/panel/BTPanel/static/js/index.js 2，删除强制绑定手机js文件
rm -f /www/server/panel/data/bind.pl 使用编译的方式安装nginx1.27版本
获取真实访客ip：
pip3 install requests wget https://raw.githubusercontent.com/woniu336/open_shell/main/update_cf_ips.py chmod +x update_cf_ips.py python3 update_cf_ips.py 定时任务
(crontab -l ; echo &amp;#34;0 0 */15 * * python3 update_cf_ips.</description></item><item><title>我找到了建站的绝佳方案</title><link>https://blog.lufei.de/p/408/</link><pubDate>Sun, 02 Feb 2025 15:34:44 +0800</pubDate><guid>https://blog.lufei.de/p/408/</guid><description>折腾了N个方案后，终于找到了这个堪称完美的建站架构！仅是我个人经验，你也许有更好的方法，也可以分享出来，此方案目前稳定运行，速度和安全都得到了极大提升。
配置结构 原理：网站部署在netcup，找一台美西（bagevm）的落地鸡（即反代鸡）做反向代理，然后使用dmit的29.9线路鸡转发落地鸡的80和443端口
线路鸡可以看成多个节点，多个节点转发落地鸡
甚至可以DNS解析到三大运营商上，让吃灰小鸡不再只是探针上的点缀。
项目地址 https://github.com/woniu336/cf-cdn-s
💡 方案亮点 源站安全性MAX：CF 小云朵守护，黑客见了都摇头 高可用性：任何一层出问题都能快速切换，像变魔术一样简单 灵活扩展：手上闲置小鸡可以随时加入战斗，物尽其用！ 一键部署：从繁琐配置到一键搞定，解放双手 🆚 方案对比 原始方案：单机部署 优点：简单直接 缺点：一旦宕机就GG，重新配置太痛苦 吐槽：这就像把所有鸡蛋放在一个篮子里，太冒险了！ 对此方案展开一下：你可能是使用了线路好的机子，但是配置一般都低，流量也少，高配大流量需加钱。
又或者你开启了cloudflare的小云朵，觉得这样最简单，没那么多事，但是速度嘛，稳定固然重要，但是我们还要追求速度。
进阶方案：双机互备 优点：有了基础容灾能力 缺点：配置繁琐，速度提升有限 吐槽：好比给汽车加了个备胎，但还是跑不快&amp;hellip; 两台机子架构，网站部署在A鸡，B鸡做反向代理，反代鸡挂了，需要重新部署nginx，配置站点文件，有些繁琐，
或者你反代鸡开启了cloudflare的小云朵，但是嘛速度又没有了。
我的方案 源站（配置 CF 小云朵）：坚如磐石的基础 美西反代：可靠的中转枢纽 线路机转发：分布式加速网络 基础配置三台机子起，网站部署在nc，或者ovh、hz这些公认稳定的商家，你需要至少两个域名，
例如，111.xyz域名解析到源站，开启cloudflare小云朵，这是第一层，起到了保护网站的作用！
然后找一台普通线路的美西机子做反向代理，为什么是美西，这个要看你的线路鸡是哪里的，如果你使用的是香港线路鸡转发，那么反代鸡可以是香港的普通线路，接着，线路鸡使用haproxy转发反代鸡的80和443端口，222.com（用户访问的域名）解析到线路鸡。
你可能会问：优势在哪，不是更繁琐了，让我介绍介绍。
首先你的源站开启了小云朵，稳定性大大增加，然后反代鸡的普通线路流量又多， 但是如果反代鸡挂了怎么办，这个很好解决，事先备份好证书和站点配置文件，换一台机子重新安装nginx，重启即可还原。 线路鸡起到了加速的作用，一台线路鸡挂了，可以在新的机子上一键部署，非常简单就搞定了。线路鸡流量少，但是也阻止不了你手上小鸡多啊， 多个小鸡转发80和443到反代鸡上，流量均分。 🚀 部署教程 首先你需要一个解析到网站的垃圾域名，并托管在cf，开启了小云朵（cdn），这个域名不是用户访问的域名，我管这个域名叫后端域名，所以，这一步就是那么简单。 举例，后端域名：111.xyz（后端域名），222.com（用户访问的域名）
找两台机子，普通机和线路机。 普通机做反向代理，首先要安装nginx，务必使用我的一键安装nginx脚本，因为nginx配置繁琐，稍有差池就会出错，
curl -sS -O https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/cf-cdn-s.sh &amp;amp;&amp;amp; chmod +x cf-cdn-s.sh &amp;amp;&amp;amp; ./cf-cdn-s.sh 选择菜单2安装nginx。
然后就是证书的申请，注意使用用户访问的域名来申请证书。
下载配置文件，菜单3
配置站点。
获取用户真实ip
curl -sS -O https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/update_nginx.sh &amp;amp;&amp;amp; chmod +x update_nginx.</description></item><item><title>cloudflare + 反向代理 + haproxy</title><link>https://blog.lufei.de/p/407/</link><pubDate>Wed, 29 Jan 2025 03:27:09 +0800</pubDate><guid>https://blog.lufei.de/p/407/</guid><description>原理：源站开启cf 小云朵，落地机反代源站，线路机中转落地机
注意：源站域名要在cf后台关闭自动程序，waf放行落地机ip
项目：https://github.com/woniu336/cf-cdn-s
项目2：https://github.com/woniu336/cf-cdn
优化脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/menu.sh &amp;amp;&amp;amp; chmod +x menu.sh &amp;amp;&amp;amp; ./menu.sh 放行端口
ufw allow 80/tcp ufw allow 443/tcp 应用
sudo ufw reload 查看规则
sudo ufw status numbered 删除缓存
sudo rm -rf /usr/local/nginx/cache/proxy/* 快速部署 在反代服务器上执行：
curl -sS -O https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/cf-cdn-s.sh &amp;amp;&amp;amp; chmod +x cf-cdn-s.sh &amp;amp;&amp;amp; ./cf-cdn-s.sh 先安装nginx，如果要添加www，在配置文件这样表示：server_name 123.cc www.123.cc;
查看缓存大小：
du -sh /usr/local/nginx/cache/proxy 证书配置 单账号配置 如果所有域名都在同一个 Cloudflare 账号下：
创建凭证文件： mkdir -p /root/.secrets &amp;amp;&amp;amp; nano /root/.secrets/cloudflare.ini 添加 API Token： dns_cloudflare_api_token = 你的cloudflare_api_token 多账号配置 如果使用多个 Cloudflare 账号：</description></item><item><title>反向代理开启了cloudflare cdn的站点玩法</title><link>https://blog.lufei.de/p/406/</link><pubDate>Fri, 24 Jan 2025 23:24:18 +0800</pubDate><guid>https://blog.lufei.de/p/406/</guid><description>精心制作的专门反代开启了cf小云朵的站点，当然也可以直接反代源站， 不需要知道源站ip，多个后端的玩法才需要ip。 理论上可以反代任何网站，只要对方不屏蔽你
脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/menu.sh &amp;amp;&amp;amp; chmod +x menu.sh &amp;amp;&amp;amp; ./menu.sh 脚本特色 使用dns方式申请证书，支持多域名，自动续期
一键安装部署nginx，默认配置经过精心优化
默认开启了proxy缓存，速度飞跃
隐藏了某些响应头信息，出于安全考虑
开启了sni支持,避免被优选拿去干正经事
还有很多就不列举了。。。
脚本截图
SSL证书管理菜单 ================================================= 1. 申请SSL证书 2. 查看证书状态 3. 手动续期证书 0. 返回主菜单 ================================================= 请输入选项 [0-3]: nginx
Nginx 管理脚本 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1) 安装 Nginx 2) 卸载 Nginx 3) 重启 Nginx 4) 查看 Nginx 状态 0) 退出脚本 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 请输入选项 [0-4]: 反向代理
================================================= 反向代理管理菜单 ================================================= 1. 反代 Cloudflare 2. 反代源站 3. 删除反代 0. 返回主菜单 ================================================= 请输入选项 [1-4]: 直接进入正题：</description></item><item><title>haproxy端口转发脚本</title><link>https://blog.lufei.de/p/405/</link><pubDate>Fri, 24 Jan 2025 00:54:55 +0800</pubDate><guid>https://blog.lufei.de/p/405/</guid><description>haproxy主要是用于负载均衡的，在并发和性能方面优于nginx，当然用来做转发也是他的特色之一！
我用过iptables、nftables，Realm,这三个转发脚本我都有制作，至于谁更优秀，没有专业测试过，大差不差。
后期我可能倾向于haproxy，因为添加多个后端实在太简单了~
快速部署 使用以下命令一键部署 HAProxy 管理脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/haproxy_manager.sh &amp;amp;&amp;amp; chmod +x haproxy_manager.sh &amp;amp;&amp;amp; ./haproxy_manager.sh 管理界面 脚本提供直观的命令行界面：
╔════════════════════════════════╗ ║ HAProxy 管理脚本 ║ ╠════════════════════════════════╣ ║ 1. 安装 HAProxy ║ ║ 2. 添加端口转发 ║ ║ 3. 查看现有转发 ║ ║ 4. 编辑配置文件 ║ ║ 5. 卸载 HAProxy ║ ║ 0. 退出 ║ ╚════════════════════════════════╝ 获取真实客户端 IP 在使用 HAProxy 作为反向代理时，后端服务器的日志默认只能看到 HAProxy 的 IP。
如果你不需要查看日志，不需要统计，可以忽略以下内容。 如果你要获取真实的客户端 IP，需要进行以下配置： 1. HAProxy 配置 在 /etc/haproxy/haproxy.cfg 的后端配置中添加 send-proxy 参数，例如转发80端口</description></item><item><title>斯巴达、猫彦祖v.ps、claw-jp、vmiss-英国，高峰期表现</title><link>https://blog.lufei.de/p/404/</link><pubDate>Sat, 18 Jan 2025 23:53:40 +0800</pubDate><guid>https://blog.lufei.de/p/404/</guid><description>斯巴达西雅图： 电信：延迟表现中等，稳定性较好
联通：延迟较为稳定，表现最好
移动：延迟普遍偏高，波动较大
总结：对延迟要求不苛刻的联通用户，电信用户其次,不建议移动用户使用
================================================
v.ps猫彦祖： 适合所有用户： 三网表现都非常优秀 丢包率全部为0% 延迟稳定，波动小
总结：三网优秀
claw-日本： 电信：仍保持较低延迟，但丢包率上升
联通：表现明显恶化，不再推荐使用
移动：严重恶化，不建议使用
总结：该机器性能明显下滑，已不再适合作为主力使用，建议仅作为电信用户的备用节点。
================================================
vmiss-伦敦9929 电信：延迟良好，丢包率低，表现稳定
联通：延迟优秀，零丢包，
移动：延迟普遍较高
总结：首选联通用户，电信用户也可以获得不错的体验，但移动用户建议避开
==================
总结建议： 电信用户 → 选择v.ps猫彦祖或vmiss伦敦
联通用户 → 选择vmiss伦敦或v.ps猫彦祖
移动用户 → 首选v.ps猫彦祖
特别提醒：斯巴达西雅图整体表现一般，建议作为备用节点使用。</description></item><item><title>Nginx 常用命令和操作</title><link>https://blog.lufei.de/p/403/</link><pubDate>Tue, 14 Jan 2025 02:56:31 +0800</pubDate><guid>https://blog.lufei.de/p/403/</guid><description>查看缓存大小：
du -sh /usr/local/nginx/cache/proxy 下载清理缓存脚本
cd /usr/local/bin &amp;amp;&amp;amp; curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/clean_nginx_cache.sh &amp;amp;&amp;amp; chmod +x clean_nginx_cache.sh 定时任务: 每周日凌晨3点执行
(crontab -l ; echo &amp;#34;0 3 * * 0 /usr/local/bin/clean_nginx_cache.sh&amp;#34;) | crontab - 日志分析，包含统计网站的总数据流量、请求数、和各个IP的具体数
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/log_analysis.sh &amp;amp;&amp;amp; chmod +x log_analysis.sh &amp;amp;&amp;amp; ./log_analysis.sh 开启了cf cdn如何获取真实ip
pip3 install requests wget https://raw.githubusercontent.com/woniu336/cf-cdn-s/main/update_cloudflare_ips.py chmod +x update_cloudflare_ips.py python3 update_cloudflare_ips.py 定时任务
(crontab -l ; echo &amp;#34;0 0 */15 * * python3 update_cloudflare_ips.py &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab - RPS分析</description></item><item><title>反向代理SNI验证测试</title><link>https://blog.lufei.de/p/402/</link><pubDate>Mon, 13 Jan 2025 02:10:12 +0800</pubDate><guid>https://blog.lufei.de/p/402/</guid><description>假设反代IP是9.9.9.9，加速域名是789.com, 注意：不是源站域名
测试正确域名
curl --tlsv1.2 https://9.9.9.9:443 --resolve 789.com:443:9.9.9.9 --insecure -H &amp;#34;Host: 789.com&amp;#34; -v 或者
curl --tls-max 1.2 https://789.com:443 --connect-to 789.com:443:9.9.9.9:443 --insecure -v 返回网页内容
测试错误域名
提示：如果源站未启用http/2，需要添加--http1.1参数，启用了是类似这样的： listen 443 ssl http2;
curl --tlsv1.2 https://9.9.9.9:443 --resolve wrong.domain.com:443:9.9.9.9 --insecure -H &amp;#34;Host: wrong.domain.com&amp;#34; -v 添加 &amp;ndash;http1.1 参数的命令
curl --tlsv1.2 --http1.1 https://9.9.9.9:443 --resolve wrong.domain.com:443:9.9.9.9 --insecure -H &amp;#34;Host: wrong.domain.com&amp;#34; -v 或者
curl --tls-max 1.2 --http1.1 https://wrong.domain.com:443 --connect-to wrong.domain.com:443:9.9.9.9:443 --insecure -v 服务器返回空响应
Connection #0 to host 9.9.9.9 left intact curl: (52) Empty reply from server</description></item><item><title>AMH清理数据库日志</title><link>https://blog.lufei.de/p/401/</link><pubDate>Sun, 12 Jan 2025 16:29:40 +0800</pubDate><guid>https://blog.lufei.de/p/401/</guid><description>原因 在备份站点的时候如果开启MySQL二进制日志，备份压缩包会比较大，而且很占磁盘空间
如果没有数据库主从复制需求，或者数据库分析，那么可以关闭二进制日志
设置可执行目录
amh面板需要设置可执行目录才能执行脚本，例如将/root/test/设置为可执行目录
mkdir -p /root/test/ amh amcrontab set_sh /root/test/ 脚本 下载脚本到可执行目录（注意mysql版本必须是：mysql-generic-5.7 ）
cd /root/test/ wget -O clean_mysql_logs.sh https://raw.githubusercontent.com/woniu336/open_shell/main/clean_mysql_logs.sh chmod +x clean_mysql_logs.sh 脚本功能：删除旧的二进制日志，保留最新的5个日志
添加定时任务
后台添加定时任务：确保将脚本下载到可执行目录/root/test,这是amh特色
amh amcrontab run_sh /root/test/clean_mysql_logs.sh</description></item><item><title>amh还原站点出现redis问题</title><link>https://blog.lufei.de/p/400/</link><pubDate>Sat, 11 Jan 2025 20:58:13 +0800</pubDate><guid>https://blog.lufei.de/p/400/</guid><description>站点使用了redis6.2作为缓存，在还原数据时出现网站打开错误，以下是解决方案
错误提示： MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
简单来说：Redis 无法保存数据快照(RDB)到磁盘，导致所有写入命令被禁用。
临时生效 当 Redis 在保存数据快照（RDB）失败时，设置 stop-writes-on-bgsave-error no 表示允许 Redis 继续接受写入操作，但代价是可能会丢失一些数据。
查找 redis-cli 的位置</description></item><item><title>一个优雅的 VPS 到期日期监控工具</title><link>https://blog.lufei.de/p/399/</link><pubDate>Sat, 11 Jan 2025 01:49:17 +0800</pubDate><guid>https://blog.lufei.de/p/399/</guid><description>一个优雅的 VPS 到期日期监控工具，再也不用担心 VPS 续费超期了！通过 Telegram 机器人推送到期提醒，轻松管理多台服务器。
之前发过帖子，功能上还不太行，这次重新打造
项目： https://github.com/woniu336/vps-date
特色功能 🤖 支持 Telegram 机器人通知（3天内到期触发通知） ⏰ 自动定时检查（每天早8点和晚8点） 📊 支持批量管理多台服务器 🔔 灵活的提醒时间配置，按固定日期还是每月循环 💻 支持 GitHub Actions 自动运行 🔔多币种汇率更新，免费的API，不要频繁使用 快速开始 下载项目到本地，双击运行 (本地要安装python)
run_manager.bat ⚠️ 注意：项目有一个bug，vps名称不能用中文，使用中文脚本会报错，你可以在设置好以后退出脚本，在index.html改成中文名称即可，
后续不影响使用
⚠️ 前端可点击index.html查看，脚本集成了一键推送到Giuhub
有两个地方需要手动修改，
修改vps_manager.py 第53行，修改成你的监控地址，作用是仅在tg通知底部展示 把config.example.json重命名为config.json，目的是测试通知，注意只有即将到期才会触发通知 3. 通知部署 Fork 本仓库 在仓库设置中添加以下 Secrets： TELEGRAM_BOT_TOKEN: 您的 Telegram 机器人 token TELEGRAM_CHAT_ID: 您的 Telegram 聊天 ID Actions 会自动在每天早8点和晚8点（北京时间）运行检查 4. 钉钉通知 下载ding_monitor.py到服务器上运行即可
wget https://raw.githubusercontent.com/woniu336/vps-date/main/ding_monitor.py 赋予执行权限
chmod +x ding_monitor.py 安装依赖 pip install requests 修改脚本，添加钉钉通知</description></item><item><title>AMh备份数据到网盘</title><link>https://blog.lufei.de/p/398/</link><pubDate>Thu, 09 Jan 2025 06:38:20 +0800</pubDate><guid>https://blog.lufei.de/p/398/</guid><description>利用rclone结合cloudflare r2，实现amh面板定时备份或者还原站点所有数据
定时备份，保留本地和r2最新10个备份文件 还原：可以设置定时还原最新的备份 安装 rclone sudo -v ; curl https://rclone.org/install.sh | sudo bash 编辑 rclone.conf 配置
mkdir -p /home/www/.config/rclone/ touch /home/www/.config/rclone/rclone.conf nano /home/www/.config/rclone/rclone.conf 填入以下信息 (改成你的r2密钥)
[r2] type = s3 provider = Cloudflare access_key_id = xxxx secret_access_key = xxxx region = auto endpoint = https://xxxxxx.r2.cloudflarestorage.com 复制到root目录
mkdir -p /root/.config/rclone/ cp /home/www/.config/rclone/rclone.conf /root/.config/rclone/ 设置可执行目录 amh面板需要设置可执行目录才能执行脚本，例如将/root/test/设置为可执行目录
mkdir -p /root/test/ amh amcrontab set_sh /root/test/ 下载脚本到可执行目录
cd /root/test/ wget -O backup_amh.sh https://raw.githubusercontent.com/woniu336/open_shell/main/backup_amh.sh wget -O restore_amh.</description></item><item><title>AMh面板设置</title><link>https://blog.lufei.de/p/397/</link><pubDate>Thu, 09 Jan 2025 02:34:52 +0800</pubDate><guid>https://blog.lufei.de/p/397/</guid><description>如果开启了cf的cdn,需要获取到用户真实ip,则需要用到nginx的realip模块
我使用的是nginx-generic-1.24通用版
在amh中，nginx-generic-1.24通用版没有编译realip模块
安装amh
wget https://dl.amh.sh/amh.sh &amp;amp;&amp;amp; bash amh.sh nginx-generic-1.24,mysql-generic-5.7,php-generic-7.4 Nginx编译 首先查询nginx.conf所在目录
find /etc/nginx /usr/local/nginx* /usr/local/etc/nginx -name nginx.conf 2&amp;gt;/dev/null 下载 Nginx 源代码:
wget http://nginx.org/download/nginx-1.24.0.tar.gz tar -zxvf nginx-1.24.0.tar.gz cd nginx-1.24.0 配置编译选项:
./configure --prefix=/usr/local/nginx-generic-1.24 --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_gzip_static_module 编译并安装:
make sudo make install 重新加载 Nginx 配置，或者后台重启nginx
amh nginx reload PATH 环境变量 将 Nginx 的 sbin 目录添加到 PATH 环境变量 (可选):
编辑 ~/.bashrc
nano ~/.bashrc 并在其中添加以下行：
export PATH=$PATH:/usr/local/nginx-generic-1.24/sbin 使其生效
source ~/.bashrc 模块查询 realip模块</description></item><item><title>SpeedTest-EX 一键安装脚本</title><link>https://blog.lufei.de/p/396/</link><pubDate>Tue, 07 Jan 2025 23:47:44 +0800</pubDate><guid>https://blog.lufei.de/p/396/</guid><description>项目 Github：https://github.com/WJQSERVER/speedtest-ex
脚本：根据wjqserver大佬的项目制作的脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/speedtest-ex.sh &amp;amp;&amp;amp; chmod +x speedtest-ex.sh &amp;amp;&amp;amp; ./speedtest-ex.sh 特色：
鉴权功能 单下载流模式 基于Go Gin构建的自托管Speedtest 前端演示</description></item><item><title>TCP调优一键脚本：限速方式</title><link>https://blog.lufei.de/p/395/</link><pubDate>Tue, 07 Jan 2025 00:18:58 +0800</pubDate><guid>https://blog.lufei.de/p/395/</guid><description>脚本 请注意，调参后能跑多少速度是由你的网络环境和线路的优劣决定的，线路垃圾再怎么调也没用
注意：每个时段都会不一样，至于效果嘛，就当个娱乐看吧。
脚本:
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/network_optimizer.sh &amp;amp;&amp;amp; chmod +x network_optimizer.sh &amp;amp;&amp;amp; ./network_optimizer.sh 脚本特色：
自动获取网口名称
仅替换核心参数，不影响原有的 sysctl.conf其余参数
可恢复成原始设置
只需要上调和下调带宽大小即可
查看配置实际加载顺序: 最后加载的会覆盖前面的参数
sudo sysctl --system 验证是否应用了新的参数
sysctl -a | grep net.ipv4.tcp_rmem sysctl -a | grep net.ipv4.tcp_wmem 服务端安装
apt update apt install iperf3 防火墙放行端口
sudo ufw allow 5201/tcp sudo ufw allow 5201/udp 使用命令
iperf3 -s ============
客户端下载：
https://github.com/ar51an/iperf3-win-builds/releases/download/3.17.1/iperf-3.17.1-win64.zip
客户端使用命令
iperf3 -c 服务端ip -R -t 30 -p 5201 多线程
iperf3 -c 服务端ip -p 5201 -t 30 -P 10 -R 然后在本机发起测速。其中 -c 参数表示客户端并指定测速服务器地址，-p 指定服务器端口，-t 指定测试时长（单位秒），-P 指定并发连接数（越高越能测试到速度极限），-R 表示下载测速（不加参数则测试上传速度）。如果要测试 UDP 连接，追加 -u 参数。</description></item><item><title>Cloudflared Tunnel 隧道开启HTTP2和IPv6支持</title><link>https://blog.lufei.de/p/394/</link><pubDate>Sun, 05 Jan 2025 22:29:40 +0800</pubDate><guid>https://blog.lufei.de/p/394/</guid><description>通过将Cloudflared Tunnel的传输层由QUIC改为HTTP/2, 地址栈加入IPv6支持，使连接更加稳定。
背景 先让我们了解一下, 默认情况下的 Cloudflared Tunnel 启动参数有那些影响到连接的因素:
传输层协议: 默认使用QUIC协议, 它是Google开发的基于UDP的传输层协议, 传输性能较高 地址栈: 默认使用IPv4地址栈, IPv6地址栈需要手动开启 由于本地运营商对UDP的Qos甚至阻断, 导致Cloudflared Tunnel在某些网络环境下无法正常工作。同时运营商对于IPv4的相关管控设施和规则早已趋于完善, 流控、QoS等问题也更加严重。
切换到HTTP/2 Cloudflared Tunnel默认使用QUIC协议, 它是Google开发的基于UDP的传输层协议, 传输性能较高。但是由于QUIC协议的一些限制, 如连接建立延迟、连接迁移、丢包率等, 使得在某些网络环境下无法正常工作。
为了解决这些问题, 我们将Cloudflared Tunnel的传输层协议由QUIC改为HTTP/2。HTTP/2协议是基于TCP的协议, HTTP/2同时也是目前较为主流的传输层协议。
切换到HTTP/2需要加入--protocol http2这一启动参数。
开启IPv6支持 默认情况下, Cloudflared Tunnel只支持IPv4地址栈。但是IPv6地址栈也有其优势, 管控较为宽松, 线路不同等
仅IPv6地址栈: 加入--edge-ip-version 6参数, 以IPv6地址栈为主以连接Cloudflare边缘 加入IPv6地址栈支持: 加入--edge-ip-version auto参数, 同时支持IPv4和IPv6地址栈，交由Cloudflared Tunnel自动选择 实施 进入/etc/systemd/system/cloudflared.service文件, 对ExecStart命令进行如下修改:
ExecStart=/usr/bin/cloudflared --no-autoupdate tunnel --protocol http2 --edge-ip-version auto run --token aaXX123 其中--protocol http2表示开启HTTP/2支持, --edge-ip-version auto表示加入IPv6地址栈支持。
重启Cloudflared Tunnel服务:
systemctl daemon-reload systemctl restart cloudflared</description></item><item><title>Pingvin Share - 文件中转站</title><link>https://blog.lufei.de/p/393/</link><pubDate>Sun, 05 Jan 2025 14:07:05 +0800</pubDate><guid>https://blog.lufei.de/p/393/</guid><description>项目 https://github.com/stonith404/pingvin-share
mkdir -p /root/data/docker_data/pingvin-share cd /root/data/docker_data/pingvin-share 编辑docker-compose.yml
nano docker-compose.yml 粘贴代码
version: &amp;#39;3.8&amp;#39; services: pingvin-share: image: stonith404/pingvin-share restart: unless-stopped ports: - 3000:3000 # 可以改成服务器上未被使用的端口 volumes: - &amp;#34;${PWD}/data:/opt/app/backend/data&amp;#34; # ${PWD}/data表示在当前目录下创建data文件夹用于存放文件 最后
docker-compose up -d 或者
docker compose up -d 更新
cd /root/data/docker_data/pingvin-share docker-compose down docker-compose pull docker-compose up -d docker image prune # prune 命令用来删除不再使用的 docker 对象。删除所有未被 tag 标记和未被容器使用的镜像 卸载
cd /root/data/docker_data/pingvin-share docker-compose down rm -rf /root/data/docker_data/pingvin-share # 完全删除映射到本地的数据</description></item><item><title>TCP 网络优化配置指南</title><link>https://blog.lufei.de/p/392/</link><pubDate>Sun, 05 Jan 2025 02:01:01 +0800</pubDate><guid>https://blog.lufei.de/p/392/</guid><description>一、前期准备 准备工作
查看当前的 net.ipv4.tcp_wmem 参数值（最好记录一下）
sysctl net.ipv4.tcp_wmem 查询当前使用的 TCP 拥塞控制算法
sysctl net.ipv4.tcp_congestion_control 查看当前的队列管理算法
tc qdisc show 如未启用bbr+fq，请使用以下命令开启
echo &amp;#34;net.ipv4.tcp_congestion_control=bbr&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf echo &amp;#34;net.core.default_qdisc=fq&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf sysctl -p 服务端Linux安装iperf3
在Debian/Ubuntu系统上安装
apt update apt install iperf3 防火墙放行端口 (这里以ufw为例，如果你没有开启防火墙可略过这一步)
ufw allow 5201 服务端启动iperf3
iperf3 -s 2. 客户端配置（Windows） 下载 iperf3 Windows 版本 测试下行速度（30秒） iperf3 -c 服务端IP -R -t 30 -p 5201 测试上行速度（去掉-R参数） iperf3 -c 服务端IP -t 30 -p 5201 二、参数优化流程 1. 参数调整方案 初始测试：使用 iperf3 获取基准性能数据</description></item><item><title>苹果cms对接图床教程</title><link>https://blog.lufei.de/p/391/</link><pubDate>Fri, 03 Jan 2025 00:13:12 +0800</pubDate><guid>https://blog.lufei.de/p/391/</guid><description>图床项目：
https://github.com/MarSeventh/CloudFlare-ImgBed
图床目录：
Btjson.php文件存放目录：/application/common/extend/upload
btjson.html文件存放目录: /application/admin/view/extend/upload
下载图床文件
wget https://raw.githubusercontent.com/woniu336/open_shell/main/img/Btjson.php wget https://raw.githubusercontent.com/woniu336/open_shell/main/img/btjson.html 注意事项：
把Btjson.php和btjson.html移到对应存放目录 /upload/vod 需要有写入权限 苹果cms后台开启自动同步图片 图一：
图二：
地址规范化替换sql:
UPDATE {pre}vod SET vod_pic=REPLACE(vod_pic, &amp;#39;mac://&amp;#39;, &amp;#39;https://&amp;#39;)</description></item><item><title>Netcup 更改 DNS</title><link>https://blog.lufei.de/p/390/</link><pubDate>Thu, 02 Jan 2025 01:04:15 +0800</pubDate><guid>https://blog.lufei.de/p/390/</guid><description>今天想更改一下 Netcup 服务器的默认 DNS 发现直接更改更改不了，resolv.conf文件有不可变属性，以下方法可以更改成功
运行
chattr -i /etc/resolv.conf 删除不可变属性
然后修改resolv.conf
nano /etc/resolv.conf 我把默认的 DNS 服务器改为了谷歌的
nameserver 8.8.8.8 nameserver 8.8.4.4 nameserver 2001:4860:4860::8888 nameserver 2001:4860:4860::8844 修改完后增加不可变属性（如果你不想增加也可以不增加）
chattr +i /etc/resolv.conf</description></item><item><title>关闭 nftables</title><link>https://blog.lufei.de/p/389/</link><pubDate>Mon, 30 Dec 2024 00:58:40 +0800</pubDate><guid>https://blog.lufei.de/p/389/</guid><description>关闭 nftables 可以通过以下步骤完成：
停止 nftables 服务
使用以下命令停止正在运行的 nftables 服务：
sudo systemctl stop nftables 禁用 nftables 开机启动
为防止 nftables 在系统启动时自动加载，运行以下命令：
sudo systemctl disable nftables 确认规则被清空
停止服务后，你可以检查 nftables 的规则是否已被清空：
sudo nft list ruleset 如果仍有规则加载，可以使用以下命令清空规则：
sudo nft flush ruleset 卸载 nftables（可选）
如果你完全不需要 nftables，可以将其卸载：
sudo apt remove nftables # 对于基于 Debian/Ubuntu 的系统 sudo yum remove nftables # 对于基于 CentOS/RHEL 的系统 完成以上步骤后，nftables 应该已被关闭，且不会再影响你的系统网络配置。</description></item><item><title>数据库主从设置</title><link>https://blog.lufei.de/p/388/</link><pubDate>Sun, 29 Dec 2024 01:30:19 +0800</pubDate><guid>https://blog.lufei.de/p/388/</guid><description>1. 主库设置 在主库，假设是A服务器上，开放 3306 端口
sudo ufw allow 3306/tcp 重新加载 UFW 生效
sudo ufw reload 编辑/etc/my.cnf：
[mysqld] server-id=1 read_only=0 log-bin=mysql-bin # 指定需要同步的数据库,如果不指定，默认所有数据库 binlog-do-db=db1 binlog-do-db=db2 重启数据库
service mysqld restart 2. 从库设置 假设是B服务器上，编辑my.cnf：
[mysqld] server-id=2 read_only=1 # 指定需要复制的数据库 replicate-do-db=db1 replicate-do-db=db2 重启数据库
service mysqld restart 3. 主库授权 登录 mysql 命令行
mysql -u root -p 只需要在主库，服务器(A)上创建同步用户：
-- 在主服务器A上执行 CREATE USER &amp;#39;tongbu&amp;#39;@&amp;#39;从服务器IP&amp;#39; IDENTIFIED BY &amp;#39;123456&amp;#39;; GRANT REPLICATION SLAVE ON *.* TO &amp;#39;tongbu&amp;#39;@&amp;#39;从服务器IP&amp;#39;; FLUSH PRIVILEGES; 4. 配置主从关系 在主服务器上获取日志位置： SHOW MASTER STATUS; 在从服务器上配置： -- 1.</description></item><item><title>Rust 版 ServerStatus 云探针</title><link>https://blog.lufei.de/p/387/</link><pubDate>Tue, 24 Dec 2024 01:24:59 +0800</pubDate><guid>https://blog.lufei.de/p/387/</guid><description>项目地址：https://github.com/zdz/ServerStatus-Rust
官方文档：https://doc.ssr.rs/
demo: https://tz.tubaozijie.eu.org/
在@AhFei大佬的安装脚本基础上制作的便捷一键脚本
操作简单，无需后台，你也可以把服务端部署到免费容器，然后使用脚本生成config.toml文件，
路径：/root/tzserve/serverstatus/config.toml
我把服务端部署到了railway，
railway部署教程：https://doc.ssr.rs/railway/
一键脚本（真正的最简单操作的探针脚本）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/setup_serverstatus.sh &amp;amp;&amp;amp; chmod +x setup_serverstatus.sh &amp;amp;&amp;amp; ./setup_serverstatus.sh 介绍 ServerStatus 中文威力加强版，保持轻量和简化部署，增加主要特性如下：
使用 rust 完全重写 server、client，单个执行文件部署 支持上下线和简单自定义规则告警 (telegram、 wechat、 email、 webhook) 支持 http 协议上报，可以方便部署到各免费容器服务和配合 cf 等优化上报链路 支持 cloudflare tunnels 和 mTLS 部署 支持主机分组动态注册，简化配置 支持 vnstat 统计月流量，重启不丢流量数据 支持 railway 快速部署 支持 systemd 开机自启 其它功能，如 🗺️ 见 wiki 服务端 服务端管理命令：
sudo systemctl stop stat_server # 停止服务 sudo systemctl start stat_server # 启动服务 sudo systemctl restart stat_server # 重启服务 sudo systemctl status stat_server # 查看状态 客户端 客户端管理命令：</description></item><item><title>rclone配合cloudflare r2 备份站点</title><link>https://blog.lufei.de/p/386/</link><pubDate>Sun, 22 Dec 2024 21:07:32 +0800</pubDate><guid>https://blog.lufei.de/p/386/</guid><description>一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/r2-b.sh &amp;amp;&amp;amp; chmod +x r2-b.sh &amp;amp;&amp;amp; ./r2-b.sh 还原脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/r2.sh &amp;amp;&amp;amp; chmod +x r2.sh &amp;amp;&amp;amp; ./r2.sh 安装工具 安装pigz压缩
apt-get update apt-get install pigz 安装rclone
sudo -v ; curl https://rclone.org/install.sh | sudo bash 编辑cloudflare r2配置,当然也可以是其他s3网盘，或者谷歌网盘、onedrive都可以
mkdir -p /root/.config/rclone/ nano /root/.config/rclone/rclone.conf 注意：名称r3要和backup_config.conf配置文件的remote_name名称一致
配置如下，只需要修改access_key_id、secret_access_key、endpoint 三个参数
[r3] type = s3 provider = Cloudflare access_key_id = 111 secret_access_key = 222 region = auto endpoint = https://333.r2.cloudflarestorage.com 按ctrl+x保存，y退出
测试是否配置正确
rclone ls r3:web # web是存储桶名称 下载脚本文件 wget https://raw.</description></item><item><title>MySQL数据库主主同步</title><link>https://blog.lufei.de/p/385/</link><pubDate>Sat, 21 Dec 2024 16:17:36 +0800</pubDate><guid>https://blog.lufei.de/p/385/</guid><description>使用场景：两台服务器互为从主，数据库自动同步
事先准备 开启防火墙 Debian/Ubuntu 检查UFW 是否启用
sudo ufw status 如果显示 &amp;ldquo;Status: inactive&amp;rdquo; 说明防火墙未启用,需要安装UFW
sudo apt update sudo apt install ufw ⚠️ 安全提醒：允许SSH连接（重要！防止被锁在系统外）
sudo ufw allow ssh 如果您的 SSH 端口是 5522
sudo ufw allow 5522/tcp 开放3306端口
sudo ufw allow 3306/tcp 仅允许特定IP访问3306端口（可选）
sudo ufw allow from 1.1.1.1 to any port 3306 proto tcp 启用UFW
sudo ufw enable 防火墙设置完毕
开启二进制日志 检查二进制日志是否开启
mysql -u root -p 输入root密码后进入MySQL命令行,然后执行以下命令
SHOW VARIABLES LIKE &amp;#39;%log_bin%&amp;#39;; 如果看到 log_bin 的值为 ON，则表示已开启。</description></item><item><title>nftables规则屏蔽垃圾IP</title><link>https://blog.lufei.de/p/384/</link><pubDate>Fri, 20 Dec 2024 15:50:02 +0800</pubDate><guid>https://blog.lufei.de/p/384/</guid><description>使用新表名重新创建规则
# 创建表和链 nft add table inet blacklist nft add chain inet blacklist input { type filter hook input priority 0 \; policy accept \; } # IPv4 黑名单规则 nft add rule inet blacklist input ip saddr { \ 20.171.206.0/24, \ 52.230.152.0/24, \ 52.233.106.0/24, \ 66.220.144.0/20, \ 69.63.176.0/20, \ 103.218.243.0/24, \ 152.32.128.0/17, \ 162.142.125.0/24, \ 167.94.138.0/24, \ 167.94.145.0/24, \ 167.94.146.0/24, \ 167.248.133.0/24, \ 199.45.154.0/23, \ 206.168.34.0/24 \ } drop # IPv6 黑名单规则 nft add rule inet blacklist input ip6 saddr { \ 2602:80d:1000:b0cc:e::/80, \ 2602:80d:1003::/112, \ 2602:80d:1004::/112, \ 2620:0:1c00::/40, \ 2620:96:e000:b0cc:e::/80, \ 2a03:2880::/32 \ } drop 保存生效</description></item><item><title>nftables 转发规则一键脚本</title><link>https://blog.lufei.de/p/383/</link><pubDate>Fri, 20 Dec 2024 04:15:40 +0800</pubDate><guid>https://blog.lufei.de/p/383/</guid><description> 更新：与ufw共存,不影响ufw现有规则，不会与ufw造成冲突
提醒：要正确安装好ufw,避免ssh连接不上，推荐使用以下脚本安装ufw,带屏蔽垃圾爬虫功能
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_censys_ips.sh &amp;amp;&amp;amp; chmod +x block_censys_ips.sh &amp;amp;&amp;amp; ./block_censys_ips.sh 转发脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/nftables-manager.sh &amp;amp;&amp;amp; chmod +x nftables-manager.sh &amp;amp;&amp;amp; ./nftables-manager.sh 查看规则
cat /etc/nftables.conf 检测 安装 conntrack 工具
apt update &amp;amp;&amp;amp; apt install -y conntrack TCP 连接
cat /proc/net/nf_conntrack | grep tcp | wc -l UDP 连接
cat /proc/net/nf_conntrack | grep udp | wc -l 查看系统连接跟踪
cat /proc/sys/net/netfilter/nf_conntrack_count cat /proc/sys/net/netfilter/nf_conntrack_max</description></item><item><title>vmiss库存监控</title><link>https://blog.lufei.de/p/382/</link><pubDate>Wed, 18 Dec 2024 01:00:59 +0800</pubDate><guid>https://blog.lufei.de/p/382/</guid><description>官网：https://app.vmiss.com/store/us-los-angeles-tri
8折优惠码：20%off
脚本监控的配置是美国 - 洛杉矶 - 三网优化
如果要监控洛杉矶CMIN2，把脚本中的product32改成product44
监控地址改成：https://app.vmiss.com/store/us-los-angeles-cmin2
每60秒钟监控一次
下载脚本 cd /root &amp;amp;&amp;amp; mkdir -p vmiss &amp;amp;&amp;amp; cd vmiss 安装 venv 工具（如果还没安装）： apt update &amp;amp;&amp;amp; apt install python3-venv -y 创建并进入虚拟环境： # 在当前目录下创建一个名为 &amp;#39;venv&amp;#39; 的文件夹 python3 -m venv venv # 激活虚拟环境 source venv/bin/activate 激活后，您的终端提示符前应该会出现 (venv) 字样。
在虚拟环境中安装依赖： pip install cloudscraper beautifulsoup4 requests 运行脚本： 下载这两个文件
wget https://raw.githubusercontent.com/woniu336/open_shell/main/vmiss/monitor_stock.py wget https://raw.githubusercontent.com/woniu336/open_shell/main/vmiss/monitor_control.sh 给monitor.sh添加执行权限
chmod +x monitor_control.sh 修改脚本 使用这个脚本之前，请确保：
将YOUR_ACCESS_TOKEN替换为您的实际钉钉机器人access token。
将YOUR_SECRET替换为您的实际钉钉机器人加签密钥（SEC开头的字符串）。
启动 ./monitor_control.sh start 停止监控</description></item><item><title>磁盘写入性能测试命令</title><link>https://blog.lufei.de/p/381/</link><pubDate>Tue, 17 Dec 2024 23:36:21 +0800</pubDate><guid>https://blog.lufei.de/p/381/</guid><description>磁盘的写入性能
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync</description></item><item><title>数据库权限设置</title><link>https://blog.lufei.de/p/380/</link><pubDate>Tue, 17 Dec 2024 16:28:08 +0800</pubDate><guid>https://blog.lufei.de/p/380/</guid><description>仅适用于在远程同步数据库时遇到问题的解决办法
撤销权限 步骤：
登录到 MySQL：
mysql -u root -p 输入密码登录。
依次执行以下命令来撤销权限：
REVOKE ALL PRIVILEGES ON *.* FROM &amp;#39;root&amp;#39;@&amp;#39;localhost&amp;#39;; REVOKE GRANT OPTION ON *.* FROM &amp;#39;root&amp;#39;@&amp;#39;localhost&amp;#39;; 刷新权限：
FLUSH PRIVILEGES; 解读：
这条命令会移除 root 用户在所有数据库上的所有权限。
REVOKE ALL PRIVILEGES ON *.* FROM &amp;#39;root&amp;#39;@&amp;#39;localhost&amp;#39;; 这条命令会移除 root 用户授予其他用户权限的能力（即，移除 GRANT OPTION）
REVOKE GRANT OPTION ON *.* FROM &amp;#39;root&amp;#39;@&amp;#39;localhost&amp;#39;; 恢复权限 停止 MySQL 服务：
sudo systemctl stop mysql 启动 MySQL 安全模式（无需身份验证）：
sudo mysqld_safe --skip-grant-tables &amp;amp; 登录 MySQL：
mysql -u root 更新 root 密码：</description></item><item><title>宝塔面板跨服务器数据同步教程：双机备份零停机</title><link>https://blog.lufei.de/p/379/</link><pubDate>Sat, 14 Dec 2024 16:33:25 +0800</pubDate><guid>https://blog.lufei.de/p/379/</guid><description>前言 为什么需要双机备份？
双服务器互备：主机宕机，备机即刻顶上 双节点反代：确保服务持续可用 自动化备份：目录增量同步 + 数据库全量备份 简单高效：一键部署，定时任务自动执行 适用环境：宝塔面板 7.7.0 及以上版本
快速部署 ⚠️ 提醒：
在使用脚本前，分别在两台服务器配置同步用户（下面有步骤） 数据库的root密码要一致，同步用户的密码也要一致 脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rsync-vps.sh &amp;amp;&amp;amp; chmod +x rsync-vps.sh &amp;amp;&amp;amp; ./rsync-vps.sh 配置同步用户 服务器 A 配置
登录 MySQL： mysql -u root -p 创建同步用户tongbu并授权，仅修改密码即可，最好不要有特殊字符 CREATE USER &amp;#39;tongbu&amp;#39;@&amp;#39;127.0.0.1&amp;#39; IDENTIFIED BY &amp;#39;123456&amp;#39;; GRANT ALL PRIVILEGES ON *.* TO &amp;#39;tongbu&amp;#39;@&amp;#39;127.0.0.1&amp;#39;; FLUSH PRIVILEGES; 验证配置： # 查看同步用户权限 SHOW GRANTS FOR &amp;#39;tongbu&amp;#39;@&amp;#39;127.0.0.1&amp;#39;; # 查看所有用户 SELECT user, host FROM mysql.user; # 退出 exit 服务器 B 配置 按照服务器 A 相同步骤配置，确保用户名和密码一致。</description></item><item><title>为什么要写技术博客</title><link>https://blog.lufei.de/p/378/</link><pubDate>Thu, 12 Dec 2024 22:25:45 +0800</pubDate><guid>https://blog.lufei.de/p/378/</guid><description>为什么写技术博客 记得那是一个安静的夜晚，我盯着黑色的终端界面，敲下了第一行服务器配置命令。那一刻，仿佛打开了一扇新的大门，我决定开始写博客，记录下这段奇妙的技术探索之旅。
技术积累的必要性 💡 技术论点速查
知识沉淀：通过写作梳理技术要点 经验复用：记录问题解决方案 技术传承：分享经验心得给他人 写作的意义 每当夜深人静，我常常会想：
那些折腾服务器的日日夜夜 调试代码时的欣喜与沮丧 网站终于部署成功的那一刻喜悦 解决问题后的成就感 不仅是在记录，更是在构建自己的技术认知体系。 这些珍贵的经历，若不记录下来，总觉得少了些什么。
慢思考的价值 在这个浮躁的互联网时代，博客依然保持着一份难得的安静。它不追求快餐式的阅读，而是让思考可以慢慢发酵，让文字静静沉淀。
📚 写作收获
知识体系化：将零散知识点系统整理 深度思考：通过写作加深对技术的理解 技术积累：为未来的技术选型提供参考 成长记录：见证个人技术能力提升 或许多年之后回头看，这些文字就像时光的印记，记录下了我们成长的轨迹。这大概就是写博客最动人的地方吧。</description></item><item><title>阿里云轻量香港服务器重启后无法连接问题解决记录</title><link>https://blog.lufei.de/p/377/</link><pubDate>Sat, 07 Dec 2024 22:37:04 +0800</pubDate><guid>https://blog.lufei.de/p/377/</guid><description>问题原因是 /etc/network/interfaces 文件中有一条错误的DNS配置，已经注释，重启后网络已经恢复。
#dns-nameservers 8.8.8.8</description></item><item><title>Plausible 统计备份迁移记录</title><link>https://blog.lufei.de/p/376/</link><pubDate>Tue, 03 Dec 2024 15:33:22 +0800</pubDate><guid>https://blog.lufei.de/p/376/</guid><description>如何备份和迁移Plausible容器到新服务器。以下是详细步骤：
在源服务器上操作
1. 备份Docker镜像 保存所有相关镜像到tar文件
docker save postgres:14-alpine -o postgres-14-alpine.tar docker save plausible/analytics:v2.0 -o plausible-analytics-v2.tar docker save clickhouse/clickhouse-server:23.3.7.5-alpine -o clickhouse-server.tar docker save bytemark/smtp:latest -o smtp.tar 2. 备份数据卷 创建备份目录
mkdir docker_backup 备份各个数据卷
docker run --rm -v hosting_db-data:/source:ro -v $(pwd)/docker_backup:/backup alpine tar -czf /backup/db-data.tar.gz -C /source . docker run --rm -v hosting_event-data:/source:ro -v $(pwd)/docker_backup:/backup alpine tar -czf /backup/event-data.tar.gz -C /source . docker run --rm -v hosting_event-logs:/source:ro -v $(pwd)/docker_backup:/backup alpine tar -czf /backup/event-logs.tar.gz -C /source .</description></item><item><title>MJJ订阅续费监控</title><link>https://blog.lufei.de/p/375/</link><pubDate>Sun, 01 Dec 2024 04:31:44 +0800</pubDate><guid>https://blog.lufei.de/p/375/</guid><description>项目 https://github.com/woniu336/vps-date
演示 https://woniu336.github.io/vps-date/
每天0点和12点自动运行更新监控信息 首次使用，可以手动触发运行测试 添加监控 拷贝仓库，修改 update_vps_data.py
添加小鸡信息，例如：
{ &amp;#34;name&amp;#34;: &amp;#34;OVH加拿大&amp;#34;, &amp;#34;cost&amp;#34;: 0.97, &amp;#34;currency&amp;#34;: &amp;#34;USD&amp;#34;, &amp;#34;expireDate&amp;#34;: &amp;#34;2025-2-9&amp;#34;, &amp;#34;color&amp;#34;: &amp;#34;danger&amp;#34;, &amp;#34;url&amp;#34;: &amp;#34;https://ca.ovh.com/manager/#/hub&amp;#34; }, cost 是费用 currency 是币种，USD、EUR、CNY 三种币种 expireDate 到期时间 monthlyExpireDay 每月续费的日期，例如：3，就是每月3号续费，注意：expireDate和monthlyExpireDay只能二选一 color 颜色 url 链接 手动触发运行 图1：
图2：
开启GitHub Pages 通知 本项目没有整合通知，需要下载 vps_monitor.py 脚本到机子上运行 记得把小鸡ip加入到钉钉ip段
通知测试
安装依赖 pip install requests 修改脚本，添加钉钉通知
测试 python3 vps_monitor.py 后台运行 nohup python3 vps_monitor.py &amp;gt; vps_monitor.out 2&amp;gt;&amp;amp;1 &amp;amp; 停止监控 ps aux | grep vps_monitor.py 停止进程</description></item><item><title>服务器延迟测试脚本</title><link>https://blog.lufei.de/p/374/</link><pubDate>Thu, 28 Nov 2024 22:15:06 +0800</pubDate><guid>https://blog.lufei.de/p/374/</guid><description>简介 在搭建反向代理服务器时，了解服务器之间的网络质量至关重要。本文介绍一个实用的网络测试脚本，可帮助您评估服务器间的连接质量、延迟和丢包情况。
安装和使用 下载脚本 cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/network_tester.py 赋予执行权限 chmod +x network_tester.py 运行测试 python3 network_tester.py 按提示输入目标服务器IP即可开始测试。
测试案例 案例1：卢森堡 VPS → OVH 美西 延迟：约150ms 连接质量：优秀 丢包率：无 结论：适合作为反向代理组合 案例2：卢森堡 VPS → 斯巴达西雅图 连接质量：一般 丢包情况：严重 结论：不建议用作反向代理 总结 部署反向代理前建议先测试网络质量 重点关注延迟稳定性和丢包率 选择连接质量优秀的服务器组合</description></item><item><title>一键部署 Poste.io 邮件服务器完整指南</title><link>https://blog.lufei.de/p/373/</link><pubDate>Wed, 27 Nov 2024 00:36:56 +0800</pubDate><guid>https://blog.lufei.de/p/373/</guid><description>在使用 Nginx 或宝塔面板的基础上部署 Poste.io 时，经常会遇到证书申请失败或无法访问等问题。本教程将为您提供一个完整的解决方案。
特别说明：如果您的服务器 IP 已被 Outlook 列入黑名单，发送到 Outlook 邮箱的邮件将会失败。其他邮箱服务目前运行正常，如未收到邮件请检查垃圾邮件文件夹。
特色 自动检测docker是否安装 检测25端口是否可用，如果显示不可用，那么请换其他机子 自动生成所需 DNS 记录配置 支持一键更新和完整卸载 登录用户名和登录密码和管理后台一致 禁用病毒扫描和关闭垃圾邮件过滤，减小内存占用 内存占用仅约 280MB 安装步骤 运行安装脚本: curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/poste_io.sh &amp;amp;&amp;amp; chmod +x poste_io.sh &amp;amp;&amp;amp; ./poste_io.sh 重要提示：请确保 25 端口可用，否则需更换服务器。系统会自动检测并提示端口状态。
配置 DNS 记录 安装完成后，系统会自动显示需要配置的 DNS 记录。请务必正确配置所有显示的记录。
例如：mail.123.com 作为邮箱域名
记录类型 主机记录 记录值 A mail 1.1.1.1 （服务器ip） CNAME imap mail.123.com CNAME pop mail.123.com CNAME smtp mail.123.com MX @ mail.123.com TXT @ v=spf1 mx ~all TXT _dmarc v=DMARC1; p=none; rua=mailto:admin@123.</description></item><item><title>多节点集群图床方案</title><link>https://blog.lufei.de/p/372/</link><pubDate>Tue, 26 Nov 2024 00:34:52 +0800</pubDate><guid>https://blog.lufei.de/p/372/</guid><description>
项目：https://github.com/fscarmen2/pic-hosting-cluster
不限于图床，可用作私人文件存储
油管教程 要看到视频需扶墙
监控脚本 万一某个节点出了问题，可以及时知道，便设计了监控脚本
下载脚本，配置好状态页面url和钉钉通知
cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/pic_monitor.py 安装依赖库
pip install requests 启动后台监控
nohup python3 -u pic_monitor.py &amp;gt; pic_monitor.log 2&amp;gt;&amp;amp;1 &amp;amp; 查看进程：
ps aux | grep pic_monitor.py 停止进程：
kill $(ps aux | grep &amp;#39;pic_monitor.py&amp;#39; | grep -v grep | awk &amp;#39;{print $2}&amp;#39;)</description></item><item><title>Realm一键转发脚本</title><link>https://blog.lufei.de/p/371/</link><pubDate>Sat, 23 Nov 2024 22:44:59 +0800</pubDate><guid>https://blog.lufei.de/p/371/</guid><description>
iptables 一键转发脚本已经有了，再搞一个Realm脚本，
在nodeseek论坛小伙伴脚本基础上添加了一些参数
注意事项：在删除规则前，先停止服务才生效，再删除
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/realm.sh &amp;amp;&amp;amp; chmod +x realm.sh &amp;amp;&amp;amp; ./realm.sh</description></item><item><title>ovh救援模式恢复服务器</title><link>https://blog.lufei.de/p/370/</link><pubDate>Sat, 23 Nov 2024 14:10:41 +0800</pubDate><guid>https://blog.lufei.de/p/370/</guid><description>起因 由于防火墙设置不当，导致服务器失联无法登录，记录一下救援过程
文档 ： https://help.ovhcloud.com
办法 在ovh后台点击Reboot in rescue mode进入救援模式,稍后会发邮件让你设置密码登录服务器，
登录服务器后，执行以下命令
mount /dev/sdb1 /mnt/ cd /mnt chroot /mnt 查询使用什么防火墙
which iptables 如果系统使用的是 iptables，让我们来修复它：
首先，让我们查看当前的 iptables 规则： iptables -L 直接使用 iptables 命令设置基本规则： 清除所有现有规则
iptables -F iptables -X iptables -Z 设置默认策略
iptables -P INPUT ACCEPT iptables -P FORWARD ACCEPT iptables -P OUTPUT ACCEPT 允许已建立的连接
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT 允许本地回环接口
iptables -A INPUT -i lo -j ACCEPT 允许 SSH 连接（端口 22）根据实际情况修改</description></item><item><title>服务器安全设置</title><link>https://blog.lufei.de/p/369/</link><pubDate>Sat, 23 Nov 2024 03:08:29 +0800</pubDate><guid>https://blog.lufei.de/p/369/</guid><description>禁止 ping nano /etc/sysctl.conf 在文件末尾增加一行
net.ipv4.icmp_echo_ignore_all = 1 使其生效
sysctl -p 安装 ufw debian/ubuntu
sudo apt update sudo apt install ufw 允许 SSH 连接
sudo ufw allow ssh 如果使用的是非标准端口，例如：5522
sudo ufw allow 5522/tcp 查看
sudo ufw show added 最后启用
sudo ufw enable 生成密钥 注意：生成密钥是在本地电脑上操作
首先，生成密钥对（如果存在略过）
ssh-keygen -q -t ed25519 -C &amp;#34;你的邮箱&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/github_id_rsa 复制公钥
cat ~/.ssh/github_id_rsa.pub 添加到你的Github上，地址如下，名称随意，内容就是你复制的公钥
https://github.com/settings/keys 密钥登录 提示： woniu336 是我的Github账号名称
这条命令会自动获取你在Github上的公钥并保存到服务器的/root/.ssh/authorized_keys
登录的时候记得你的私钥文件在本地电脑的 ~/.ssh/github_id_rsa
bash &amp;lt;(curl -fsSL git.</description></item><item><title>本地如何设置多个github账号</title><link>https://blog.lufei.de/p/368/</link><pubDate>Fri, 22 Nov 2024 16:38:53 +0800</pubDate><guid>https://blog.lufei.de/p/368/</guid><description>需求：把一个项目推送到两个github账号上
设置 生成新的ssh密钥
ssh-keygen -q -t ed25519 -C &amp;#34;123456@qq.com&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/qkmov_id_rsa 查看公钥
cat ~/.ssh/qkmov_id_rsa.pub 添加公钥到Github（另外打开一个浏览器）: https://github.com/settings/keys
编辑~/.ssh/config文件，末尾添加以下内容
Host qkmov_cc Hostname ssh.github.com IdentityFile ~/.ssh/qkmov_id_rsa User git Port 443 ProxyCommand &amp;#34;C:\Program Files\Git\mingw64\bin\connect.exe&amp;#34; -S 127.0.0.1:7890 %h %p ​
验证
ssh -T git@qkmov_cc 添加仓库，用上面 Host 名称来代替原来的github.com
git remote add qkmov git@qkmov_cc:jimugou/qkmov.git 推送
git add . git commit -m &amp;#34;update&amp;#34; git push -f origin --all git push -f qkmov --all 其他命令
# 首先删除现有的 remote git remote remove origin # 然后添加新的 remote git remote add origin git@github.</description></item><item><title>爆改hugo博客变成影视站点</title><link>https://blog.lufei.de/p/367/</link><pubDate>Fri, 22 Nov 2024 14:00:40 +0800</pubDate><guid>https://blog.lufei.de/p/367/</guid><description>项目 hugo: https://gohugo.io/
原项目：https://github.com/CaiJimmy/hugo-theme-stack
魔改开源博客主题：https://github.com/woniu336/hugo-magic
cloudflare加速：https://github.com/woniu336/enhanced-FaaS-in-China
前言 hugo号称全球最快的静态网站建设框架,比Jekyll、Hexo、VuePress要快得多。
我使用hugo作为博客，记录一些网站和服务器相关的技术，已经有一年多了，
我的博客部署到vercel，为了提高访问速度，使用了一个开源的cf加速项目
后来突发奇想，将hugo主题魔改成资源分享站，借助AI修修改改，终于有了点影视站的样子。
演示站点： https://www.qkmov.cc
首页
内页</description></item><item><title>uptime kuma 监控安装</title><link>https://blog.lufei.de/p/366/</link><pubDate>Wed, 20 Nov 2024 13:33:11 +0800</pubDate><guid>https://blog.lufei.de/p/366/</guid><description>前言 新版本总是报错断联，于是换回旧版本：1.18.5 版本，记录一下
一键安装
docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1.18.5 指定版本安装,例如1.18.5版本，前提：你已经安装了最新版本
docker pull louislam/uptime-kuma:1 docker stop uptime-kuma docker rm uptime-kuma docker run -d --restart=always -p 3001:3001 -v uptime-kuma:/app/data --name uptime-kuma louislam/uptime-kuma:1.18.5 时区修改 宿主机
sudo bash -c &amp;#39;echo &amp;#34;Asia/Shanghai&amp;#34; &amp;gt; /etc/timezone&amp;#39; sudo dpkg-reconfigure --frontend noninteractive tzdata 停止并删除旧容器
docker stop uptime-kuma docker rm uptime-kuma 重新启动容器，添加时区挂载
docker run -d \ --name uptime-kuma \ -v /etc/localtime:/etc/localtime:ro \ -v /etc/timezone:/etc/timezone:ro \ -p 127.</description></item><item><title>屏蔽 Censys ip 扫描你的站点信息</title><link>https://blog.lufei.de/p/365/</link><pubDate>Sun, 17 Nov 2024 03:28:22 +0800</pubDate><guid>https://blog.lufei.de/p/365/</guid><description>Censys IP 段 ：https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection
作为一名系统管理员，你一定也经历过这样的困扰：每天查看服务器日志，都能看到来自全球各地的恶意扫描。这些自动化工具不知疲倦地探测着你的服务器漏洞，像蚂蚁一样持续骚扰着你的系统。手动添加UFW规则来阻止这些IP？太繁琐了。逐个封禁IP？没完没了。
下面我寄出三个工具，喜欢哪个用哪个
iptable脚本 安装iptable持久化套装，安装有提示直接回车即可
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_censys.sh &amp;amp;&amp;amp; chmod +x block_censys.sh &amp;amp;&amp;amp; ./block_censys.sh 额外功能, 添加日志规则（在DROP规则之前）
iptables -I INPUT -p tcp -m set --match-set censys src -j LOG --log-prefix &amp;#34;CENSYS_BLOCKED: &amp;#34; ip6tables -I INPUT -p tcp -m set --match-set censys6 src -j LOG --log-prefix &amp;#34;CENSYS6_BLOCKED: &amp;#34; 测试
从 Censys ip中拿出三个ip进行测试
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/test_censys_block.sh &amp;amp;&amp;amp; chmod +x test_censys_block.sh &amp;amp;&amp;amp; ./test_censys_block.sh 查看规则
iptables -L INPUT -v -n | grep censys ipv6</description></item><item><title>docker问题解决</title><link>https://blog.lufei.de/p/364/</link><pubDate>Sun, 17 Nov 2024 00:26:18 +0800</pubDate><guid>https://blog.lufei.de/p/364/</guid><description>问题：Cannot connect to the Docker daemon at unix:///var/run/docker.sock.
停止所有 Docker 服务 systemctl stop docker.service systemctl stop docker.socket systemctl stop containerd 删除 Docker 相关文件 rm -rf /var/run/docker* rm -rf /var/lib/docker/* 重新加载系统服务 systemctl daemon-reload 重启 containerd（如果安装了的话） systemctl start containerd 启动 Docker 服务 systemctl start docker.socket systemctl start docker.service 检查服务状态：
systemctl status docker 如果以上步骤还是不能解决问题，建议重新安装 Docker：
完全卸载 Docker apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin 删除所有 Docker 数据 rm -rf /var/lib/docker rm -rf /var/lib/containerd 重新安装 Docker apt-get update apt-get install -y docker-ce docker-ce-cli containerd.</description></item><item><title>iptables一键转发脚本</title><link>https://blog.lufei.de/p/363/</link><pubDate>Sat, 16 Nov 2024 23:56:28 +0800</pubDate><guid>https://blog.lufei.de/p/363/</guid><description>原本使用realm做转发，但是没成功，不知道是不是因为我的中转机安装了宝塔，还安装了一些docker项目，还扶墙，反正乱七八糟的东西，干脆就使用iptables，为了方便，跟claude耗了两个小时搞了个小脚本~
脚本 注意：以下代码是在中转机上操作
安装依赖
apt-get update apt-get install net-tools apt-get install iptables-persistent 安装脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/iptables-manager.sh &amp;amp;&amp;amp; chmod +x iptables-manager.sh &amp;amp;&amp;amp; ./iptables-manager.sh 使用注意 最好先执行菜单3：保存当前规则，避免误操作，还有备份可以恢复
脚本执行顺序：
启用IP转发（仅第一次） 转发规则管理（添加规则或者删除规则）、 保存规则 如果你要转发443或者80端口，使用域名访问（http/s），记得把DNS的A记录指向中转机ip，甚至还可以开启cloudflare cdn 双重保护，让黑子找不到你的ip。
删除服务 如果不需要转发服务了，除了在脚本中删除转发规则，还可以删除服务，彻底清除
systemctl disable iptables-forward.service &amp;amp;&amp;amp; rm -f /etc/systemd/system/iptables-forward.service &amp;amp;&amp;amp; systemctl daemon-reload 其他功能 允许已建立的连接（提高效率）
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT 删除规则 查看IPv4的NAT规则
iptables-save -t nat 查看IPv6的NAT规则
ip6tables-save -t nat 删除脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/iptables_del.sh &amp;amp;&amp;amp; chmod +x iptables_del.</description></item><item><title>hahaSIM 保号充值</title><link>https://blog.lufei.de/p/362/</link><pubDate>Fri, 15 Nov 2024 22:39:14 +0800</pubDate><guid>https://blog.lufei.de/p/362/</guid><description>保号策略 使用 App 充值最低 20 HKD，只支持 AlipayHK、信用卡等当地支付方式，延期至 充值时间 + 365 天。
在线充值延期相同，支持微信、支付宝，最低 10 HKD：
3HK 在线充值 https://www.three.com.hk/3Care/chi/prepay/payonline1.jsp
在浏览器中打开，支付完成后要返回完成回调才会成功充值。
hahaSIM 开箱测评 &amp;amp; 使用教程
转自：https://blog.tsinbei.com/archives/1462/</description></item><item><title>夸克网盘自动转存脚本（增强版）</title><link>https://blog.lufei.de/p/361/</link><pubDate>Wed, 13 Nov 2024 01:32:38 +0800</pubDate><guid>https://blog.lufei.de/p/361/</guid><description>安装依赖 pip3 install aiohttp sudo apt-get install jq pip3 install treelib 下载文件 cd ~ git clone https://github.com/woniu336/kua-auto.git 重命名目录:
mv kua-auto kua-update 设置cookie
在quark_config.json设置cookie和钉钉通知
添加转存
在movie_links.txt添加转存信息，格式,例如
如龙=https://pan.quark.cn/s/df4a1b9ceb00=/yyds/如龙 每行一条信息
前面是名称，中间是转存的链接，后面是转存的目录，使用等号区分
运行脚本 cd kua-update python3 movie_list.py python3 quark_auto_save.py quark_config.json 自动化脚本
#!/bin/bash # 设置错误处理 set -euo pipefail IFS=$&amp;#39;\n\t&amp;#39; # 更新json配置 echo &amp;#34;开始更新json配置...&amp;#34; cd /www/wwwroot/脚本所在目录 || { echo &amp;#34;切换目录失败&amp;#34;; exit 1; } if python3 movie_list.py; then echo &amp;#34;movie_list.py 执行成功&amp;#34; else echo &amp;#34;movie_list.py 执行失败&amp;#34; &amp;gt;&amp;amp;2 exit 1 fi # 转存 echo &amp;#34;开始转存.</description></item><item><title>一招制敌：使用 Fail2Ban 自动识别和封禁端口扫描攻击</title><link>https://blog.lufei.de/p/360/</link><pubDate>Wed, 13 Nov 2024 01:03:34 +0800</pubDate><guid>https://blog.lufei.de/p/360/</guid><description>1. 创建 /etc/fail2ban/jail.local 执行以下命令以创建并写入 jail.local 文件：
sudo tee /etc/fail2ban/jail.local &amp;gt; /dev/null &amp;lt;&amp;lt;EOL [DEFAULT] # 封禁时间（秒）：1天 bantime = 86400 # 查找时间范围（秒）：1小时 findtime = 3600 # 尝试次数 maxretry = 3 # 忽略的IP地址（如果有） ignoreip = 127.0.0.1/8 ::1 # 自定义规则：端口扫描防护 [port-scan] enabled = true filter = port-scan logpath = /var/log/syslog maxretry = 5 findtime = 600 bantime = 7200 EOL 2. 创建 /etc/fail2ban/filter.d/port-scan.conf 执行以下命令以创建并写入 port-scan.conf 文件：
sudo tee /etc/fail2ban/filter.d/port-scan.conf &amp;gt; /dev/null &amp;lt;&amp;lt;EOL [Definition] failregex = \[UFW BLOCK\] .</description></item><item><title>清除恶意代码和锁住文件</title><link>https://blog.lufei.de/p/359/</link><pubDate>Mon, 11 Nov 2024 06:30:56 +0800</pubDate><guid>https://blog.lufei.de/p/359/</guid><description>下载脚本 cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/clean_html.py cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/lock_p.sh 权限
chmod +x /root/{clean_html.py,lock_p.sh} 修改脚本 在脚本中修改要检测和清除的代码，以及目录，这很简单略过
执行脚本 如果是宝塔面板，在后台&amp;ndash;计划任务&amp;ndash;添加shell命令
锁住文件
cd ~ &amp;amp;&amp;amp; sudo ./lock_p.sh lock 解锁文件
cd ~ &amp;amp;&amp;amp; sudo ./lock_p.sh unlock 删除恶意代码
cd ~ &amp;amp;&amp;amp; python3 clean_html.py 替换脚本 cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/new-ce.py 权限
chmod +x new-ce.py 执行
python3 new-ce.py 手动 首先切换到目标目录的上级目录
cd /www/wwwroot
修改目录的权限为只读(555)
chmod 555 123.com
修改目录下所有文件的权限为只读(444)
chmod -R 444 123.com/*
如果需要确保root用户也无法修改，可以添加chattr命令
chattr +i -R 123.</description></item><item><title>指定ip仅cloudflare能访问</title><link>https://blog.lufei.de/p/358/</link><pubDate>Mon, 11 Nov 2024 01:33:58 +0800</pubDate><guid>https://blog.lufei.de/p/358/</guid><description>解释：只有把域名托管到cloudflare，并且开启了cdn（小云朵）的网站才能访问，可以有效防止真实服务器 IP 被探测到
在运营网站的过程中，安全始终是一个永恒的话题。即便我们使用了 Cloudflare 这样的 CDN 服务，但如果配置不当，真实 IP 依然有可能泄露。
想象一下这个场景：你的网站正在使用 Cloudflare CDN，看似很安全。但是有一天，你突然发现服务器负载异常，网站响应缓慢。经过排查，你惊讶地发现有大量的直接 IP 访问请求，绕过了 CDN 的防护。这意味着你的服务器真实 IP 已经泄露了。
这种情况并不罕见，IP 可能通过多种途径泄露：
DNS 历史记录 邮件服务器配置 解析记录变更前的访问 网站本身的某些功能特性 IP 地址范围 https://www.cloudflare.com/zh-cn/ips/
下载脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cloudflare-only.sh &amp;amp;&amp;amp; chmod +x cloudflare-only.sh &amp;amp;&amp;amp; ./cloudflare-only.sh 查看规则 iptables -L INPUT -n --line-numbers 仅查看80和443
iptables -L INPUT -n --line-numbers | grep -E &amp;#34;80|443&amp;#34; 查看ipv6
ip6tables -L INPUT -n --line-numbers | grep -E &amp;#34;80|443&amp;#34; 检查是否存在这些冲突规则
iptables -L INPUT -n --line-numbers | grep &amp;#34;dpt:80\|dpt:443&amp;#34; 白名单 添加本地ip，可以做到，在不开cdn的情况下，只有你自己可以访问</description></item><item><title>自动监控、隔离可疑PHP文件的Bash脚本工具</title><link>https://blog.lufei.de/p/357/</link><pubDate>Sat, 09 Nov 2024 21:02:41 +0800</pubDate><guid>https://blog.lufei.de/p/357/</guid><description>注意：仅监控没有php文件的目录
下载脚本 cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_php.sh 赋予权限
chmod +x /root/block_php.sh 运行 前台运行,记得先修改检测目录和设置钉钉通知，记得把ip加入到钉钉的IP地址（段）
./block_php.sh 后台运行
nohup ./block_php.sh &amp;gt; /dev/null 2&amp;gt;&amp;amp;1 &amp;amp; 启动服务 创建系统服务：
nano /etc/systemd/system/block-php.service 写入
[Unit] Description=Block PHP Files Monitor After=network.target [Service] Type=simple ExecStart=/root/block_php.sh Restart=always User=root [Install] WantedBy=multi-user.target 启动服务：
systemctl daemon-reload systemctl enable block-php.service systemctl start block-php.service 监控脚本运行状态：
# 查看服务状态 systemctl status block-php.service # 查看日志 tail -f /var/log/php_block.log # 查看系统日志 journalctl -u block-php.service 停止服务 # 停止服务 sudo systemctl stop block-php.</description></item><item><title>V.PS 库存监控脚本使用教程</title><link>https://blog.lufei.de/p/356/</link><pubDate>Fri, 08 Nov 2024 20:56:35 +0800</pubDate><guid>https://blog.lufei.de/p/356/</guid><description> 仅监控圣何塞(San Jose)8.95欧配置
https://vps.hosting/cart/san-jose-cloud-kvm-vps/
需要配置钉钉通知
1. 下载文件 首先需要创建目录并下载所需文件：
创建目录
mkdir -p v_ps 下载三个文件
wget -P v_ps https://raw.githubusercontent.com/woniu336/open_shell/main/v_ps/start_monitor.sh wget -P v_ps https://raw.githubusercontent.com/woniu336/open_shell/main/v_ps/stop_monitor.sh wget -P v_ps https://raw.githubusercontent.com/woniu336/open_shell/main/v_ps/vps_stock_monitor.py 2. 设置权限 进入目录
cd v_ps 添加执行权限
chmod +x start_monitor.sh stop_monitor.sh 3. 使用方法 测试监控脚本 python3 vps_stock_monitor.py 如果运行正常，将会看到相关的监控输出信息。
启动后台监控 ./start_monitor.sh 这将在后台持续运行监控脚本。
停止监控 ./stop_monitor.sh 这将停止后台运行的监控进程。
注意事项 确保系统已安装 Python 3 确保有足够的权限执行这些脚本 如果下载失败，请检查网络连接或直接访问 GitHub 手动下载文件</description></item><item><title>ovh监控脚本</title><link>https://blog.lufei.de/p/355/</link><pubDate>Thu, 07 Nov 2024 04:38:18 +0800</pubDate><guid>https://blog.lufei.de/p/355/</guid><description>配置 监控的配置： KS-LE-B
价格：9.99欧
下单地址：https://eco.ovhcloud.com/fr/?display=list&amp;amp;range=kimsufi
下载脚本 cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/ovh_monitor.py 启动监控 nohup python3 ovh_monitor.py &amp;gt; ovh_monitor.log 2&amp;gt;&amp;amp;1 &amp;amp; 实时查看日志
tail -f ovh_monitor.log 停止监控 查找进程ID
ps aux | grep ovh_monitor.py 停止进程
kill &amp;lt;进程ID&amp;gt;</description></item><item><title>CloudFlare 重定向教程</title><link>https://blog.lufei.de/p/354/</link><pubDate>Tue, 05 Nov 2024 14:34:55 +0800</pubDate><guid>https://blog.lufei.de/p/354/</guid><description>引言 看到这篇文章的哥们，不知道你有没有这样的需求？
我有一个老的域名 old.com 不用了，想要把流量全部引入到 new.com 中。这很简单，使用 301 或者 302 重定向。那用什么实现呢？最常见的是 Nginx，宝塔中有快捷设置。
但是这样成本就起来了，为了一个重定向还要单独一台服务器。而且，如果旧域名访问量多，也会给服务器带来负担。
这个时候 Cloudflare 无疑是一个绝佳选择。
准备工作 1、保证自己的域名处于“已代理”状态，这样后续的相关规则才能够生效。
2、入口，创建自己的规则
3、主机匹配，也就是添加条件，只让规定域名进行跳转
场景匹配 这是重头戏，也是最核心的部分。因为重定向涉及到是否保留路径，是否需要重写路径。
1. 不保留路径 2. 保留路径 选择动态，表达式为
concat(&amp;#34;https://www.skyqian.com&amp;#34;, http.request.uri.path) 3. 重写路径 假如我想让 https://static.2ge.org/tg/xxxx.png 重定向到 https://telegra.ph/file/xxxx.png
concat(&amp;#34;https://telegra.ph/file&amp;#34;, substring(http.request.uri.path, 3)) 结语 以上三种情况，可以覆盖大部分场景。一些细节部分需要自己多留心，此教程的基础是懂一点点编程的，其中比如 substring 的参数问题就是一个字符串截取。如果不太明白就照猫画虎吧，也问题不大。
转自：https://www.skyqian.com/archives/cloudflare-redirect.html</description></item><item><title>图床一个就够：自建腾讯图床gtimg</title><link>https://blog.lufei.de/p/353/</link><pubDate>Mon, 04 Nov 2024 01:35:55 +0800</pubDate><guid>https://blog.lufei.de/p/353/</guid><description>需要在img标签加防盗链
referrerpolicy=&amp;#34;no-referrer&amp;#34; 后台默认登录用户名和密码：admin/admin123
修改密码：config.php
项目地址 https://github.com/woniu336/gtimg
界面预览 特色：支持批量传图，粘贴上传，一键复制外链，备份，重命名
为什么需要这个图床？ 在使用各大图床服务时，我们经常会遇到两个痛点：
上传的图片往往没有备份 返回的文件名完全随机，难以管理 比如你上传了一张 风景.jpg，可能得到一个类似 https://qq.com/abc123.png 的链接。即使你有备份，要找到对应的原图也很困难。
完美解决方案：自建腾讯图床 经过两年的使用，这个图床方案可以很好地解决上述问题：
✨ 自动本地备份：在当前目录自动创建 uploads 文件夹存储备份(如果没有手动创建) 🔄 智能文件名同步：备份文件会自动改名，与外链 ID 保持一致 🔒 数据永不丢失：即使图床服务终止，也可以轻松恢复图片 举个例子 当你获得这样的外链：
https://inews.gtimg.com/om_ls/OoGoIjnMKjvJeux0lY-wWDYDRB9LxidTHE_ak7FfBRaRkAA/0 备份文件会自动命名为：
OoGoIjnMKjvJeux0lY-wWDYDRB9LxidTHE_ak7FfBRaRkAA 快速上手 1. 获取授权信息 首先需要获取腾讯开放媒体平台的 Cookie：
访问 腾讯开放媒体平台 使用微信扫码登录 按 F12 打开开发者工具，找到 Cookie 信息 💡 重要提示：我们只需要 Cookie 中从 userid 开始的部分，例如：
userid=23510990; omaccesstoken=xxx; omtoken=xxx; logintype=4; srcopenid=xxx; srcaccessToken=xxx 2. 配置图床 将获取到的 Cookie 填入 后台管理的Token 配置中
完成配置后，就可以开始使用图床服务了！
3. 数据备份方案 为了确保数据安全，我推荐使用 rclone 配合 Cloudflare R2 进行自动备份。以下是经过优化的备份命令：</description></item><item><title>从此告别图床失效：一个几乎可以代理所有图床的工具！</title><link>https://blog.lufei.de/p/352/</link><pubDate>Fri, 01 Nov 2024 13:40:46 +0800</pubDate><guid>https://blog.lufei.de/p/352/</guid><description>原项目 Github: https://github.com/webp-sh/webp_server_go
根据此项目制作的脚本工具
一键脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/webp-server.sh &amp;amp;&amp;amp; chmod +x webp-server.sh &amp;amp;&amp;amp; ./webp-server.sh 是的，脚本又来了哈~
还记得那个周末，我正在整理自己多年的博客文章。突然发现，那些曾经生动精彩的配图，竟然一张张全部变成了红叉。那一刻，我感受到了深深的无力感 —— 我的文章就像是失去了灵魂。
这样的痛点，想必很多创作者都深有体会。免费图床会关停，付费图床会涨价，自建图床又担心带宽问题。难道写作之路注定要被图床问题困扰吗？
直到那天，我在GitHub上偶然发现了这个开源工具。它就像是一位优雅的管家，默默地守护着我们的图片资源。它不仅能帮我们代理任何图床的内容，还能自动将图片转换为更高效的WebP或者avif格式（脚本默认使用avif）。最令人惊喜的是，它的部署过程简单得令人难以置信 —— 只需要一个脚本，几个命令，就能搭建起一个强大的图床代理系统。
回到正题！
各种图床，你可以自己添加，哪怕是其他人的站点图片，越过防盗链。
B站图片：https://i1.hdslb.com/bfs/archive/37c2936033347d4de5d028578b4500f9486290ec.jpg 美团：https://img.meituan.net/csc/429c57535bbf46ef7cacd09aa618e921269502.png 京东：https://img14.360buyimg.com/ddimg/jfs/t1/193289/29/49939/31652/6720aabdF58aa9f17/b96f6af4146068a5.jpg 微博：https://wx1.sinaimg.cn/large/3e416ca7gy1hv00zwfje5j23b04eokjn.jpg 代理地址：
B站代理：https://mt.7blog.us.kg/b/bfs/archive/37c2936033347d4de5d028578b4500f9486290ec.jpg 美团代理：https://mt.7blog.us.kg/mt/csc/429c57535bbf46ef7cacd09aa618e921269502.png 京东代理：https://mt.7blog.us.kg/jd/ddimg/jfs/t1/193289/29/49939/31652/6720aabdF58aa9f17/b96f6af4146068a5.jpg 微博代理：https://mt.7blog.us.kg/weibo/large/3e416ca7gy1hv00zwfje5j23b04eokjn.jpg 发现规律了吗 看图，
你以为就完了吗，不需要修改图片后缀，浏览器会自动加载成avif格式（超高压缩率和清晰度的完美结合）
图片url依然保持不变，但是往下看~
查看压缩率
压缩到了原本图片的24%，节省流量带宽
图片缓存目录，默认不会删除缓存：
/opt/docker_data/WebP/exhaust 到此完结，如果鸡腿够多的话，我会继续发一个clouflare dns宕机自动切换ip，并且可以自由选择是否开启cdn的超强脚本工具。</description></item><item><title>nginx缓存配置应对高并发高流量方法</title><link>https://blog.lufei.de/p/351/</link><pubDate>Fri, 01 Nov 2024 00:41:38 +0800</pubDate><guid>https://blog.lufei.de/p/351/</guid><description>Nginx配置 # FastCGI 缓存全局配置 fastcgi_cache_path /var/cache/nginx/123_com levels=1:2 keys_zone=AADM.COM:200m inactive=8h max_size=10G; fastcgi_cache_path /var/cache/nginx/456_com levels=1:2 keys_zone=BBDM.ORG:200m inactive=8h max_size=10G; fastcgi_cache_key &amp;#34;$scheme$request_method$host$request_uri$is_args$args&amp;#34;; fastcgi_cache_use_stale error timeout invalid_header http_500 http_503; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; 站点1的缓存路径和keys_zone
/var/cache/nginx/123_com # 路径 keys_zone=AADM.COM # keys_zone 站点2的缓存路径和keys_zone
/var/cache/nginx/456_com keys_zone=BBDM.ORG 站点配置 例如站点2
# 1. 缓存控制块 set $skip_cache 0; if ($request_method = POST) { set $skip_cache 1; } if ($query_string != &amp;#34;&amp;#34;) { set $skip_cache 1; } if ($query_string ~ &amp;#34;^wd=&amp;#34;) { set $skip_cache 0; } if ($request_uri ~* &amp;#34;purge=all|/wp-admin/|/xmlrpc.</description></item><item><title>一键屏蔽恶意IP：自动化管理Nginx ASN封禁的完整方案</title><link>https://blog.lufei.de/p/350/</link><pubDate>Thu, 31 Oct 2024 00:24:36 +0800</pubDate><guid>https://blog.lufei.de/p/350/</guid><description>脚本1（推荐） 安装依赖工具
sudo apt update &amp;amp;&amp;amp; sudo apt install gawk 脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/asn-blocker.sh &amp;amp;&amp;amp; chmod +x asn-blocker.sh &amp;amp;&amp;amp; ./asn-blocker.sh 可以在一段时间后查看数据包：
iptables -L INPUT -v -n | grep &amp;#34;blocked-asn&amp;#34; | awk &amp;#39;{match($0,/blocked-asn-([0-9]+)/,a); printf &amp;#34;ASN %-12s packets: %-4s bytes: %-6s\n&amp;#34;, a[1], $1, $2}&amp;#39; 什么是ASN？ ASN（Autonomous System Number）是互联网上的自治系统编号，相当于网络服务商的唯一标识符。通过ASN，我们可以：
快速识别流量来源 批量封禁特定服务商的IP段 有效防御来自特定IDC的恶意扫描 常见的ASN示例：
AS14061 (DigitalOcean) - 知名云服务提供商 AS135377 (UCLOUD) - 国内云服务商 AS202306 (Hostinger) - 国际虚拟主机提供商 脚本2 脚本2适用范围：宝塔面板，如果你的不是，唯一区别就是路径改改即可
每次查看服务器负载，发现高的离谱，一看是IDC的大量恶意IP扫描我的站点，因此根据网友的脚本制作了一版基于ASN的IP封禁。
1. 下载脚本 curl -sS -O https://raw.</description></item><item><title>低端影视夸克网盘追更脚本</title><link>https://blog.lufei.de/p/348/</link><pubDate>Tue, 29 Oct 2024 22:05:09 +0800</pubDate><guid>https://blog.lufei.de/p/348/</guid><description>使用方法 cd /www/wwwboot/123.com # 定位到站点目录，可以是静态 然后：
git clone https://github.com/woniu336/auto-update.git cd auto-update chmod +x run_all.sh chmod +x auto.sh &amp;amp;&amp;amp; ./auto.sh 功能 从低端影视网站页面爬取影片信息，并把夸克网盘资源转存到自己的夸克网盘并自动生成分享链接，最后在目录下生成html页面（见底下）
可以设置定时转存更新
注意：只有夸克网盘资源是你自己的（脚本会自动替换），百度和UC依然是低端影视分享出来的。
脚本流程 这个脚本的主要功能是：从日志文件中解析电影信息，异步获取豆瓣电影海报，并生成一个包含电影网格展示、分页功能和资源状态统计的交互式HTML报告页面。
具体流程为：
读取日志文件，解析电影名称、网盘链接和豆瓣链接 异步爬取豆瓣电影海报并缓存 统计资源状态（总数、失效数、海外禁看数） 生成响应式HTML页面，支持分页浏览和链接复制功能 注意事项 如果遇到问题：需要启用 proc_open、exec 和 putenv 函数，
如果是宝塔面板，可以在php中把这三个函数删除，然后重启php</description></item><item><title>个人订阅追踪器——Wallos</title><link>https://blog.lufei.de/p/347/</link><pubDate>Thu, 24 Oct 2024 13:59:10 +0800</pubDate><guid>https://blog.lufei.de/p/347/</guid><description>相关地址 GitHub地址：https://github.com/ellite/Wallos
部署 创建文件夹：
mkdir -p /root/data/docker_data/wallos &amp;amp;&amp;amp; cd /root/data/docker_data/wallos 创建配置文件：
nano docker-compose.yml 然后贴入配置（官方）：
services: wallos: container_name: wallos image: bellamy/wallos:latest ports: - &amp;#34;8282:80/tcp&amp;#34; environment: TZ: &amp;#39;Asia/Shanghai&amp;#39; # Volumes store your data between container upgrades volumes: - &amp;#39;./db:/var/www/html/db&amp;#39; - &amp;#39;./logos:/var/www/html/images/uploads/logos&amp;#39; restart: unless-stopped 完成后，开始部署：
docker compose up -d demo</description></item><item><title>docker可视化面板Dpanel</title><link>https://blog.lufei.de/p/346/</link><pubDate>Wed, 23 Oct 2024 23:42:59 +0800</pubDate><guid>https://blog.lufei.de/p/346/</guid><description>Dpanel官方 仓库 https://github.com/donknap/dpanel
文档 https://dpanel.cc/#/zh-cn/install/docker
部署代码 内网使用推荐大家使用lite版,如果你已经安装了宝塔或者nginx此类服务 dpanel lite版 docker run -it -d --name dpanel --restart=always \ -p 8807:8080 -e APP_NAME=dpanel \ -v /var/run/docker.sock:/var/run/docker.sock \ -v dpanel:/dpanel dpanel/dpanel:lite 默认登录账号/密码
admin/admin
docker开启API服务 注意：开放外网使用是不安全的，仅限内网使用
编辑文件
sudo nano /usr/lib/systemd/system/docker.service 将其中[service]部分中ExecStart=一行替换成下面内容
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock --containerd=/run/containerd/containerd.sock 重启docker服务
sudo systemctl daemon-reload &amp;amp;&amp;amp; sudo systemctl restart docker</description></item><item><title>MixFile: 一款可以上传加密文件并分享的安卓APP</title><link>https://blog.lufei.de/p/345/</link><pubDate>Tue, 22 Oct 2024 13:37:42 +0800</pubDate><guid>https://blog.lufei.de/p/345/</guid><description>MixFile介绍 https://gitlab.com/ivgeek/mixfile
MixFile是一款可以上传加密文件并分享的安卓APP
可实现本地加密上传,加密下载文件,在线播放加密视频
加密时会自动生成随机密钥进行加密,上传完成后,密钥 文件地址 文件大小等信息会附加在分享码中
将分享码发送给他人即可实现分享文件
已发布版本: https://gitlab.com/ivgeek/mixfile/-/releases
使用帮助: https://gitlab.com/ivgeek/mixfile/-/wikis/%E4%BD%BF%E7%94%A8%E5%B8%AE%E5%8A%A9
测试
mf://demmGp0ywJ1A29dfuKpqbCCdBe6fmd15daMSjYm8UIvTxcZMXOS8u5r4ruWjPb8U4EF2Qdw2mvr07qpIKS37SMlfQpKS9OQc1vLDlReDGGAQqDmdlqp9snNTx5xk4BdaHGkLf0CYPqFStejRC7GpiDFwBoCRyGkeGZ4CaK75hM1ff4pIGwdVawE6ItsGPOeUSnWsJuE1n2xK5HXimrHrAqzNlQUoO8YWm4JfwGEdfSl 死亡大乐透（电影）
mf://iXI4tLos6lanlivWDDVob5rgyz8nYco5qwk7DqggS6mNOZ0ZsTuo3A5ZYqOChcSFpJpcYkfcQ7aXE00VcXQ6n5gWtV58UPpVCIllFNorVhst71LDzAcaq4CrXS6N8f5ca3KUcQgQ9zPe5hpu2DhITNxQn7gBhKCcVcg7yloOKiwpVP1IF7arc7FsuNMmSWglNtikzTAm0KcFvNe1ZwPs5wMDFm8mxHVcr1A9kekuCPtgeN08tasIDGHoD3j2gcw9FfLJggMW8LwUUW0mhojjCbtzl1bwZKGMhS chevereto_3.20.20.zip
mf://slC7d40Rb6Uu3ZlcZzgSSWpkUr6bRNRKaccvCnBUmD2U8ADAR28tqR9Qa7pPGLt7zLStOj9oyU2o5MGNM82a1rXMtItqDxlRfT8WzSBGYpZ1CH1GRQYUEcQQVypgwHQRpWtCrqR1MQAUsuTm3cBtHxfEY2aKIx1bBE3WlemXgvb9ZRxp0H0V99rfy6lF0CaLXLhi8CxeXk8Z20R6KCUeEUw7iReO4DjbDHgKLdEb4wOcjFEe8uzNlzm1PrOyV6wVupt chevereto_4.0.8.zip
mf://6RFGqTHNGTrf1VXS0nyBvIaYLzCNncyOpIBU5U4LFeUHuzOf3PgHRO4ABQWWllEPnNqpmyIIoonvXhyB3qCtbfWJlyPI1wZvcf8NPHlHfO4KHxOekzf7qhX0lIgv7flURprUO1DF385FDPbmaY4hJ1oiP7HohCEaBj8oVhmKrjqQNVZD8hxWw1t0eEc7ZTUfsqxYAu9uft30yQD4JpAWsqvl0wBEMvkYz1GYp9mKwgqmVHlfmzSZrLRM57HO3SuL0S 图片zip压缩包
mf://h3zE012Z3gKsUUfWOvltzuOUJaQYfhFk6KpTLxQhQG9fsbvBwU51nYFk7wF8b4k6NihxDXB9f1T9yGXlQwYbXv8zU4SoeXcI1I5vhhGtmzz5Mm5NDDFzOylIaCLKg4dMjL6fFAQt3oHWG8ciU5yuzaUoaj7T0xcnutDSiPtCXpLzbDY2LH3QbMERnheWleVjHJWIuG0bQXXA6Amtp3HLU0h3B7KHP8d7jROHefUX00qt7EtrgMb 测试1
mf://jmMvcP26D8so7KsCixpCUHlmwzJFtBCiHcpOr2VHCdoJfLlHGTowNz7taoMK6KMgU33MAZMh1KCgW7cHIHi0VFr9BKYZ8diCSd1vGlWBPb1R1BAy2fbLpFDL1i4Q6HafsMoaUAgXeQXbUKjkkfgBPtXLuFxcShcEZJ0YiwDMisZGwxT3V2gsuftGFvtERlJ9NxfI8YF8LFtdx5DmJh1v952CBFclRfAL47YTHMmV9PzHBMHTBjrEh76 测试2
mf://jmMvcP26D8so7KsCixpCUHlmwzJznuUpLaTltEwxcmYM5lBWeZptyCtLpUAQzEH6heRnR1ONCrBMz5aDIpQ03RRrxFAdeGPBhQm791azaRXVxZbA8ZrCTyPScmxVdfSuOdaZCHYcAvIWq7QRXncIeiLFpO84lBFFGgFS1v5uB0sUzP8zTVNq3E58RToqUvhwpznS17ZftpfZNR79aSKvwlydAUcWs0oORYyP466fhGvuQn3Jec37XJw</description></item><item><title>使用Pake一键打包网页为桌面应用/客户端</title><link>https://blog.lufei.de/p/344/</link><pubDate>Sun, 20 Oct 2024 21:29:43 +0800</pubDate><guid>https://blog.lufei.de/p/344/</guid><description>项目 项目：https://github.com/tw93/Pake/
免费ICO图片：https://icon-icons.com/zh/
实例：https://www.123865.com/s/cjqrVv-OjTQd
设置环境 以下教程仅针对windows系统适用
请确保您的 Node.js 版本为 18 或更高版本
文档：https://v1.tauri.app/zh-cn/v1/guides/getting-started/prerequisites/
Microsoft Visual Studio C++ 生成工具
WebView2
Rust(难点)
前面两点容易，难的是安装Rust，原因在于网络互通，因为github,npm默认都是国外的地址，我的方法有两种：
设置代理方法1 1.我使用的是v2rayN 并将监听端口设置为7890，所以，打开cmd，输入以下代码
setx http_proxy &amp;#34;http://127.0.0.1:7891&amp;#34; setx https_proxy &amp;#34;http://127.0.0.1:7891&amp;#34; 2.https://www.rust-lang.org/tools/install 下载Rust，双击打开，输入序号1安装依赖
方法2：使用winget安装rust 首先安装winget，如果你的系统没有安装winget ，步骤如下：
下载winget
https://github.com/microsoft/winget-cli/releases/download/v1.9.2507/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle 然后打开powershell，导航到下载目录，使用以下命令安装msixbundle文件：
Add-AppxPackage Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle 换源
winget source remove msstore winget source add winget https://cdn.winget.microsoft.com/cache 打开powershell，设置代理：
$env:http_proxy=&amp;#34;http://127.0.0.1:7891&amp;#34; $env:https_proxy=&amp;#34;http://127.0.0.1:7891&amp;#34; 最后安装rust
winget install --id Rustlang.Rustup 命令行打包 首先安装pake-cli,步骤：
1.换源（可选）
npm config set registry https://mirrors.huaweicloud.com/repository/npm/ 2.安装（必须）
npm install pake-cli -g 3.</description></item><item><title>自动管理docker容器更新的工具Watchtower</title><link>https://blog.lufei.de/p/343/</link><pubDate>Fri, 18 Oct 2024 03:47:50 +0800</pubDate><guid>https://blog.lufei.de/p/343/</guid><description>指定容器更新 docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower -c \ --interval 10 \ deeplx --interval 10指定更新频率10秒，最好设置大一点，10秒是为了首次安装测试 deeplx是容器名称 按白名单更新(灵活) 创建白名单：
touch ~/.docker_update.list 编辑
nano ~/.docker_update.list 在文件中,每行添加一个您想要 Watchtower 自动更新的容器名称。例如:
container1 container2 运行
docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.sock:/var/run/docker.sock \ containrrr/watchtower -c \ $(cat ~/.docker_update.list) \ --interval 10 定时更新 docker run -d \ --name watchtower \ --restart unless-stopped \ -v /var/run/docker.</description></item><item><title>夸克网盘分享链接有效性监控</title><link>https://blog.lufei.de/p/342/</link><pubDate>Thu, 17 Oct 2024 02:40:48 +0800</pubDate><guid>https://blog.lufei.de/p/342/</guid><description>
项目 原项目: https://github.com/Cp0204/quark-auto-save
本次项目：https://github.com/woniu336/kua
关于夸克网盘分享链接失效或者屏蔽问题
你可能有所了解，假设别人分享一个很热门的影视作品，大概率用不了多久，这个分享链接就会什么都没有，而且会出现以下三种情况
热门资源被官方屏蔽分享，你会在网盘看到资源显示不可分享，即使链接有效，别人也看不到资源 资源被人为删除或者移动到其他文件夹 取消了分享或者分享链接具有有效期 基于以上情况，我根据原项目修改了一下，主要是方便自己用，如果热门资源被官方屏蔽了分享，注意：只是不能分享了，但是资源还是在网盘里的，你可以下载到电脑上。如果屏蔽了分享或者失效可以收到钉钉通知，然后我会把资源下载到本地，使用转码工具压缩一下再上传，最后分享出去，大概率这条分享链接能活久一点。
另外做了一个index.html查看页面，每分钟自动刷新，可以把整个项目文件放在网站根目录下使用
流程 1.获取夸克网盘cookie 登录 https://pan.quark.cn/ 按 F12 查找 Cookie
把Cookie写入quark_config.json文件
2.钉钉通知（可选） 修改check_movie_links.py
ACCESS_TOKEN = &amp;#34;&amp;#34; SECRET = &amp;#34;&amp;#34; 3.添加夸克网盘分享链接 格式: 文件名@url
写入movie_links.txt文件
4.运行脚本 python3 check_movie_links.py quark_config.json movie_links.txt 5.排除文件 把需要排除的文件写入.gitignore
5.定时任务 每2小时检测一次
(crontab -l ; echo &amp;#34;0 */2 * * * cd /www/wwwroot/kua.123.top &amp;amp;&amp;amp; python3 check_movie_links.py quark_config.json movie_links.txt &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab -</description></item><item><title>Bing必应不收录网站或被K的解决办法</title><link>https://blog.lufei.de/p/341/</link><pubDate>Tue, 15 Oct 2024 14:05:00 +0800</pubDate><guid>https://blog.lufei.de/p/341/</guid><description>按照 Form 要求填写自己的名字、邮箱地址、以及遇到的问题
例如我现在的问题是：my site is not indexed by Bing：
打开以下网址提交信息：
https://www.bing.com/webmasters/support
写入如下内容，记得替换成你的网站域名：
My website is www.123.com I&amp;#39;m not sure why Bing search engine hasn&amp;#39;t been indexing my site for almost a month now, while other search engines have basically included it. Previously, my website was searchable on Bing using keywords, but recently I&amp;#39;ve noticed it has completely disappeared from the search results. I&amp;#39;m not clear if my website has violated Bing&amp;#39;s algorithm rules in some way.</description></item><item><title>Windows 11 LTSC 2024 官方精简版！简体中文正式版ISO镜像下载</title><link>https://blog.lufei.de/p/340/</link><pubDate>Fri, 11 Oct 2024 13:03:16 +0800</pubDate><guid>https://blog.lufei.de/p/340/</guid><description>下载地址 Win11企业版 2024 长期服务版 (Windows 11 IoT Enterprise LTSC 2024) 提供长达 10 年的支持服务，支持至 2034 年。
它可视为官方推出的精简版 Win11，系统稳定流畅，对电脑硬件的要求较低，适合性能有限的设备。用户可以通过数字权利实现永久激活。 LTSC 版本去除了应用商店、微软小娜（Cortana）、OneDrive，并且 Windows 更新提供了更多高级设置，用户可选择性安装系统更新，极大提升了系统的可控性和定制化。
Microsoft Windows 11 Enterprise LTSC 2024 官方简体中文正式版ISO镜像下载地址
zh-cn_windows_11_enterprise_ltsc_2024_x64_dvd_cff9cd2d.iso（4.92G）SHA: 2CB21649590C8CF770CD93556596DFF4FD800F24D267A9BE9D9CE0EE9E03F5AC
【点击下载】或 【BT磁力下载】
Microsoft Windows 11 Enterprise LTSC 2024 英文版官方下载 【点击下载 】
Windows 11 IoT Enterprise LTSC 2024 物联英文版官方下载
【点击前往】
激活 Windows 11 2024 LTSC 长期服务版 KMS 官方密钥获取：
【点击前往】
或者使用以下命令(cmd管理员)：
slmgr -ipk M7XTQ-FN8P6-TTKYV-9D4CC-J462D slmgr -skms kms.v0v.bid slmgr -ato 安装后可以进一步精简系统,使用DISM快速禁用或启用保留空间：
# 禁用系统保留空间</description></item><item><title>cloudflare防火墙waf的设置</title><link>https://blog.lufei.de/p/339/</link><pubDate>Thu, 10 Oct 2024 14:28:56 +0800</pubDate><guid>https://blog.lufei.de/p/339/</guid><description>WAF 防火墙一 (cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {&amp;#34;HTTP/2&amp;#34; &amp;#34;HTTP/3&amp;#34; &amp;#34;HTTP/1.1&amp;#34;}) or (ip.geoip.country in {&amp;#34;FR&amp;#34; &amp;#34;DE&amp;#34;}) or (http.request.uri.path wildcard r&amp;#34;/admin.php/*&amp;#34;) 解释如下：
如果满足以下任一条件，则触发规则：
Cloudflare 威胁评分大于或等于 5，且客户端不是机器人
使用的 HTTP 协议版本不是 HTTP/2、HTTP/3 或 HTTP/1.1
请求来自法国或德国,即对法国和德国实施防御
请求的 URI 路径以 &amp;ldquo;/admin.php/&amp;rdquo; 开头
防火墙二 (http.request.uri.query contains &amp;#34;)/*&amp;#34;) or (http.request.uri.query contains &amp;#34;)--&amp;#34;) or (http.request.uri.query contains &amp;#34;benchmark(&amp;#34;) or (http.request.uri.query contains &amp;#34;&amp;#39;0:0:20&amp;#39;&amp;#34;) or (http.request.uri.query contains &amp;#34;MD5(&amp;#34;) or (http.request.uri.query contains &amp;#34;%20waitfor%20delay%20&amp;#34;) or (http.request.uri.query contains &amp;#34;%22&amp;#34;) or (http.</description></item><item><title>屏蔽GPTbot爬虫</title><link>https://blog.lufei.de/p/338/</link><pubDate>Wed, 09 Oct 2024 13:07:28 +0800</pubDate><guid>https://blog.lufei.de/p/338/</guid><description>文档 https://platform.openai.com/docs/bots
禁止IP sudo ufw insert 1 deny from 20.171.206.0/24 to any sudo ufw insert 1 deny from 20.171.207.0/24 to any sudo ufw insert 1 deny from 52.230.152.0/24 to any sudo ufw insert 1 deny from 52.233.106.0/24 to any sudo ufw insert 1 deny from 4.227.36.0/24 to any 阻止user-agent Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.1; +https://openai.com/gptbot</description></item><item><title>正确开启ufw的方式</title><link>https://blog.lufei.de/p/337/</link><pubDate>Tue, 08 Oct 2024 20:27:56 +0800</pubDate><guid>https://blog.lufei.de/p/337/</guid><description>如果没有正确配置规则，您可能会失去对服务器的访问权限,所以，从SSH入手
安装ufw debian/ubuntu
sudo apt update sudo apt install ufw 请注意，在启用 UFW 之前，必须配置SSH规则，以确保不会意外地阻止连接（如ssh）。
查看当前的规则配置 在启用 UFW 之前，建议您先查看当前的规则配置：
sudo ufw show added 允许 SSH 连接的规则 首先，添加一条允许 SSH 连接的规则：
sudo ufw allow ssh 如果您使用的是非标准 SSH 端口，请使用实际的端口号。例如，如果您的 SSH 端口是 2222：
sudo ufw allow 2222/tcp 添加规则后，再次检查已添加的规则：
sudo ufw show added 如果您看到 SSH 规则已经添加，那么现在启用 UFW 应该是安全的：
sudo ufw enable 启用后，检查 UFW 状态：
sudo ufw status verbose 这将显示 UFW 是否处于活动状态以及当前的规则。
如果您只想知道 ufw 是否处于活动状态，可以使用：
sudo ufw status | grep -q &amp;#34;Status: active&amp;#34; &amp;amp;&amp;amp; echo &amp;#34;UFW 已启用&amp;#34; || echo &amp;#34;UFW 未启用&amp;#34; 白名单 为每个白名单 IP 添加允许访问 7788 端口的规则:</description></item><item><title>Git操作助手</title><link>https://blog.lufei.de/p/336/</link><pubDate>Tue, 01 Oct 2024 23:27:16 +0800</pubDate><guid>https://blog.lufei.de/p/336/</guid><description>Git操作助手 基于windows系统
Git操作助手是一个基于PyQt5的图形用户界面(GUI)应用程序,旨在简化常见的Git操作。它为Git新手和有经验的用户提供了一个直观的界面来执行各种Git命令。
安装要求 在运行此程序之前,请确保您的系统满足以下要求:
Python 3.x PyQt5 Git 安装步骤 确保您已安装Python 3.x。可以从Python官网下载并安装。
安装PyQt5。打开命令行并运行:
pip install PyQt5 确保Git已安装在您的系统上。如果没有,请从Git官网下载并安装。
使用方法 下载git_ui.py文件到您的本地计算机。
https://github.com/woniu336/open_shell/blob/main/git_ui.py 打开命令行,导航到包含git_ui.py文件的目录。
运行以下命令启动程序:
python git_ui.py 程序启动后,您将看到Git操作助手的图形界面。
使用说明 分支操作 创建新分支: 在&amp;quot;新分支名&amp;quot;输入框中输入分支名,然后点击&amp;quot;创建新分支&amp;quot;按钮。 切换分支: 在&amp;quot;切换到&amp;quot;输入框中输入分支名,然后点击&amp;quot;切换分支&amp;quot;按钮。 切换到上一个分支: 点击&amp;quot;切换到上一个分支&amp;quot;按钮。 提交操作 设置快速提交别名: 点击&amp;quot;设置快速提交别名&amp;quot;按钮。 快速提交: 在&amp;quot;提交信息&amp;quot;输入框中输入提交信息,然后点击&amp;quot;快速提交&amp;quot;按钮。 修改最后一次提交: 点击&amp;quot;修改最后一次提交&amp;quot;按钮。 重置操作 软重置: 点击&amp;quot;软重置(保留更改)&amp;ldquo;按钮。 硬重置: 点击&amp;quot;硬重置(丢弃更改)&amp;ldquo;按钮。请谨慎使用,因为这将丢弃所有未提交的更改。 信息显示 分支信息: 在&amp;quot;分支信息&amp;quot;标签页中查看所有分支和当前分支。 提交历史: 在&amp;quot;提交历史&amp;quot;标签页中查看最近的提交记录。 注意事项 在使用&amp;quot;硬重置&amp;quot;功能时要特别小心,因为它会丢弃所有未提交的更改。 如果在一个新的目录中运行这个程序,它会提示您初始化一个新的Git仓库。 程序会自动设置一些Git的编码配置,以确保正确处理中文字符。 故障排除 如果遇到任何问题,请确保:
您已正确安装了所有依赖项。 您的系统上已安装并配置了Git。 您在一个有效的Git仓库目录中运行程序。 如果问题仍然存在,请检查控制台输出以获取更多信息。</description></item><item><title>Git 指南技巧</title><link>https://blog.lufei.de/p/335/</link><pubDate>Tue, 01 Oct 2024 22:03:43 +0800</pubDate><guid>https://blog.lufei.de/p/335/</guid><description>Git Switch 指南</description></item><item><title>宝塔 nginx 获取 cloudflare 真实用户IP</title><link>https://blog.lufei.de/p/334/</link><pubDate>Mon, 30 Sep 2024 22:34:16 +0800</pubDate><guid>https://blog.lufei.de/p/334/</guid><description>/www/server/nginx/conf 新建文件 cf.conf，添加以下内容保存
set_real_ip_from 103.21.244.0/22; set_real_ip_from 103.22.200.0/22; set_real_ip_from 103.31.4.0/22; set_real_ip_from 104.16.0.0/13; set_real_ip_from 104.24.0.0/14; set_real_ip_from 108.162.192.0/18; set_real_ip_from 131.0.72.0/22; set_real_ip_from 141.101.64.0/18; set_real_ip_from 162.158.0.0/15; set_real_ip_from 172.64.0.0/13; set_real_ip_from 173.245.48.0/20; set_real_ip_from 188.114.96.0/20; set_real_ip_from 190.93.240.0/20; set_real_ip_from 197.234.240.0/22; set_real_ip_from 198.41.128.0/17; set_real_ip_from 2400:cb00::/32; set_real_ip_from 2606:4700::/32; set_real_ip_from 2803:f800::/32; set_real_ip_from 2405:b500::/32; set_real_ip_from 2405:8100::/32; set_real_ip_from 2a06:98c0::/29; set_real_ip_from 2c0f:f248::/32; real_ip_header CF-Connecting-IP; 配置修改 宝塔面板打开nginx管理，选择配置修改，在http下添加 include cf.conf；然后点击保存。
include cf.conf; 保存后返回服务，点击重载配置，这样就能获取到真实用户IP了
IP 地址范围 ipv4
https://www.cloudflare-cn.com/ips-v4/
ipv6
https://www.cloudflare-cn.com/ips-v6/
自动更新IP脚本 pip3 install requests wget https://raw.githubusercontent.com/woniu336/open_shell/main/update_cf_ips.py chmod +x update_cf_ips.</description></item><item><title>屏蔽拦截风险、爬虫、恶意IP扫描</title><link>https://blog.lufei.de/p/333/</link><pubDate>Mon, 30 Sep 2024 21:37:16 +0800</pubDate><guid>https://blog.lufei.de/p/333/</guid><description>一键脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/block_censys_ips.sh &amp;amp;&amp;amp; chmod +x block_censys_ips.sh &amp;amp;&amp;amp; ./block_censys_ips.sh 或者
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/censys_ufw_blocker.sh &amp;amp;&amp;amp; chmod +x censys_ufw_blocker.sh &amp;amp;&amp;amp; ./censys_ufw_blocker.sh 如果出现ipv6的bug,可能是没有开启ipv6
sudo sed -i &amp;#39;s/IPV6=no/IPV6=yes/&amp;#39; /etc/default/ufw sudo ufw reload 查看规则
sudo ufw status numbered 屏蔽 Censys 的 IP 段 sudo ufw insert 1 deny from 162.142.125.0/24 to any sudo ufw insert 1 deny from 167.94.138.0/24 to any sudo ufw insert 1 deny from 167.94.145.0/24 to any sudo ufw insert 1 deny from 167.</description></item><item><title>从日志到洞察:轻松实现服务器安全管理的神器</title><link>https://blog.lufei.de/p/332/</link><pubDate>Thu, 26 Sep 2024 02:11:42 +0800</pubDate><guid>https://blog.lufei.de/p/332/</guid><description>在当今复杂多变的网络环境中，服务器安全管理已成为一项不可或缺的任务。然而，面对海量的日志数据，如何快速精准地提取有价值的信息，并及时发现潜在的安全威胁？本文将为您介绍一款强大的服务器日志检索与查杀工具，它不仅能够自动化地分析网站日志、追踪IP地理分布，还能执行可疑IP的风险检查，为您的服务器安全保驾护航。
工具特点 自动化日志分析 IP地理位置追踪 可疑IP风险检查 简单高效的操作界面 无论您是经验丰富的系统管理员，还是刚刚起步的网站运营者，这个工具都能帮助您轻松应对日常的安全监控工作，让服务器安全管理变得简单而高效。
系统要求 操作系统：Ubuntu/Debian 确保安装了Python 3 安装步骤 下载脚本 cd ~ curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/manage_logs.sh &amp;amp;&amp;amp; chmod +x manage_logs.sh &amp;amp;&amp;amp; ./manage_logs.sh 首次运行顺序 菜单1：安装依赖文件和下载脚本 菜单5：更新地理位置数据（需要输入密钥：O38GA2SviPLnqfF5） 菜单2：添加或更改日志路径 注意事项 本工具主要适用于宝塔面板，因为是根据宝塔面板日志格式匹配的。如果您不使用宝塔面板，可以根据自己的日志格式修改web_log_monitor.py脚本中的正则表达式。
确保宝塔面板已开启站点日志功能。如果之前未勾选，可能需要等待一段时间才能收集到足够的日志数据。
首次执行时需按顺序运行菜单选项，以生成必要的分析文件。
风险拦截 以改成使用ufw防火墙的方式拦截，自带无需修改任何文件
本工具可以配合fail2ban脚本使用，实现更强大的风险拦截功能。如果您不想使用fail2ban，可以修改以下文件中的相关代码：
/root/logcheck/ban_severe_risk_ips.py /root/logcheck/logcheck.py /root/logcheck/web_log_monitor.py 将这些文件中的#command = f&amp;quot;sudo ufw insert 1 deny from {ip} to any&amp;quot;取消注释，并注释掉fail2ban相关代码即可。
如果您希望配合fail2ban使用，可以运行以下命令安装fail2ban脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/fail2ban-s.sh &amp;amp;&amp;amp; chmod +x fail2ban-s.sh &amp;amp;&amp;amp; ./fail2ban-s.sh 结语 这款服务器日志检索与查杀工具为您提供了一个强大而简便的安全管理解决方案。通过自动化的日志分析、IP追踪和风险检查，您可以更轻松地掌控服务器安全状况，及时发现并应对潜在威胁。无论您是专业的系统管理员还是初学者，这个工具都能帮助您提升服务器安全管理的效率和效果。立即尝试，让您的服务器安全管理更上一层楼！</description></item><item><title>卢森堡服务器库存监控脚本</title><link>https://blog.lufei.de/p/331/</link><pubDate>Mon, 23 Sep 2024 14:03:42 +0800</pubDate><guid>https://blog.lufei.de/p/331/</guid><description> 官网：https://my.frantech.ca/cart.php?gid=39
后台：https://manage.buyvm.net/
脚本监控的配置是卢森堡3.5美金/月
每5秒钟监控一次
下载脚本 cd /root &amp;amp;&amp;amp; mkdir -p buyvm &amp;amp;&amp;amp; cd buyvm 下载这两个文件
wget https://raw.githubusercontent.com/woniu336/open_shell/main/buyvm/buyvm.py wget https://raw.githubusercontent.com/woniu336/open_shell/main/buyvm/monitor.sh 给monitor.sh添加执行权限
chmod +x monitor.sh 修改脚本 使用这个脚本之前，请确保：
将YOUR_ACCESS_TOKEN替换为您的实际钉钉机器人access token。
将YOUR_SECRET替换为您的实际钉钉机器人加签密钥（SEC开头的字符串）。
安装所需的Python库：
pip install requests 启动 ./monitor.sh start 停止监控
./monitor.sh stop 重启监控
./monitor.sh restart 查看日志：
tail -f monitor.log 其他 卢森堡服务器设置：
安装curl
apt-get update apt-get install curl 安装sudo
apt-get update apt-get install sudo</description></item><item><title>一劳永逸:用脚本实现夸克网盘内容自动更新</title><link>https://blog.lufei.de/p/330/</link><pubDate>Sun, 22 Sep 2024 21:45:00 +0800</pubDate><guid>https://blog.lufei.de/p/330/</guid><description>系统环境：debian/ubuntu 、 安装了python3
原作者项目：https://github.com/Cp0204/quark-auto-save 感谢
缘起 我喜欢看电影追剧，会经常转存一些资源到夸克网盘，电影还好，如果是电视剧，麻烦就来了。
对于一些持续更新的资源，不是说你转存了别人的资源就会自动在你网盘更新了，需要手动隔段时间去转存十分麻烦。
举个例子（如果你没用过夸克网盘）：当初你转存了一部电视剧，更新到第10集，隔段时间更新到了20集，网盘会提示你转存有更新
这时候你需要打开转存的页面，手动保存更新的集数（11到20集），如此便很麻烦，如果你转存了很多东西
部署 不用看到部署就慌张，我的东西从来就是简单、高效、清晰，不需要会敲代码。
原项目有docker部署方式，但是经常在后台抽风，看不到之前添加好的转存任务（可能使用方式不对）
所以，为了方便自己，制作了脚本，我向来喜欢使用脚本，因为简单高效
安装依赖 sudo apt-get install jq 这条命令安装 jq,它是一个轻量级的命令行 JSON 处理器。
克隆仓库: cd ~ git clone https://github.com/Cp0204/quark-auto-save.git 这些命令将您带到 root 目录,然后克隆 quark-auto-save 仓库。
重命名目录: mv quark-auto-save quark 这条命令将 quark-auto-save 目录重命名为 quark。
下载并覆盖文件: cd quark wget -N https://raw.githubusercontent.com/woniu336/open_shell/main/quark/movie_list.py wget -N https://raw.githubusercontent.com/woniu336/open_shell/main/quark/check_quark_links.py wget -N https://raw.githubusercontent.com/woniu336/open_shell/main/quark/movie_list.txt wget -N https://raw.githubusercontent.com/woniu336/open_shell/main/quark/quark_config.json wget -N https://raw.githubusercontent.com/woniu336/open_shell/main/quark/quark_auto_save.py 运行脚本 cd ~ curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/quark_manager.sh &amp;amp;&amp;amp; chmod +x quark_manager.</description></item><item><title>为什么AVIF将成为下一代图片格式之王</title><link>https://blog.lufei.de/p/329/</link><pubDate>Sun, 22 Sep 2024 02:58:05 +0800</pubDate><guid>https://blog.lufei.de/p/329/</guid><description>AVIF的卓越优势 便捷脚本：https://github.com/woniu336/open_shell/blob/main/avif_manager.sh
AVIF（AV1 Image File Format）正在迅速崛起，成为下一代网络图片格式的有力竞争者。作为基于AV1视频编码技术的图像格式，AVIF在多个方面展现出了令人瞩目的性能。
1. 卓越的压缩效率 与JPEG和WebP相比，AVIF能在保持相同图像质量的前提下，将文件大小减小30%至50%。这意味着：
网站可呈现更高质量的图像 显著减少带宽使用 加快页面加载速度 2. 更广泛的色彩支持 支持10位和12位的色彩 兼容HDR（高动态范围）图像 呈现更丰富、更逼真的视觉效果 这对摄影、电商等对图像质量要求较高的领域尤为重要。
3. 多功能性 支持无损压缩 支持透明度 渐进式解码能力，允许图像在加载过程中逐步显示 4. 日益增长的浏览器支持 主流浏览器如Chrome、Firefox和Opera已开始支持AVIF，其他浏览器也在积极跟进。AVIF有望在不久的将来成为网络图片的主流格式。
如何在HTML中优化使用AVIF 为充分利用AVIF的优势，同时保证向下兼容性，建议使用以下HTML结构：
&amp;lt;picture&amp;gt; &amp;lt;!-- 性能表现更好的avif和webp图片格式 --&amp;gt; &amp;lt;source srcset=&amp;#34;img/photo.avif&amp;#34; type=&amp;#34;image/avif&amp;#34;&amp;gt; &amp;lt;source srcset=&amp;#34;img/photo.webp&amp;#34; type=&amp;#34;image/webp&amp;#34;&amp;gt; &amp;lt;!-- 最终的兜底方案 --&amp;gt; &amp;lt;img src=&amp;#34;img/photo.jpg&amp;#34; alt=&amp;#34;图片描述&amp;#34;&amp;gt; &amp;lt;/picture&amp;gt; 此结构确保在支持AVIF的浏览器中使用AVIF格式 在支持WebP但不支持AVIF的浏览器中使用WebP格式 在其他情况下回退到传统的JPEG格式 注意：您的图片服务器必须提供avif和webp格式的图片 苹果CMS系统适配 &amp;lt;div class=&amp;#34;movie-poster&amp;#34;&amp;gt; &amp;lt;picture&amp;gt; &amp;lt;source srcset=&amp;#34;{:rtrim(mac_url_img($obj.vod_pic), &amp;#39;.jpg,.png,.jpeg,.gif&amp;#39;)}.avif&amp;#34; type=&amp;#34;image/avif&amp;#34;&amp;gt; &amp;lt;img src=&amp;#34;{:mac_url_img($obj.vod_pic)}&amp;#34; alt=&amp;#34;{$obj.vod_name}&amp;#34; referrerpolicy=&amp;#34;no-referrer&amp;#34;&amp;gt; &amp;lt;/picture&amp;gt; &amp;lt;/div&amp;gt; ImageMagick：AVIF转换利器 以下内容仅适用于Windows系统
安装ImageMagick 访问 ImageMagick官方下载页面 选择适合您系统的安装包 安装时注意：安装文件夹路径不能包含空格，建议新建专门文件夹 设置系统环境变量 确保将ImageMagick的安装路径添加到系统的PATH环境变量中。</description></item><item><title>守护你的 PHP 网站：一键式恶意文件检测与清除脚本</title><link>https://blog.lufei.de/p/328/</link><pubDate>Fri, 20 Sep 2024 14:42:56 +0800</pubDate><guid>https://blog.lufei.de/p/328/</guid><description>网站安全 网站安全是必须重点关注的，除非你说你是1ip站点，即使从你建站的那一刻，你总会幻想过日ip过万吧，万一呢，所以，安全的重要性就来了，流量大了，什么鸟都会从四面八方赶来~
密钥登陆 服务器禁止密码登录，改成密钥登录，选择菜单9：root私钥登录模式
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tp.sh &amp;amp;&amp;amp; chmod +x tp.sh &amp;amp;&amp;amp; ./tp.sh 将密钥保存到本地（sshkey）然后再删除,因为公钥已写入：authorized_keys，大胆删除
rm /root/.ssh/sshkey /root/.ssh/sshkey.pub 重启ssh
sudo service ssh restart 监控脚本 首先,我们需要安装 pip
sudo apt-get update sudo apt-get install python3-pip 用 pip 安装 python-crontab 包
pip3 install python-crontab 下载脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/php-s.py &amp;amp;&amp;amp; chmod +x php-s.py python3 php-s.py 删除的可疑php文件保存在/tmp/suspicious_files 监控记录日志/tmp/scan_history.log 这个脚本的主功能是：
自动监控多个网站目录中的PHP文件，检测并删除包含高风险域名的代码，同时识别未授权的新增PHP文件并采取相应措施，通过钉钉实时通知管理员异常情况，从而提高网站安全性。
脚本功能：
自动删除包含高风险域名的代码行 检测并删除未经授权的新增PHP文件 通过钉钉实时通知管理员异常情况 监控脚本 每5秒监控一次
cd /root &amp;amp;&amp;amp; curl -O https://raw.githubusercontent.com/woniu336/open_shell/main/scanner_loop.sh 权限
chmod +x /root/scanner_loop.</description></item><item><title>完美的宝塔面板防御策略，基于fail2ban</title><link>https://blog.lufei.de/p/327/</link><pubDate>Tue, 17 Sep 2024 01:33:58 +0800</pubDate><guid>https://blog.lufei.de/p/327/</guid><description>之前分享过宝塔面板配合fail2ban，以及开启cloudflare的cdn双重防御的教程，并制作了便捷的脚本 这次不靠cloudflare的减速cdn，看看防御效果怎么样 系统环境 debian/ubuntu
nginx
宝塔面板
注意要点 1.在宝塔面板开启站点日志 2.添加服务器白名单 以下设置钉钉的目的是有拦截的时候通知你，是可选的，可以不用通知看个人
打开电脑（pc）打开桌面端钉钉，打开报警机器人，添加服务器ip，如图
文档：https://open.dingtalk.com/document/orgapp/custom-robot-access
3.设置钉钉webhook 文档：https://open.dingtalk.com/document/orgapp/custom-robot-access
一键脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/fail2ban-s.sh &amp;amp;&amp;amp; chmod +x fail2ban-s.sh &amp;amp;&amp;amp; ./fail2ban-s.sh 无需过多解释，看图吧，
怎么使用 选择菜单4开启网站保护， 菜单6查看拦截记录 要点：宝塔面板默认nginx日志路径是：/www/wwwlogs/access.log
可以理解为所有站点都监控，如果要监控单个站点，那么选择菜单11，修改监控日志路径
怎么查找网站日志路径，很简单，看图:
打开站点配置文件，拉到最后，access_log后面的：/www/wwwlogs/1234.com.log就是日志路径
怎么测试 测试更简单，两种方法，第一种选择菜单3，重点说第二种。
方法二：
复制你站点的404页面链接，如果连404是什么页面也不清楚那不用往下看了 打开 https://www.itdog.cn/http/ 输入链接点击快速测试，连续测试3次，你会发现这个链接一片红，就对了，已经被拦截 如图，那一百多个ip就是 itdog 自身的ip，把itdog拉小黑屋了
如何解除封禁 选择菜单10，输入图片上方那一串ip地址，就是这么简单，当然先查看拦截记录，然后复制被拦截的ip
后续 都包含在脚本中了，自行探索把~
祝大家中秋节快乐，心想事成。</description></item><item><title>苹果cms对接美团图床</title><link>https://blog.lufei.de/p/326/</link><pubDate>Sun, 15 Sep 2024 23:26:05 +0800</pubDate><guid>https://blog.lufei.de/p/326/</guid><description>下载对接文件 Btjson.php 路径：/苹果cms根目录/application/common/extend/upload btjson.html 路径：/苹果cms根目录/application/admin/view/extend/upload 获取token 注册 https://czz.meituan.com/ 发布视频，上传封面，注意在上传封面后，F12 查找封面 token 即可，不用真的去发布视频
cms后台设置 对接地址必须是：https://pic-up.meituan.com
采集参数配置
自动同步图片开启：</description></item><item><title>美团图床设置教程</title><link>https://blog.lufei.de/p/325/</link><pubDate>Sun, 15 Sep 2024 13:21:55 +0800</pubDate><guid>https://blog.lufei.de/p/325/</guid><description> 大厂图床，CDN加速
项目地址：https://github.com/woniu336/mt-img
使用方法 在mt.php填上你的token即可， 然后打开index.html上传图片 获取token方法 注册https://czz.meituan.com/ 发布视频，上传封面，注意在上传封面后，F12查找封面token即可，不用真的去发布视频 特色 可在任意位置粘贴图片 粘贴图片直接触发上传 上传成功后自动复制图片链接 图库功能 数据仅保存在本地浏览器中，不同设备或浏览器之间无法共享 如果用户清除浏览器数据，图库信息会丢失 图片展示</description></item><item><title>夸克网盘签到、自动转存、命名整理、发推送提醒和刷新媒体库一条龙</title><link>https://blog.lufei.de/p/324/</link><pubDate>Fri, 13 Sep 2024 22:33:41 +0800</pubDate><guid>https://blog.lufei.de/p/324/</guid><description>项目 Github: https://github.com/Cp0204/quark-auto-save
夸克网盘自动转存
夸克网盘签到、自动转存、命名整理、发推送提醒和刷新媒体库一条龙。
对于一些持续更新的资源，隔段时间去转存十分麻烦。
定期执行本脚本自动转存、文件名整理，配合 Alist, rclone, Emby 可达到自动追更的效果。🥳
使用 Docker 部署（推荐）
WebUI 已能满足绝大多数需求。
docker run -d \ --name quark-auto-save \ -p 5005:5005 \ -e WEBUI_USERNAME=admin \ -e WEBUI_PASSWORD=admin123 \ -v ./quark-auto-save/config:/app/config \ -v /etc/localtime:/etc/localtime \ --network bridge \ --restart unless-stopped \ cp0204/quark-auto-save:latest 管理地址：http://yourhost:5005
环境变量 默认 备注 WEBUI_USERNAME admin 管理账号 WEBUI_PASSWORD admin123 管理密码 一键更新
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower -cR quark-auto-save 正则整理示例
pattern replace 效果 .* 无脑转存所有文件，不整理 \.</description></item><item><title>你的私人影视宝库</title><link>https://blog.lufei.de/p/323/</link><pubDate>Thu, 12 Sep 2024 01:09:52 +0800</pubDate><guid>https://blog.lufei.de/p/323/</guid><description>&lt;img src="https://imgsrc.baidu.com/forum/pic/item/562c11dfa9ec8a1357d5d2c2b103918fa1ecc0c1.jpg" alt="Featured image of post 你的私人影视宝库" />剧荒工厂 https://catpdf.org/</description></item><item><title>一个简单的在线版个人书库。</title><link>https://blog.lufei.de/p/322/</link><pubDate>Fri, 06 Sep 2024 21:07:18 +0800</pubDate><guid>https://blog.lufei.de/p/322/</guid><description>项目 https://github.com/talebook/talebook
介绍 简单好用的个人图书管理系统
友情提醒：中国境内网站，个人是不允许进行在线出版的，维护公开的书籍网站是违法违规的行为！建议仅作为个人使用！
这是一个基于Calibre的简单的个人图书管理系统，支持在线阅读。主要特点是：
美观的界面：由于Calibre自带的网页太丑太难用，于是基于Vue，独立编写了新的界面，支持PC访问和手机浏览； 支持多用户：为了网友们更方便使用，开发了多用户功能，支持豆瓣（已废弃）、QQ、微博、Github等社交网站的登录； 支持在线阅读：借助Readium.js 库，支持了网页在线阅读电子书； 支持批量扫描导入书籍； 支持邮件推送：可方便推送到Kindle； 支持OPDS：可使用KyBooks等APP方便地读书； 支持一键安装，网页版初始化配置，轻松启动网站； 优化大书库时文件存放路径，可以按字母分类、或者文件名保持中文； 支持快捷更新书籍信息：支持从百度百科、豆瓣搜索并导入书籍基础信息； 支持私人模式：需要输入访问码，才能进入网站，便于小圈子分享网站；</description></item><item><title>docker部署跨浏览器的书签管理器</title><link>https://blog.lufei.de/p/321/</link><pubDate>Wed, 04 Sep 2024 20:10:06 +0800</pubDate><guid>https://blog.lufei.de/p/321/</guid><description>下载程序 mkdir -p /opt/docker_data cd /opt/docker_data git clone https://github.com/linkwarden/linkwarden.git cd linkwarden 建立.env变量 touch .env 在 /linkwarden 文件夹中，创建一个名为 .env 的文件，打开它并将以下文本粘贴到其中
NEXTAUTH_SECRET=VERY_SENSITIVE_SECRET NEXTAUTH_URL=http://localhost:3000/api/v1/auth POSTGRES_PASSWORD=YOUR_POSTGRES_PASSWORD 修改密码后：
docker compose up -d</description></item><item><title>IndexNow - 快速通知搜索引擎网站内容更新啦</title><link>https://blog.lufei.de/p/320/</link><pubDate>Wed, 04 Sep 2024 05:41:07 +0800</pubDate><guid>https://blog.lufei.de/p/320/</guid><description>什么是 IndexNow？ 文档：https://www.indexnow.org/zh_cn/index
如何提交 下载API密钥文件保存到站点根目录
注册必应站长
下载推送脚本
必应后台查看IndexNow详情
提示：滑至中间，找到 Generate API Key 点击下载密钥
获取API密钥：https://www.bing.com/indexnow/getstarted
indexnow文档：https://www.indexnow.org/zh_cn/documentation
必应站长工具：https://www.bing.com/webmasters
看不懂没关系，我制作了脚本：
安装插件：
sudo apt update sudo apt install curl jq 一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/indexnow_menu_cn.sh &amp;amp;&amp;amp; chmod +x indexnow_menu_cn.sh &amp;amp;&amp;amp; ./indexnow_menu_cn.sh 定时任务 首先下载脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/indexnow-submit-script.sh &amp;amp;&amp;amp; chmod +x indexnow-submit-script.sh 测试是否可以推送：
./indexnow-submit-script.sh www.bing.com 12345 abc.com https://abc.com/sitemap.xml 设置任务：
(crontab -l ; echo &amp;#34;20 5 * * * cd ~ &amp;amp;&amp;amp; ./indexnow-submit-script.sh www.bing.com 12345 abc.com https://abc.</description></item><item><title>使用 GitHub Actions 自动提交 URL 到 IndexNow</title><link>https://blog.lufei.de/p/319/</link><pubDate>Tue, 03 Sep 2024 16:22:45 +0800</pubDate><guid>https://blog.lufei.de/p/319/</guid><description>引言 在数字时代,网站的可发现性至关重要。本教程将指导您如何利用 GitHub Actions 自动将您的网站 URL 提交到 IndexNow,从而提高您网站在搜索引擎中的可见度。
什么是 IndexNow? IndexNow 是一个开放协议,允许网站所有者即时通知搜索引擎关于最新的内容变更。这意味着您的新内容或更新可以更快地被搜索引擎发现和索引。
为什么选择 GitHub Actions? GitHub Actions 提供了一个自动化的平台,可以根据特定事件(如推送新内容)或按计划执行任务。将其与 IndexNow 结合使用,我们可以创建一个强大的自动化工作流,确保您的网站内容始终保持最新索引状态。
实施步骤 1. 生成 API 密钥 首先,我们需要从 Bing Webmaster Tools 获取一个唯一的 API 密钥:
访问 Bing Webmaster Tools 滚动到页面底部,您会看到生成 API 密钥的选项 下载或生成新的密钥文件 2. 上传密钥文件 将下载的密钥文件(例如 007997b63dd14237bdb9facc726c9a05.txt)上传到您网站的根目录。
例如,如果您使用 Hugo 静态网站生成器,可以将文件放在 /static 文件夹中:
https://your-website.com/007997b63dd14237bdb9facc726c9a05.txt 3. 创建 GitHub Actions 工作流 在您的 GitHub 仓库根目录创建一个新的工作流文件:
.github/workflows/IndexNow.yml 将以下内容添加到文件中(记得替换 sitemap-location 为您自己的网站地图 URL):
name: &amp;#34;IndexNow&amp;#34; on: push: branches: - main schedule: # 每3天的 UTC 时间 04:00 运行一次 - cron: &amp;#39;0 4 */3 * *&amp;#39; jobs: check-and-submit: runs-on: ubuntu-latest steps: - name: submit-to-bing uses: bojieyang/indexnow-action@v2 with: sitemap-location: &amp;#34;https://your-website.</description></item><item><title>安装网站访客统计工具——Plausible</title><link>https://blog.lufei.de/p/318/</link><pubDate>Tue, 03 Sep 2024 01:15:22 +0800</pubDate><guid>https://blog.lufei.de/p/318/</guid><description>测试环境 Debian12 需要安装好docker 项目 项目：https://github.com/plausible/community-edition
文档：https://plausible.io/docs/
🔢 总内存占用约：548.77 MiB
📦 总镜像大小约：1.18 GiB
创建安装目录 mkdir -p /opt/docker_data/plausible/hosting cd /opt/docker_data/plausible/hosting 下载程序 版本：v2.0
默认端口：8000
wget https://github.com/plausible/community-edition/archive/refs/heads/v2.0.0.zip &amp;amp;&amp;amp; unzip v2.0.0.zip &amp;amp;&amp;amp; mv community-edition-2.0.0/* . &amp;amp;&amp;amp; rm -rf community-edition-2.0.0 v2.0.0.zip ==========================================================================
此时hosting目录下会有两个文件需要配置：
docker-compose.yml：把127.0.0.1改成0.0.0.0 plausible-conf.env：配置 Plausible 服务 编辑plausible-conf.env
nano plausible-conf.env BASE_URL 提前解析好的域名,例如：https://tj.1234.com
SECRET_KEY_BASE 加密密钥，可以通过下面的命令生成：
openssl rand -base64 64 | tr -d &amp;#39;\n&amp;#39; ; echo 最后启动服务：
docker compose up -d 第一次访问创建的用户即是管理员，登录后，就可以添加网站了。
一键查询Plausible内存和镜像大小
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/plausible_stats.sh &amp;amp;&amp;amp; chmod +x plausible_stats.</description></item><item><title>去除YouTube弹窗，彻底无广告</title><link>https://blog.lufei.de/p/317/</link><pubDate>Mon, 02 Sep 2024 03:49:30 +0800</pubDate><guid>https://blog.lufei.de/p/317/</guid><description>项目 https://github.com/TheRealJoelmatic/RemoveAdblockThing
安装去广告脚本 安装脚本：单击此处并按安装
禁用广告拦截器 务必在YouTube页面上禁用其他广告拦截器，例如Adblock Plus（因为这些已经被YouTube列入黑名单了）。否则会导致各种播放问题！
不用担心，安装好的脚本会删除 YouTube 上的广告。
安装Tampermonkey油猴 如果尚未安装，则需要安装 Tampermonkey 浏览器扩展。支持各种浏览器：
Tampermonkey for Chrome
Tampermonkey for Firefox
Tampermonkey for Edge
Tampermonkey for Opera/OperaGX
进入管理面板 打开 Tampermonkey 仪表板：单击浏览器中的 Tampermonkey 扩展程序图标，然后选择“控制面板”。
创建新脚本 创建新脚本：在 Tampermonkey 仪表板中，单击“实用程序”选项卡并选择“创建新脚本”。</description></item><item><title>最简单监控方案：域名、证书SSL、服务器全搞定！发送钉钉告警消息</title><link>https://blog.lufei.de/p/316/</link><pubDate>Sat, 31 Aug 2024 21:35:09 +0800</pubDate><guid>https://blog.lufei.de/p/316/</guid><description>一键脚本（推荐） curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/document_modifier.sh &amp;amp;&amp;amp; chmod +x document_modifier.sh &amp;amp;&amp;amp; ./document_modifier.sh 你只需要准备好钉钉报警机器人webhook地址就行。
文档：https://open.dingtalk.com/document/orgapp/custom-robot-access
以下内容为手动安装，不懂的地方可以看看
需求 有时候域名太多，时间一长，你会不记得快要续期了 服务器太多，需要监控，这应该是刚需 证书申请来申请去，自动续签鬼知道会不会出问题 痛点 监控还要安装各种东西，会出岔子，折腾够呛，难免费时费力，所以，我的方案就是使用脚本，快速高效。脚本公开透明，放心食用~
创建钉钉报警机器人 文档：https://open.dingtalk.com/document/orgapp/custom-robot-access
记得在安全设置那里写上服务器IP地址，也就是你放脚本的服务器IP地址
最后复制webhook地址
修改脚本 check_ssl.txt 添加需要检测证书的域名，每行一个 domains.txt 添加需要到期检测的域名，每行一个 测试说明 不把数值改大一点，是没有通知的，因为默认数值比较小，
定时任务 daily_report.sh脚本很推荐， 因为会养成你每天下午2点就收到钉钉通知报告的习惯。时间一长，你会记得去看~ (crontab -l ; echo &amp;#34;30 2 */3 * * cd /home/domain &amp;amp;&amp;amp; ./domain_expiry_reminder.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab - (crontab -l ; echo &amp;#34;0 14 * * * cd /home/domain &amp;amp;&amp;amp; ./daily_report.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab - (crontab -l ; echo &amp;#34;10 3 * * * cd /home/domain &amp;amp;&amp;amp; .</description></item><item><title>监控域名到期发送钉钉消息通知</title><link>https://blog.lufei.de/p/315/</link><pubDate>Sat, 31 Aug 2024 04:50:36 +0800</pubDate><guid>https://blog.lufei.de/p/315/</guid><description>准备条件 系统：debian,ubuntu，安装了python
检测是否安装了python：
python3 --version 检测是否安装了requests
python3 -c &amp;#34;import requests; print(requests.__version__)&amp;#34; 如果没安装
pip install requests 下载脚本 新建通知文本：
mkdir -p /home/domain touch /home/domain/warnfile 安装依赖：
sudo apt-get update sudo apt-get install whois bc 下载脚本:
cd /home/domain wget https://raw.githubusercontent.com/woniu336/open_shell/main/domain_expiry_reminder.sh wget https://raw.githubusercontent.com/woniu336/open_shell/main/warnsrc.py 赋予权限：
chmod +x domain_expiry_reminder.sh chmod +x warnsrc.py 获取钉钉Webhook 地址 使用 Webhook 地址，创建好自定义机器人
查看文档 https://open.dingtalk.com/document/robots/custom-robot-access
IP地址（段）填写服务器IP （要填上）
修改脚本： 修改：domain_expiry_reminder.sh
把for line in 123.com 234.com 567.org 改成你的域名(第25行)，多个使用空格分开
测试时间为30天内过期就发告警
https://pastebin.com/vUq8Jjkb 修改：warnsrc.py
把前面获取到的钉钉Webhook地址填上：url = 'Webhook地址' （第16行）</description></item><item><title>阿里云Web播放器引入，支持m3u8播放</title><link>https://blog.lufei.de/p/314/</link><pubDate>Thu, 29 Aug 2024 02:25:20 +0800</pubDate><guid>https://blog.lufei.de/p/314/</guid><description>下载文件 下载到网站目录
wget https://raw.githubusercontent.com/woniu336/open_shell/main/aliplay.tar.gz tar -xzvf aliplay.tar.gz rm aliplay.tar.gz aliplay播放器（推荐）
https://aaa.com/ck/m3u8.php?url= DPlayer播放器（备用）
https://aaa.com/dp/m3u8.php?url=</description></item><item><title>rclone工具使用技巧</title><link>https://blog.lufei.de/p/313/</link><pubDate>Tue, 27 Aug 2024 23:32:57 +0800</pubDate><guid>https://blog.lufei.de/p/313/</guid><description>命令 先给出命令
注意：如果在windows下使用，路径使用/
rclone copy gd:UpdraftPlus /home/test \ -u \ -v \ -P \ --transfers=6 \ --ignore-errors \ --buffer-size=64M \ --drive-chunk-size=128M \ --fast-list \ --auto-confirm \ --checkers=10 \ --drive-acknowledge-abuse \ --drive-server-side-across-configs 命令2 例子：
rclone copy /www/wwwroot/1234.com/upload/vod r2:imgs/upload/vod --ignore-existing -u -v -P --transfers=10 --ignore-errors --buffer-size=16M --check-first --checkers=10 --drive-acknowledge-abuse 这个命令使用了 rclone 工具来从 Google Drive (gd:) 复制一个名为 UpdraftPlus 的目录到本地的 /home/test 目录。下面是对命令中各个选项的解读：
rclone copy gd:UpdraftPlus /home/test: 这是主要的命令，表示将 Google Drive 上的 UpdraftPlus 目录复制到本地的 /home/test 目录。</description></item><item><title>宝塔面板：苹果cms系统站点最佳Nginx配置</title><link>https://blog.lufei.de/p/312/</link><pubDate>Mon, 26 Aug 2024 22:29:57 +0800</pubDate><guid>https://blog.lufei.de/p/312/</guid><description>环境 系统：debian11
宝塔：7.7.0
nginx: 1.26.1 (编译)
mysql: 5.7
php: 7.4
关于怎么配置Nginx FastCGI 缓存 本博客有教程
适用苹果cms站点：https://github.com/woniu336/open_shell/blob/main/maccms.conf
适用多数站点：https://github.com/woniu336/open_shell/blob/main/nginx.conf
https://pastebin.com/TqmpxGfh
Nginx完整配置 注意：
这不是nginx的配置，而是站点的配置 每个站点创建不同的缓存目录，设置不同的key 创建缓存目录
注意：最好是在/var/cache/目录下创建，否则重启服务器会导致nginx无法启动
mkdir -p /var/cache/nginx/catpdf_org chmod -R 755 /var/cache/nginx/catpdf_org 完整配置：
注意：
替换自己的域名，站点目录，证书目录，php版本，苹果cms后台地址（houtai.php） 必须有且只有一个站点是：listen 443 quic reuseport; 后面多了一个reuseport 其他站点是listen 443 quic; catpdf_org 是缓存目录，CATPDF.ORG是key fastcgi_cache_path /var/cache/nginx/catpdf_org levels=1:2 keys_zone=CATPDF.ORG:200m inactive=2d max_size=10G; fastcgi_cache_key &amp;#34;$scheme$request_method$host$request_uri$is_args$args&amp;#34;; fastcgi_cache_use_stale error timeout invalid_header http_500 http_503; fastcgi_ignore_headers Cache-Control Expires Set-Cookie; server { listen 80; listen 443 ssl; listen 443 quic; http2 on; http3 on; quic_gso on; quic_retry off; server_name baidu.</description></item><item><title>将github仓库同步到个人服务器</title><link>https://blog.lufei.de/p/311/</link><pubDate>Mon, 26 Aug 2024 04:54:29 +0800</pubDate><guid>https://blog.lufei.de/p/311/</guid><description>场景 把本地项目推送到Github仓库后，如果想部署到服务器上，可以尝试此方案
我的博客是hugo搭建的，每次更新文章会手动推送到Github仓库，
然后利用Actions 脚本自动推送到cf或者vercel
之前我写过一篇 将 hugo 博客搬迁到服务器 步骤有些繁琐，
本次方案快速高效（推荐）
方案 使用rsync，配置Actions 脚本 小站demo: https://blog.taoshuge.eu.org/
安装 rsync 登录远程服务器，键入以下命令来完成 rsync 的安装：
sudo apt install rsync 安装成功会显示git的版本号
rsync --version 显示
rsync version 3.2.3 protocol version 31
新建 rsync 用户 出于安全的原因考虑，我们一般不会使用root来运行同步功能，因此，需要创建一个 rsync 用户来执行同步。
登录远程服务器，键入以下命令：
sudo adduser rsyncer 创建用户的途中会要求输入用户密码，这个密码请务必记住，切换到这个用户时需要，其它配置使用默认值直接回车就行。
本地生成 SSH key 在你的电脑上生成一个 Key 对，其中一个扩展名是.pub，是公钥。假设分别命名为：id_rsa 和 id_rsa.pub
ssh-keygen -q -t rsa -b 4096 -C &amp;#34;阿弥托福&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/id_rsa 查看并复制公钥内容
cat ~/.ssh/id_rsa.pub 把 SSH 公钥添加到远程服务器 登录你的服务器，逐个输入以下代码</description></item><item><title>安装 Node.js 和 npm</title><link>https://blog.lufei.de/p/310/</link><pubDate>Sun, 25 Aug 2024 15:16:34 +0800</pubDate><guid>https://blog.lufei.de/p/310/</guid><description>更新系统包
sudo apt update &amp;amp;&amp;amp; sudo apt upgrade -y 安装 Node.js 和 npm
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash - sudo apt-get install -y nodejs 检查 Node.js 是否安装：
node --version 检查 npm 是否安装：
npm --version 安装 Git
sudo apt-get install -y git 检查 Git 是否安装：
git --version</description></item><item><title>阿里云香港轻量服务器卸载云盾和云监控</title><link>https://blog.lufei.de/p/309/</link><pubDate>Sat, 24 Aug 2024 17:02:57 +0800</pubDate><guid>https://blog.lufei.de/p/309/</guid><description>以轻量香港服务器为例
系统：debian11
卸载云盾 wget -O uninstall.sh &amp;#34;http://update.aegis.aliyun.com/download/uninstall.sh&amp;#34; &amp;amp;&amp;amp; chmod +x uninstall.sh &amp;amp;&amp;amp; ./uninstall.sh wget -O quartz_uninstall.sh &amp;#34;http://update.aegis.aliyun.com/download/quartz_uninstall.sh&amp;#34; &amp;amp;&amp;amp; chmod +x quartz_uninstall.sh &amp;amp;&amp;amp; ./quartz_uninstall.sh 删除残留：
pkill aliyun-service rm -fr /etc/init.d/agentwatch /usr/sbin/aliyun-service rm -rf /usr/local/aegis* 屏蔽云盾IP 执行下面命令通过“iptables”防火墙来屏蔽云盾IP
iptables -I INPUT -s 140.205.201.0/28 -j DROP iptables -I INPUT -s 140.205.201.16/29 -j DROP iptables -I INPUT -s 140.205.201.32/28 -j DROP iptables -I INPUT -s 140.205.225.192/29 -j DROP iptables -I INPUT -s 140.205.225.200/30 -j DROP iptables -I INPUT -s 140.</description></item><item><title>个人网站无缝切换图片到 webp</title><link>https://blog.lufei.de/p/308/</link><pubDate>Sat, 24 Aug 2024 06:28:33 +0800</pubDate><guid>https://blog.lufei.de/p/308/</guid><description>本文介绍了如何使用 WebP Server Go 项目实现个人网站的图片无缝切换到 WebP 格式。首先，用户需创建 Docker 环境并配置docker-compose.yml和config.json文件，以设置服务参数和图片路径。通过反向代理，用户可以将其他网站的图片转换为 WebP 格式，并支持额外参数来限制图片大小。文章还提到缓存管理和图像格式转换选项，旨在提高网站的图片加载效率和用户体验。</description></item><item><title>告别臃肿！个人博客图片优化的秘密武器——AVIF格式</title><link>https://blog.lufei.de/p/307/</link><pubDate>Fri, 23 Aug 2024 02:36:43 +0800</pubDate><guid>https://blog.lufei.de/p/307/</guid><description>对于大多数网页图片来说,AVIF格式是一个很好的起点，它能在文件大小和图像质量之间取得良好的平衡。AVIF提供了优秀的压缩效率和图像质量。它特别适合网页使用，因为它可以大幅减小文件大小而保持良好的视觉质量。
准备软件 ShareX imagemagick imagemagick 下载第一个 Q16-HDRI-x64-dll.exe 安装 ShareX 动作设置 按下图 动作设置-动作-添加 进入动作添加页面
动作参数 webp
将图像转换为质量为 50 的 WebP 格式，并启用无损压缩
&amp;#34;$input&amp;#34; -quality 50 -define WebP:lossless=true &amp;#34;$output&amp;#34; avif
将图像转换为质量为 60 的 AVIF 格式，设置压缩级别为 6，编码努力程度为 7
convert &amp;#34;$input&amp;#34; -quality 60 -define avif:compression-level=6 -define avif:effort=7 &amp;#34;$output&amp;#34; 编码2（推荐）
convert &amp;#34;$input&amp;#34; -quality 70 -define avif:compression-level=3 -define avif:effort=4 &amp;#34;$output&amp;#34; 例如
ShareX 截图任务 按下图顺序设置截图后的任务顺序 保存图像文件 &amp;ndash; 执行操作 &amp;ndash; 上传图片
上传到cloudflare r2 教程地址：
https://getsharex.com/docs/cloudflare-r2</description></item><item><title>将hugo博客搬迁到服务器</title><link>https://blog.lufei.de/p/306/</link><pubDate>Sun, 18 Aug 2024 02:15:46 +0800</pubDate><guid>https://blog.lufei.de/p/306/</guid><description>本文介绍了将Hugo博客迁移到Ubuntu 22.04服务器的详细步骤。首先，创建并配置具有root权限的git用户，初始化Git仓库并设置钩子。接着，生成SSH密钥，配置服务器以接受公钥并测试SSH连接。然后，本地初始化仓库，添加远程仓库并推送代码。提供了一键推送脚本以简化更新过程。最后，通过宝塔面板使用nginx部署静态站点，并使用计划任务同步更新。</description></item><item><title>剪贴板神器Ditto</title><link>https://blog.lufei.de/p/305/</link><pubDate>Sat, 17 Aug 2024 00:15:44 +0800</pubDate><guid>https://blog.lufei.de/p/305/</guid><description>官网：https://ditto-cp.sourceforge.io/</description></item><item><title>markdown工具推荐</title><link>https://blog.lufei.de/p/304/</link><pubDate>Fri, 16 Aug 2024 15:11:20 +0800</pubDate><guid>https://blog.lufei.de/p/304/</guid><description>markdownmonster 官网：https://markdownmonster.west-wind.com/download</description></item><item><title>Nginx配置仅允许cloudflare回源IP访问</title><link>https://blog.lufei.de/p/303/</link><pubDate>Fri, 16 Aug 2024 01:07:36 +0800</pubDate><guid>https://blog.lufei.de/p/303/</guid><description>☺☠〠
让Nginx只接受cloudflare（以下简称cf）的回源请求，不允许其他客户端直接访问源服务器。
首先获取最新的cf回源IP，并转换成nginx的配置文件格式。
https://www.cloudflare.com/ips-v4
https://www.cloudflare.com/ips-v6
https://www.cloudflare.com/zh-cn/ips/
在/www/server/nginx/conf目录创建cfip.conf 写入以下内容：
#IPv4 allow 127.0.0.1; allow 173.245.48.0/20; allow 103.21.244.0/22; allow 103.22.200.0/22; allow 103.31.4.0/22; allow 141.101.64.0/18; allow 108.162.192.0/18; allow 190.93.240.0/20; allow 188.114.96.0/20; allow 197.234.240.0/22; allow 198.41.128.0/17; allow 162.158.0.0/15; allow 104.16.0.0/13; allow 104.24.0.0/14; allow 172.64.0.0/13; allow 131.0.72.0/22; #IPv6 allow ::1; allow 2400:cb00::/32; allow 2606:4700::/32; allow 2803:f800::/32; allow 2405:b500::/32; allow 2405:8100::/32; allow 2a06:98c0::/29; allow 2c0f:f248::/32; 然后在站点的 Nginx 配置文件 Server 区块中加入以下内容
include cfip.conf; deny all; 重启nginx。
完结</description></item><item><title>屏蔽 Censys，防止源站 IP 泄露</title><link>https://blog.lufei.de/p/302/</link><pubDate>Thu, 15 Aug 2024 20:08:35 +0800</pubDate><guid>https://blog.lufei.de/p/302/</guid><description>Censys 搜索引擎很强大。Censys 每天都会扫描 IPv4 地址空间，以搜索所有联网设备并收集相关的信息，并返回一份有关资源（如设备、网站和证书）配置和部署信息的总体报告。
在 IP 前加上 https 访问时，Nginx 会自动返回该网站的 https 证书，从而暴露相关域名信息。哪怕是套了 CDN 也还是会被扫到。Censys 还会扫描端口，例如 80、8000、8080、443、4433。
所以为了防止，自己的网站被攻击我们需要屏蔽掉 Censys 的扫描。据我所知有四种办法，分部是屏蔽 Censys 的 UA、屏蔽 Censys 的 IP 段、建立虚假网站以及使用 Nginx 的特性。四种方法，选其一即可。当然如果你觉得不够安全，可以都使用。
系统： ubuntu22.04
nginx: 1.25.5
1.屏蔽 Censys 的 IP 段 Censys 的 IP 段在其官网有。我的机子使用的是 Ubuntu 系统，带有 UFW 防火墙，按照下面的命令建立规则即可。
Censys IP段 ：https://support.censys.io/hc/en-us/articles/360043177092-Opt-Out-of-Data-Collection
sudo ufw deny from 162.142.125.0/24 sudo ufw deny from 167.94.138.0/24 sudo ufw deny from 167.94.145.0/24 sudo ufw deny from 167.94.146.0/24 sudo ufw deny from 167.</description></item><item><title>OCSP地址查询</title><link>https://blog.lufei.de/p/301/</link><pubDate>Sat, 10 Aug 2024 20:54:29 +0800</pubDate><guid>https://blog.lufei.de/p/301/</guid><description>一键查询脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/check-cert.sh &amp;amp;&amp;amp; chmod +x check-cert.sh 运行脚本并提供域名作为参数：
./check-cert.sh example.com certbot申请的证书 your-domain替换成你的域名
查询ocsp地址：
openssl x509 -in /etc/letsencrypt/live/your-domain.com/cert.pem -noout -ocsp_uri ssl_trusted_certificate配置路径：
ssl_trusted_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem; acme.sh申请的证书 查询ocsp地址：
openssl x509 -in ~/.acme.sh/your-domain.com/your-domain.cer -noout -ocsp_uri ssl_trusted_certificate配置路径：
ssl_trusted_certificate ~/.acme.sh/your-domain.com/fullchain.cer;</description></item><item><title>提升网站速度：配置 Nginx FastCGI 缓存</title><link>https://blog.lufei.de/p/300/</link><pubDate>Sat, 10 Aug 2024 01:19:49 +0800</pubDate><guid>https://blog.lufei.de/p/300/</guid><description>本文介绍了如何在 Ubuntu 22.04 系统上使用宝塔面板配置 Nginx FastCGI 缓存，以提升网站速度。详细步骤包括：检查 ngx_cache_purge 模块、创建缓存文件夹、配置 Nginx 缓存路径和参数、设置缓存键和使用条件、以及配置网站缓存规则。同时，还提供了 WordPress 环境下的缓存配置方法和注意事项，如修改 php 配置、使用 Nginx Helper 插件或纯代码方式实现缓存清理。</description></item><item><title>宝塔面板启用 QUIC 与 Brotli 的完整教程</title><link>https://blog.lufei.de/p/299/</link><pubDate>Fri, 09 Aug 2024 16:14:46 +0800</pubDate><guid>https://blog.lufei.de/p/299/</guid><description>本文介绍了在宝塔面板上启用 QUIC 和 Brotli 的详细步骤。首先，确保服务器环境符合要求，并开放 UDP 端口。接着，安装 ngx_brotli 模块并升级 OpenSSL。然后，修改宝塔面板的 Nginx 安装脚本，编译安装 Nginx，并配置 HTTP/3 相关参数。最后，设置 Brotli 压缩和 SSL 证书，确保 Nginx 配置正确，重启服务并进行 QUIC/HTTP3 检测。文章还提供了浏览器配置的指导，以支持 QUIC 协议。</description></item><item><title>SSL证书签发脚本</title><link>https://blog.lufei.de/p/298/</link><pubDate>Tue, 06 Aug 2024 01:13:47 +0800</pubDate><guid>https://blog.lufei.de/p/298/</guid><description>背景 我通过AI制作了不少关于签发ssl证书的脚本，目的是方便无脑安装，不需要懂代码。
但全都是基于acme.sh这个工具来设计的脚本，而且证书申请有点慢，有时还会申请失败。
然后我发现了certbot, 安装证书可谓神速！
certbot文档： https://eff-certbot.readthedocs.io/en/latest/using.html#managing-certificates
由于我建站都是使用的宝塔面板（7.7.0原版），所以结合宝塔设计了此脚本，
为什么我不用宝塔自带的方式安装证书，因为我就没安装成功过~
脚本 环境：ubuntu22.04
certbot： 基于Let&amp;rsquo;s Encrypt （默认ecc证书）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssl-cert.sh &amp;amp;&amp;amp; chmod +x ssl-cert.sh &amp;amp;&amp;amp; ./ssl-cert.sh 其他 首次安装证书后，需要到宝塔面板，选择站点，找到ssl保存一下，目的是之后的自动续签。
安装成功后，选择菜单4，测试续签是否正常，看到renewals succeeded说明正常了。
修改续签定时任务 查看原本的certbot定时任务：
cat /etc/cron.d/certbot 其实就是在后面添加了 --deploy-hook &amp;quot;/etc/init.d/nginx restart&amp;quot;参数，目的是重启nginx，使其生效。之后就可以高枕无忧的自动续签证书了
证书路径 certbot生成的证书路径是：/etc/letsencrypt/live
续签配置路径：/etc/letsencrypt/renewal
脚本会把证书复制到站点证书目录
certbot会在证书离到期日还剩30天内续签证书
友情提示 如果一个域名在短时间内，多次申请，全部成功（大概6次吧，不记得了），会提示一周后在申请，我是为了测试脚本才遇到的bug。
其他 如果没有创建/etc/letsencrypt/live/aaaa.com目录,可以手动,例如：
sudo mkdir -p /etc/letsencrypt/live/aaa.com sudo ln -sf /etc/letsencrypt/archive/aaa.com/privkey1.pem /etc/letsencrypt/live/aaa.com/privkey.pem sudo ln -sf /etc/letsencrypt/archive/aaa.com/fullchain1.pem /etc/letsencrypt/live/aaa.com/fullchain.pem sudo ln -sf /etc/letsencrypt/archive/aaa.com/cert1.pem /etc/letsencrypt/live/aaa.com/cert.pem sudo ln -sf /etc/letsencrypt/archive/aaa.com/chain1.pem /etc/letsencrypt/live/aaa.com/chain.pem</description></item><item><title>使用docker快速搭建发卡网-独角数卡</title><link>https://blog.lufei.de/p/297/</link><pubDate>Mon, 05 Aug 2024 03:51:10 +0800</pubDate><guid>https://blog.lufei.de/p/297/</guid><description>docker版本的发卡程序搭建
项目1：https://github.com/assimon/dujiaoka
项目2（基于项目1）：https://github.com/Apocalypsor/dujiaoka-docker
一键安装脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/dujiaoka-setup.sh &amp;amp;&amp;amp; chmod +x dujiaoka-setup.sh &amp;amp;&amp;amp; ./dujiaoka-setup.sh 安装成功后，打开ip:3080,填写信息，登录后台/admin 默认用户名和密码：admin
手动安装 步骤 1 安装 docker curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 查询是否安装成功
docker --version&amp;amp;&amp;amp;docker-compose --version 开机自启
sudo systemctl enable docker 步骤 2 安装部署独角数卡 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/duka.sh &amp;amp;&amp;amp; chmod +x duka.sh &amp;amp;&amp;amp; ./duka.sh 步骤 3 网页安装 重点 打开 ip:3080
将 mysql数据库地址 改为 db 将 mysql 用户名 改为 dujiaoka 将 mysql 密码改为终端显示的密码 将 redis 的地址改为 redis 填写网站名称 网站 url 填写完整域名地址，例如 http://shop.</description></item><item><title>苹果cms10后台更换图片地址和播放链接sql</title><link>https://blog.lufei.de/p/296/</link><pubDate>Sun, 04 Aug 2024 22:16:29 +0800</pubDate><guid>https://blog.lufei.de/p/296/</guid><description>图片地址替换
https://xxx.com 为远程图片地址
UPDATE {pre}vod SET vod_pic=REPLACE(vod_pic, &amp;#39;upload/vod&amp;#39;, &amp;#39;https://xxx.com&amp;#39;) 常用
UPDATE {pre}vod SET vod_pic=REPLACE(vod_pic, &amp;#39;mac://&amp;#39;, &amp;#39;https://&amp;#39;) 播放地址替换
s1.bfengbf.com 是旧地址，c1.rrcdnbf1.com 是新地址
UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s1.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf1.com&amp;#39;) UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s2.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf2.com&amp;#39;) UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s3.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf3.com&amp;#39;) UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s4.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf4.com&amp;#39;) UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s5.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf5.com&amp;#39;) UPDATE {pre}vod SET vod_play_url=REPLACE(vod_play_url, &amp;#39;s6.bfengbf.com&amp;#39;, &amp;#39;c1.rrcdnbf6.com&amp;#39;)</description></item><item><title>OpenLiteSpeed 访问ip跳转404</title><link>https://blog.lufei.de/p/295/</link><pubDate>Fri, 02 Aug 2024 06:00:48 +0800</pubDate><guid>https://blog.lufei.de/p/295/</guid><description>修改 OpenLiteSpeed 的配置 找到配置文件路径：例如我的ip是2.2.2.2
cd /usr/local/lsws/conf/vhosts/2.2.2.2/ 编辑vhost.conf文件，
nano vhost.conf 写入如下内容：
# 虚拟主机配置 docRoot $VH_ROOT/public_html vhDomain $VH_NAME vhAliases www.$VH_NAME adminEmails $VH_ADMIN_EMAIL enableGzip 1 enableIpGeo 1 # 重写规则 rewrite { enable 1 rules &amp;lt;&amp;lt;&amp;lt;END_RULES # 检查是否是通过 IP 地址访问 RewriteCond %{HTTP_HOST} ^[0-9.]+$ # 如果是 IP 访问，重定向到 404 页面 RewriteRule ^ /404.html [L] END_RULES } # 错误页面配置 errordoc 404 { url /404.html } 新建404页面
cd /home/2.2.2.2/public_html/ #回到ip目录 touch 404.html 写入内容：
&amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html lang=&amp;#34;zh-CN&amp;#34;&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&amp;#34;UTF-8&amp;#34;&amp;gt; &amp;lt;meta name=&amp;#34;viewport&amp;#34; content=&amp;#34;width=device-width, initial-scale=1.</description></item><item><title>宝塔面板Nginx禁止直接通过IP地址访问网站</title><link>https://blog.lufei.de/p/294/</link><pubDate>Fri, 02 Aug 2024 05:50:24 +0800</pubDate><guid>https://blog.lufei.de/p/294/</guid><description>具体步骤如下：
第一步： 改成如下图所示：取消设置默认站点
第二步： 宝塔面板”文件”根目录搜索”0.default.conf”文件，注意勾选”包含子目录”，”0.default.conf”的文件路径如下。
/www/server/panel/vhost/nginx/0.default.conf 这个文件是宝塔面板默认站点的nginx规则，我们把之前的内容删除，写入以下代码：
server { listen 80 default_server; listen [::]:80 default_server; server_name _; return 444; } server { listen 443 ssl default_server; listen [::]:443 ssl default_server; server_name _; ssl_reject_handshake on; } 假如nginx开启了quic，使用如下代码，不然重启nginx会报错：
server { listen 80 default; listen 443 ssl; server_name _; return 444; ssl_certificate /www/server/panel/ssl/certificate.pem; ssl_certificate_key /www/server/panel/ssl/privateKey.pem; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_session_timeout 10m; ssl_prefer_server_ciphers on; } 搞定！
理论上宝塔文件中存在的任意pem路径都可以</description></item><item><title>cyberpanel重写规则</title><link>https://blog.lufei.de/p/293/</link><pubDate>Thu, 01 Aug 2024 22:57:07 +0800</pubDate><guid>https://blog.lufei.de/p/293/</guid><description>cyberpanel防盗链设置 主页——网站——网站列表，选择对应网站，点击管理——重写规则
RewriteEngine On RewriteCond %{HTTP_REFERER} !^https://(cdn.)?xxx.org [NC] RewriteRule .(jpg|jpeg|png|gif|webp|js|css)$ - [NC,F] 这条规则的意思是：
阻止所有不是来自 xxx.org 主域名或其 CDN 子域名的请求访问网站的图片、JavaScript 和 CSS 文件，以防止资源被其他网站盗用。
域名跳转到新域名 如果不保留原始的URL路径，把$1去掉即可
RewriteEngine on RewriteCond %{HTTP_HOST} ^example.com [NC,OR] RewriteCond %{HTTP_HOST} ^www.example.com [NC] RewriteRule ^(.*)$ http://example.net/$1 [L,R=301,NC] [OR]表示这个条件和下一条件是逻辑“或”的关系
这段代码将所有访问example.com或www.example.com的请求永久重定向到http://example.net，并保留原始的URL路径。
强制https 规则 cyberpanel默认是[R,L] 实际是302状态，改成[R=301,L] 才是301状态，
RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R=301,L] 301重定向分析 https://www.redirhub.com/zh/tool/redirect-checker
https://uutool.cn/url-redirect/
反向代理 还是在cyberpanel面板修改规则，但是portainer这部分需要在OpenLiteSpeed 面板设置
REWRITERULE ^(.*)$ HTTP://portainer/$1 [P] portainer：外部应用程序名称 在openlitespeed 里设置
导航到服务器 &amp;ndash; 外部应用程序 &amp;ndash; 添加 &amp;ndash;网络服务器</description></item><item><title>cyberpanel面板和openlitespeed设置</title><link>https://blog.lufei.de/p/292/</link><pubDate>Thu, 01 Aug 2024 13:40:48 +0800</pubDate><guid>https://blog.lufei.de/p/292/</guid><description>安装cyberpanel openlitespeed设置 管理界面账号密码
sudo /usr/local/lsws/admin/misc/admpass.sh 查看密码 (如果之前更改过密码则无效)
cd /usr/local/lsws cat adminpasswd IP使用自签证书
防止IP泄露SSL证书，导致别人可以通过这种方式反查到你的源站
1：生成自签名证书
mkdir -p /opt/signcert &amp;amp;&amp;amp; cd /opt/signcert openssl req -x509 -newkey rsa:4096 -keyout OpenLiteSpeed-key.pem -out OpenLiteSpeed-cert.pem -nodes -days 365 # 一路回车 2：替换证书
cat /opt/signcert/OpenLiteSpeed-cert.pem &amp;gt; /usr/local/lsws/admin/conf/webadmin.crt cat /opt/signcert/OpenLiteSpeed-key.pem &amp;gt; /usr/local/lsws/admin/conf/webadmin.key systemctl restart lsws 3：导航到openlitespeed面板，设置监听器SSL证书路径
/opt/signcert/OpenLiteSpeed-key.pem /opt/signcert/OpenLiteSpeed-cert.pem 屏蔽Censys 导航到服务器&amp;ndash;安全&amp;ndash;访问控制&amp;ndash;拒绝列表
162.142.125.0/24, 167.94.138.0/24, 167.94.145.0/24, 167.94.146.0/24, 167.248.133.0/24, 199.45.154.0/24, 199.45.155.0/24, 2602:80d:1000:b0cc:e::/80, 2620:96:e000:b0cc:e::/80 用户代理的屏蔽
Mozilla/5.0 (compatible; CensysInspect/1.1; +https://about.censys.io/) 禁用xmlrpc.php 导航到虚拟主机&amp;ndash;资源集&amp;ndash;类型Static 编辑&amp;ndash;重写规则，填入如下内容
RewriteRule ^(xmlrpc\.php|wp-trackback\.php) - [F,L] 其他优化：https://www.</description></item><item><title>windows系统安装FFmpeg</title><link>https://blog.lufei.de/p/291/</link><pubDate>Thu, 01 Aug 2024 02:19:59 +0800</pubDate><guid>https://blog.lufei.de/p/291/</guid><description>安装 https://www.gyan.dev/ffmpeg/builds/
或者 https://www.gyan.dev/ffmpeg/builds/packages/ffmpeg-6.1.1-full_build.7z
环境变量 解压，复制bin路径到系统环境变量，例如：D:\ffmpeg-6.1.1-full_build\bin
重启电脑生效，测试命令：
ffmpeg -version</description></item><item><title>wordpress搭建经验</title><link>https://blog.lufei.de/p/290/</link><pubDate>Tue, 30 Jul 2024 14:43:41 +0800</pubDate><guid>https://blog.lufei.de/p/290/</guid><description>服务器选择 插件 LiteSpeed ##缓存
UpdraftPlus ##备份还原
Better Search Replace ##在WordPress数据库上运行搜索/替换
显示访客真实IP 显示真实游客 IP，而不是 CloudFlare IP
ALL, 103.21.244.0/22T, 103.22.200.0/22T, 103.31.4.0/22T, 104.16.0.0/13T, 104.24.0.0/14T, 108.162.192.0/18T, 131.0.72.0/22T, 141.101.64.0/18T, 162.158.0.0/15T, 172.64.0.0/13T, 173.245.48.0/20T, 188.114.96.0/20T, 190.93.240.0/20T, 197.234.240.0/22T, 198.41.128.0/17T 安装certbot 安装证书：Ubuntu 20.04 和 22.04
sudo apt-get update sudo apt-get install certbot -y 卸载
sudo apt-get remove certbot OpenLiteSpeed设置 建立文件 例如：
mkdir -p /home/5k.92dm.top/public_html/.well-known/acme-challenge 虚拟主机&amp;ndash;资源集&amp;ndash;Static
url: /.well-known/acme-challenge
位置：/home/5k.92dm.top/public_html/.well-known/acme-challenge
可访问：是
申请证书 certbot certonly --non-interactive --agree-tos -m demo@gmail.com --webroot -w /home/catpdf.org/public_html/ -d catpdf.</description></item><item><title>国内如何注册Claude AI</title><link>https://blog.lufei.de/p/289/</link><pubDate>Thu, 18 Jul 2024 01:45:22 +0800</pubDate><guid>https://blog.lufei.de/p/289/</guid><description>之前一直在用OpenAI的ChatGPT，用起来还行，因此我并未关注其他的AI产品，
最近在Timeline上高频度的看到有X友分享这个产品，今早忍不住注册体验了一下，产品整体体验很棒，
想到早上注册的时候卡了一下，在此写个简单的教程分享给大家。
注册Claude的前提
-稳定的上网工具 如果你目前的工具不好用，我推荐一个风之谷，链接为https://cn1.fengzg.net，目前正在搞活动，填入邀请码fzg2024可享受85折，我已经用了快一年，还不错。
-好用的短信接码平台 我使用的sms-active网站，支持支付宝购买，一条短信才十几个卢布，非常便宜。
好了，开始进入正式的注册流程
第一步、注册Claude账号，进入短信验证码页面
我是用的是gmail登录的。
第二步、进入Sms-Active网站，购买接收Claude的短信的手机号
第三步、返回Claude，填入在Sms-Active购买的手机号，获取短信验证码
第四步、返回Sms-Active，拿到获取的发送的验证码，并在Claude注册页面输入即可。
至此，我们就完成了Claude的注册。</description></item><item><title>BPB面板快速搭建CDN节点 锁定IP域区</title><link>https://blog.lufei.de/p/288/</link><pubDate>Fri, 05 Jul 2024 13:46:11 +0800</pubDate><guid>https://blog.lufei.de/p/288/</guid><description>利用Cloudflare的免费CDN节点，快速搭建免费vless上网节点。因CDN是全球分布，可作为VPN使用，通过优选IP和反代IP，实现高速、稳定的科学网络并锁定IP地区。
项目 测速工具：https://github.com/XIU2/CloudflareSpeedTest BNP Panel:https://github.com/bia-pain-bache/BPB-Worker-Panel Fofa网址:https://fofa.info/ 工具下载 https://pan.lanpw.com/b0742hkxe https://mirror.ghproxy.com/https://github.com/XIU2/CloudflareSpeedTest/releases/download/v2.2.5/CloudflareST_windows_amd64.zip https://mirror.ghproxy.com/https://github.com/2dust/v2rayN/releases/download/6.31/v2rayN-With-Core.zip 测速： https://youtu.be/ryER-YdX1Ks
视频教程 本期主要内空 利用cloudflare page进行搭建
搭建项目BPB panel可视化面板 (github上的项目）
进行IP优选、提高速度、锁定区域
用到的工具 github帐号 cloudflare帐号 CloudflareST优选测速工具 v2rayN 操作过程 一、利用BPB panle项目在CF上部署page。 操作比较简单，可参考强哥的油管详细视频。 二、BPB panel面板的使用 注意面板上proxyIP项可使用反代CF的IP，但作者更推荐在page里设置proxyip变量。 clean IP项是指得优选IP，可利用BPB面板自带的IP进行优选，貌以不能测速和选择国家地区。所以大家也可使用其它优选工具优选，也可以在fofa上手搓去寻找个性化的CFIP。
三、fofa 筛选指定IP 利用fofa，去筛选CF家IP，然后筛选反代CF的IP（非CF的IP，是反代了CFIP的IP）。
如筛选cloudflare的IP，端口是443、地区限定香港、AS号限定CF家的AS号：
server==&amp;#34;cloudflare&amp;#34; &amp;amp;&amp;amp; port==&amp;#34;443&amp;#34; &amp;amp;&amp;amp; region==&amp;#34;HK&amp;#34; &amp;amp;&amp;amp; (asn==&amp;#34;13335&amp;#34; || asn==&amp;#34;209242&amp;#34; || asn==&amp;#34;396982&amp;#34; || asn==&amp;#34;132892&amp;#34; || asn==&amp;#34;202623&amp;#34;) 如筛选反代cloudflare的IP，端口443、地区限定香港、头部特征隐藏、排除CF的AS号：
server==&amp;#34;cloudflare&amp;#34; &amp;amp;&amp;amp; port==&amp;#34;443&amp;#34; &amp;amp;&amp;amp; header=&amp;#34;Forbidden&amp;#34; &amp;amp;&amp;amp; region==&amp;#34;HK&amp;#34; &amp;amp;&amp;amp; asn!=&amp;#34;13335&amp;#34; &amp;amp;&amp;amp; asn!=&amp;#34;209242&amp;#34; &amp;amp;&amp;amp; asn!=&amp;#34;396982&amp;#34; &amp;amp;&amp;amp; asn!=&amp;#34;132892&amp;#34; &amp;amp;&amp;amp; asn!</description></item><item><title>划词翻译和OCR神器</title><link>https://blog.lufei.de/p/287/</link><pubDate>Mon, 01 Jul 2024 00:47:57 +0800</pubDate><guid>https://blog.lufei.de/p/287/</guid><description>我用过不少ocr和翻译的软件,厚着脸皮吹嘘多么强大,翻译问题不大,ocr的准确性差强人意! 最后找到一个目前我觉得还不错的. 因为可以自由选择ocr商家和翻译服务,对比下来,百度的ocr准确度还是可以的
项目地址 : https://github.com/pot-app/pot-desktop
官网: https://pot-app.com/
OCR服务 使用百度OCR(高精度)
申请教程: https://pot-app.com/docs/api/recognize/baidu.html
免费额度: 个人认证 1,000 次/月 (个人完全足够)
翻译服务 翻译推荐deeplx和openai (放心,能白嫖是不会花钱的)
可以只开一个,或者两个都设置,对比看看效果
deeplx : https://blog.taoshuge.eu.org/p/256/
openai
https://api.siliconflow.cn
key: https://cloud.siliconflow.cn/account/ak
模型(号称永久免费): THUDM/glm-4-9b-chat
快捷键设置 这其实很重要,习惯的力量</description></item><item><title>两行js实现html(网页)全自动翻译</title><link>https://blog.lufei.de/p/286/</link><pubDate>Sun, 23 Jun 2024 08:52:31 +0800</pubDate><guid>https://blog.lufei.de/p/286/</guid><description>项目地址:https://github.com/xnx3/translate
基于以上项目,使用Claude 3.5 Sonnet生成的chrome翻译插件,插件地址如下:
插件bug: 通常需要点击两次,才会在左上角显示下拉框
https://github.com/woniu336/open_shell/blob/main/one-click-translate.zip 使用方法: 下载插件解压,打开chrome开发者模式,然后选择加载已解压的扩展程序</description></item><item><title>免费撸gpt-4o 已失效</title><link>https://blog.lufei.de/p/285/</link><pubDate>Tue, 18 Jun 2024 01:13:39 +0800</pubDate><guid>https://blog.lufei.de/p/285/</guid><description>项目 项目地址: https://github.com/deanxv/coze-discord-proxy 文档: https://cdp-docs.pages.dev/page/quick-deploy.html 图文教程: https://www.dqzboy.com/16532.html docker部署 docker run --name coze-discord-proxy -d --restart always \ -p 7077:7077 \ -v $(pwd)/data:/app/coze-discord-proxy/data \ -e USER_AUTHORIZATION=&amp;#34;MTA5OTg5N************uIfytxUgJfmaXUBHVI&amp;#34; \ -e BOT_TOKEN=&amp;#34;MTE5OTk2************rUWNbG63w&amp;#34; \ -e GUILD_ID=&amp;#34;11************96&amp;#34; \ -e COZE_BOT_ID=&amp;#34;11************97&amp;#34; \ -e PROXY_SECRET=&amp;#34;123456&amp;#34; \ -e TZ=Asia/Shanghai \ deanxv/coze-discord-proxy docker-compose版 version: &amp;#39;3.4&amp;#39; services: coze-discord-proxy: image: deanxv/coze-discord-proxy:latest container_name: coze-discord-proxy restart: always ports: - &amp;#34;7077:7077&amp;#34; volumes: - ./data:/app/coze-discord-proxy/data environment: - USER_AUTHORIZATION=MTA5OTg5N************aXUBHVI # discord用户的鉴权参数(多个请以,分隔) - BOT_TOKEN=MTE5OT************UrUWNbG63w # 监听消息的Bot-Token - GUILD_ID=11************96 # 两个机器人所在的服务器ID - COZE_BOT_ID=11************97 # 由coze托管的机器人ID - PROXY_SECRET=123456 # [可选]接口密钥-请求头校验的值(多个请以,分隔) [作为API Key使用] - TZ=Asia/Shanghai 部署 railway版 首先 fork一份代码。 进入 railway，使用github登录，进入控制台。 选择 Git（第一次使用需要先授权），选择你 fork 的仓库。 选择添加环境变量 环境变量:</description></item><item><title>图片压缩工具推荐</title><link>https://blog.lufei.de/p/284/</link><pubDate>Mon, 17 Jun 2024 21:10:22 +0800</pubDate><guid>https://blog.lufei.de/p/284/</guid><description>使用场景 假设我有一个图床,里面有大量未经压缩的图片,那么我想到的就是有一个工具可以批量压缩,压缩之后再使用rclone工具传输
下载 https://www.123pan.com/s/cjqrVv-6Tj9d.html
TinyPNG TinyPNG是知名的老牌压缩工具
基于TinyPNG Api 安装直接运行，无需依赖任何第三方包及库 TinyPNG官网:https://tinypng.com/ TinyPNG4Mac https://github.com/kyleduo/TinyPNG4Mac
TinyPNG https://github.com/yongplus/tinypng
Caesium 在线版:https://caesium.app/ Caesium: https://github.com/Lymphatus/caesium-image-compressor
squoosh Squoosh 是一款由谷歌开发的免费开源在线图像压缩工具 在线版: https://squoosh.app/ 离线版桌面端下载: https://squoosh-desktop.vercel.app/#download Squoosh不管是在线版还是桌面端只能单张压缩,下面推荐基于Squoosh/lib进行了封装打包的Squoosh压缩工具
批量压缩推荐 https://img.imoolee.com/
compressor 官网: https://compressor.io/
rclone 使用rclone传输图片效率高,使用我制作的rclone脚本工具方便快捷
https://github.com/woniu336/open_shell/blob/main/rclone.bat
rclone下载地址: https://downloads.rclone.org/</description></item><item><title>chatgpt自由啦</title><link>https://blog.lufei.de/p/283/</link><pubDate>Sun, 16 Jun 2024 21:09:57 +0800</pubDate><guid>https://blog.lufei.de/p/283/</guid><description>统一接口one-api 使用一个接口白嫖了十几家大语言模型,这样的好处是不用来回切换 项目地址:https://github.com/songquanpeng/one-api Duck2api Duck2api是基于dockdockgo的项目,可以免费使用
gpt-3.5-turbo claude-3-haiku llama-3-70b mixtral-8x7b 项目地址: https://github.com/aurora-develop/Duck2api ChatGPT-Next-Web 然后再搭建一个chatgpt应用: 项目地址: https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web
一键部署到vercel,环境变量如下:
ENABLE_BALANCE_QUERY=1 BASE_URL=https://api.99bilibili.eu.org CODE=666888 OPENAI_API_KEY= GOOGLE_API_KEY= CUSTOM_MODELS=+moonshot-v1-128k,+kimi,+alibaba/Qwen2-72B-Instruct,+command-r-plus,+mixtral-8x7b,+Baichuan4,+yi-large,+llama3-70b-8192,+qwen-long,+claude-3-haiku 参数解释: BASE_URL设置为one-api地址,OPENAI_API_KEY为one-api后台设置的令牌 GOOGLE_API_KEY谷歌密钥 CUSTOM_MODELS 预设哪些模型 分享自用 基于以上项目搭建的,不花钱,低调使用,自己需求不大,不用也是吃灰中,没有过一段时间就用不了的情况,除非全部大模型都跑路了,或者白嫖太狠了刷爆了~
打开https://chat.leshans.eu.org/ 输入密码 666888 就可以使用以下大模型:
gpt-3.5-turbo claude-3-haiku gemini-1.5-pro-latest gemini-1.5-flash-latest moonshot-v1-128k kimi alibaba/Qwen2-72B-Instruct command-r-plus mixtral-8x7b Baichuan4 yi-large llama3-70b-8192 qwen-long 切换大模型方法 输入框点击机器人头像切换</description></item><item><title>rclone上传资料到onedrive遇到限速问题解决</title><link>https://blog.lufei.de/p/282/</link><pubDate>Sun, 16 Jun 2024 20:40:40 +0800</pubDate><guid>https://blog.lufei.de/p/282/</guid><description>原因分析 可能和脚本参数设置有关系,我的参数是:
rclone copy &amp;#34;F:\阿里云盘\6666\局域网&amp;#34; &amp;#34;od:影视&amp;#34; --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse 差不多8G大小的文件,上传不到1G,速度降到十几k,
最后我使用了一款界面软件上传,没有出现限速情况了,从头到尾保持7M/s的速度上传 工具地址:
https://github.com/kapitainsky/RcloneBrowser/releases 已经不更新了,截止2020年,
一些参数设置:</description></item><item><title>hugo-magic 主题自定义(三)</title><link>https://blog.lufei.de/p/281/</link><pubDate>Sun, 16 Jun 2024 04:43:15 +0800</pubDate><guid>https://blog.lufei.de/p/281/</guid><description>hugo.yaml 几乎所有自定义都在根目录hugo.yaml文件中去修改
AI摘要 AI摘要脚本sm.py 在根目录下,不要移动到其他地方,需要安装python,然后运行
python sm.py 输入slug: slug就是文章的slug字段,在标题的下方,可自定义,不能是中文,前面不要加数字0
输入summary: 输入摘要,可以在浏览器安装kimi阅读助手插件
下载python
https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe 底部图标 页面底部的图标在footer_links.json文件中修改,</description></item><item><title>hugo博客写作流程(二)</title><link>https://blog.lufei.de/p/280/</link><pubDate>Sat, 15 Jun 2024 23:09:57 +0800</pubDate><guid>https://blog.lufei.de/p/280/</guid><description>写作工具 推荐两款软件,本人都使用过: typora和obsidian
typora破解版:
https://github.com/woniu336/typora-007
新建文章 在博客目录找到shell/quickstart.sh双击打开即可
发布到Github 前提:
魔法上网 在Github新建一个仓库 找到shell/quickstart.sh双击打开,选择7.SSH 管理工具 按照1到4走一遍流程
科普一下: hugo是静态博客,需要把public目录下的所有文件发布到github 你可能找不到public目录,工具箱选择第3项:生成静态文件即可 需要把public单独作为一个仓库发布到github,选择菜单8:推送 public 到Github 远程仓库格式,例如:git@github.com:woniu336/fff.git Github Actions 工作流 Github Actions 通俗解释: 按照剧本去执行任务,什么时候干什么事情
打开git bash 在博客目录运行
mkdir -p .github/workflows 在workflows目录新建main.yml文件,粘贴以下内容:
name: Auto Deploy hugo on: push: branches: - main # 更新触发的分支 jobs: build-deploy: # runs-on: ubuntu-latest runs-on: ubuntu-20.04 steps: - name: Check out repository code uses: actions/checkout@v4 with: submodules: recursive # Fetch Hugo themes (true OR recursive) fetch-depth: 0 # Fetch all history for .</description></item><item><title>hugo-magic主题使用教程(一)</title><link>https://blog.lufei.de/p/279/</link><pubDate>Sat, 15 Jun 2024 21:22:11 +0800</pubDate><guid>https://blog.lufei.de/p/279/</guid><description>前提条件 以下教程以windows10为例 操作终端使用git bash 魔法上网的前提下 下载hugo https://github.com/gohugoio/hugo/releases/download/v0.127.0/hugo_extended_0.127.0_windows-amd64.zip 解压到任意目录,然后将目录添加到系统环境变量 如图 (windows) 打开cmd 输入 hugo version 验证是否设置正确 下载安装Git https://github.com/git-for-windows/git/releases/download/v2.45.2.windows.1/Git-2.45.2-64-bit.exe 新建博客 使用Git bash终端,打开方式: 桌面右键 找到 Git Bash Here 如果没有魔法上网,git submodule add这一步会拉取失败 在桌面右键打开Git bash运行以下命令
hugo new site quickstart cd quickstart git init git submodule add https://github.com/woniu336/hugo-magic.git themes/hugo-magic 拷贝文件 拷贝hugo-magic主题核心文件到根目录 quickstart
cp -rf themes/hugo-magic/exampleSite/* . rm hugo.toml mkdir -p data/summary mkdir -p assets/img cp themes/hugo-magic/data/footer_links.json data/ cp themes/hugo-magic/data/summary/summary.json data/summary/ cp -r themes/hugo-magic/archetypes . cp -r themes/hugo-magic/shell .</description></item><item><title>常用工具下载与安装</title><link>https://blog.lufei.de/p/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85/</link><pubDate>Sat, 15 Jun 2024 15:50:18 +0800</pubDate><guid>https://blog.lufei.de/p/%E5%B8%B8%E7%94%A8%E5%B7%A5%E5%85%B7%E4%B8%8B%E8%BD%BD%E4%B8%8E%E5%AE%89%E8%A3%85/</guid><description>
没有魔法上网就在下载地址前面加上: https://mirror.ghproxy.com/
git https://github.com/git-for-windows/git/releases/download/v2.45.2.windows.1/Git-2.45.2-64-bit.exe hugo https://github.com/gohugoio/hugo/releases/download/v0.127.0/hugo_extended_0.127.0_windows-amd64.zip python https://www.python.org/ftp/python/3.11.9/python-3.11.9-amd64.exe</description></item><item><title>chsrc 全平台通用换源工具</title><link>https://blog.lufei.de/p/277/</link><pubDate>Fri, 14 Jun 2024 10:38:36 +0800</pubDate><guid>https://blog.lufei.de/p/277/</guid><description>全平台命令行换源工具，目标支持 Linux (包括麒麟、openEuler、deepin 等), Windows, macOS, BSD 等尽可能多的操作系统，龙芯、飞腾、RISC-V 等尽可能多的 CPU。
chsrc 的设计理念 我已经受够了各种软件在我的C盘或$HOME里给我塞一堆零散的不知名文件，它往往连后缀都没有，它的文件名足够隐晦以致于你无论如何都猜不到是哪个软件在用它。等你抱着好奇心打开一看，这竟然还是一种自定义格式。
常用命令 以windows为例
./chsrc ls ./chsrc set python ./chsrc set node ./chsrc set winget 安装 以下方式均下载到当前目录，可直接通过 ./chsrc 运行。
Windows # x64 curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-windows.exe -o chsrc.exe # x86 curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x86-windows.exe -o chsrc.exe Linux # x64 curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-x64-linux -o chsrc; chmod +x ./chsrc # aarch64 curl -L https://gitee.com/RubyMetric/chsrc/releases/download/pre/chsrc-aarch64-linux -o chsrc; chmod +x ./chsrc # riscv64 curl -L https://gitee.</description></item><item><title>Docker仓库镜像代理工具</title><link>https://blog.lufei.de/p/276/</link><pubDate>Fri, 14 Jun 2024 09:06:00 +0800</pubDate><guid>https://blog.lufei.de/p/276/</guid><description>为什么需要这个工具？ 由于神秘原因，国内用户逐渐无法访问Docker Hub仓库。这对于开发者来说是个不小的难题。
而我的解决方案是通过赛博菩萨中转请求，解决访问限制并加速访问。
注意：不推荐使用该项目搭建公共服务。使用你自己的域名搭建公共服务有可能会遭受污染和反诈，推荐小规模自用即可。
部署方式 访问CF-Workers-docker.io：Docker仓库镜像代理工具项目页面
方式一(推荐): Pages 部署：Fork 项目后 打开CF,创建pages,连接GitHub 一键部署即可 方式二: Workers 部署：复制 _worker.js 代码，保存并部署即可 部署成功,设置自定义域名
如何使用？ 例如我的Workers项目域名为：docker.leshans.eu.org
方法一(不推荐) 在官方镜像路径前面加域名
docker pull docker.leshans.eu.org/stilleshan/frpc:latest 方法二: 一键设置镜像加速 (推荐) 这样的好处是不用每次都在路径前加地址
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json &amp;lt;&amp;lt;-&amp;#39;EOF&amp;#39; { &amp;#34;registry-mirrors&amp;#34;: [&amp;#34;https://docker.leshans.eu.org&amp;#34;] } EOF sudo systemctl daemon-reload sudo systemctl restart docker 测试拉取 docker pull xiaoyaliu/alist 可以拉取说明部署成功
变量说明 不建议伪装到一些大型网站
变量名 示例 必填 备注 URL302 https://blog.taoshuge.eu.org/p/276/ ❌ 主页302跳转 URL nginx ❌ 主页伪装(设为nginx) 第三方Docker官方镜像服务 修改 /etc/docker/daemon.</description></item><item><title>📝 国内服务器安装 Docker 服务和拉取 dockerhub 镜像</title><link>https://blog.lufei.de/p/275/</link><pubDate>Wed, 12 Jun 2024 12:07:21 +0800</pubDate><guid>https://blog.lufei.de/p/275/</guid><description>1️⃣ 前提条件：拥有一台海外 VPS，适用于 Debian 系统，目的为安装 dockerhub 镜像。
2️⃣ 安装 docker-ce (国内服务器)
sudo apt-get update sudo apt-get install ca-certificates curl 3️⃣ 配置阿里云镜像源
sudo install -m 0755 -d /etc/apt/keyrings sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/debian/gpg -o /etc/apt/keyrings/docker.asc sudo chmod a+r /etc/apt/keyrings/docker.asc echo \ &amp;#34;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.aliyun.com/docker-ce/linux/debian \ $(. /etc/os-release &amp;amp;&amp;amp; echo &amp;#34;$VERSION_CODENAME&amp;#34;) stable&amp;#34; | \ sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null 4️⃣ 安装 Docker-ce
sudo apt-get update sudo apt-get -y install docker-ce sudo chmod +x /usr/local/bin/docker-compose 5️⃣ 验证安装</description></item><item><title>hugo博客自定义字体</title><link>https://blog.lufei.de/p/ziti/</link><pubDate>Sat, 08 Jun 2024 07:32:19 +0800</pubDate><guid>https://blog.lufei.de/p/ziti/</guid><description>提示：适用stack主题，其他主题没测试过，用法应该大同小异,主题默认字体:Lato
字体项目：https://github.com/KonghaYao/chinese-free-web-font-storage
中文网字计划： https://chinese-font.netlify.app/cdn/
喵闪字库: https://www.miao3.cn/
hugo主题：https://github.com/CaiJimmy/hugo-theme-stack
1、引入CSS样式 如果没有custom.html可以创建
在 /layouts/partials/head/custom.html 中加入以下代码：
&amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;https://npm.elemecdn.com/lxgw-wenkai-screen-webfont@1.7.0/lxgwwenkaiscreen.css&amp;#34; /&amp;gt; &amp;lt;link rel=&amp;#34;stylesheet&amp;#34; href=&amp;#34;https://s1.hdslb.com/bfs/static/jinkela/long/font/regular.css&amp;#34; /&amp;gt; 上面代码表示可以使用这些字体: HarmonyOS_Regular,LXGW WenKai Screen
2、定义字体 再在 /assets/scss/custom.scss 中加入以下代码：
// 文章页字体 body, .article-content { font-family: &amp;#34;LXGW WenKai Screen&amp;#34;, sans-serif; } 假如你想使用HarmonyOS_Regular字体,那就把LXGW WenKai Screen改成HarmonyOS_Regular即可,然后查看是否满意。
3、进阶 在 /assets/scss/custom.scss 中加入以下代码：
以下代码表示在文章页、标题、首页，分别使用不同的字体
// 文章页字体 body, .article-content { font-family: &amp;#34;LXGW WenKai Screen&amp;#34;, sans-serif; } // 标题字体 body, .article-title { font-family: &amp;#34;LXGW WenKai Screen&amp;#34;, sans-serif; } // 首页字体 body, .</description></item><item><title>一些hugo短代码</title><link>https://blog.lufei.de/p/code/</link><pubDate>Sat, 08 Jun 2024 01:49:17 +0800</pubDate><guid>https://blog.lufei.de/p/code/</guid><description>本文为了防止在代码块中的短代码被 Hugo 转译，在代码块中添加了 \，请在使用时去除
notice {\{&amp;lt; notice notice-warning &amp;gt;}} 你好。 {\{&amp;lt; /notice &amp;gt;}} {\{&amp;lt; notice notice-info &amp;gt;}} 你好。 {\{&amp;lt; /notice &amp;gt;}} {\{&amp;lt; notice notice-note &amp;gt;}} 你好。 {\{&amp;lt; /notice &amp;gt;}} {\{&amp;lt; notice notice-tip &amp;gt;}} 你好。 {\{&amp;lt; /notice &amp;gt;}} 预览： 你好。
隐藏内容 {\{&amp;lt; detail &amp;#34;点这里看隐藏内容！&amp;#34; &amp;gt;}} 这里是隐藏内容！🥰 {\{&amp;lt; /detail &amp;gt;}} 预览： 点这里看隐藏内容！
这里是隐藏内容！🥰
聊天气泡 {\{&amp;lt; chat position=&amp;#34;left&amp;#34; name=&amp;#34;John Doe&amp;#34; timestamp=&amp;#34;2023-09-12 14:30&amp;#34;&amp;gt;}} 这是左边的消息内容。 {\{&amp;lt; /chat &amp;gt;}\} {\{&amp;lt; chat position=&amp;#34;right&amp;#34; name=&amp;#34;Alice&amp;#34; timestamp=&amp;#34;2023-09-12 14:45&amp;#34; &amp;gt;}} 这是右边的消息内容，测试长长长长长长长长长长长长长长长长长长长长长长长长度。 {\{&amp;lt; /chat &amp;gt;}\} 预览： John Doe&amp;nbsp;&amp;nbsp;&amp;nbsp;2023-09-12 14:30
这是左边的消息内容。 2023-09-12 14:45&amp;nbsp;&amp;nbsp;&amp;nbsp;Alice
这是右边的消息内容，测试长长长长长长长长长长长长长长长长长长长长长长长长度。 时间轴 {\{&amp;lt; timeline date=&amp;#34;2023-10-01&amp;#34; title=&amp;#34;国庆节&amp;#34; description=&amp;#34;祖国生日快乐&amp;#34; tags=&amp;#34;节日&amp;#34; url=&amp;#34;&amp;#34; &amp;gt;}\} 预览： 2023-10-01
节日
国庆节
祖国生日快乐
播放视频 哔哩哔哩</description></item><item><title>永久免费的节点！通过Cloudflare Worker、Pages部署免费的VLESS节点！解锁Netflix、ChatGPT</title><link>https://blog.lufei.de/p/273/</link><pubDate>Mon, 03 Jun 2024 16:33:52 +0800</pubDate><guid>https://blog.lufei.de/p/273/</guid><description>CloudFlare 部署免费节点（初级） Worker 部署 VLESS 来到 Cloudflare 首页，点击 Workers 和 Pages ，创建 Work ，自定义名称，然后部署！ 编辑代码，清除原先代码，填入如下代码： 代码地址 https://github.com/V2RaySSR/Free-VLESS/blob/main/worker-vless.js 生成一个 UUID 在线生成一个 UUID，用于替换上面代码中第七行的 UUID
https://1024tools.com/uuid 设置自定义域 找到设置 – 触发器，添加自定义域，输入 没使用过 的 已经托管在 CF 上面 的，二级域名
查看订阅链接 访问 https://二级域名/UUID ，即可看到节点信息，当然，里面包含了 订阅链接！
v2rayN工具 https://github.com/2dust/v2rayN/releases IP 优选工具使用 运行 IP 优选的时候，关闭代理！记得不要使用 TLS 优选！
https://github.com/badafans/better-cloudflare-ip/releases/download/20221201/batch.zip CloudFlare 部署免费节点（高级） 点击 Workers 和 Pages ，创建 Pages 选择 上传资产 资源地址:
https://raw.githubusercontent.com/cmliu/edgetunnel/main/worker.zip 设置 UUID变量 https://1024tools.com/uuid 到设置 – 环境变量 – 添加变量，变量名称：UUID 设置自定义域 找到设置 – 触发器，添加自定义域，输入 没使用过 的 已经托管在 CF 上面 的，二级域名</description></item><item><title>白嫖kimi接口api</title><link>https://blog.lufei.de/p/272/</link><pubDate>Thu, 30 May 2024 08:20:49 +0000</pubDate><guid>https://blog.lufei.de/p/272/</guid><description>项目： https://github.com/LLM-Red-Team/kimi-free-api
railway部署 步骤:
打开Github,新建仓库 新建名为Dockerfile文件（没有后缀），写入如下内容： FROM docker.io/vinlic/kimi-free-api:latest 打开 https://railway.app/ 连接Github账号，连接新建的仓库，开始部署 设置变量 TZ=Asia/Shanghai PORT=8000 等待完成，创建自定义域名，可使用官方的域名，搞定 Docker部署 请准备一台具有公网IP的服务器并将8000端口开放。
拉取镜像并启动服务
docker run -it -d --init --name kimi-free-api -p 8000:8000 -e TZ=Asia/Shanghai vinlic/kimi-free-api:latest 查看服务实时日志
docker logs -f kimi-free-api 重启服务
docker restart kimi-free-api 停止服务
docker stop kimi-free-api Docker-compose部署 version: &amp;#39;3&amp;#39; services: kimi-free-api: container_name: kimi-free-api image: vinlic/kimi-free-api:latest restart: always ports: - &amp;#34;8000:8000&amp;#34; environment: - TZ=Asia/Shanghai 使用方法 获取 refresh_token 从 https://kimi.moonshot.cn/ 获取 refresh_token
进入kimi 先要登录，然后随便发起一个对话， 接着按 F12 打开开发者工具， 从Application &amp;ndash;&amp;gt; Local Storage 中找到 refresh_token的值 打开 https://ci.</description></item><item><title>解决Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错</title><link>https://blog.lufei.de/p/%E8%A7%A3%E5%86%B3navicat%E8%BF%9E%E6%8E%A5postgresql%E6%97%B6%E5%87%BA%E7%8E%B0datlastsysoid-does-not-exist%E6%8A%A5%E9%94%99/</link><pubDate>Thu, 30 May 2024 01:35:10 +0000</pubDate><guid>https://blog.lufei.de/p/%E8%A7%A3%E5%86%B3navicat%E8%BF%9E%E6%8E%A5postgresql%E6%97%B6%E5%87%BA%E7%8E%B0datlastsysoid-does-not-exist%E6%8A%A5%E9%94%99/</guid><description>报错 Navicat连接postgresql时出现‘datlastsysoid does not exist‘报错
原因 Postgres 15 从表中删除了 datlastsysoid 字段pg_database因此 Navicat 15.0.29 或 16.1 之前的任何版本在查找此已弃用字段时都会引发此错误。
解决办法 要解决此问题，请升级到最新的 Navicat 15.0.29 或 16.1 及更高版本（可能需要新的许可证） 打开 Navicat 安装时的文件夹，找到libcc.dll并创建此文件的备份，打开在线工具: https://hexed.it 在文件中搜索
SELECT DISTINCT datlastsysoid 并将其替换为
SELECT DISTINCT dattablespace 替换原始文件。如果遇到任何安全问题，请将其另存为“.txt”文件，然后将其重命名为“.dll”</description></item><item><title>搭建一个好玩的 RSS 订阅网站记录</title><link>https://blog.lufei.de/p/270/</link><pubDate>Thu, 30 May 2024 00:10:55 +0000</pubDate><guid>https://blog.lufei.de/p/270/</guid><description>全文相关链接 Github仓库创建链接 Railway官网 Supabase官网 f-droid上的co.appreactor.news应用下载链接 Railway账户使用量估算链接 全文相关代码 Dockerfile
FROM docker.io/miniflux/miniflux:2.1.3 环境变量
DATABASE_URL=user=postgres.xxxxs password=xxxxx host=aws-0-us-wxxx MEDIA_PROXY_MODE=all RUN_MIGRATIONS=1 BASE_URL=https://aws-0-us-west-1.pooler.supabase.com ADMIN_USERNAME=xxxx ADMIN_PASSWORD=xxxx CREATE_ADMIN=1 搭建 网上有不少关于这方面的教程，但是时间过于久远，难免会有bug的地方，本次记录一下我成功搭建的步骤和方法。
💡 准备：我们需要有一个Github账户，并在之后注册Railway与Supabase
Github和Subabase，Railway都可以免费注册，Railway注册后赠送5美金额度，一次性的，用完就没了。 但如果添加外币卡💳支付方式，可以享受Hobby计划，此计划每月有5美元使用金，超出额度后按使用量付费。但5美元的额度已经能开好几个项目了，完全不用担心诶🎉！
创建仓库 创建一个存放miniflux的Dockerfile文件的仓库。
点击这里在Github上创建仓库。
https://github.com/new
参数设置：
Description可以不写。选择私有仓库😶。 Add a README file打上对勾，生成README.md文件 其他保持默认就好啦😶！ 点击Create repository创建仓库。 创建文件 在仓库的Add file按钮点击，在点击Create new file创建文件。
文件名Dockerfile，内容：
FROM docker.io/miniflux/miniflux:2.1.3 点击Commit changes保存修改。
没错！只需要一行代码！这是因为Railway原生支持Dockerfile，我们只需要创建一个Dockerfile文件让Railway读取到项目信息进行编译就好。
创建数据库 打开Supabase，可以使用Github账户直接登录。使用Supabase的原因是这家可以免费创建两个PostgreSQL数据库，正是我们要搭建的Miniflux需要用到的数据库，好巧呢😑(捧读)~~
注意：地区选择West US 因为Railway的免费计划地区也是在West US
这里创建的密码一定要记住，后面会用到 密码不能过于简单 点击Create new project后稍等几分钟，然后点击项目中左下角的齿轮图标打开设置。 点击Database项，忘记密码的朋友可以点击右侧的Reset database password重置密码。 我们的数据库连接在下方的Database Settings中，点击Golang，拷贝下来，下一步会用到。 环境变量 打开 https://railway.app
连接你的Github,新建项目，连接刚才创建的仓库</description></item><item><title>ChatGPT魔法，定制个性化提示词！</title><link>https://blog.lufei.de/p/chatgpt%E9%AD%94%E6%B3%95%E5%AE%9A%E5%88%B6%E4%B8%AA%E6%80%A7%E5%8C%96%E6%8F%90%E7%A4%BA%E8%AF%8D/</link><pubDate>Tue, 28 May 2024 20:31:16 +0000</pubDate><guid>https://blog.lufei.de/p/chatgpt%E9%AD%94%E6%B3%95%E5%AE%9A%E5%88%B6%E4%B8%AA%E6%80%A7%E5%8C%96%E6%8F%90%E7%A4%BA%E8%AF%8D/</guid><description>扮演Prompt创作者的角色 我想让你成为我的Prompt创作者。你的目标是帮助我创建最佳的Prompt，这个Prompt将由 你ChatGPT使用。 你将遵循以下过程： 1.首先，你会问我Prompt是关于什么的。我会告诉你，但我们需要通过不断的重复来改进 它，通过进行下一步。 2.根据我的输入，你会创建三个部分： a、修订后的Prompt； 你编写修订后的Prompt，应该清晰、精确、易于理解 b、给出建议； 你提出建议，哪些细节应该包含在Prompt中，以使其更好 c、提出问题； 你提出相关问题，询问我需要哪些额外信息来改进Prompt 3.你提供的Prompt应该采用我发出请求的形式，由ChatGPT执行。 4.我们将继续这个迭代过程，我会提供更多的信息，你会更新“修订后的Prompt&amp;#34;部分的请 求，直到它完整为止。 生成PPT内容 # Role: 你是一个擅长从文档中提取并总结内容，然后生成PPT大纲以及PPT每一页内容的专家 ## Skills 1.信息提取与分析:能够快速地从大量信息中提取关键点和核心概念，这对于创建有影响力的演示文稿 至关重要。 2.逻辑结构设计:善于构建清晰的逻辑框架，确保演示内容有条理且易于理解。这包括知道如何组织介 绍、主体内容和结论，以及如何合理安排这些内容的顺序。 3.视觉呈现: 具备良好的设计感，能够将文本和数据通过视觉元素 (如图表、图像和布局)有效地呈现 出来，提升信息的吸引力和易读性。 4.摘要和精炼能力:能够将复杂或冗长的信息精炼成简洁有力的点，这对于PPT这种需要简洁表达的格 式尤为重要。 5.故事讲述:能够将数据和事实转化为引人入胜的故事，这有助于吸引听众的注意力和增强信息的传达 效果。 ## Goals: 从用户提供的文档中提取关键信息，并以总-分-总的形式重点归纳和提炼，制作成不少于5页的演示 PPT大纲。 ## Constrains: - 直接按&amp;lt;Workflow&amp;gt;执行，一开始不需要额外的解释 - 在提炼和制作PPT时，确保每一页的内容既充实又具有深度，避免过于简化 - 注意PPT的视觉设计，使用适当的图表、图片和布局来增强信息的表达和吸引力 - 考虑到观众的多样性，确保PPT内容的通俗易懂，尽量避免使用过于专业或复杂的术语 - 制作完成的PPT应清楚地展示了从PDF文档中提炼出的核心内容，每一页都应传达一个明确的观 点，且整体呈现应符合总-分-总的结构 以**markdown**形式输出 ## Workflow: ### 第一步:上传文档请求用户上传文档 ### 第二步:分析和理解文档 对于用户上传的文档进行分析和理解。 1.确定文档的**主题** 2.浏览**目录**，识别主要**章节**和相关的**内页**，以便理解文档结构。 ### 第三步:内容提炼 1.对于每个章节，提取至少3个关键点，每个关键点都需用序号标明。 2.为每个关键点编写简短的**详细观点描述**，以确保内容的清晰和准确性。 以上完成后，询问用户是否需要按以上内容进行PPT制作。 ### 第四步:PPT制作 -**每一页PPT**应围绕一个清晰的观点进行设计。每一页的内容应包括: 1.**章节**表明该观点来源于文档的哪个部分。 2.</description></item><item><title>Windows安装Docker报错：当前计算机配置不支持 WSL2解决办法</title><link>https://blog.lufei.de/p/windows%E5%AE%89%E8%A3%85docker%E6%8A%A5%E9%94%99%E5%BD%93%E5%89%8D%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%85%8D%E7%BD%AE%E4%B8%8D%E6%94%AF%E6%8C%81-wsl2%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</link><pubDate>Tue, 28 May 2024 05:16:48 +0000</pubDate><guid>https://blog.lufei.de/p/windows%E5%AE%89%E8%A3%85docker%E6%8A%A5%E9%94%99%E5%BD%93%E5%89%8D%E8%AE%A1%E7%AE%97%E6%9C%BA%E9%85%8D%E7%BD%AE%E4%B8%8D%E6%94%AF%E6%8C%81-wsl2%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</guid><description>这个问题跟我之前卸载了Hyper-V虚拟机有关系
以管理员身份打开 PowerShell，运行以下两条命令，然后重启电脑，搞定~
bcdedit /set hypervisorlaunchtype auto Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All</description></item><item><title>one-api数据库记录</title><link>https://blog.lufei.de/p/one-api%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%B0%E5%BD%95/</link><pubDate>Mon, 27 May 2024 03:09:07 +0000</pubDate><guid>https://blog.lufei.de/p/one-api%E6%95%B0%E6%8D%AE%E5%BA%93%E8%AE%B0%E5%BD%95/</guid><description>项目 Github: https://github.com/MartialBE/one-api
SQLite数据库(推荐) one-api数据库目录：/home/ubuntu/data/one-api
1.创建SQLite数据库文件夹
mkdir -p /home/ubuntu/data/one-api docker创建并启动容器 docker run -d --name one-api -p 3000:3000 --restart always -e TZ=Asia/Shanghai -v /home/ubuntu/data/one-api:/data ghcr.io/martialbe/one-api PostgreSQL 我使用的是supabase,打开 https://supabase.com/ 创建数据库,地区选择美西. one-api: 环境变量：替换成你自己的实际情况数值 SQL_DSN=postgres://postgres.uwrooiohqpklqovsbahs:xxxxxx@aws-0-us-west-1.pooler.supabase.com:5432/postgres railway部署 拷贝项目，连接railway，设置变量如下：
CHANNEL_UPDATE_FREQUENCY=1440 CHANNEL_TEST_FREQUENCY=1440 TZ=Asia/Shanghai SQL_DSN=postgres://postgres.uwrooiohqpklqovsbahs:xxxxxx@aws-0-us-west-1.pooler.supabase.com:5432/postgres MEMORY_CACHE_ENABLED=true SYNC_FREQUENCY=60</description></item><item><title>大语言模型记录表</title><link>https://blog.lufei.de/p/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E8%AE%B0%E5%BD%95%E8%A1%A8/</link><pubDate>Mon, 27 May 2024 01:49:26 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%A4%A7%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B%E8%AE%B0%E5%BD%95%E8%A1%A8/</guid><description>项目 Github: https://github.com/MartialBE/one-api
大模型记录表 供应商 大模型 API地址 grop llama3-70b-8192 https://api.groq.com/openai Cohere command-r-plus https://api.cohere.com/v1 零一万物 yi-large https://api.lingyiwanwu.com 百川 Baichuan4 https://api.baichuan-ai.com coze gpt-4o https://qigechat.zeabur.app coze gemini-1.5-flash https://gem.zeabur.app 智谱 glm-4 https://open.bigmodel.cn/api/paas/v4 月之暗面 moonshot-v1-128k https://api.moonshot.cn deepseek deepseek-coder https://api.deepseek.com Cloudflare @cf/qwen/qwen1.5-14b-chat-awq #写法看下面 通义千问 qwen-long https://dashscope.aliyuncs.com 说明：Anthropic 和 coze 是中转的API，不是官方的，如果用官方的白嫖不到。
DashScope灵积模型（通义千问）: https://dashscope.console.aliyun.com/
Cloudflare Workers AI Cloudflare在one-api里只需要填写密钥，格式是：ACCOUNT_ID|API_TOKEN 中间以 | 分隔，例如：
9f623b740bxxxx|_w1xxxxxx #前面是账号ID，后面是密钥
Cloudflare网关 https://developers.cloudflare.com/ai-gateway/providers/openai/
Cloudflare AI Gateway是一个强大的工具，它提供了对AI应用程序的深入洞察和控制能力，支持多种AI服务提供商，并与Cloudflare的其他产品如Workers AI和Vectorize集成，以构建和扩展AI应用程序。通过一行代码即可轻松启动，为用户提供了易于使用的界面和丰富的资源来支持他们的开发工作。
国内外AI大语言模型API价格对比 https://aigcrank.cn/llmprice/
价格优惠 https://deepbricks.ai/pricing
https://mychandler.bet/chat
https://deepinfra.com/pricing</description></item><item><title>把图片转成Word或者Excel</title><link>https://blog.lufei.de/p/%E6%8A%8A%E5%9B%BE%E7%89%87%E8%BD%AC%E6%88%90word%E6%88%96%E8%80%85excel/</link><pubDate>Sun, 26 May 2024 16:12:19 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%8A%8A%E5%9B%BE%E7%89%87%E8%BD%AC%E6%88%90word%E6%88%96%E8%80%85excel/</guid><description>工作流程 1. 图片转成csv 打开https://kimi.moonshot.cn/ 上传图片，告诉kimi把图片内容转成csv 2.csv转成pdf 打开https://tableconvert.com/zh-cn/csv-to-pdf 粘贴csv内容，下载pdf 3.pdf转word 打开https://pdf2docx.cn/pdf2word/</description></item><item><title>Cloudflare Worker 部署bingai</title><link>https://blog.lufei.de/p/cloudflare-worker-%E9%83%A8%E7%BD%B2bingai/</link><pubDate>Sat, 25 May 2024 19:33:35 +0000</pubDate><guid>https://blog.lufei.de/p/cloudflare-worker-%E9%83%A8%E7%BD%B2bingai/</guid><description>Cloudflare Worker 部署 1. 注册 Cloudflare 账号 2. 一键部署 登录账户后, 点击下面按钮
https://deploy.workers.cloudflare.com/?url=https://github.com/Harry-zklcdc/go-proxy-bingai
☝🏻 这是个按钮, ☝🏻 这真的是个按钮 点击「Authorize Workers」, 登录 Github 账号授权 Cloudflare
点击「I have a account」
然后点击「Worker Dashboard」
复制 「Account ID」
粘贴至前一步的「Account ID」输入框中
然后点击「My Profile」-&amp;gt; 「创建令牌」
选择第四项「编辑 Cloudflare Workers」, 点击「使用模板」
然后修改 账户资源 的值为 你的账号, 区域资源为所有区域
然后点击「继续以显示摘要」
点击「创建令牌」
然后点击「Copy」按钮复制 API 令牌
粘贴至一键部署的框中, 点击「Connect account」
然后依次点击「Fork the repository」-&amp;gt; 「Repository Actions」-&amp;gt;「I understand my workflows, go ahead and enable them」, 以启用Github Action
回到上级页面, 依次点击「Workflows enabled」-&amp;gt;「Deploy」</description></item><item><title>免费撸gtp-4o：整合各种 API 访问方式</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E6%92%B8gtp-4o%E6%95%B4%E5%90%88%E5%90%84%E7%A7%8D-api-%E8%AE%BF%E9%97%AE%E6%96%B9%E5%BC%8F/</link><pubDate>Sat, 25 May 2024 11:39:59 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E6%92%B8gtp-4o%E6%95%B4%E5%90%88%E5%90%84%E7%A7%8D-api-%E8%AE%BF%E9%97%AE%E6%96%B9%E5%BC%8F/</guid><description>API地址： https://chat.92dm.top
密钥： sk-hDB2tUNX9KRO5zJVD3C56b456620431481BeCdA0C390F62d
1. 填写API和密钥 打开botgem 按照图示填入，API地址后面不能有/，使用其他工具也是大体相同的。
2. 添加模型 API地址不变，使用什么模型全部一个个添加上去，使用哪个顺手就选择哪个。
对照下面的大模型记录表，注意：API始终是https://chat.92dm.top 不变的，变的是大模型的名称
提示： 经过测试，botgem 使用百川有bug,可以使用chatbox。
3.大模型记录表 供应商 大模型 API地址 grop llama3-70b-8192 https://api.groq.com/openai Cohere command-r-plus https://api.cohere.com/v1 Anthropic claude-3-sonnet-20240229 https://sgp.sotershield.com 零一万物 yi-large https://api.lingyiwanwu.com 百川 Baichuan4 https://api.baichuan-ai.com coze gpt-4o https://qigecoze.zeabur.app 智谱 glm-4 https://open.bigmodel.cn/api/paas/v4 月之暗面 moonshot-v1-128k https://api.moonshot.cn deepseek deepseek-coder https://api.deepseek.com Cloudflare @cf/meta/llama-3-8b-instruct #写法看其他博文 通义千问 qwen-long https://dashscope.aliyuncs.com 说明：Anthropic 和 coze 是中转的API，不是官方的，如果用官方的白嫖不到。
DashScope灵积模型（通义千问）: https://dashscope.console.aliyun.com/
4.微软Copilot 如果想使用Copilot，可以看这里： https://chat.taoshuge.eu.org/web/#/</description></item><item><title>免费撸gpt-4o和各种大模型实用经验分享</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E6%92%B8gpt-4o%E5%92%8C%E5%90%84%E7%A7%8D%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%AE%9E%E7%94%A8%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/</link><pubDate>Sat, 25 May 2024 09:44:54 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E6%92%B8gpt-4o%E5%92%8C%E5%90%84%E7%A7%8D%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%AE%9E%E7%94%A8%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/</guid><description>为爱发电 https://blog.taoshuge.eu.org/posts/ee62188f.html
项目 github: https://github.com/MartialBE/one-api
先贴两张图：
说明 免费撸AI大模型,各位可以对照下面我给出的大模型记录表来填，key需要自己去拿，国内都需要手机号验证，如果你不介意。另外我在自己的博客放出免费API给大家使用，需要说明的是，每家大模型提供商给的免费额度都有限，还有其他限制，所以，如果用的人多，可能我就要去想办法撸更多了，就当为爱发电了。 可以配合使用我推荐的桌面聊天客户端，都是经过市场验证的，非常好用。 免费白嫖gpt-4o 人工智能的浪潮已经开启，未来的巨头基本上诞生在浪潮的初期，或者即将诞生。本着了解一下AI和工具的使用，走了不少坑，在这里我把一些经验分享给各位。我分别测试了8个大模型，grop在速度方面几乎没有对手，Cohere和零一万物也非常迅速！
grop的llama3-70b-8192模型虽然厉害，但是对中文的支持差点，你要经常对她说：中文回答我，她才会老实。
零一万物和百川对中文就好很多。
另外，coze的我用的是海外版 (https://www.coze.com) 部署的中转api，可以免费白嫖gpt-4o，至于一天的限制是多少没有测试过，据网友说一天100次左右。
市面上，不管是国内还是海外，大模型提供商基本上都有免费的AI业务，也都提供API，刚好我手头有几台服务器处于半闲置状态，拿来刷刷，搭建了一个中转API服务，撸了8家大模型，我使用的频率也不高，索性分享出来给各位了，各位悠着点用，每家大模型都有限制和不多的免费额度，服务的搭建过程比较繁琐，就略过了，可以到我博客上看看有没有教程，说不定我会抽空写下来，授之以渔不如。。。
大模型记录表 供应商 大模型 API地址 grop llama3-70b-8192 https://api.groq.com/openai Cohere command-r-plus https://api.cohere.com/v1 Anthropic claude-3-sonnet-20240229 https://sgp.sotershield.com 零一万物 yi-large https://api.lingyiwanwu.com 百川 Baichuan4 https://api.baichuan-ai.com coze gpt-4o https://qigecoze.zeabur.app 智谱 glm-4 https://open.bigmodel.cn/api/paas/v4 月之暗面 moonshot-v1-128k https://api.moonshot.cn deepseek deepseek-coder https://api.deepseek.com Cloudflare @cf/meta/llama-3-8b-instruct #写法看下面 通义千问 qwen-long https://dashscope.aliyuncs.com 说明：Anthropic 和 coze 是中转的API，不是官方的，如果用官方的白嫖不到。
DashScope灵积模型（通义千问）: https://dashscope.console.aliyun.com/
Cloudflare Workers AI Cloudflare在one-api里只需要填写密钥，格式是：ACCOUNT_ID|API_TOKEN 中间以 | 分隔，例如：
9f623b740bxxxx|_w1xxxxxx #前面是账号ID，后面是密钥
国内外AI大语言模型API价格对比 https://aigcrank.</description></item><item><title>一些项目汇总</title><link>https://blog.lufei.de/p/261/</link><pubDate>Fri, 17 May 2024 01:13:57 +0000</pubDate><guid>https://blog.lufei.de/p/261/</guid><description> 名称 地址 项目 ChatGPT应用 https://chat.leshans.eu.org/ https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web OpenAI 接口管理 https://api.99bilibili.eu.org/ https://github.com/songquanpeng/one-api Miniflux rss订阅 https://rss.99bilibili.eu.org/ https://github.com/miniflux/v2 监控平台 https://uptime.talimus.eu.org/ https://uptimerobot.com/ 逆向API白嫖 https://github.com/LLM-Red-Team/kimi-free-api duck2api 隐藏了😀 https://github.com/aurora-develop/Duck2api</description></item><item><title>切换npm为国内镜像源，加速依赖包下载</title><link>https://blog.lufei.de/p/%E5%88%87%E6%8D%A2npm%E4%B8%BA%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E6%BA%90%E5%8A%A0%E9%80%9F%E4%BE%9D%E8%B5%96%E5%8C%85%E4%B8%8B%E8%BD%BD/</link><pubDate>Thu, 16 May 2024 23:27:54 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%88%87%E6%8D%A2npm%E4%B8%BA%E5%9B%BD%E5%86%85%E9%95%9C%E5%83%8F%E6%BA%90%E5%8A%A0%E9%80%9F%E4%BE%9D%E8%B5%96%E5%8C%85%E4%B8%8B%E8%BD%BD/</guid><description>国内npm镜像源 国内npm镜像源
阿里云 NPM 镜像：https://npm.aliyun.com 腾讯云 NPM 镜像：https://mirrors.cloud.tencent.com/npm/ 华为云 NPM 镜像：https://mirrors.huaweicloud.com/repository/npm/
指定npm镜像源 npm config set registry https://mirrors.huaweicloud.com/repository/npm/ 返回npm 官方原始镜像
npm config set registry https://registry.npmjs.org/ 清除缓存，可选
npm cache clean -f 查看当前的镜像源 npm config get registry 其他命令 查询全局包存放地址
npm config get prefix 查询缓存地址
npm config get cache 查看全局安装的包列表
npm list -g --depth=0 删除模块 : 例如删除gulp-cli
npm uninstall -g gulp-cli</description></item><item><title>一个策略，让ChatGPT翻译能力提升100%</title><link>https://blog.lufei.de/p/%E4%B8%80%E4%B8%AA%E7%AD%96%E7%95%A5%E8%AE%A9chatgpt%E7%BF%BB%E8%AF%91%E8%83%BD%E5%8A%9B%E6%8F%90%E5%8D%87100/</link><pubDate>Tue, 14 May 2024 17:46:37 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%B8%80%E4%B8%AA%E7%AD%96%E7%95%A5%E8%AE%A9chatgpt%E7%BF%BB%E8%AF%91%E8%83%BD%E5%8A%9B%E6%8F%90%E5%8D%87100/</guid><description>提示词1（推荐） 你是一位精通简体中文的专业翻译，尤其擅长将专业学术论文翻译成浅显易懂的科普文章。请你帮我将以下英文段落翻译成中文，风格与中文科普读物相似。 规则： - 翻译时要准确传达原文的事实和背景。 - 即使上意译也要保留原始段落格式，以及保留术语，例如 FLAC，JPEG 等。保留公司缩写，例如 Microsoft, Amazon, OpenAI 等。 - 人名不翻译 - 同时要保留引用的论文，例如 [20] 这样的引用。 - 对于 Figure 和 Table，翻译的同时保留原有格式，例如：“Figure 1: ”翻译为“图 1: ”，“Table 1: ”翻译为：“表 1: ”。 - 全角括号换成半角括号，并在左括号前面加半角空格，右括号后面加半角空格。 - 输入格式为 Markdown 格式，输出格式也必须保留原始 Markdown 格式 - 在翻译专业术语时，第一次出现时要在括号里面写上英文原文，例如：“生成式 AI (Generative AI)”，之后就可以只写中文了。 - 以下是常见的 AI 相关术语词汇对应表（English -&amp;gt; 中文）： * Transformer -&amp;gt; Transformer * Token -&amp;gt; Token * LLM/Large Language Model -&amp;gt; 大语言模型 * Zero-shot -&amp;gt; 零样本 * Few-shot -&amp;gt; 少样本 * AI Agent -&amp;gt; AI 智能体 * AGI -&amp;gt; 通用人工智能 策略： 分三步进行翻译工作，并打印每步的结果： 1.</description></item><item><title>SSH 免密登录，设置好仍然需要密码登录解决方法</title><link>https://blog.lufei.de/p/258/</link><pubDate>Mon, 13 May 2024 14:56:25 +0000</pubDate><guid>https://blog.lufei.de/p/258/</guid><description>说明： ssh秘钥登录设置好了，但是登录的时候依然需要提供密码
查看系统安全日志，定位问题 sudo cat /var/log/auth.log 或者
sudo cat /var/log/secure 找到下面的信息
Authentication refused: bad ownership or modes... （网上的图片） （我的） for directory 或者 for file 后面跟着的就是指出什么文件或文件夹
原因排查 我的这条日志说明 SSH 服务器拒绝了基于密钥的认证,原因是 /root/.ssh/authorized_keys 文件的所有权或权限模式设置不正确。（你的原因可能和我不一样，但是方法是一样的）
authorized_keys 文件存储了允许使用 SSH 密钥登录的公钥。如果这个文件的权限设置不当,SSH 服务器将拒绝基于密钥的认证,从而要求输入密码进行登录认证。
解决办法 解决方法是检查 /root/.ssh/authorized_keys 文件的所有权和权限,确保它只对 root 用户可读写:
所有权应为 root:root
chown root:root /root/.ssh/authorized_keys 权限应为 600 (所有者可读写)
chmod 600 /root/.ssh/authorized_keys 如果 /root/.ssh 目录存在,也要检查它的权限为 700 (所有者可读写执行)
chmod 700 /root/.ssh 做完这些更改后,重新尝试 SSH 密钥登录,应该就不需要输入密码了。如果仍有问题,可以检查 SSH 服务器和客户端的其他配置。
提供一个自用的SSH免密登录脚本
curl -sS -O https://raw.</description></item><item><title>非常实用简单的利用chatgpt写脚本技巧</title><link>https://blog.lufei.de/p/257/</link><pubDate>Fri, 10 May 2024 20:19:05 +0000</pubDate><guid>https://blog.lufei.de/p/257/</guid><description>方法经验 一个优秀的提示词(prompt) + 一个简洁的脚本框架 + chatgpt
编写脚本是一门艺术，您的经验总结对其他人来说很有价值。
在使用 AI 编写脚本的过程中，我经历了从痛苦到愉悦的转变。最初，我只使用 GPT3.5，不断复制粘贴，并试图通过提供终端输出来测试脚本。但 GPT 总是给我不完美的回答，修改脚本时总会遇到新的问题，这让我非常困恼。直到我发现了更好的方法——创建一个大型脚本框架。
我的方法是这样的：首先，我会准备一个大的脚本框架，然后根据需求往里面添加功能。这样做的好处是，即使新添加的功能有 bug 或不满意，也不会影响整个脚本的运行，我只需要专注于修改那个功能即可。
另外，我还学到了提示词的重要性。使用合适的提示词可以引导 AI，防止它答非所问或不知所云。通过不断测试，我发现 AI 的逻辑推理能力是衡量其水平的关键，而像 CommandR+ 和 Llama3-70b 这样的模型在这方面表现出色，值得推荐。
以下是我创建脚本的流程：
先提供提示词，等待 AI 索要脚本框架。 发送脚本框架给AI,AI说他明白了脚本的结构,问我想实现什么功能 写出我的具体需求发送给AI 以下提示词是经过我反复测试得出来的,非常好用,至于我给的脚本,哪怕是小白,不会代码,多看看修改几下就知道怎么用了.
提示词 ## 阅读以下所有说明 你是一个专家级程序员，擅长编写Python和Shell脚本,在编程语言方面具有专业知识。我希望你成为我的脚本创作者。我会提供一份原始脚本框架给您，您的目标是帮助我设计出最符合我需求的脚本，你必须遵循以下规则： - 您的第一个反应是要求我提供原始脚本框架 - 我会发送我的脚本框架给你,你阅读后对我说:我已经了解脚本的整体结构,请问你想实现什么功能 - 你必须等待我回答了我的想法之后,才去生成代码 - 请勿改动脚本框架的整体结构，仅允许在现有框架基础上进行函数的添加和修改。 - 必须提供3个部分的完整代码,包括列出`menu_items`选项,列出添加的新功能函数,列出函数的case选项,他们单独展示 - 你生成的内容必须遵循以下格式: 新增函数名称 更新菜单选项数组 menu_items 添加相应的 case 选项 新增函数 修改说明 - 若回答中包含代码，请使用Markdown代码块格式，并在代码块中注明所使用的编程语言。 - 若代码过长，可以省略中间函数的具体实现细节，但必须保持框架结构的完整性，以便清晰展示整个脚本的逻辑流程。 - 请在每个功能函数的结尾处包含以下内容： read -n 1 -s -p &amp;#34;按任意键继续...&amp;#34;：提示用户按任意键继续，以提供交互性。 return_to_main_menu：确保用户操作完成后能够返回到主菜单。 - 请记得用中文跟我说话！ please remember to talk to me in Chinese!</description></item><item><title>网页翻译终极方案-DeepLX</title><link>https://blog.lufei.de/p/256/</link><pubDate>Tue, 07 May 2024 19:16:19 +0000</pubDate><guid>https://blog.lufei.de/p/256/</guid><description>为什么要选择 DeepL 翻译？ DeepL 被誉为全世界最精准的机器翻译，比最接近他们的竞争对手准确三倍以上
看看 DeepL 和 微软翻译 的对比 👇👇 三句英文:
Walking on eggshells during the software update.
Wang's VR game is a rollercoaster of emotions.
Caught between a rock and a hard drive with this coding dilemma
DeepL 微软翻译 在软件更新时提心吊胆 在软件更新期间在蛋壳上行走 Wang 的 VR 游戏让人的情绪如过山车般起伏不定 Wang的VR游戏是情绪的过山车 编码难题让我左右为难 夹在岩石和硬盘驱动器之间，陷入这种编码困境 翻译大PK 🏆
https://app.immersivetranslate.com/text/?utm_source=extension&amp;utm_medium=extension&amp;utm_campaign=popup_more
注意: 如果你没有科学上网,谷歌翻译是无法使用的, OpenAl和Azure翻译需要设置秘钥
什么是DeepLX DeepLX 是一个开源项目，它基于 DeepL 免费服务，将其转换为本地 API，提供给第三方程序使用，如浏览器插件: 沉浸式翻译
说人话就是: DeepL可以免费使用,但有限制,使用DeepLX可以无限制的调用DeepL API来翻译
你可能会问: 我直接使用DeepL不就行了,为什么要搞DeepLX, 因为DeepL服务器部署在海外,国内连接阻力大, DeepL的付费版不支持国内银行卡购买，而免费版又受到严格限制,</description></item><item><title>pip 安装插件加速技巧: 修改为国内源</title><link>https://blog.lufei.de/p/255/</link><pubDate>Tue, 07 May 2024 09:00:13 +0000</pubDate><guid>https://blog.lufei.de/p/255/</guid><description>在国内，用 pip 安装 python 依赖包的时候，总是会遇到 Timeout 或者下载太慢的问题。 这是因为 pip 源在国外，解决方法就是把 pip 源改成国内的，就可以实现 pip install 加速。
1. 国内有哪些 pip 源？
国内有几个名气比较大的源：
清华大学 https://pypi.tuna.tsinghua.edu.cn/simple/
豆瓣 http://pypi.douban.com/simple/
阿里云 http://mirrors.aliyun.com/pypi/simple/
中国科技大学 https://pypi.mirrors.ustc.edu.cn/simple/
中国科学技术大学 http://pypi.mirrors.ustc.edu.cn/simple/
推荐使用阿里云的源，速度很快。
2. 设置镜像源
例如: 阿里云
pip config set global.index-url http://mirrors.aliyun.com/pypi/simple 当运行上面的命令时,会看到: Writing to ... 后面跟着的是pip配置文件的路径
3.修改本地的 pip 配置文件
[global] timeout = 120 index-url = http://mirrors.aliyun.com/pypi/simple trusted-host = mirrors.aliyun.com/pypi [search] index = http://mirrors.aliyun.com/pypi/simple 简单解释一下里面的参数：
timeout：超时时间为120秒，避免因为短暂的阻塞而导致下载失败. index-url：设置为阿里云源，pip install 时下载的地方。 trusted-host：添加阿里云源为可信主机，要不然可能报错。 一般来说这样的配置文件就足够用了</description></item><item><title>ubuntu安装特定版本的python技巧</title><link>https://blog.lufei.de/p/254/</link><pubDate>Sun, 05 May 2024 23:14:19 +0000</pubDate><guid>https://blog.lufei.de/p/254/</guid><description>起因:
python版本当然是越新越好，但今天体会到有些必要工具依赖python老版本，比如fail2ban这个防止暴力破解的拉黑IP工具.
什么是Pyenv
Pyenv允许你在同一系统上安装和切换多个Python版本, Pyenv可以创建独立的Python虚拟环境，每个环境都有自己的Python版本和依赖，避免了不同项目间的版本冲突。 安装pyenv 你需要首先确保你的系统已经安装了curl,如果没有，你可以通过运行以下命令来安装：
sudo apt-get update sudo apt-get install curl 然后，你可以使用以下命令安装pyenv：
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash 这将在你的主目录下的 .bashrc 或 .zshrc 文件中添加一些环境变量和路径。如果你使用的是Zsh，你可能需要编辑 .zshrc 文件，如果你使用的是Bash，你则需要编辑 .bashrc 文件。
打开你的 shell 配置文件：
nano ~/.bashrc 然后在文件的末尾添加以下行：
# Pyenv export PYENV_ROOT=&amp;#34;$HOME/.pyenv&amp;#34; export PATH=&amp;#34;$PYENV_ROOT/bin:$PATH&amp;#34; eval &amp;#34;$(pyenv init -)&amp;#34; eval &amp;#34;$(pyenv virtualenv-init -)&amp;#34; 保存并关闭文件，然后运行以下命令使更改生效：
source ~/.bashrc 现在，你可以使用 pyenv 命令了。你可以通过运行 pyenv --version 来检查它是否已经成功安装。
查看pyenv版本 pyenv --version 查看python3版本 python3 --version 查看可安装的 Python 版本 pyenv install --list | grep -v - | grep -E &amp;#34;^\s*3\.</description></item><item><title>书签收集</title><link>https://blog.lufei.de/p/253/</link><pubDate>Sun, 05 May 2024 21:11:46 +0000</pubDate><guid>https://blog.lufei.de/p/253/</guid><description>自用书签整理记录
个人网盘 名称 URL 谷歌网盘 https://drive.google.com/drive/my-drive 阿里云盘 https://www.aliyundrive.com/ 百度网盘 https://pan.baidu.com/ 123云盘 https://www.123pan.com/ 蓝奏云储 https://pc.woozooo.com/mydisk.php 天翼云盘 https://cloud.189.cn/web/login.html PikPak云盘 https://mypikpak.com/drive/login?redirect=/all onedrive https://url.taoshuge.eu.org/KFAzEZ SharePoint https://url.taoshuge.eu.org/MxYGan backblaze https://secure.backblaze.com/user_signin.htm alist http://192.168.1.88:5244/ 资源下载 名称 URL 果核剥壳 https://www.ghxi.com/category/all/pcsoft Software https://oss.sunpma.com/?Software OBS录屏 https://obsproject.com/ PS论坛 https://www.toprender.com/forum-160-1.html Adobe全套 https://www.yuque.com/islandgg13/tdg1oz/dzmses Windows系统下载 https://hellowindows.cn/ windows10系统下载 https://www.winos.me/windows10/ Uptodown https://www.uptodown.com/android 小众软件 https://www.appinn.com/ 磁力星球 https://btstar.top/ 免费字体下载网站 https://www.100font.com/ logo设计 https://www.designevo.com/logo-maker/ Microsoft Store https://store.rg-adguard.net/ 素材收藏 名称 URL Free Stock https://www.videezy.com/ 天空之城 https://www.skypixel.com/ pexels https://www.pexels.com/zh-cn/ 逗比表情包 https://www.dbbqb.com/ 觅元素 https://www.51yuansu.com/ 爱给网 https://www.</description></item><item><title> Llama3 – 8B/70B 大模型！相关的工具和模型下载</title><link>https://blog.lufei.de/p/252/</link><pubDate>Sun, 05 May 2024 14:18:40 +0000</pubDate><guid>https://blog.lufei.de/p/252/</guid><description> 因为平时会去了解AI相关的东西,写脚本也会用到,所以,记录一下
工具下载 在开源大模型领域中，Llama3是非常强大的工具！Meta公司发布了两个性能强悍的大模型，即8B和70B，并即将发布400B，可以与GPT-4一较高下！今天我们将介绍三种本地部署方法，简单易懂，非常适合新手！
GPT4All：适合低配置用户，可以在CPU/GPU上运行。
下载地址
LMstudio：支持下载多个模型，包括8B和70B等，提供更多模型选择！
下载地址
Ollama：支持多平台！
下载地址
AnythingLLM
下载地址
open-webui
下载地址
模型下载 Huggingface Hugging Face Huggingface 镜像站 HF Mirror 魔搭社区 ModelScope 在线体验（免费API） NVIDIA Build Groq Playground Perplexity AI Llama Family Tavily 开源大模型API价格 DeepInfra Pricing LLM Price Check</description></item><item><title>永不过期的SSL/TLS证书解决方案</title><link>https://blog.lufei.de/p/251/</link><pubDate>Fri, 03 May 2024 22:02:25 +0000</pubDate><guid>https://blog.lufei.de/p/251/</guid><description>前提:
cloudflare API 密钥 宝塔面板 安装了nginx 如果你不使用宝塔面板,可以参照脚本修改
生成证书脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssl_pro.sh &amp;amp;&amp;amp; chmod +x ssl_pro.sh &amp;amp;&amp;amp; ./ssl_pro.sh 使用方法: https://blog.csdn.net/u010066597/article/details/137851521
如果你使用了生成脚本成功安装了证书,理论上可以不需要续签脚本了,因为生成脚本已经实现了续签的功能,续签脚本相当于双重保险.
自动续签脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/autossl.sh &amp;amp;&amp;amp; chmod +x autossl.sh &amp;amp;&amp;amp; ./autossl.sh 定时执行
每天凌晨两点20分执行
(crontab -l ; echo &amp;#34;20 2 * * * cd ~ &amp;amp;&amp;amp; ./autossl.sh &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#34;) | crontab -</description></item><item><title>ubuntu开启zram彻底解决高I/O引起的卡顿，复制文件无比流畅</title><link>https://blog.lufei.de/p/250/</link><pubDate>Fri, 03 May 2024 12:58:52 +0000</pubDate><guid>https://blog.lufei.de/p/250/</guid><description>环境: Ubuntu 22.04.3 LTS
ZRAM 的原理是：
将一块内存区域作为虚拟的块设备, 压缩页面交换数据, 存储在内存中, 释放物理内存空间 可用的物理内存就能随之变多 开启/加载 zRAM 模块 sudo modprobe zram num_devices=1 lsmod | grep zram 安装zram-config sudo apt install zram-config 加载zram模块 sudo modprobe zram 更新initramfs以加载zram模块(可选)
sudo update-initramfs -u 使用sudo命令启用zram-config服务：
sudo systemctl enable zram-config 使用sudo命令启动zram-config服务：
sudo systemctl start zram-config 重启zram-config服务以应用更改：(释放内存)
sudo service zram-config restart 修改swappiness参数 sudo vim /etc/sysctl.conf 末尾添加
vm.swappiness = 180 应用新的swappiness设置：
sudo sysctl -p /etc/sysctl.conf 启用 ZRAM 内核模块 echo &amp;#34;zram&amp;#34; | sudo tee /etc/modules-load.</description></item><item><title>Cloudflare防火墙其他WAF设置</title><link>https://blog.lufei.de/p/247/</link><pubDate>Tue, 30 Apr 2024 11:46:45 +0000</pubDate><guid>https://blog.lufei.de/p/247/</guid><description>其他WAF设置 缓存设置 缓存设置好也可以帮助我们抵挡巨量的CC攻击。有些CC是很多IP随即攻击一个地址，如果我们的安全策略没有拦截到攻击。但是我们设置了缓存，那这些请求则会在CloudFlare边缘节点直接将缓存内容返回给请求。也达到了抗攻击的效果。
缓存设置是在多个位置进行的。下面大家看截图就好。
创建静态文件的缓存规则 表达式:
(http.request.full_uri contains &amp;#34;.gif&amp;#34;) or (http.request.full_uri contains &amp;#34;.js&amp;#34;) or (http.request.full_uri contains &amp;#34;.css&amp;#34;) or (http.request.full_uri contains &amp;#34;.woff2&amp;#34;) or (http.request.full_uri contains &amp;#34;.webp&amp;#34;) or (http.request.full_uri contains &amp;#34;.png&amp;#34;) or (http.request.full_uri contains &amp;#34;.jpg&amp;#34;) or (http.request.full_uri contains &amp;#34;.jpeg&amp;#34;) 缓存时间看个人情况
开启Tiered Cache 页面规则 关闭洋葱路由 Scrape Shield</description></item><item><title>Cloudflare高级防御规则 看看我的网站如何用防御的</title><link>https://blog.lufei.de/p/246/</link><pubDate>Tue, 30 Apr 2024 09:12:57 +0000</pubDate><guid>https://blog.lufei.de/p/246/</guid><description>网站已趋于稳定，并且经过nginx调优。我想先分享一下Cloudflare的WAF规则，因为这是最有效的防御之一，可以抵御大量恶意攻击流量，我已经验证了数月。
对于海外独立站电商网站，Cloudflare的CDN服务是首选，它强大无比，毫无疑问。对于中小型需求，直接免费使用就可以了，接入后网站的加速和防护都交给CF处理，这是最稳妥的选择。
让我们开始吧！
进入WAF配置页 进入CF的后台，选择你要防御的站点域名。
记得在DNS选项，开启小云朵。这就开启CDN了，后续防御规则才会生效。 选择安全性&amp;ndash;WAF
四个WAF规则
添加完规则后请使用鼠标拖拽方式把四个规则的排序按照下面顺序排列,最上面的优先执行:
选择正则表达式添加规则，复制规则保存即可。
防御规则配置 以下列出四个规则的正则表达式
放行原站IP IPV4和IPV6地址改成自己
(ip.src eq 192.168.7.17) or (ip.src eq 2901:c080:1110:4c91:5400:4ff:feb8:130a) 没有ipv6
(ip.src eq 192.168.7.17) 选择操作: 跳过 要跳过的 WAF 组件: 所有其余自定义规则
阻止垃圾蜘蛛 (http.user_agent contains &amp;#34;YandexBot&amp;#34;) or (http.user_agent contains &amp;#34;DotBot&amp;#34;) or (http.user_agent contains &amp;#34;SemrushBot&amp;#34;) or (http.user_agent contains &amp;#34;AhrefsBot&amp;#34;) or (http.user_agent contains &amp;#34;BLEXBot&amp;#34;) or (http.user_agent contains &amp;#34;YaK&amp;#34;) or (http.user_agent contains &amp;#34;PetalBot&amp;#34;) or (http.user_agent contains &amp;#34;MJ12bot&amp;#34;) or (http.user_agent contains &amp;#34;MauiBot&amp;#34;) or (http.user_agent contains &amp;#34;MegaIndex.</description></item><item><title>Fail2Ban对接cloudflare防火墙技巧</title><link>https://blog.lufei.de/p/245/</link><pubDate>Sat, 27 Apr 2024 18:12:04 +0000</pubDate><guid>https://blog.lufei.de/p/245/</guid><description>我的大部分教程或者叫笔记,除了给自己看,考虑到其他朋友也会看到,本着简洁明白的原则,我基本上会制作一些快捷脚本,方便大家使用,本次脚本,我针对使用宝塔面板的朋友,当然,使用什么看个人情况,你可以更改我的脚本,已达到适合你的方式
fail2ban原理 Fail2ban通过监视日志文件，检测并阻止恶意登录尝试和攻击.
当Fail2ban检测到系统日志中的恶意行为模式时，它会自动阻止攻击者的IP地址，以保护系统安全。
安装fail2ban Debian/Ubuntu安装
使用root用户
apt update -y &amp;amp;&amp;amp; apt install -y fail2ban CentOS安装
yum update -y yum install -y epel-release yum install -y fail2ban yum install -y nano 启动
systemctl start fail2ban 开机自启
systemctl enable fail2ban 查看状态
systemctl status fail2ban 按键盘 q 退出
获取Cloudflare令牌 到cf后台右上角我的个人资料，选择左侧API令牌，获取Global API Key
获取地址: https://dash.cloudflare.com/login
对接Cloudflare 以下脚本适用于宝塔面板建站的朋友
一键脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/fail2ban.sh &amp;amp;&amp;amp; chmod +x fail2ban.sh &amp;amp;&amp;amp; ./fail2ban.sh 国内机器
curl -sS -O https://gitee.</description></item><item><title>一键安装宝塔面板破解版</title><link>https://blog.lufei.de/p/244/</link><pubDate>Sat, 20 Apr 2024 15:35:14 +0000</pubDate><guid>https://blog.lufei.de/p/244/</guid><description>一键脚本 curl -sSO https://gitee.com/dayu777/btpanel-v7.7.0/raw/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh 优化 curl -sS -O https://gitee.com/dayu777/open_shell/raw/main/optimize.sh &amp;amp;&amp;amp; chmod +x optimize.sh &amp;amp;&amp;amp; ./optimize.sh 已去除宝塔面板强制绑定账号. 已去除各种计算题与延时等待. 已去除创建网站自动创建的垃圾文件. 已关闭未绑定域名提示页面. 已关闭安全入口登录提示页面. 已去除消息推送与文件校验. 已去除面板日志与绑定域名上报. 已关闭活动推荐与在线客服. 如需还原之前的样子，请在面板首页点击“修复” 手动破解 先登录面板，然后破解，去除登陆需要绑定账号：
rm -f /www/server/panel/data/bind.pl 手动解锁宝塔所有付费插件为永不过期
sed -i &amp;#39;s/&amp;#34;endtime&amp;#34;: -1/&amp;#34;endtime&amp;#34;: 999999999999/g&amp;#39; /www/server/panel/data/plugin.json 给plugin.json文件上锁防止自动修复为免费版
chattr +i /www/server/panel/data/plugin.json 去后门 sudo echo &amp;#34;&amp;#34; &amp;gt; /www/server/panel/script/site_task.py sudo chattr +i /www/server/panel/script/site_task.py sudo rm -rf /www/server/panel/logs/request/* sudo chattr +i -R /www/server/panel/logs/request 净化面板 wget -O /tmp/bt.zip https://gitee.com/dayu777/open_shell/raw/main/bt/bt.zip unzip -uo /tmp/bt.zip -d /www/server/panel/BTPanel/templates/default rm /tmp/bt.</description></item><item><title>完美的acme证书申请脚本-基于宝塔面板与cloudflare API</title><link>https://blog.lufei.de/p/243/</link><pubDate>Tue, 16 Apr 2024 22:44:54 +0000</pubDate><guid>https://blog.lufei.de/p/243/</guid><description>此脚本仅适用于 宝塔面板 与 cloudflare DNS 验证 ，打引号的完美，大佬别见笑~
所以，首先你的域名要解析在cloudflare，使用的是宝塔建站
证书安装完成，后面可以自动更新了。
一键脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssl_pro.sh &amp;amp;&amp;amp; chmod +x ssl_pro.sh &amp;amp;&amp;amp; ./ssl_pro.sh 国内：
curl -sS -O https://gitee.com/dayu777/open_shell/raw/main/ssl_pro.sh &amp;amp;&amp;amp; chmod +x ssl_pro.sh &amp;amp;&amp;amp; ./ssl_pro.sh acme.sh 一般有两种方式验证: http 和 dns 验证
此脚本使用的是 cloudflare dns 验证，结合宝塔面板的证书安装路径制作的
cloudflare API 密钥获取方式：个人资料 &amp;ndash; API令牌 &amp;ndash; Global API Key
注意要点：选择第4项：生成并安装证书 这里需要注意一点:
宝塔面板会根据排序,优先使用第一个绑定的域名作为证书路径,
比如: baidu.com,www.baidu.com,blog.baidu.com,那么baidu.com就是第一个绑定的域名,证书路径就是: /www/server/panel/vhost/cert/baidu.com
所以先输入首域名作为证书路径(baidu.com)，接着再全部输入要生成证书的域名，可以多个或者通配符，以空格隔开
谷歌证书申请方法 打开链接：https://cloud.google.com/sdk/gcloud/reference/publicca?hl=zh-cn
点击右上角终端，提示授权，确认 输入以下命令：
gcloud publicca external-account-keys create 获取到 b64MacKey 和 keyId 保存好，在脚本选择 Google Public CA 作为默认证书，输入keyId 和 b64MacKey</description></item><item><title>acme实用技巧：稳妥的自动更新证书之宝塔面板</title><link>https://blog.lufei.de/p/242/</link><pubDate>Tue, 16 Apr 2024 13:00:13 +0000</pubDate><guid>https://blog.lufei.de/p/242/</guid><description>1. 安装 acme.sh 安装很简单, 一个命令:
curl https://get.acme.sh | sh -s email=my@example.com 把 my@example.com 改成自己的邮箱
安装成功后，会为你自动创建定时任务, 如果快过期了, 需要更新, 则会自动更新证书。
默认情况下，证书将每60天更新一次。
切换默认证书
目前 acme.sh 支持 Let’s Encrypt、Buypass、ZeroSSL、SSL.com 和 Google Public CA，默认使用 ZeroSSL，如果需要更换可以使用下面命令：
#切换 Let&amp;#39;s Encrypt acme.sh --set-default-ca --server letsencrypt #切换 Buypass acme.sh --set-default-ca --server buypass #切换 ZeroSSL acme.sh --set-default-ca --server zerossl #切换 SSL.com acme.sh --set-default-ca --server ssl.com #切换 Google Public CA acme.sh --set-default-ca --server google 2. 设置DNS验证 文档：https://github.com/acmesh-official/acme.sh/wiki/dnsapi
以 CloudFlare为例：使用全局API密钥
准备：全局API密钥在 我的个人资料&amp;ndash;API令牌&amp;ndash;Global API Key 获得</description></item><item><title>docker-compose 与 docker compose 区别</title><link>https://blog.lufei.de/p/241/</link><pubDate>Sun, 14 Apr 2024 12:23:50 +0000</pubDate><guid>https://blog.lufei.de/p/241/</guid><description>Docker Compose 有两种使用方式,分别是 docker-compose 和 docker compose。这两种方式之间存在一些差异:
docker-compose docker-compose 是一个独立的可执行文件,通常位于 /usr/local/bin/docker-compose 或 /usr/bin/docker-compose。 这种方式是 Docker Compose 的传统用法,在早期版本中一直沿用。 使用 docker-compose 命令时,需要确保该可执行文件在系统 PATH 中可访问。 docker compose docker compose 是从 Docker 19.03 版本开始引入的新用法。 这种方式将 Docker Compose 功能集成到了 Docker 命令行工具中,作为一个子命令使用。 使用 docker compose 命令时,不需要单独安装 docker-compose 可执行文件,因为它是 Docker 命令行工具的一部分。 两种方式的主要区别在于:
集成程度:
docker-compose 是一个独立的工具,需要单独安装和配置。 docker compose 是 Docker 命令行工具的一部分,更加紧密地集成在 Docker 生态中。 兼容性:
docker-compose 可以在任何支持 Docker 的系统上使用,不受 Docker 版本的限制。 docker compose 需要 Docker 19.03 及以上版本才能使用。 总的来说,docker compose 是 Docker 官方推荐的新用法,它提供了更好的集成和用户体验。但如果你需要在较旧的 Docker 版本上使用 Docker Compose,或者需要更多的灵活性,那么使用 docker-compose 命令可能更合适。</description></item><item><title>docker安装脚本与区别</title><link>https://blog.lufei.de/p/240/</link><pubDate>Sat, 13 Apr 2024 09:14:23 +0000</pubDate><guid>https://blog.lufei.de/p/240/</guid><description>脚本一 curl -fsSL https://get.docker.com | sh &amp;amp;&amp;amp; ln -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin systemctl start docker systemctl enable docker 这个命令会先安装 Docker 引擎。 然后它会创建一个符号链接 /usr/local/bin/docker-compose，指向 Docker 安装目录中的 docker-compose 可执行文件。 也就是说,这个命令会安装 Docker Compose 作为 Docker 引擎的一部分。 脚本二 curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 这个命令也会先安装 Docker 引擎。 然后它会单独下载最新版本的 Docker Compose 可执行文件,并将其保存到 /usr/local/bin/docker-compose。 最后它会给 Docker Compose 可执行文件添加可执行权限。 所以第一个命令是安装 Docker 引擎和 Docker Compose 的一体化方式,而第二个命令是分开安装 Docker 引擎和 Docker Compose 的最新版本。</description></item><item><title>给远程数据库添加一个可以外部访问的用户</title><link>https://blog.lufei.de/p/239/</link><pubDate>Fri, 12 Apr 2024 13:02:45 +0000</pubDate><guid>https://blog.lufei.de/p/239/</guid><description>有时候我需要使用navicat工具来访问远程数据库，会遇到访问不了的情况，所以记录下方法。
添加用户 首先打开ssh终端，进入数据库，提示输入数据库密码 mysql -u root -p 例如：添加一个名为pp的用户，密码是pp123 GRANT ALL PRIVILEGES ON *.* TO &amp;#39;pp&amp;#39;@&amp;#39;%&amp;#39; IDENTIFIED BY &amp;#39;pp123&amp;#39; WITH GRANT OPTION; 确保对权限所做的任何更改立即生效 FLUSH PRIVILEGES; 退出 按 Ctrl + D {% note info %} 以上表示允许用户从任何主机访问数据库，但如果加以限制，只允许本地ip为8.8.8.8的用户访问数据库呢？
只需要修改第二步：
GRANT ALL PRIVILEGES ON *.* TO &amp;#39;pp&amp;#39;@&amp;#39;8.8.8.8&amp;#39; IDENTIFIED BY &amp;#39;pp123&amp;#39; WITH GRANT OPTION; 查看用户 还是先进入数据库
mysql -u root -p 查看用户
SELECT User, Host, Password FROM mysql.user; 删除用户 例如：删除用户名为“pp”的用户帐户
DROP USER &amp;#39;pp&amp;#39;@&amp;#39;%&amp;#39;;</description></item><item><title>两台服务器利用rclone同步文件解决方案</title><link>https://blog.lufei.de/p/238/</link><pubDate>Thu, 11 Apr 2024 13:00:22 +0000</pubDate><guid>https://blog.lufei.de/p/238/</guid><description>安装rclone 服务器A同步文件到服务器B
首先在服务器A安装rclone,使用以下命令安装
sudo -v ; curl https://rclone.org/install.sh | sudo bash 生成密钥对 在服务器A生成密钥对，并合并密钥，复制以下命令
ssh-keygen -q -t rsa -b 4096 -C &amp;#34;rclone key&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/rclone #静默生成rclone密钥对 cd ~/.ssh/ cat rclone* &amp;gt; rclone-merged # 将密钥对合并，否则会连接失败 会在/root/.ssh/目录下生成 rclone.pub，rclone，以及rclone-merged 三个文件
复制公钥到服务器B 假设服务器B的ip是192.168.1.33，ssh端口是33，使用以下命令，然后输入服务器B的密码即可
#在服务器A输入以下命令 ssh-copy-id -i ~/.ssh/rclone.pub -f -p 33 root@192.168.1.33 #自行修改为你自己的 手动复制 在服务器A打开rclone.pub，复制里面的内容，在服务器B/root/.ssh/
的目录下新建authorized_keys文件,粘贴内容到authorized_keys
配置文件 在服务器A编辑rclone.conf文件，没有的话需要新建
新建
touch ~/.config/rclone/rclone.conf 编辑rclone.conf
nano ~/.config/rclone/rclone.conf 只需要修改标识符，服务器B的ip，user, port, 其他不用动 标识符就是标记服务器B的，
[serb] #标识符，很重要，可以随意起 type = sftp host = 192.</description></item><item><title>Ubuntu 22.04 安装 Clash</title><link>https://blog.lufei.de/p/237/</link><pubDate>Wed, 10 Apr 2024 18:49:28 +0000</pubDate><guid>https://blog.lufei.de/p/237/</guid><description>在个人的开发平台上到处都需要网络代理环境，Clash是款用Go语言开发的软件，可以直接下载预编译的版本进行
1、下载 # 切换超级管理员 sudo -i # 创建文件夹 cd &amp;amp;&amp;amp; mkdir clash cd clash 下载文件
wget https://raw.githubusercontent.com/woniu336/linuxmint/main/clash-linux-amd64-v1.18.0.gz 2、安装 # 解压文件 gzip -d clash-linux-amd64-v1.18.0.gz # 给予权限 chmod +x clash-linux-amd64-v1.18.0 # 改名移动 mv clash-linux-amd64-v1.18.0 /usr/local/bin/clash # 查看版本 clash -v 3、启动 启动 Clash，生成 ~/.config/clash/config.yaml 文件
clash 进入目录配置文件
cd ~/.config/clash/ 把订阅地址的配置文件导入本地配置文件
wget -O config.yaml 订阅地址 下载mmdb文件
wget https://raw.githubusercontent.com/woniu336/linuxmint/main/Country.mmdb 如果是自建的Clash订阅节点，下载模板配置文件，修改V2ray配置块，
wget -O config.yaml https://raw.githubusercontent.com/woniu336/linuxmint/main/config.yaml 4、设置开机启动 生成 systemd 配置文件
cat &amp;gt; /etc/systemd/system/clash.service &amp;lt;&amp;lt; EOF [Unit] Description=Clash - A rule-based tunnel in Go Documentation=https://github.</description></item><item><title>ubuntu22.04换源技巧</title><link>https://blog.lufei.de/p/236/</link><pubDate>Tue, 09 Apr 2024 20:05:16 +0000</pubDate><guid>https://blog.lufei.de/p/236/</guid><description>换源 适用国内机子，或者虚拟机，提高下载速度
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak 接着：
sudo vim /etc/apt/sources.list 清空原有内容，添加：
## 默认禁用源码镜像以提高速度，如需启用请自行取消注释 deb https://mirrors.ustc.edu.cn/ubuntu jammy main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu jammy main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu jammy-updates main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu jammy-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu jammy-backports main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu jammy-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu jammy-security main restricted universe multiverse # deb-src https://mirrors.ustc.edu.cn/ubuntu jammy-security main restricted universe multiverse ## 预发布软件源（不建议启用） # deb https://mirrors.</description></item><item><title>Github加速技巧</title><link>https://blog.lufei.de/p/235/</link><pubDate>Tue, 09 Apr 2024 17:31:06 +0000</pubDate><guid>https://blog.lufei.de/p/235/</guid><description>项目地址： https://gitclone.com/ #速度可以 https://gitmirror.com/ #速度快 方法一：设置git参数 （推荐） git config --global url.&amp;#34;https://gitclone.com/&amp;#34;.insteadOf https:// 或者
git config --global url.&amp;#34;https://hub.gitmirror.com/&amp;#34;.insteadOf https:// 速度测试
git clone https://github.com/tendermint/tendermint.git 方法二：替换URL 前面加上https://gitclone.com/ 或者 https://hub.gitmirror.com/
速度测试
#前面加上https://gitclone.com git clone https://gitclone.com/github.com/tendermint/tendermint.git #前面加上https://hub.gitmirror.com/ git clone https://hub.gitmirror.com/github.com/tendermint/tendermint.git Github RAW 加速服务 将原网址
raw.githubusercontent.com 替换为
raw.githubusercontents.com #后面多了一个s GO代理
export GOPROXY=https://goproxy.io</description></item><item><title>rclone挂载远程服务器之SSH</title><link>https://blog.lufei.de/p/234/</link><pubDate>Mon, 08 Apr 2024 16:17:22 +0000</pubDate><guid>https://blog.lufei.de/p/234/</guid><description>以下内容基于windows，使用git bash 终端
以SSH/SFTP方式挂载Linux目录
ssh-keygen -q -t rsa -b 4096 -C &amp;#34;rclone key&amp;#34; -N &amp;#34;&amp;#34; -f ~/.ssh/rclone #静默生成rclone密钥对 cd ~/.ssh/ cat rclone* &amp;gt; rclone-merged # 将密钥对合并，否则会连接失败 会在~/.ssh/目录下生成 rclone.pub，和 rclone
复制公钥到远程服务器
ssh-copy-id -i ~/.ssh/rclone.pub -f -p 33 root@8.8.8.8 #意思是把pub公钥复制到ip是8.8.8.8，ssh端口是33的服务器，提示输入密码验证.. 或者手动复制rclone.pub里的内容到远程服务器/root/.ssh/authorized_keys，
如果没有authorized_keys文件，可以手动创建
rclone极速配置
在rclone所在目录打开rclone.conf文件，写入以下内容，没有备注的默认即可
[vps-01] #别名，很重要，可以随意起 type = sftp host = 8.8.8.8 #改为你的服务器ip user = root #默认root用户 port = 22 #默认22端口，如果是其他端口请修改 key_file = ~/.ssh/rclone-merged shell_type = unix md5sum_command = md5sum sha1sum_command = sha1sum 在windows挂载</description></item><item><title>SSH多种远程登录方法</title><link>https://blog.lufei.de/p/233/</link><pubDate>Mon, 08 Apr 2024 11:36:18 +0000</pubDate><guid>https://blog.lufei.de/p/233/</guid><description>使用 SSH 登录服务器有两种方法：用户账号登录 和 使用公钥登录
用户账号登录 直接使用以下命令
# -p 指定服务器端口号，默认 22 # root 为登录的用户名 # 192.168.56.102 为服务器ip，也可使用域名 $ ssh root@192.168.56.102 -p 22 另外可以配置主机别名，这个和 使用公钥登录 差不多，区别是无需指定公钥地址而已，这里就不重复了。
使用公钥登录 一、生成密钥对 # -t type，指定要生成的密钥类型，有rsa1(SSH1),dsa(SSH2),ecdsa(SSH2),rsa(SSH2)等类型，较为常用的是rsa类型 # -C comment，提供一个新的注释 # -f filename，指定生成的密钥文件名字 $ ssh-keygen -t rsa -C &amp;#34;这是注释&amp;#34; # 不指定密钥文件名的话，在操作时会有提示设置密钥文件名 # 或 $ ssh-keygen -t rsa -C &amp;#34;这是注释&amp;#34; -f &amp;#34;id_rsa&amp;#34; 二、上传公钥到服务器 将公钥内容上传到远程服务器的~/.ssh目录下的 authorized_keys 文件内 ssh-copy-id -i ~/.ssh/id_rsa.pub -p 6871 root@8.8.8.8 #假设ssh端口为6871 设置文件权限（否则会有权限问题） 服务端
# 为 .ssh 目录指定权限 chmod 700 .</description></item><item><title>跳板机工具Lssh技巧介绍</title><link>https://blog.lufei.de/p/232/</link><pubDate>Sun, 07 Apr 2024 17:08:20 +0000</pubDate><guid>https://blog.lufei.de/p/232/</guid><description>项目：https://github.com/blacknon/lssh/
wiki: https://github.com/blacknon/lssh/wiki/Config
以下教程基于ubuntu20.04
安装 go wget https://go.dev/dl/go1.22.2.linux-amd64.tar.gz #下载go程序 rm -rf /usr/local/go &amp;amp;&amp;amp; tar -C /usr/local -xzf go1.22.2.linux-amd64.tar.gz #安装 配置环境变量
sudo nano /etc/profile 末尾添加
export PATH=$PATH:/usr/local/go/bin 按 CTRL+X 保存，y确认，回车
使其立即生效
source /etc/profile 检测
go version #输出go version go1.22.2 linux/amd64 信息 安装 依赖 sudo apt install make sudo apt update sudo apt install build-essential 安装lssh
git clone https://github.com/blacknon/lssh cd lssh GO111MODULE=auto make &amp;amp;&amp;amp; sudo make install test -f ~/.lssh.conf||curl -s https://raw.</description></item><item><title>rclone工具箱</title><link>https://blog.lufei.de/p/231/</link><pubDate>Sun, 07 Apr 2024 08:35:02 +0000</pubDate><guid>https://blog.lufei.de/p/231/</guid><description> 云盘的路径格式 比如：oss:back 中间要加冒号，后面才是路径或者存储桶名称
oss:back #oss云盘下的名称为back的存储桶 oss:back/工具箱 #back存储桶下的工具箱文件夹 onedrive:工具箱 #onedrive根目录下的工具箱文件夹 rclone工具箱脚本地址
https://gitee.com/dayu777/open_shell/blob/main/rclone%E5%B7%A5%E5%85%B7%E7%AE%B1.bat 使用方法
1、下载rclone程序 https://downloads.rclone.org/v1.66.0/rclone-v1.66.0-windows-amd64.zip 2、解压后，把程序文件夹添加到环境变量， 3、配置好云盘：rclone.conf 4，双击运行bat脚本</description></item><item><title>ansible使用技巧</title><link>https://blog.lufei.de/p/230/</link><pubDate>Thu, 04 Apr 2024 15:24:18 +0000</pubDate><guid>https://blog.lufei.de/p/230/</guid><description>官方文档https://docs.ansible.com/ansible/latest/installation_guide/index.html
项目：https://github.com/ansible/ansible
安装ansible 在Ubuntu上安装Ansible sudo apt update sudo apt install software-properties-common sudo add-apt-repository --yes --update ppa:ansible/ansible sudo apt install ansible 在Debian上安装Ansible 先复制对应版本的 UBUNTU_CODENAME
Debian 12 jammy #jammy为UBUNTU_CODENAME Debian 11 focal #focal为UBUNTU_CODENAME Debian 10 bionic #bionic为UBUNTU_CODENAME 然后
sudo apt install wget -y 最后
UBUNTU_CODENAME=jammy wget -O- &amp;#34;https://keyserver.ubuntu.com/pks/lookup?fingerprint=on&amp;amp;op=get&amp;amp;search=0x6125E2A8C77F2818FB7BD15B93C4A3FD7BB9C367&amp;#34; | sudo gpg --dearmour -o /usr/share/keyrings/ansible-archive-keyring.gpg echo &amp;#34;deb [signed-by=/usr/share/keyrings/ansible-archive-keyring.gpg] http://ppa.launchpad.net/ansible/ansible/ubuntu $UBUNTU_CODENAME main&amp;#34; | sudo tee /etc/apt/sources.list.d/ansible.list sudo apt update &amp;amp;&amp;amp; sudo apt install ansible 使用pip安装和升级Ansible 确保 pip 可用,要验证是否已为首选Python安装了 pip :</description></item><item><title>国内服务器安装宝塔面板</title><link>https://blog.lufei.de/p/229/</link><pubDate>Thu, 04 Apr 2024 12:23:19 +0000</pubDate><guid>https://blog.lufei.de/p/229/</guid><description> 宝塔7.7.0版本
安装 curl -sSO https://gitee.com/dayu777/btpanel-v7.7.0/raw/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh 优化 curl -sS -O https://gitee.com/dayu777/open_shell/raw/main/optimize.sh &amp;amp;&amp;amp; chmod +x optimize.sh &amp;amp;&amp;amp; ./optimize.sh 已去除宝塔面板强制绑定账号. 已去除各种计算题与延时等待. 已去除创建网站自动创建的垃圾文件. 已关闭未绑定域名提示页面. 已关闭安全入口登录提示页面. 已去除消息推送与文件校验. 已去除面板日志与绑定域名上报. 已关闭活动推荐与在线客服. 如需还原之前的样子，请在面板首页点击“修复” 手动破解 先登录面板，然后破解，去除登陆需要绑定账号：
rm -f /www/server/panel/data/bind.pl 手动解锁宝塔所有付费插件为永不过期
sed -i &amp;#39;s/&amp;#34;endtime&amp;#34;: -1/&amp;#34;endtime&amp;#34;: 999999999999/g&amp;#39; /www/server/panel/data/plugin.json 给plugin.json文件上锁防止自动修复为免费版
chattr +i /www/server/panel/data/plugin.json 去后门 sudo echo &amp;#34;&amp;#34; &amp;gt; /www/server/panel/script/site_task.py sudo chattr +i /www/server/panel/script/site_task.py sudo rm -rf /www/server/panel/logs/request/* sudo chattr +i -R /www/server/panel/logs/request 卸载宝塔 wget http://download.bt.cn/install/bt-uninstall.sh 执行
sh bt-uninstall.sh</description></item><item><title>ansible批量安装宝塔脚本</title><link>https://blog.lufei.de/p/228/</link><pubDate>Thu, 04 Apr 2024 12:09:14 +0000</pubDate><guid>https://blog.lufei.de/p/228/</guid><description> 版本介绍：7.7.0版本 包括一些优化
脚本 https://gitee.com/dayu777/open_shell/raw/main/tb.yaml 运行 ansible-playbook tb.yaml 手动破解 先登录面板，然后破解，去除登陆需要绑定账号：
rm -f /www/server/panel/data/bind.pl 手动解锁宝塔所有付费插件为永不过期
sed -i &amp;#39;s/&amp;#34;endtime&amp;#34;: -1/&amp;#34;endtime&amp;#34;: 999999999999/g&amp;#39; /www/server/panel/data/plugin.json 给plugin.json文件上锁防止自动修复为免费版
chattr +i /www/server/panel/data/plugin.json 去后门 sudo echo &amp;#34;&amp;#34; &amp;gt; /www/server/panel/script/site_task.py sudo chattr +i /www/server/panel/script/site_task.py sudo rm -rf /www/server/panel/logs/request/* sudo chattr +i -R /www/server/panel/logs/request 卸载宝塔 wget http://download.bt.cn/install/bt-uninstall.sh 执行
sh bt-uninstall.sh</description></item><item><title>VirtualBox启动和关闭虚拟机命令</title><link>https://blog.lufei.de/p/227/</link><pubDate>Thu, 04 Apr 2024 00:32:16 +0000</pubDate><guid>https://blog.lufei.de/p/227/</guid><description>查看virtualbox正在运行的虚拟机 VBoxManage list runningvms 后台开启虚拟机 VBoxManage startvm 虚拟机名字 --type headless 后台关闭虚拟机 VBoxManage controlvm 虚拟机名字 acpipowerbutton Windows开机自动启动 制作bat脚本
@ECHO OFF start VBoxManage startvm 虚拟机名字 --type headless start VBoxManage startvm 虚拟机名字2 --type headless ... EXIT 将bat拖进下面的目录
C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp</description></item><item><title>ansible安装docker-自动化批量安装docker</title><link>https://blog.lufei.de/p/226/</link><pubDate>Wed, 03 Apr 2024 21:17:01 +0000</pubDate><guid>https://blog.lufei.de/p/226/</guid><description>基于ubuntu22.04
运行： ansible-playbook docker_install.yaml 脚本地址 https://gitee.com/dayu777/open_shell/raw/main/docker_install.yaml https://raw.githubusercontent.com/woniu336/open_shell/main/docker_install.yaml 无法启动docker解决 多发生在卸载重装后
清空daemon.json文件里的内容
sudo vim /etc/docker/daemon.json 重启：
sudo systemctl restart docker sudo systemctl start docker 查看 Docker 服务状态
sudo systemctl status docker 运行 Docker 命令
sudo docker ps 服务重启后docker容器不见解决方案 服务重启后，docker服务没有自启动
重启docker
systemctl start docker 查询所有容器
docker container ls -a 重启容器
docker container start id 自动重启
docker update --restart=always NAME QA
报错：Cannot restart container 316c21f93fa8: failed to create task for container: task 316c21f93fa8205d1f684d69c2699e5b72525e34dd5f006636b30a7620c331bd: already exists</description></item><item><title>国内源安装docker</title><link>https://blog.lufei.de/p/225/</link><pubDate>Wed, 03 Apr 2024 17:41:32 +0000</pubDate><guid>https://blog.lufei.de/p/225/</guid><description>基于ubuntu22.04
更新索引包 sudo apt update 安装设置仓库必须的工具 sudo apt update &amp;amp;&amp;amp; sudo apt install -y ca-certificates curl gnupg lsb-release 安装HTTPS支持包 sudo apt -y install apt-transport-https ca-certificates curl software-properties-common 添加软件源的GPG密钥 sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/aliyun-docker.gpg 添加Docker软件源 echo \ &amp;#34;deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/trusted.gpg.d/aliyun-docker.gpg] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) stable&amp;#34; | sudo tee /etc/apt/sources.list.d/docker.list &amp;gt; /dev/null 安装 sudo apt update sudo apt install -y docker-ce 启动后台服务 sudo service docker start sudo systemctl restart docker sudo systemctl start docker 查看 Docker 服务状态 sudo systemctl status docker 开启自启动 sudo systemctl enable docker 将当前用户添加到 docker 用户组 sudo groupadd docker sudo usermod -aG docker $USER newgrp docker 配置镜像加速 sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.</description></item><item><title>公钥分发脚本</title><link>https://blog.lufei.de/p/224/</link><pubDate>Mon, 01 Apr 2024 22:15:58 +0000</pubDate><guid>https://blog.lufei.de/p/224/</guid><description>公钥分发脚本： 只需要修改IP、用户、密码、ssh端口 如果不是root用户或者ssh端口不是22，可定义
脚本地址：https://github.com/woniu336/open_shell/blob/main/pub_send.py
https://gitee.com/dayu777/open_shell/raw/main/pub_send.py
注意：脚本会删除原来的密钥对
使用场景 你有几十台服务器，现在用跳板机（堡垒机）来统一管控，把公钥分发到每台机器上
运行 python3 pub_send.py 脚本内容：
#!/usr/bin/env python3 import os # 删除用户家目录下的 SSH 密钥文件 os.system(&amp;#39;rm -rf ~/.ssh/id_rsa*&amp;#39;) # 生成新的 SSH 密钥对 os.system(&amp;#39;ssh-keygen -f ~/.ssh/id_rsa -P &amp;#34;&amp;#34; &amp;gt;/dev/null 2&amp;gt;&amp;amp;1&amp;#39;) # 设置 SSH 密钥路径 key_path = os.path.expanduser(&amp;#39;~/.ssh/id_rsa.pub&amp;#39;) # 定义IP地址列表、用户名、密码和端口 hosts_and_passwords = { &amp;#34;192.168.1.28&amp;#34;: {&amp;#34;user&amp;#34;: &amp;#34;root&amp;#34;, &amp;#34;password&amp;#34;: &amp;#34;123456&amp;#34;, &amp;#34;port&amp;#34;: 22}, &amp;#34;192.168.1.29&amp;#34;: {&amp;#34;user&amp;#34;: &amp;#34;root&amp;#34;, &amp;#34;password&amp;#34;: &amp;#34;123456&amp;#34;, &amp;#34;port&amp;#34;: 22}, &amp;#34;192.168.1.30&amp;#34;: {&amp;#34;user&amp;#34;: &amp;#34;root&amp;#34;, &amp;#34;password&amp;#34;: &amp;#34;123456&amp;#34;, &amp;#34;port&amp;#34;: 22} } # 循环遍历 IP 地址列表，将 SSH 公钥复制到远程主机 for host, credentials in hosts_and_passwords.</description></item><item><title>油管下载神器，超简单一键下载</title><link>https://blog.lufei.de/p/223/</link><pubDate>Mon, 01 Apr 2024 21:48:56 +0000</pubDate><guid>https://blog.lufei.de/p/223/</guid><description>项目地址：https://github.com/yt-dlp/yt-dlp
下载：https://www.123pan.com/s/cjqrVv-rcq9d.html
下载解压，解压路径不能是中文，双击 懒人版.exe 输入油管链接即可下载
视频保存路径在 yt-dlp.conf 里面修改：
--output &amp;#34;E:/youtube/%(uploader)s/%(title)s-%(resolution)s.%(ext)s&amp;#34; 解释：E:/youtube/ 保存在E盘youtube目录下，自行修改
uploader：频道名称或者up主名称 title：视频标题 resolution：视频分辨率 ext 这个可以暂时理解为视频扩展名 是必须要写的哈。 配置说明 默认即可
yt-dlp.conf 为配置文件
进度条标题栏显示 这部分用处不大 可以不写
--console-title --progress-template &amp;quot;download-title:%(info.id)s-%(progress.eta)s&amp;quot;
将下载的视频 转换为MP4格式，很重要。
--merge-output-format mp4
只下载英文和中文字幕
--sub-langs &amp;quot;en.*,zh-Hans&amp;quot;
将字幕、缩图、视频描述等信息内嵌到视频文件
--embed-subs
--embed-thumbnail
--embed-metadata
--convert-subs srt
如何下载指定分辨率的视频？ 双击 查询支持的分辨率.bat 输入链接
如图所示，如果想下载1920x1080分辨率的视频，我们需要记录一下音频和视频id 比如我们可以把140作为视频的音轨，把137作为视频的图像，这样最终会合成一个有图像有声音的视频
如何书写命令，举例：
yt-dlp.exe https://www.youtube.com/watch?v=XA2YEHn-A8Q -f137+140
大家务必注意结尾处的写法。f137前面是有一个减号的。当然你还可以自由的组合音视频。 这样我们就把指定分辨率的视频下载出来了。
如何只下载音频？ 和上面的代码类似。还是根据音频id来下载，比如上面的图中 140是m4a格式的音频，代码如下：
yt-dlp.exe https://www.youtube.com/watch?v=XA2YEHn-A8Q -f140
下载播放列表的所有视频 其实这个功能，api直接就支持，注意播放列表形如：
https://www.youtube.com/playlist?list=PL-Gg8EgJJQpDtccexkyEpSEK46m-epsFH
如何找播放列表 不用我多介绍了吧，去up主的主页，点击播放列表，出来的就都是播放列表了。
那么命令为：
yt-dlp.exe https://www.youtube.com/playlist?list=PL-Gg8EgJJQpDtccexkyEpSEK46m-epsFH
如何升级yt-dlp的版本？ 确认yt-dlp.exe 所在目录为非中文，注意包括父级目录 都不能有中文。</description></item><item><title>超简单利用 CloudFlare Api 宕机自动切换ip，并开启小云朵(cdn)</title><link>https://blog.lufei.de/p/221/</link><pubDate>Mon, 01 Apr 2024 09:49:35 +0000</pubDate><guid>https://blog.lufei.de/p/221/</guid><description>脚本 使用了这个脚本，后面的内容可以不看了，
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/dns_update/dns_update_menu.sh &amp;amp;&amp;amp; chmod +x dns_update_menu.sh &amp;amp;&amp;amp; ./dns_update_menu.sh 首先获取API密钥 登录cloudflare
https://dash.cloudflare.com/profile/api-tokens
获取：Global API Key
获取域名区域ID 选择其中一个域名进入
域名的右侧，找到区域ID，复制ID
前提：要把域名提前解析好，
准备好域名正在使用的IP（原始ip） 备用IP（切换后的ip）
下载脚本 脚本地址：https://github.com/woniu336/open_shell/tree/main/dns_update
脚本下载
wget https://raw.githubusercontent.com/woniu336/open_shell/main/dns_update/dns_update.sh &amp;amp;&amp;amp; wget https://raw.githubusercontent.com/woniu336/open_shell/main/dns_update/dns_update.py &amp;amp;&amp;amp; chmod +x dns_update.sh dns_update.py 国内
wget https://gitee.com/dayu777/open_shell/raw/main/dns_update/dns_update.sh &amp;amp;&amp;amp; wget https://gitee.com/dayu777/open_shell/raw/main/dns_update/dns_update.py &amp;amp;&amp;amp; chmod +x dns_update.sh dns_update.py 安装依赖 apt install python3-pip pip install requests sudo apt-get install jq 运行dns_update.sh 先运行dns_update.sh 提示输入API密钥，登录邮箱，区域ID，原始IP，备用ip，检测的端口号
注意：原始ip就是正在使用的IP，检测到宕机后切换ip就是备用ip，要检测哪个端口号看你的需求，
./dns_update.sh 完成后，会将信息录入dns_update.py脚本
运行dns_update.py 终端输入：
chmod +x dns_update.py python3 dns_update.</description></item><item><title>CapsWriter-Offline 电脑端离线语音输入工具</title><link>https://blog.lufei.de/p/220/</link><pubDate>Sun, 31 Mar 2024 15:00:42 +0000</pubDate><guid>https://blog.lufei.de/p/220/</guid><description>离线语音输入 项目： https://github.com/HaujetZhao/CapsWriter-Offline
视频教程：</description></item><item><title>翻译工具推荐：快速准确翻译，截图翻译，划词翻译</title><link>https://blog.lufei.de/p/219/</link><pubDate>Sun, 31 Mar 2024 14:44:08 +0000</pubDate><guid>https://blog.lufei.de/p/219/</guid><description>推荐使用deepl翻译源，最准确的翻译
第一款：TTime
https://ttime.timerecord.cn
GitHub： https://github.com/InkTimeRecord/TTime
第二款：quicker+翻译动作</description></item><item><title>rclone加密文件方法</title><link>https://blog.lufei.de/p/218/</link><pubDate>Sun, 31 Mar 2024 14:32:37 +0000</pubDate><guid>https://blog.lufei.de/p/218/</guid><description>
选择：Encrypt/Decrypt a remote
完成之后，挂载：
rclone mount 路径 盘符： 例如：
rclone mount jiami: W:</description></item><item><title>Linux安装 python3</title><link>https://blog.lufei.de/p/217/</link><pubDate>Fri, 29 Mar 2024 13:25:32 +0000</pubDate><guid>https://blog.lufei.de/p/217/</guid><description>安装 python3
sudo apt update sudo apt install python3 其他：
sudo apt update sudo apt install python3-pip pip3 install beautifulsoup4 sudo apt install python3-lxml</description></item><item><title>sitemap自动化提交方案</title><link>https://blog.lufei.de/p/216/</link><pubDate>Fri, 29 Mar 2024 10:33:17 +0000</pubDate><guid>https://blog.lufei.de/p/216/</guid><description>并不是所有网站都像wordpress那样有插件可以实现
以下方案基于windows 假设我更新了10篇文章，那么我要如何快速也更新sitemap呢，
1、首先把这10篇链接复制到一个txt文本，每行一条链接，假设为123.txt，
2、同目录下新建一个sitemap.xml 文件 (空文件)
3、同目录下新建一个sitemap.bat脚本
4、最后新建一个推送到网站的push.sh脚本
sitemap.bat脚本 @echo off setlocal enabledelayedexpansion REM 设置变量 set &amp;#34;sitemap=sitemap.xml&amp;#34; set &amp;#34;temp_file=temp.xml&amp;#34; REM 清空sitemap.xml文件 type nul &amp;gt; &amp;#34;%sitemap%&amp;#34; REM 将sitemap.xml中的&amp;lt;urlset&amp;gt;标签写入临时文件 echo ^&amp;lt;urlset xmlns=&amp;#34;http://www.sitemaps.org/schemas/sitemap/0.9&amp;#34; xmlns:mobile=&amp;#34;http://www.baidu.com/schemas/sitemap-mobile/1/&amp;#34;^&amp;gt; &amp;gt;&amp;gt; &amp;#34;%sitemap%&amp;#34; REM 逐行读取123.txt中的链接，并将每个链接写入sitemap.xml中 for /f &amp;#34;usebackq tokens=*&amp;#34; %%a in (&amp;#34;123.txt&amp;#34;) do ( echo ^&amp;lt;url^&amp;gt; &amp;gt;&amp;gt; &amp;#34;%sitemap%&amp;#34; echo ^&amp;lt;loc^&amp;gt;%%a^&amp;lt;/loc^&amp;gt; &amp;gt;&amp;gt; &amp;#34;%sitemap%&amp;#34; echo ^&amp;lt;mobile:mobile type=&amp;#34;pc,mobile&amp;#34;/^&amp;gt; &amp;gt;&amp;gt; &amp;#34;%sitemap%&amp;#34; REM 获取当前时间并将其格式化为需要的格式 for /f &amp;#34;delims=&amp;#34; %%t in (&amp;#39;powershell Get-Date -Format yyyy-MM-ddTHH:mm:sszzz&amp;#39;) do set &amp;#34;timestamp=%%t&amp;#34; echo ^&amp;lt;lastmod^&amp;gt;!</description></item><item><title>robots规则以及阻止垃圾爬虫</title><link>https://blog.lufei.de/p/215/</link><pubDate>Thu, 28 Mar 2024 15:40:56 +0000</pubDate><guid>https://blog.lufei.de/p/215/</guid><description>User-agent: * Crawl-delay: 10 Disallow: /wp-admin/ Disallow: /go/ Disallow: /wp-content/plugins/ Disallow: /?s=* Disallow: /author/ Disallow: /astra-advanced-hook/ Disallow: /theme Disallow: /demo/* Disallow: /*/page/* Disallow: /*blackhole Disallow: /?blackhole Allow: /wp-admin/admin-ajax.php User-agent: YandexBot Disallow: / User-agent: DotBot Disallow: / User-agent: AhrefsBot Disallow: / User-agent: Googlebot Disallow: / User-agent: BLEXBot Disallow: / User-agent: YaK Disallow: / User-agent: PetalBot Disallow: / User-agent: MJ12bot Disallow: / Sitemap: https://www.xxx.com/sitemap.xml</description></item><item><title>一键脚本设置SSH密钥登录服务器</title><link>https://blog.lufei.de/p/214/</link><pubDate>Thu, 28 Mar 2024 11:48:42 +0000</pubDate><guid>https://blog.lufei.de/p/214/</guid><description>脚本地址： curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssh-v.sh &amp;amp;&amp;amp; chmod +x ssh-v.sh &amp;amp;&amp;amp; ./ssh-v.sh 脚本如下，请在电脑上安装好 Git 将代码保存为xxx.sh，双击运行：
一路回车，输入yes,输入你的端口号，ip，密码，搞定
最后自定义别名（随意什么名称）
登录方式，打开终端，输入：ssh [别名] 登录
例如 ssh kk 就登录了
如果要在Linux系统上运行脚本，记得在目标服务器设置权限
SSH设置不生效解决办法 如果遇到设置ssh成功后仍然需要密码登录的情况解决办法
一、查看系统安全日志，定位问题
sudo cat /var/log/auth.log 或者
sudo cat /var/log/secure 找到下面的信息
Authentication refused: bad ownership or modes... （网上的图片） （我的） for directory 或者 for file 后面跟着的就是指出什么文件或文件夹
我的这条日志说明 SSH 服务器拒绝了基于密钥的认证,原因是 /root/.ssh/authorized_keys 文件的所有权或权限模式设置不正确。（你的原因可能和我不一样，但是方法是一样的）
authorized_keys 文件存储了允许使用 SSH 密钥登录的公钥。如果这个文件的权限设置不当,SSH 服务器将拒绝基于密钥的认证,从而要求输入密码进行登录认证。
解决方法是检查 /root/.ssh/authorized_keys 文件的所有权和权限,确保它只对 root 用户可读写:
所有权应为 root:root
chown root:root /root/.ssh/authorized_keys 权限应为 600 (所有者可读写)</description></item><item><title>Windows server2022 调出剪贴板</title><link>https://blog.lufei.de/p/213/</link><pubDate>Thu, 28 Mar 2024 08:35:38 +0000</pubDate><guid>https://blog.lufei.de/p/213/</guid><description> 由于这个2022版本没有剪贴板功能，故使用以下方法调出
保存为xx.reg文件 然后双击执行 重启电脑
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Clipboard] &amp;#34;IsCloudAndHistoryFeatureAvailable&amp;#34;=dword:00000001</description></item><item><title>复制本地文件到远程服务器</title><link>https://blog.lufei.de/p/212/</link><pubDate>Wed, 27 Mar 2024 19:32:56 +0000</pubDate><guid>https://blog.lufei.de/p/212/</guid><description>假设你使用密钥的方式登录服务器，并且 ssh 端口是 2233，并且 不是 使用 root 登录，
从桌面复制 sitemap123. xml 到服务器目录 /www/wwwroot/bt.cc 并且将文件 重命名：
~/.ssh/id_rsa 是密钥路径
ssh -p 2233 sp #登录服务器的命令，事先在~/.ssh/config文件中配置
config:
Host sp Hostname 服务器IP IdentityFile ~/.ssh/id_rsa User laoge 复制命令如下：
#!/bin/bash # 执行 SCP 命令 scp -i ~/.ssh/id_rsa -P 2233 C:/Users/Administrator/Desktop/sitemap123.xml laoge@ip:~/sitemap123.xml # 执行 SSH 命令 ssh -p 2233 sp &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; # 在 SSH 会话中执行 sudo 命令，使用 -S 选项从标准输入读取密码 echo &amp;#34;服务器密码&amp;#34; | sudo -S mv ~/sitemap123.xml /www/wwwroot/bt.cc/ # 在 SSH 会话中执行另一个 sudo 命令，使用 -S 选项从标准输入读取密码 echo &amp;#34;服务器密码&amp;#34; | sudo -S mv /www/wwwroot/bt.</description></item><item><title>非常好用的PDF工具分享</title><link>https://blog.lufei.de/p/211/</link><pubDate>Wed, 27 Mar 2024 12:47:03 +0000</pubDate><guid>https://blog.lufei.de/p/211/</guid><description>1、https://github.com/sumatrapdfreader/sumatrapdf
2、https://github.com/Stirling-Tools/Stirling-PDF
3、https://pdf2docx.cn/
4、https://tools.pdf24.org/zh/
下载地址： https://www.123pan.com/s/cjqrVv-9Nq9d.html</description></item><item><title>Git版本控制命令</title><link>https://blog.lufei.de/p/210/</link><pubDate>Sun, 24 Mar 2024 21:39:47 +0000</pubDate><guid>https://blog.lufei.de/p/210/</guid><description>撤销工作区修改 使用场景：已有修改加入暂存区，后续出现 bug, 恢复到上一次暂存状态。
git add . # 加入暂存区 git checkout -- . # 撤销工作区修改，恢复到上一次暂存时的状态 恢复到上一次提交 commit git restore --staged . # 恢复到未暂存状态 git checkout -- . # 恢复上一次提交</description></item><item><title>rclone 阿里云OSS配置文件模板</title><link>https://blog.lufei.de/p/209/</link><pubDate>Sun, 24 Mar 2024 11:17:53 +0000</pubDate><guid>https://blog.lufei.de/p/209/</guid><description>示例： 修改：云存储名称、ID、密钥、endpoint，其他默认
[oss] # 云存储名称，随意！但使用rclone时需要一致 type = s3 provider = Alibaba env_auth = false access_key_id = &amp;lt;ID&amp;gt; secret_access_key = &amp;lt;密钥&amp;gt; endpoint = oss-cn-shenzhen.aliyuncs.com # 这里我的是shenzhen(深圳) acl = public-read storage_class = STANDARD bucket_acl = public-read 命令： rclone sync D:\blog oss:tvcdn\blog -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse --exclude &amp;#34;/{.git,public,resources}/&amp;#34; --exclude &amp;#34;*.mp4&amp;#34; 命令解读 序号 操作 命令 1 同步本地文件夹 D:\blog 到远程 oss:tvcdn\blog rclone sync D:\blog oss:tvcdn\blog 2 忽略已存在文件（此参数慎重） --ignore-existing 3 仅更新新文件 -u 4 显示详细进度 -v -P 5 并发传输数量为 20 --transfers=20 6 忽略错误 --ignore-errors 7 缓冲大小为 128 M --buffer-size=128M 8 在首次同步前检查文件列表 --check-first 9 使用 10 个检查线程 --checkers=10 10 启用 Google Drive 滥用确认 --drive-acknowledge-abuse 11 排除 .</description></item><item><title>rclone 过滤，包含和排除规则</title><link>https://blog.lufei.de/p/208/</link><pubDate>Sat, 23 Mar 2024 18:00:04 +0000</pubDate><guid>https://blog.lufei.de/p/208/</guid><description>文档：资料
文件类型过滤 比如 --exclude &amp;quot;*.bak&amp;quot;，表示排除所有 .bak 结尾的文件，也可以写作 --filter &amp;quot;- *.bak&amp;quot;
比如 --include &amp;quot;*.{png,jpg}&amp;quot;，包含所有 png 和 jpg 文件，排除其他文件，也可以写作 --filter &amp;quot;+ *.{png,jpg}&amp;quot;
--delete-excluded 删除排除的文件。需配合过滤参数使用，否则无效。
目录过滤 目录过滤需要在目录名称后面加上 /，否则会被当做文件进行匹配。以 / 开头只会匹配根目录（指定目录下），否则匹配所目录。这同样适用于文件。
--exclude &amp;quot;.git/&amp;quot; 排除所有目录下的.git 目录。
--exclude &amp;quot;/.git/&amp;quot; 只排除根目录下的.git 目录。
--exclude &amp;quot;{Video,Software}/&amp;quot; 排除所有目录下的 Video 和 Software 目录。
--exclude &amp;quot;/{Video,Software}/&amp;quot; 只排除根目录下的 Video 和 Software 目录。
--include &amp;quot;/{Video,Software}/**&amp;quot; 仅包含根目录下的 Video 和 Software 目录的所有内容。
大小过滤 默认大小单位为 kBytes ，但可以使用 k ，M 或 G 后缀。
--min-size 过滤小于指定大小的文件。比如 --min-size 50 表示不会传输小于 50k 的文件。</description></item><item><title>Git回退到指定版本</title><link>https://blog.lufei.de/p/207/</link><pubDate>Fri, 22 Mar 2024 14:29:10 +0000</pubDate><guid>https://blog.lufei.de/p/207/</guid><description>git回退到上个版本 git reset --hard HEAD^ 回退到前3次提交之前，以此类推，回退到n次提交之前
git reset --hard HEAD~3 回退到指定版本 查看 commit 哈希值
git reflog 红色框框的就是哈希值
例如我要回退到commit信息为: 版本005 的时候,对应哈希值: adacc9e
git reset --hard adacc9e 更多版本 要回退到更久之前的版本,使用脚本:
按 q 退出 再按序号选择版本
#!/bin/bash # 显示git的reflog git reflog # 提取reflog输出的序号和对应的提交哈希值，并将其存储在数组中 mapfile -t commit_array &amp;lt; &amp;lt;(git reflog | grep -E &amp;#39;^[a-f0-9]+&amp;#39; | cat -n) # 显示序号和对应的提交哈希值供用户选择 for ((i=0; i&amp;lt;${#commit_array[@]}; i++)); do echo &amp;#34;${commit_array[i]}&amp;#34; done # 提示用户输入要恢复的版本号前面对应的数字 read -p &amp;#34;请输入要恢复的版本号前面对应的数字: &amp;#34; version_number # 提取用户选择的提交哈希值 selected_commit_hash=$(echo &amp;#34;${commit_array[version_number-1]}&amp;#34; | awk &amp;#39;{print $2}&amp;#39;) # 使用git reset --hard命令将本地代码回退到指定版本 git reset --hard &amp;#34;$selected_commit_hash&amp;#34;</description></item><item><title>frps一键安装脚本</title><link>https://blog.lufei.de/p/206/</link><pubDate>Wed, 20 Mar 2024 13:30:56 +0000</pubDate><guid>https://blog.lufei.de/p/206/</guid><description>frps脚本 文档来自 https://github.com/stilleshan/frps
先执行脚本,在自行修改 frps.toml 文件
安装
wget https://raw.githubusercontent.com/stilleshan/frps/master/frps_linux_install.sh &amp;amp;&amp;amp; chmod +x frps_linux_install.sh &amp;amp;&amp;amp; ./frps_linux_install.sh 以下为国内镜像
wget https://github.ioiox.com/stilleshan/frps/raw/branch/master/frps_linux_install.sh &amp;amp;&amp;amp; chmod +x frps_linux_install.sh &amp;amp;&amp;amp; ./frps_linux_install.sh 使用
vi /usr/local/frp/frps.toml # 修改 frps.toml 配置 sudo systemctl restart frps # 重启 frps 服务即可生效 卸载
wget https://raw.githubusercontent.com/stilleshan/frps/master/frps_linux_uninstall.sh &amp;amp;&amp;amp; chmod +x frps_linux_uninstall.sh &amp;amp;&amp;amp; ./frps_linux_uninstall.sh # 以下为国内镜像 wget https://github.ioiox.com/stilleshan/frps/raw/branch/master/frps_linux_uninstall.sh &amp;amp;&amp;amp; chmod +x frps_linux_uninstall.sh &amp;amp;&amp;amp; ./frps_linux_uninstall.sh frps相关命令 sudo systemctl start frps # 启动服务 sudo systemctl enable frps # 开机自启 sudo systemctl status frps # 状态查询 sudo systemctl restart frps # 重启服务 sudo systemctl stop frps # 停止服务</description></item><item><title>安装 Docker 环境</title><link>https://blog.lufei.de/p/205/</link><pubDate>Wed, 20 Mar 2024 09:00:34 +0000</pubDate><guid>https://blog.lufei.de/p/205/</guid><description/></item><item><title>利用vagrant快速创建Linux虚拟机</title><link>https://blog.lufei.de/p/204/</link><pubDate>Tue, 19 Mar 2024 17:18:49 +0000</pubDate><guid>https://blog.lufei.de/p/204/</guid><description>安装方法： 1、安装vagrant 2、再安装virtualbox 具体不写了，太繁琐。 https://developer.hashicorp.com/vagrant/install?product_intent=vagrant https://www.virtualbox.org/wiki/Downloads
你可能好奇，不是安装了virtualbox虚拟机吗，干嘛还去安装什么vagrant
因为使用vagrant安装虚拟机实在是太方便了，那为什么要再安装virtualbox ，因为virtualbox只作为后端，可以不用打开。两者缺一不可
设置环境变量（可选） VAGRANT_HOME .vagrant.d 默认目录 VAGRANT_DEFAULT_PROVIDER #使用哪种虚拟机 默认virtualbox 路径设置（可选） virtualbox的全局设定：Linux虚拟机安装位置 .vagrant.d 路径 ：环境变量里设置 默认~/.vagrant. Vagrantfile 配置文件路径 教程开始 1、初始化 Vagrantfile 配置 在当前目录下打开终端，输入以下命令初始化：
vagrant init 会在当前目录生成一个Vagrantfile文件
2、修改配置： 清空Vagrantfile里面的内容，把以下内容添加到 Vagrantfile 文件
Vagrant.configure(&amp;#34;2&amp;#34;) do |config| config.vm.box = &amp;#34;generic/ubuntu2204&amp;#34; # 规格配置 config.vm.provider :virtualbox do |vbox| vbox.name = &amp;#34;ubuntu-1&amp;#34; vbox.cpus = 1 vbox.memory = 1024 vbox.customize [&amp;#39;modifyvm&amp;#39;, :id, &amp;#39;--graphicscontroller&amp;#39;, &amp;#39;vmsvga&amp;#39;] end # 修改hostname，更新/etc/hosts config.vm.hostname = &amp;#34;ubuntu-1&amp;#34; # 公有网络 设置静态ip config.</description></item><item><title>在 Ubuntu 服务器 22.04 上设置静态 IP 地址</title><link>https://blog.lufei.de/p/203/</link><pubDate>Tue, 19 Mar 2024 16:46:33 +0000</pubDate><guid>https://blog.lufei.de/p/203/</guid><description>1、首先查看接口名称 登录到你的 Ubuntu 服务器 22.04，查找 netplan 配置文件。它位于 /etc/netplan 目录下。
cd /etc/netplan/ ls -l 运行以下 cat 命令以查看 00-installer-config.yaml 的内容。
注意：配置文件的名称不一定跟我的一样，也可能有多个yaml文件，前面带-rw-r--r--就是我们需要修改的
cat 00-installer-config.yaml 输出：
根据上面的输出，可以看到 ens33 就是接口名称，它正在从 DHCP 服务器获取 IP。
其他命令：
ip addr 或者
ifconfig 或者使用nmcli 查看，需要执行安装sudo apt install network-manager
nmcli device show ens33 2、编辑 netplan 配置文件 现在，要配置静态 IP 代替 DHCP，使用 vi 或 nano 编辑器编辑 netplan 配置文件并添加以下内容。
network: renderer: networkd ethernets: ens33: ## network card name dhcp4: false addresses: - 192.168.1.25/24 ## set static IP routes: - to: default via: 192.</description></item><item><title>VMware Workstation 虚拟机桥接模式</title><link>https://blog.lufei.de/p/202/</link><pubDate>Mon, 18 Mar 2024 17:57:37 +0000</pubDate><guid>https://blog.lufei.de/p/202/</guid><description>查看桥接模式下的物理网卡是否对应正确</description></item><item><title>vmware 挂载共享文件夹 虚拟机系列</title><link>https://blog.lufei.de/p/201/</link><pubDate>Mon, 18 Mar 2024 17:06:08 +0000</pubDate><guid>https://blog.lufei.de/p/201/</guid><description>共享文件夹设置 1.虚拟机设置 虚拟机菜单栏 -&amp;gt; 虚拟机 -&amp;gt; 设置 -&amp;gt; 选项 -&amp;gt; 共享文件夹 -&amp;gt; 总是启用 -&amp;gt; 添加（我将添加的共享目录命名为share_file） -&amp;gt;确定
2.VMware Tools安装
（1）虚拟机菜单栏 -&amp;gt; 虚拟机 -&amp;gt; 安装VMware Tools
（2）等一会虚拟机会自己打开VMware Tools文件夹
（3）在该目录下，右键打开命令行，将压缩文件拷贝到桌面上，再到桌面上将其解压缩，安装完成后删除即可。
cp /media/suzhch/VMwareTools-10.1.6-5214329.tar.gz /home/hadoop/Desktop/ cd /home/hadoop/Desktop/ tar -xzvf VMwareTools-10.1.6-5214329.tar.gz （4）成功之后以管理员root身份执行解压缩之后文件目录里的vmware-install.pl文件即可进行安装
sudo vmware-tools-distrib/vmware-install.pl （5）然后按照提示输入指令即可。 (yes or no)
共享文件在 /mnt/hgfs/文件夹下 注意：
上面的步骤走完之后会出现 在/mnt/hgfs目录下是空 的问题
解决办法：
1.vmware-hgfsclient 命令查看当前有哪些共享的目录
vmware-hgfsclient 会显示你设置的共享文件名，我上面设置的是share_file ,所以我这里显示的是share_file.懒得贴我的示意图了。
2.安装
sudo apt-get install open-vm-dkms 3.挂载共享文件
mount -t vmhgfs .host:/share_file /mnt/hgfs 如果显示 如果显示
Error: cannot mount filesystem: No such device</description></item><item><title>虚拟机ubuntu安装vmware tools</title><link>https://blog.lufei.de/p/200/</link><pubDate>Mon, 18 Mar 2024 16:21:36 +0000</pubDate><guid>https://blog.lufei.de/p/200/</guid><description>1. 挂载vmware tools光驱 会自动挂载，然后进入挂载目录：
打开左侧边栏的VMwareTools：
2.右键提取tar.gz压缩包 点击所选中的压缩包
右键将tar.gz压缩包提取到适当位置，我这里是用户下的Downloads文件夹
然后打开命令窗口 进入解压后的目录
执行如下命令：一路回车
sudo ./vmware-install.pl</description></item><item><title>VMware Workstation Pro15 虚拟机密钥</title><link>https://blog.lufei.de/p/199/</link><pubDate>Mon, 18 Mar 2024 15:53:39 +0000</pubDate><guid>https://blog.lufei.de/p/199/</guid><description>Player 版本是免费的，就是没有快照功能，其他与专业版一样，更小巧
Player 密钥其实就是获得商业许可而已，没有啥用处
密钥 专业版密钥
YG5H2-ANZ0H-M8ERY-TXZZZ-YKRV8 player版密钥
ZY3E8-6GD1L-M8DXP-6WMXZ-ZZ8Y6 专业版下载：https://www.123pan.com/s/cjqrVv-PQq9d.html
player下载：VMware Workstation 15.5.7 Player</description></item><item><title>virtualbox虚拟机共享文件夹挂载</title><link>https://blog.lufei.de/p/198/</link><pubDate>Mon, 18 Mar 2024 05:25:33 +0000</pubDate><guid>https://blog.lufei.de/p/198/</guid><description>
创建挂载目录
cd /mnt/ sudo mkdir ./gd 挂载：gd是共享文件夹名称，/mnt/gd 是linux挂载目录
sudo mount -t vboxsf -o uid=1000,gid=1000 gd /mnt/gd 卸载
cd .. sudo umount /mnt/gd</description></item><item><title>windows 完全禁用传递优化服务 Delivery Optimization</title><link>https://blog.lufei.de/p/197/</link><pubDate>Sun, 17 Mar 2024 17:14:07 +0000</pubDate><guid>https://blog.lufei.de/p/197/</guid><description>禁用Delivery Optimization Delivery Optimization是关于windows系统更新的一项服务，它会自动在E盘或某个盘生成文件夹Delivery Optimization，里面是一些缓存，强迫症可能很不爽。
在服务中关闭，win+r输入services.msc，打开服务管理界面，找到对应服务
如果你直接右键，修改属性，启动类型为：禁用，通常是拒绝访问
3.修改注册表
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\DoSvc 下start值改为4，win11值为4是禁用，刷新一下，变成禁用即可。
并且把恢复选项下的所有重启改为无操作
修改注册表</description></item><item><title>解决“Windows Terminal软件报0xd000003a“问题</title><link>https://blog.lufei.de/p/196/</link><pubDate>Sun, 17 Mar 2024 17:01:00 +0000</pubDate><guid>https://blog.lufei.de/p/196/</guid><description>修改condrv的Start值 按win+R，输入: regedit 回车
计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\condrv 右侧找到 Start 字段，右击 Start 修改
改完重启电脑</description></item><item><title>一条命令完全卸载hyper-v虚拟机</title><link>https://blog.lufei.de/p/195/</link><pubDate>Sun, 17 Mar 2024 16:56:21 +0000</pubDate><guid>https://blog.lufei.de/p/195/</guid><description>如果不需要Hyper-V，使用下面的命令卸载Hyper-V角色以及管理工具
UnInstall-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart 完成上面的命令后，hyper-v就从电脑中卸除。可以开始安装vmware虚拟机软件或者其他第三方虚拟机软件。</description></item><item><title>Windows server2022优化版</title><link>https://blog.lufei.de/p/194/</link><pubDate>Sat, 16 Mar 2024 15:25:08 +0000</pubDate><guid>https://blog.lufei.de/p/194/</guid><description>根据zh-cn_windows_server_2022_x64_dvd_6c73507d.iso原版优化，
重装前最好使用驱动工具备份一下驱动，因为重装之后，需要先安装驱动，才能正常使用
https://www.123pan.com/s/cjqrVv-gdq9d.html</description></item><item><title>WindowsTerminal安装posh-git</title><link>https://blog.lufei.de/p/193/</link><pubDate>Sat, 16 Mar 2024 15:17:09 +0000</pubDate><guid>https://blog.lufei.de/p/193/</guid><description>set-executionpolicy remotesigned 安装：PSReadLine
Install-Module PSReadLine -RequiredVersion 2.1.0 安装posh-git
PowerShellGet\Install-Module posh-git -Scope CurrentUser -Force 写入配置：
notepad $PROFILE 若提示错误：请继续以下代码
New-Item -Path $PROFILE -Type File -Force Microsoft.PowerShell_profile.ps1 配置：
clear # Tab 当按Tab键时，显示所有选项的导航菜单 Set-PSReadlineKeyHandler -Key Tab -Function MenuComplete # 每次回溯输入历史，光标定位于输入内 Set-PSReadLineOption -HistorySearchCursorMovesToEnd # 下一条自动补全 History记录 line模式中相反 Set-PSReadlineKeyHandler -Key Ctrl+n -Function HistorySearchForward # 上一条自动补全 History记录 Set-PSReadlineKeyHandler -Key Ctrl+p -Function HistorySearchBackward # auto suggestions Import-Module PSReadLine Set-PSReadLineOption -PredictionSource History # git自动补全 #Add-PoshGitToProfile Import-Module posh-git</description></item><item><title>Winserver2022安装winget</title><link>https://blog.lufei.de/p/192/</link><pubDate>Mon, 04 Mar 2024 17:31:22 +0000</pubDate><guid>https://blog.lufei.de/p/192/</guid><description>winget介绍：Windows 程序包管理器：优雅的安装软件, 类似Linux系统apt、dpkg
本教程只限于server系统,只在winserver2022测试通过，其他系统版本未知
比如我想安装QQ，输入命令：winget search QQ 搜索，然后使用 winget install &amp;lt;ID&amp;gt;安装
教程开始
https://www.123pan.com/s/cjqrVv-xf59d.html
将所有文件下载，解压 microsoft.ui.xaml.2.7.3.zip
以管理员打开powershell
cd microsoft.ui.xaml.2.7.3 进入解压目录
执行命令：
Add-AppxPackage -Path .\tools\AppX\x64\Release\Microsoft.UI.Xaml.2.7.appx 回到上层目录 cd ..
执行以下命令：
Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx 继续
Add-AppxPackage .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle 最后：
Add-AppxProvisionedPackage -Online -Package .\Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -LicensePath .\24146eb205d040e69ef2d92d7034d97f_License1.xml 最后一点：记得要给winget换源 查看往期文章</description></item><item><title>使用 winget 搜索和安装应用程序</title><link>https://blog.lufei.de/p/191/</link><pubDate>Sun, 03 Mar 2024 20:30:28 +0000</pubDate><guid>https://blog.lufei.de/p/191/</guid><description>winget 源 内容 地址 微软官方 应用商店中的程序 + 开源软件包 https://cdn.winget.microsoft.com/cache 中科大开 开源软件包 https://mirrors.ustc.edu.cn/winget-source 好像就中科大的提供 winget 国内镜像，有点少啊。
使用 winget 搜索和安装应用程序 对于不熟悉基于文本界面的用户来说，刚开始使用 winget 时可能有点令人望而却步，但实际上它非常简单易用。winget 的基本用法只涉及搜索和安装应用程序。请按照以下步骤操作：
1在 Windows 11 中鼠标右击「开始」菜单 – 选择打开「终端管理员」。
2要搜索应用程序，请执行：
winget search &amp;lt;AppName&amp;gt; 例如，输入winget search Chrome来尝试查找 Google Chrome。
使用 winget 搜索应用程序
3如果首次使用winget命令，需要同意服务条款，请按Y然后按回车键。查询结果中可以看到包括不同版本的 Chrome，以及一些名称相似的应用程序。
4为了获取和安装正确的应用程序，最准确的方法是使用第二列中列出的包 ID。例如，要安装 Google Chrome 的稳定版，可以使用如下命令：
winget install Google.Chrome 使用 winget 安装应用程序
如果要安装的程序需要通过 Microsoft Store 获取（源在列表的最后一列），还需要同意服务条款，请按Y然后按回车键。 也可以在安装命令中添加--accept-package-agreements参数，以自动接受任何协议。 5安装完成后，可以重复这个过程来安装其他任何需要的应用程序。
在 Windows 11 中使用基于文本的命令行界面安装应用程序非常简单，而且有许多应用程序都可以通过winget命令实现静默安装，而且速度非常快。正如我们之前提到的，您也可以使用 Windows Package Manager 安装来自 Microsoft Store 的应用程序。</description></item><item><title>Windows Terminal美化</title><link>https://blog.lufei.de/p/190/</link><pubDate>Sun, 03 Mar 2024 17:09:39 +0000</pubDate><guid>https://blog.lufei.de/p/190/</guid><description>一、 oh my posh 安装 安装方式1： 打开 PowerShell 提示符并运行以下命令：
Set-ExecutionPolicy Bypass -Scope Process -Force; Invoke-Expression ((New-Object System.Net.WebClient).DownloadString(&amp;#39;https://ohmyposh.dev/install.ps1&amp;#39;)) 可能会失败，请看安装方式2
如果下载慢，使用代理：
set http_proxy=socks5://127.0.0.1:7890 set https_proxy=socks5://127.0.0.1:7890 手动加入环境变量（可不加）：
注意我的用户名是：Administrator
$env:Path += &amp;#34;;C:\Users\Administrator\AppData\Local\Programs\oh-my-posh\bin&amp;#34; 安装方式2： 打开 PowerShell 提示符并运行以下命令：
winget install JanDeDobbeleer.OhMyPosh -s winget 但是首先为 winget 更换国内源，为了提高响应速度，以下是操作步骤：
1以管理员身份打开「命令提示符」。
2执行以下命令，删除由 Microsoft 维护的官方源：
winget source remove winget 3执行以下命令添加 winget 国内源：
winget source add [源名称] [源地址] 例如，若要添加中科大开源软件镜像源，可执行以下命令：
winget source add winget https://mirrors.ustc.edu.cn/winget-source 建议就使用winget作为名称，以便在需要时轻松重置回官方源。
4换源完成后，可以通过以下命令进行验证和查看：
winget source list 5如果要恢复使用 Microsoft 官方源，可以使用以下命令进行重置：</description></item><item><title>Windows10更换全局字体，快速替换Win10默认字体步骤分享</title><link>https://blog.lufei.de/p/189/</link><pubDate>Sun, 03 Mar 2024 06:49:09 +0000</pubDate><guid>https://blog.lufei.de/p/189/</guid><description>第一步：为Win10下载新字体 自由字体网，一家专业字体网站，搜罗了全网不少可以免费商用的字体，字体样式也比较齐全，且无需注册登录，即可下载。遗憾的是，度盘链接常挂，默认下载使用的是城通网盘。
字体天下，和自由字体一样无需注册登录即可下载，且不再使用网盘寄存数据下载速度更快，包含收费字体和免费字体，种类更多更全。
字体家，无需注册登录即可下载，下载源为百度云盘和城通云盘，下载速度上可能对非VIP用户不是太友好。在免费字体种类，数量上一般，可视作前两者的补充。
第二步：为Windows10更换全局字体 Win10修改系统默认字体需要利用到一个软件：noMeiryoUI
软件下载：https://www.123pan.com/s/cjqrVv-fk59d.html
其他教程： http://www.dians.net/thread-1202.htm</description></item><item><title>rclone基于windows一键脚本工具</title><link>https://blog.lufei.de/p/188/</link><pubDate>Sat, 02 Mar 2024 13:24:11 +0000</pubDate><guid>https://blog.lufei.de/p/188/</guid><description>bat脚本 rclone下载地址： https://rclone.org/downloads/
以windows为例：
前提：在rclone安装目录需要有rclone.conf配置文件存在,而且配置好了网盘
@echo off set /p source=请输入源路径： set /p destination=请输入目标路径： set /p proxy=是否需要代理？(yes/no)： if /i &amp;#34;%proxy%&amp;#34;==&amp;#34;yes&amp;#34; ( set http_proxy=socks5://127.0.0.1:7890 set https_proxy=socks5://127.0.0.1:7890 ) else ( set http_proxy= set https_proxy= ) cd /d D:\rclone-v1.63.0-windows-amd64 rclone copy &amp;#34;%source%&amp;#34; &amp;#34;%destination%&amp;#34; --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse pause rclone.conf配置文件：
目标标路径可以自动创建(如果没有) ，代理端口7890，如果你的不是7890端口请修改 编码：ANSI 避免windows下运行乱码 将rclone 下载到D盘，文件夹名： rclone-v1.63.0-windows-amd64 这里的代理是针对比如谷歌网盘需要魔法访问的情况 并且代理设置只会在该次运行过程中生效 每次运行这个批处理文件时，用户都需要重新选择是否需要代理 参数解释 例如将E:\迅雷下载的文件复制到onedrive下的电影目录
rclone copy E:\迅雷下载 onedrive:电影 --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 如果用于谷歌网盘，末尾添加参数： --drive-acknowledge-abuse</description></item><item><title>git 配置多端多个账号（码云、github、gitlab）</title><link>https://blog.lufei.de/p/187/</link><pubDate>Fri, 01 Mar 2024 13:18:40 +0000</pubDate><guid>https://blog.lufei.de/p/187/</guid><description>首先确认已安装Git，可以通过 git –version 命令可以查看当前安装的版本。
为同一个电脑，配置多个 git 账号，其整体流程如下：
清空默认的全局 user.name 和 user.email
为不同的 git 账户生成不同的 ssh-key
将以上的 ssh-key 分别添加到 ssh-agent 信任列表
添加以上的公钥到自己的 git 账户中
在 config 文件配置多个 ssh-key
测试
1. 清空默认的全局 user.name 和 user.email git config --global --unset user.name git config --global --unset user.email 查看git配置： git config --global --list
2、配置多个git的用户名和邮箱 a、单个配置
git config --global user.name &amp;#34;yourusername&amp;#34; git config --global user.email &amp;#34;youremail@email.com&amp;#34; b、多个配置
注意： 这里git config命令没有带—global，表示这是一个局部的设置，也就是这个用户是当前项目的，而不是全局的。
git config user.name &amp;#34;1&amp;#34; git config user.</description></item><item><title>vscode:git常用命令</title><link>https://blog.lufei.de/p/186/</link><pubDate>Tue, 27 Feb 2024 18:16:19 +0000</pubDate><guid>https://blog.lufei.de/p/186/</guid><description>常见命令 git init git add . git commit -m &amp;#34;初始化&amp;#34; git branch -M main git remote add origin https://github.com/githubusername/demo.git git pull origin main git push -u origin main #首次推送加-u参数 创建和切换分支 1、创建新分支
git branch 新分支名称 2、切换分支
git checkout 分支名称 3、创建分支的同时，切换到该分支上
git checkout -b 新分支名称 合并分支 假如把dev分支合并到main
首先切换到main分支上
git checkout main 如果是多人开发的话，需要把远程main分支上的代码pull下来
git pull origin main 然后把dev分支的代码合并到main上
git merge dev 警告提示： Please enter a commit message to explain why this merge is necessary</description></item><item><title>Github推送报错：Failed to connect to 127.0.0.1 port 7890</title><link>https://blog.lufei.de/p/185/</link><pubDate>Tue, 27 Feb 2024 17:01:00 +0000</pubDate><guid>https://blog.lufei.de/p/185/</guid><description>问题描述 在linuxmint桌面版系统下,使用vscode克隆仓库时遇到: Failed to connect to 127.0.0.1 port 7890
解决办法: 取消 http, https 代理
git config --global --unset http.proxy git config --global --unset https.proxy</description></item><item><title>vmware虚拟机: 您的主机不满足在启用hyper-v 解决方法</title><link>https://blog.lufei.de/p/184/</link><pubDate>Mon, 26 Feb 2024 16:18:59 +0000</pubDate><guid>https://blog.lufei.de/p/184/</guid><description>问题描述 由于之前安装了windows10自带的hyper-v虚拟机,在安装vm虚拟机启动镜像时遇到下图bug
解决办法 1. 关闭hyper-v 在控制面板→卸载程序，
去掉前面的勾 Hyper-V
最后三个选项的勾也去掉
2. 禁用Hyper-v服务 到windows服务中关闭hyper-v的相关服务，以及HV主机服务 改成禁用
右键我的电脑，管理，
3.关闭基于虚拟化的安全性 下载工具https://www.microsoft.com/en-us/download/details.aspx?id=53337。
解压zip包，使用管理员打开PowerShell，cmd也行(管理员) 切换到下载工具的目录，执行：
.\DG_Readiness_Tool_v3.6.ps1 -Disable -AutoReboot 执行成功之后电脑将自动重启，按照启动提示 (按F3) 即可关闭继续虚拟化的安全性，VMware即可使用。
按win+r 输入 msinfo32</description></item><item><title>解决ubuntu虚拟机vmware tools无法共享剪贴板问题</title><link>https://blog.lufei.de/p/183/</link><pubDate>Mon, 26 Feb 2024 15:54:47 +0000</pubDate><guid>https://blog.lufei.de/p/183/</guid><description>使用如下方法成功解决问题，一路回车默认即可。
sudo apt install open-vm-tools sudo apt install open-vm-tools-desktop vmware tools的开源版本 open-vm-tools 由两个组件构成，
一个是open-vm-tools，这个装上之后虚拟机就有了显示驱动，屏幕可以自适应大小；
另一个open-vm-tools-desktop，用于共享剪贴板和文件拖拽功能。
最后重启虚拟机搞定</description></item><item><title>ubuntu创建账户与禁止root用户通过SSH远程登陆</title><link>https://blog.lufei.de/p/182/</link><pubDate>Sun, 25 Feb 2024 08:52:24 +0000</pubDate><guid>https://blog.lufei.de/p/182/</guid><description>1. 登录root用户 sudo -i 2. 创建新用户 假设新用户: laoge
sudo useradd -m -s /bin/bash laoge 3. 手动为用户设置密码 sudo passwd laoge 4.赋予新用户sudo权限 echo &amp;#34;laoge ALL=(ALL:ALL) ALL&amp;#34; | sudo tee -a /etc/sudoers 5.禁止ROOT远程SSH登录 sudo vim /etc/ssh/sshd_config 把
PermitRootLogin yes 改为
PermitRootLogin no 重启sshd服务 sudo service ssh restart 下次登录服务器使用用户名: laoge 登录 切换root: sudo -i 然后输入密码
注意：这些修改不影响已经连接的SSH。 只对以后的的连接产生影响。
其他 如果遇到bug, 则给sudoers写入权限,看具体情况
给root用户增加w权限
chmod u+w /etc/sudoers 恢复sudoers文件原来的读写权限
chmod u-w /etc/sudoers 退出root用户
exit</description></item><item><title>最快配置SSH密钥免密码登录你的服务器</title><link>https://blog.lufei.de/p/181/</link><pubDate>Sat, 24 Feb 2024 13:24:47 +0000</pubDate><guid>https://blog.lufei.de/p/181/</guid><description>使用密钥方式登录更安全
自用一键设置脚本：（基于windows 10 安装了git）
#!/bin/bash # 创建SSH目录 mkdir -p ~/.ssh cd ~/.ssh # 生成SSH密钥 # 生成SSH密钥 echo -e &amp;#34;\e[32m开始愉快之旅吧\e[0m&amp;#34; echo -e &amp;#34;\e[32m系统将提示您指定密钥对名称: \e[33m一路回车\e[32m 请按Enter继续\e[0m&amp;#34; echo ssh-keygen -t ed25519 -C &amp;#34;注释随意&amp;#34; # 复制公钥到远程服务器 read -p &amp;#34;请输入SSH端口号（默认为22）：&amp;#34; ssh_port ssh_port=${ssh_port:-22} read -p &amp;#34;请输入服务器IP地址：&amp;#34; server_ip ssh-copy-id -i ~/.ssh/id_ed25519.pub -p $ssh_port root@$server_ip # 修改远程服务器配置 ssh -p $ssh_port root@$server_ip &amp;lt;&amp;lt; &amp;#39;EOF&amp;#39; if grep -q &amp;#34;^#*PubkeyAuthentication\s*no&amp;#34; /etc/ssh/sshd_config; then sudo sed -i &amp;#39;s/^#*PubkeyAuthentication\s*no/ PubkeyAuthentication yes/&amp;#39; /etc/ssh/sshd_config elif grep -q &amp;#34;^#*PubkeyAuthentication\s*yes&amp;#34; /etc/ssh/sshd_config; then sudo sed -i &amp;#39;s/^#*PubkeyAuthentication\s*yes/ PubkeyAuthentication yes/&amp;#39; /etc/ssh/sshd_config else echo &amp;#34;PubkeyAuthentication yes&amp;#34; | sudo tee -a /etc/ssh/sshd_config fi sudo service ssh restart exit EOF # 提示用户输入别名和ip read -p &amp;#34;请输入别名：&amp;#34; alias_name # 检查~/.</description></item><item><title>ubuntu20+window双系统启动引导项的修复</title><link>https://blog.lufei.de/p/180/</link><pubDate>Sat, 24 Feb 2024 11:53:43 +0000</pubDate><guid>https://blog.lufei.de/p/180/</guid><description>修复ubuntu引导项 由于上面一个修复window引导项动作覆盖了整个启动目录，导致我的电脑ubuntu引导项丢失了，所以我现在又开始修复ubuntu启动引导项。方法类似，不过ubuntu修复启动引导项时候，需要我们安装boot-repair软件
制作Ubuntu启动U盘，UtroISO即可； 将U盘插入电脑，开机，进入BIOS，选择U盘启动； 出现Ubuntu安装界面，选择第一项（Try ubuntu without install）； 进入ubuntu，打开终端，获取root权限； 执行以下命令：
sudo add-apt-repository ppa:yannubuntu/boot-repair apt-get update apt-get install boot-repair boot-repair安装完成之后，输入boot-repair命令，进入软件
boot-repair 最后: reboot
选择推荐修复
进入修复等一小会，修复就完成了
大家可以看到修复提示log
reboot机器，这个时候大家就可以看到电脑启动的引导项都恢复了。</description></item><item><title>一键更改电源计划的方法</title><link>https://blog.lufei.de/p/179/</link><pubDate>Sat, 24 Feb 2024 07:31:15 +0000</pubDate><guid>https://blog.lufei.de/p/179/</guid><description>先win+R 输入cmd打开命令行，输入powercfg -list 显示已有的电源策略以及对应的编码
powercfg -list 然后新建一个文本文档，命名为 （比如）Power.bat
修改为自己的GUID,例如
381b4222-f694-41f0-9685-ff5bb260df2e 是我的平衡模式GUID
a1841308-3541-4fab-bc81-f71556f20b4a 是节能GUID
@echo off rem 执行 powercfg -getactivescheme 命令，并将结果保存到临时文件 powercfg /getactivescheme &amp;gt; tmp.txt rem 使用 findstr 命令检查临时文件中是否包含“节能”字符 findstr /C:&amp;#34;节能&amp;#34; tmp.txt &amp;gt;nul rem 检查 findstr 命令的退出代码 if %errorlevel% == 0 ( rem 如果包含，则切换到平衡模式 POWERCFG /SETACTIVE 381b4222-f694-41f0-9685-ff5bb260df2e echo 已切换到平衡模式 rem 使用绿色显示提示 color 0A ) else ( rem 否则切换到节能模式 POWERCFG /SETACTIVE a1841308-3541-4fab-bc81-f71556f20b4a echo 已切换到节能模式 rem 使用黄色显示提示 color 0E ) rem 删除临时文件 del tmp.</description></item><item><title>Winserver2022调优</title><link>https://blog.lufei.de/p/178/</link><pubDate>Fri, 23 Feb 2024 16:25:20 +0000</pubDate><guid>https://blog.lufei.de/p/178/</guid><description>激活命令 打开PowerShell(管理员),输入以下代码:
irm https://massgrave.dev/get | iex 选择第三个,再选1
开启hyper-v 打开PowerShell(管理员),输入以下代码:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart 安装完成会重启
1.开启远程桌面 2.修改主机名称 3.密码策略 右上角-工具-本地安全策略
安全设置-账户策略-密码策略
禁用密码复杂性要求以及最长使用期限为0(不过期)
4.关闭登录系统按CTRL+ALT+DEL 本地策略-安全选项
关闭登录密码：
快捷键WIN+R输入regedit，再粘贴下面这行
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\PasswordLess\Device 将DevicePasswordLessBuildVersion的值改为0
4.组策略中打开 启用不安全来宾登陆 选项 目的是局域网文件共享: https://blog.csdn.net/u010499872/article/details/115704644
开始运行，或者快捷键 Win+R 打开运行，输入 gpedit.msc 打开组策略。
然后分别选择 计算机配置 → 管理模板 → 网络 →Lanman工作站，在右边找到 启用不安全的来宾登陆，双击打开，然后选择启用，点确定即可。
5.重命名管理员名称 安全设置-本地策略-安全选项
6.修改管理员密码: cmd输入: net user admin 123
net user 管理员名称 密码 7.一键远程登录脚本 将以下代码保存为bat文件,双击运行即可
@echo off set ip_file=last_ip.txt :menu cls echo 请选择选项： echo [1] 使用上次登录的 IP 地址 echo [2] 输入新的 IP 地址 set /p option=请输入选项数字: if &amp;#34;%option%&amp;#34;==&amp;#34;1&amp;#34; ( if exist %ip_file% ( set /p remote_ip=&amp;lt;%ip_file% goto connect ) else ( echo 没有找到上次登录的 IP 地址。请手动输入新的 IP 地址。 pause goto input_ip ) ) else if &amp;#34;%option%&amp;#34;==&amp;#34;2&amp;#34; ( goto input_ip ) else ( echo 无效的选项，请重新输入。 pause goto menu ) :input_ip set /p remote_ip=请输入远程计算机的IP地址: echo %remote_ip% &amp;gt; %ip_file% goto connect :connect start mstsc.</description></item><item><title>docker项目dockge和nginx-proxy-manager-zh中文版</title><link>https://blog.lufei.de/p/177/</link><pubDate>Fri, 23 Feb 2024 12:46:37 +0000</pubDate><guid>https://blog.lufei.de/p/177/</guid><description>Dockge 项目地址: https://github.com/louislam/dockge
特色 快速搭建docker compose环境 可以管理compose.yaml文件，包括创建、编辑、启动、停止、重启和删除 能够更新Docker映像 提供交互式编辑器，方便编辑compose.yaml文件 提供交互式网络终端功能 支持管理来自不同Docker主机的多个堆栈 可以将docker run命令转换为compose.yaml Dockge不会绑架编译文件，而是将其存储在硬盘上，可以与普通的docker compose命令交互 1、开源项目地址: https://github.com/louislam/dockge
2、更新系统
apt update &amp;amp;&amp;amp; apt upgrade 3、安装Docker
国外服务器推荐:
curl -fsSL https://get.docker.com -o get-docker.sh sh get-docker.sh 或者: 脚本集成安装 Docker Engine 和 Docker Compose
bash &amp;lt;(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh) 国内服务器:
bash &amp;lt;(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh) 4、创建Dockge存储目录
mkdir -p /opt/stacks /opt/dockge 进入目录
cd /opt/dockge 下载compose配置文件
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml 启动服务
docker compose up -d 或者: docker-compose up -d</description></item><item><title>一款追求轻量化的开源可视化路由跟踪工具-NextTrace</title><link>https://blog.lufei.de/p/176/</link><pubDate>Thu, 22 Feb 2024 17:28:56 +0000</pubDate><guid>https://blog.lufei.de/p/176/</guid><description>一键安装脚本(linux)
curl nxtrace.org/nt | bash 一切准备就绪！使用命令 (例如ip地址是1.1.1.1)
nexttrace 1.1.1.1 更多进阶命令玩法可以用 nexttrace -h 查看哦
关于软件卸载，因为nexttrace是绿色版单文件，卸载只需输入命令
rm /usr/local/bin/nexttrace windows使用方法:
https://github.com/nxtrace/NTrace-core/releases/download/v1.2.8/nexttrace_windows_amd64.exe
下载后将nexttrace_windows_amd64.exe重命名 nexttrace.exe
然后cmd, 改成你要追踪的ip 注意:打开cmd的位置要在nexttrace.exe所在目录
nexttrace 你的ip 方法二
@echo off set /p ip=请输入要跟踪的 IP 地址: D:\nexttrace.exe %ip% pause 保存为nexttrace.bat文件双击运行
注意: D:\nexttrace.exe 是nexttrace.exe所在的目录,这里是D盘</description></item><item><title>关于安装宝塔后 samba访问失败 网络管理</title><link>https://blog.lufei.de/p/175/</link><pubDate>Thu, 22 Feb 2024 16:51:11 +0000</pubDate><guid>https://blog.lufei.de/p/175/</guid><description>原因 ：由于安装了宝塔服务，添加了防火墙，对原有的samba服务产生了影响。
查看某网络软件需要的端口: 宝塔面板后台放行: 445和139端口
sudo netstat -tunlp | grep &amp;#39;smb&amp;#39; tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2857/smbd tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2857/smbd tcp6 0 0 :::445 :::* LISTEN 2857/smbd tcp6 0 0 :::139 :::* LISTEN 2857/smbd
以下来自AI的答案: 要在 Ubuntu 上放行端口 445 和 139，您可以使用 ufw（Uncomplicated Firewall）工具进行配置。以下是在 Ubuntu 上使用 ufw 放行端口的步骤：
检查 ufw 状态： 首先，检查 ufw 是否已启用并运行。您可以使用以下命令检查状态：
sudo ufw status 允许端口： 如果 ufw 已启用，但端口 445 和 139 尚未放行，您可以使用以下命令允许这些端口：
sudo ufw allow 445 sudo ufw allow 139 启用防火墙： 如果 ufw 尚未启用，您可以使用以下命令启用它：</description></item><item><title>宝塔面板软件商店列表无法打开解决办法</title><link>https://blog.lufei.de/p/174/</link><pubDate>Thu, 22 Feb 2024 16:08:59 +0000</pubDate><guid>https://blog.lufei.de/p/174/</guid><description>大陆和香港服务器
#优先选择这条命令执行 sed -i &amp;#34;/bt.cn/d&amp;#34; /etc/hosts echo &amp;#34;103.179.243.14 www.bt.cn download.bt.cn api.bt.cn dg1.bt.cn dg2.bt.cn&amp;#34; &amp;gt;&amp;gt; /etc/hosts 海外服务器:
sed -i &amp;#34;/bt.cn/d&amp;#34; /etc/hosts echo &amp;#34;128.1.164.196 www.bt.cn download.bt.cn api.bt.cn dg1.bt.cn dg2.bt.cn&amp;#34; &amp;gt;&amp;gt; /etc/hosts</description></item><item><title>refind，可能是颜值最高的多系统、硬盘引导神器,efi</title><link>https://blog.lufei.de/p/173/</link><pubDate>Thu, 22 Feb 2024 14:34:37 +0000</pubDate><guid>https://blog.lufei.de/p/173/</guid><description>工具 视频教程:
我提供的文件是配置好的,可以直接使用,免去你花时间配置和美化主题的时间
准备好: DiskGenius, refind文件
https://www.123pan.com/s/cjqrVv-fUL9d.html
https://www.123pan.com/s/cjqrVv-aUL9d.html
打开DiskGenius,打开efi分区,将refind文件夹复制到efi分区
左上角-工具-设置UEFi启动项</description></item><item><title>Ubuntu 20.04 搭建 Samba 服务</title><link>https://blog.lufei.de/p/172/</link><pubDate>Thu, 22 Feb 2024 13:05:09 +0000</pubDate><guid>https://blog.lufei.de/p/172/</guid><description>安装 Samba 服务 sudo apt install samba 查看版本,确保正确安装
samba --version 配置需要共享的目录 例如: /mnt/500GB 为挂载目录
# 新建目录，用于共享 sudo mkdir /mnt/500GB # 更改权限信息 sudo chown nobody:nogroup /mnt/500GB # 给所有用户添加读写权限 sudo chmod 777 /mnt/500GB #对目录的Others权限添加w(写)权限 sudo chmod o+w /mnt/500GB 配置挂载: 安装vim:
sudo apt install vim 编辑: smb.conf
sudo vim /etc/samba/smb.conf 注意: qige为你的ubuntu用户名,在 Linux 中必须存在,请改为自己的
在smb.conf末尾添加下面的代码
[share] comment = share folder browseable = yes path = /mnt/500GB create mask = 0777 directory mask =0777 valid users = qige force user = qige force group = qige public = yes available = yes writable = yes 添加 Samba 用户 添加 Samba 用户，用于在访问共享目录时使用。这里添加的用户是之前配置的用户名。</description></item><item><title>远程协助连接这台计算机灰色无法勾选?</title><link>https://blog.lufei.de/p/171/</link><pubDate>Wed, 21 Feb 2024 11:00:37 +0000</pubDate><guid>https://blog.lufei.de/p/171/</guid><description>更改注册表设置 在注册表编辑器中更改一些设置，也能解决允许远程协助连接这台计算机灰色无法勾选这一问题，以下是具体的操作步骤。
步骤1. 按**“Windows + R”打开运行框，输入“regedit”，然后单击“确定”**。
步骤2. 导航到：
计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows NT\Terminal Services 步骤3. 在右侧窗格，右键单击并选择**“新建”，然后单击第三个“DWORD (32位)值”**，并命名为 “fDenyTSConnections”。
步骤4. 双击打开 “fDenyTSConnections”，将**“数值数据”更改为“0”，然后单击“确定”**。
说明： “0”表示“允许用户通过终端服务/远程桌面远程连接”；“1”表示“禁止使用终端服务/远程桌面进行远程连接”。</description></item><item><title>Hyper-v创建虚拟交换机失败与网络共享重启失效解决办法</title><link>https://blog.lufei.de/p/170/</link><pubDate>Tue, 20 Feb 2024 21:41:42 +0000</pubDate><guid>https://blog.lufei.de/p/170/</guid><description>物理网卡属性里去掉勾选 Hyper-v Extensible Virtual Switch 或者叫 Hyper-v 可扩展的虚拟交换机
创建虚拟交换机失败解决办法 创建之前先关闭Hyper-v Extensible Virtual Switch
其他方法:
步骤 操作 1 在“启用或关闭Windows功能”中卸载Hyper-V 2 重启计算机 3 以管理员方式在“运行”中运行命令netsh winsock reset 4 重启计算机 5 重启后查看“网络适配器”中是否有其他非物理网卡，若有则删除 6 确认物理网卡属性中没有勾选或存在“Hyper-v Extensible Virtual Switch” 7 在“启用或关闭Windows功能”中重新启用Hyper-V 8 重启计算机 9 确认要绑定“虚拟交换机”的物理网卡属性中没有勾选“Hyper-v Extensible Virtual Switch” 请注意，这些步骤仅供参考，具体操作可能因系统版本和配置而有所不同。在执行任何更改之前，请确保备份重要数据并谨慎操作。
网络共享重启失效解决办法 一键脚本: (方法1)推荐 @echo off REM 设置输出编码为UTF-8 chcp 65001 &amp;gt; nul REM 导入注册表键值 reg add &amp;#34;HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\SharedAccess&amp;#34; /v &amp;#34;EnableRebootPersistConnection&amp;#34; /t REG_DWORD /d 1 /f echo 注册表键值已创建并设置为1。 REM 设置输出编码为UTF-8 chcp 65001 &amp;gt; nul REM 使用 sc 命令更改服务启动类型为自动 sc config SharedAccess start= auto echo 服务 &amp;#34;Internet Connection Sharing (ICS)&amp;#34; 的启动类型已更改为自动。 pause 将上述代码保存为扩展名为.</description></item><item><title>AdGuard Home - DNS缓存加速</title><link>https://blog.lufei.de/p/169/</link><pubDate>Tue, 20 Feb 2024 15:51:38 +0000</pubDate><guid>https://blog.lufei.de/p/169/</guid><description>AdGuard Home设置 AdGuard Home作为DNS分流,拦截广告效果并不如浏览器插件,但是作为DNS服务器使用是非常优秀的, 拦截广告的方法很多,不是一定要用他,不要本末倒置
重要设置: 前面两个DNS使用你运营商的,解析才会快,查询地址:
https://www.xdtool.com/dnsdx
你是电信就查电信,其他类似
后面三个使用: 百度,阿里,腾讯,就行了,不是越多越好.
180.76.76.76 223.5.5.5 119.29.29.29 选择: 并行请求
Bootstrap DNS 服务器也使用运营商的
其他默认就好,日志选择7天就行
DNS黑名单 两个足以,添加方法:
点击添加黑名单&amp;ndash;从列表中选择</description></item><item><title>winserver2022安装hyper-v</title><link>https://blog.lufei.de/p/168/</link><pubDate>Mon, 19 Feb 2024 20:11:12 +0000</pubDate><guid>https://blog.lufei.de/p/168/</guid><description>在已经安装好的winserver2022上打好驱动，这个如果缺的话，可以在网上寻找就好了
有个重要的核显驱动在因特尔官网
英特尔® 显卡 – Windows* DCH 驱动程序 (intel.cn)
激活命令 打开PowerShell(管理员),输入以下代码:
irm https://massgrave.dev/get | iex 或者使用激活脚本:
https://www.123pan.com/s/cjqrVv-6rL9d.html
开启hyper-v 一键开启:
打开PowerShell(管理员),输入以下代码:
Install-WindowsFeature -Name Hyper-V -IncludeManagementTools -Restart 手动开启:
启用windows功能
开启hyper-v
SMB
剩下暂时都不管，后期还可以改
安装相关内容后重启
修改用户名组策略 修改计算机名 修改组策略 gpedit.msc 修改如下
重命名管理员，然后重启
下载DDA https://www.123pan.com/s/cjqrVv-yrL9d.html
chanket/DDA: 实现Hyper-V离散设备分配功能的图形界面工具。A GUI Tool For Hyper-V&amp;rsquo;s Discrete Device Assignment(DDA). (github.com)
下载starwind v2v converter 可以将img直接转化为虚拟磁盘启动
https://www.starwindsoftware.com/tmplink/starwindconverter.exe
https://www.123pan.com/s/cjqrVv-jrL9d.html
创建交换机 我要做一个主路由模式的网络结构
打开hyperv管理
当前没连接网线的是WAN口，之后要在这个口进行PPPoE拨号
在设置里面找到当前连接的网口
现在连网线的是LAN口，之后要连接硬路由的口，这里同样选外部
下载openwrt并转化 Releases · klever1988/nanopi-openwrt · GitHub
选择X86版本
新建虚拟机 打开hyperv管理器</description></item><item><title>一条命令在 Windows 10 上安装 Hyper-V虚拟机</title><link>https://blog.lufei.de/p/167/</link><pubDate>Sun, 18 Feb 2024 15:03:44 +0000</pubDate><guid>https://blog.lufei.de/p/167/</guid><description>使用 PowerShell 启用 Hyper-V 以管理员身份打开 PowerShell 控制台。
运行以下命令：
PowerShell复制
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All 如果无法找到此命令，请确保你以管理员身份运行 PowerShell。
安装完成后，请重启。</description></item><item><title>Office 365正版免费激活！2024最新激活方法！</title><link>https://blog.lufei.de/p/166/</link><pubDate>Sun, 18 Feb 2024 11:56:41 +0000</pubDate><guid>https://blog.lufei.de/p/166/</guid><description>工具地址:
https://otp.landian.vip/zh-cn/download.html
提示: 右键图片-在新标签页打开图片即可放大观看
1.部署
第3步, 选择: Microsoft 365企业应用版
2.激活
选择 Office Mondo 2016 - 批量许可证
kms主机写入:
kms.loli.beer</description></item><item><title>中兴F4600T光猫超级密码获取方法</title><link>https://blog.lufei.de/p/165/</link><pubDate>Sun, 18 Feb 2024 06:45:31 +0000</pubDate><guid>https://blog.lufei.de/p/165/</guid><description>中兴F4600T光猫超级密码获取方法（IOS） 1.工具和软件准备：iPhone或者iPad、Stream抓包软件，小翼管家。如下图：
软件准备
2.登录小翼管家，查看光猫是否绑定。
小翼管家主页面
3.点击《家庭网络》，就可以看到光猫的控制界面了。
光猫管理界面
4.点击《网关管理》，可以看到指示灯、休眠模式等这个界面。这个页面不要关闭，打开Stream软件。
5.打开Stream软件后，点击《设置抓包模式》&amp;mdash;《白名单模式》&amp;mdash;《白名单设置》&amp;mdash;《189cube.com》&amp;ndash;《立即生效》，请看图。
设置抓包模式
白名单设置
添加189cube.com
6.回到Stream抓包主页面，点击开始抓包。
开始抓包
7.返回到小翼管家APP，点击《指示灯》，反复开关几次。
反复开关几次指示灯
8.返回Stream抓包界面，点击《停止抓包》&amp;mdash;《抓包历史》。
停止抓包&amp;mdash;查看抓包历史
9.可以看到有个19秒的抓包，点击打开，有两个请求，随意点开一个。
抓包历史，随意点开一个
点开后的界面
10.点击右上角的《分享》&amp;mdash;《编辑重放请求》&amp;mdash;《下滑到最下端》&amp;mdash;《请求体&amp;mdash;JASON》&amp;ndash;《原始数据》&amp;mdash;删除所有的字段，替换为：
{ &amp;#34;Params&amp;#34;: [], &amp;#34;MethodName&amp;#34;: &amp;#34;GetTAPasswd&amp;#34;, &amp;#34;RPCMethod&amp;#34;: &amp;#34;CallMethod&amp;#34;, &amp;#34;ObjectPath&amp;#34;: &amp;#34;/com/ctc/igd1/Telecom/System&amp;#34;, &amp;#34;InterfaceName&amp;#34;: &amp;#34;com.ctc.igd1.SysCmd&amp;#34;, &amp;#34;ServiceName&amp;#34;: &amp;#34;com.ctc.igd1&amp;#34; } 查看JSON请求体
点击原始数据
替换为本教程里的代码
11.替换完以后，点击《存储》—右上角的类似《播放》按钮&amp;mdash;《响应体&amp;mdash;点击Respond Body》即可看到一个telecomadmin+8位数字，它就是超级密码。
点击右上角的播放按钮
点开响应体，即可看到超级密码
超级密码界面
12.登录光猫的管理地址：192.168.1.1，账户: telecomadmin，超级密码：telecomadmin+8位数字，即可进行后续的高端操作了。</description></item><item><title>超简单！一键永久激活Windows/Office</title><link>https://blog.lufei.de/p/164/</link><pubDate>Sat, 17 Feb 2024 07:43:04 +0000</pubDate><guid>https://blog.lufei.de/p/164/</guid><description>使用管理员权限打开PowerShell,输入命令:
irm https://massgrave.dev/get | iex 中文版下载地址:
https://www.123pan.com/s/cjqrVv-6rL9d.html
打开地址,右上角点击下载按钮
https://github.com/woniu336/open_shell/blob/main/MAS中文版.cmd MAS脚本官网：https://massgrave.dev/
MAS脚本Github：https://github.com/massgravel/Microsoft-Activation-Scripts
HEU KMS Activator：https://github.com/zbezj/HEU_KMS_Activator/releases</description></item><item><title>ubuntu 桌面版20.04 开启SSH服务</title><link>https://blog.lufei.de/p/163/</link><pubDate>Fri, 16 Feb 2024 20:29:36 +0000</pubDate><guid>https://blog.lufei.de/p/163/</guid><description> 注意: 用户名不是root,是你的登录名
更新软件下载源
sudo apt update 安装ssh服务
sudo apt install openssh-server 开启防火墙ssh的服务端口
sudo ufw allow ssh 附：还可以查看或更改ssh服务的状态
查看ssh服务状态
systemctl status ssh 关闭ssh服务
systemctl stop ssh 开启ssh服务
systemctl start ssh 重启ssh服务
systemctl restart ssh 设置开启自启
sudo systemctl enable ssh 关闭开机自启
sudo systemctl disable ssh</description></item><item><title>家用电脑搭建网站 - Xubuntu安装、宝塔面板和Cloudflare Tunnels</title><link>https://blog.lufei.de/p/162/</link><pubDate>Fri, 16 Feb 2024 19:11:37 +0000</pubDate><guid>https://blog.lufei.de/p/162/</guid><description>本文介绍了在家用电脑上搭建网站的简单步骤： 安装Xubuntu操作系统。 下载并安装宝塔面板，用于网站管理。 使用Cloudflare Tunnels实现内网穿透，以便从外部访问您的网站。 前提: 你有域名在Cloudflare
这些步骤可以帮助个人和小型企业轻松创建和托管自己的在线网站。
1.安装Xubuntu操作系统 下载地址: xubuntu-20.04.6-desktop-amd64.iso
xubuntu-20.04.6-desktop-amd64.iso
安装的方法很多,我这里使用的方法是:
在windows10 ltsc上面安装VMware-workstation虚拟机的方式安装
https://www.123pan.com/s/cjqrVv-ZCL9d.html
使用vm虚拟机的时候注意版本选择ubuntu
2. 换源 方法1: Xubuntu安装成功后,进入桌面,右键-应用程序-设置-软件和更新
勾选-选择中国服务器-其他
打开终端切换root权限,输入密码
sudo -i 然后:
apt-get update 接着:
apt-get upgrade 方法2: 一键换源脚本:
bash &amp;lt;(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh) 方法3:(不推荐) 手动换源:
cp /etc/apt/sources.list old_sources.list sudo vi /etc/apt/sources.list 提示: 输入%d清除文本内容,然后复制以下代码:
deb https://mirrors.ustc.edu.cn/ubuntu/ focal main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-updates main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-backports main restricted universe multiverse deb https://mirrors.ustc.edu.cn/ubuntu/ focal-security main restricted universe multiverse 按esc,然后:wq 保存退出</description></item><item><title>宝塔面板Nginx编译pagespeed实现webp化</title><link>https://blog.lufei.de/p/161/</link><pubDate>Mon, 12 Feb 2024 15:20:04 +0000</pubDate><guid>https://blog.lufei.de/p/161/</guid><description>网站优化之宝塔面板Nginx编译pagespeed实现webp化，目的为通过重写网页来减少延迟和带宽，从而帮助提高Web速度。Ngx_pagespeed是一个开源的Nginx模块，由Google创建，主要的功能是针对前端页面而进行服务器端的优化，对前端设计人员来说，可以省去优化css、js以及图片的过程。
单核处理器不推荐使用此模块，推荐Nginx fastcgi_cache
Nginx fastcgi_cache：https://blog.leshans.eu.org/p/159/
Ngx_pagespeed功能简介 图像优化：剥离元数据、动态调整，重新压缩 CSS和JavaScript压缩、合并、级联、内联 推迟图像和JavaScript加载 对HTML重写、压缩空格、去除注释等 提升缓存周期 缺点：可能因为服务器端的优化而使系统增加负载，但从减少客户请求数的角度去看，牺牲部分服务器性能还是值得的。
pagespeed官网文档：https://www.modpagespeed.com/doc/configuration
项目：https://github.com/apache/incubator-pagespeed-ngx/
1.宝塔面板编译Ngx_pagespeed 1）首先卸载原有Nginx，然后点击“编译安装”，点击添加自定义模块 2）添加自定义模块具体填写，具体看图： 模块名称：pagespeed 模块描述：pagespeed 模块参数: --add-module=/www/server/ngx_pagespeed 前置脚本：#具体ngx_pagespeed前置脚本代码如下：
cd /www/server wget https://github.com/apache/incubator-pagespeed-ngx/archive/v1.13.35.2-stable.zip unzip v1.13.35.2-stable.zip rm v1.13.35.2-stable.zip NPS_DIR=$(find . -name &amp;#34;*pagespeed-ngx-1.13.35.2-stable&amp;#34; -type d) mv $NPS_DIR ngx_pagespeed cd ngx_pagespeed NPS_RELEASE_NUMBER=${1.13.35.2-stable/stable/} PSPL_URL=https://dl.google.com/dl/page-speed/psol/${NPS_RELEASE_NUMBER}x64.tar.gz [ -e scripts/format_binary_url.sh ] PSPL_URL=$(scripts/format_binary_url.sh PSOL_BINARY_URL) wget ${PSPL_URL} tar -xzvf $(basename ${PSPL_URL}) rm $(basename ${PSPL_URL}) 3）全部放置好后，勾选，提交 4）安装好的效果如图： 编译安装速度有点慢，需要等待，安装好可以在ssh执行命令：nginx -V
看到红框的位置有pagespeed，说明已经顺利编译安装好了~
2.网站Nginx_pagespeed优化配置 1）Nginx配置 安装好之后，打开Nginx配置，加入以下代码（注意位置）
下方中缓存文件位置请提前创建好：/tmp/ngx_pagespeed_cache（这里也可以放到内存里面，如果你的磁盘IO很慢的话建议采用此方式，毕竟内存的读写速度非常快）
代码如下：
# 启用ngx_pagespeed 开始 pagespeed on; #路径请提前创建好，可以放在内存也可以放在临时文件夹中 pagespeed CreateSharedMemoryMetadataCache /tmp/ngx_pagespeed_cache 51200; pagespeed DefaultSharedMemoryCacheKB 51200; pagespeed FileCachePath /tmp/ngx_pagespeed_cache; pagespeed FileCacheSizeKb 2048000; pagespeed FileCacheCleanIntervalMs 43200000; pagespeed FileCacheInodeLimit 500000; # 过滤器级别（自定义模式） pagespeed RewriteLevel PassThrough; # 一个标识而已（若在浏览器开发者响应标头看到此标识，则说明 PageSpeed 生效） pagespeed XHeaderValue &amp;#34;Powered By xcbtmw.</description></item><item><title>国内访问GitHub方法-修改hosts</title><link>https://blog.lufei.de/p/160/</link><pubDate>Mon, 12 Feb 2024 07:21:38 +0000</pubDate><guid>https://blog.lufei.de/p/160/</guid><description> 项目地址: https://github.com/521xueweihan/GitHub520 (推荐)
复制下面的内容 20.205.243.166 github.com 185.199.108.133 raw.githubusercontent.com 185.199.109.133 raw.githubusercontent.com 185.199.110.133 raw.githubusercontent.com 185.199.111.133 raw.githubusercontent.com 修改 hosts 文件 Windows 系统：C:\Windows\System32\drivers\etc\hosts
修改方法，把第一步的内容复制到文本末尾：
激活生效,刷新 DNS： Windows：在 CMD 窗口输入：ipconfig /flushdns
以下是一个自动化的批处理脚本，保存为bat文件它会执行你描述的操作：
@echo off set hosts_path=C:\Windows\System32\drivers\etc\hosts echo 复制内容到hosts文件... echo 20.205.243.166 github.com&amp;gt;&amp;gt;&amp;#34;%hosts_path%&amp;#34; echo 185.199.108.133 raw.githubusercontent.com&amp;gt;&amp;gt;&amp;#34;%hosts_path%&amp;#34; echo 185.199.109.133 raw.githubusercontent.com&amp;gt;&amp;gt;&amp;#34;%hosts_path%&amp;#34; echo 185.199.110.133 raw.githubusercontent.com&amp;gt;&amp;gt;&amp;#34;%hosts_path%&amp;#34; echo 185.199.111.133 raw.githubusercontent.com&amp;gt;&amp;gt;&amp;#34;%hosts_path%&amp;#34; echo 修改hosts文件完成。 echo 刷新 DNS... ipconfig /flushdns echo 所有操作已完成。 pause</description></item><item><title>宝塔面板开启Nginx缓存为网站提速</title><link>https://blog.lufei.de/p/159/</link><pubDate>Fri, 09 Feb 2024 23:35:39 +0000</pubDate><guid>https://blog.lufei.de/p/159/</guid><description>fastcgi_cache介绍 Nginx默认自带的fastcgi_cache模块能把动态页面缓存起来，提高网站速度和降低服务器负载。
当有用户请求相同的页面时，Nginx可以直接返回缓存的页面，而不需要再次访问后端服务器。
这个模块可以通过简单的配置实现,还支持缓存伪静态！效果比起传统的php缓存好得太多了.
Nginx配置 来到宝塔面板后台，找到Nginx，在配置修改中添加以下内容：
fastcgi_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:20m max_size=512m inactive=8h; fastcgi_cache_key &amp;#34;$scheme$request_method$host$request_uri$arg_id&amp;#34;; fastcgi_cache_use_stale error timeout updating http_500; 这段配置用于 Nginx 的缓存设置：
/var/cache/nginx：缓存文件存储目录。 levels=1:2：两层目录结构。 keys_zone=my_cache:20m：创建 20MB 内存区域 my_cache 存储缓存键和元数据。 max_size=512m：最大缓存大小为 512MB，达到后会删除旧缓存。 inactive=8h：8小时后认为缓存条目不活跃，可能被清除。 赋予权限：
sudo chown -R www-data:www-data /var/cache/nginx sudo chmod -R 755 /var/cache/nginx 站点配置 在宝塔后台的网站列表中，找到你的网站，点击配置文件，将以下代码添加到配置文件中去：
#启用fastcgi_cache 开始 location ~ \.php$ { try_files $uri =404; fastcgi_pass unix:/tmp/php-cgi-74.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; fastcgi_buffers 16 16k; fastcgi_busy_buffers_size 64k; fastcgi_buffer_size 32k; fastcgi_keep_conn on; #新增的缓存规则 add_header X-Cache &amp;#34;$upstream_cache_status From $host&amp;#34;; fastcgi_cache my_cache; add_header Nginx-Cache &amp;#34;$upstream_cache_status&amp;#34;; add_header X-Frame-Options SAMEORIGIN; # 只允许本站用 frame 来嵌套 add_header X-Content-Type-Options nosniff; # 禁止嗅探文件类型 add_header X-XSS-Protection &amp;#34;1; mode=block&amp;#34;; # XSS 保护 etag on; fastcgi_cache_valid 200 301 302 6h; } #启用fastcgi_cache 结束 注意: 假如你用的是php7.</description></item><item><title>debian11更换为cloud内核</title><link>https://blog.lufei.de/p/158/</link><pubDate>Fri, 09 Feb 2024 05:30:16 +0000</pubDate><guid>https://blog.lufei.de/p/158/</guid><description>前言： Cloud内核相比于普通内核，去掉一些不必要的功能依赖与参数：如声卡打印机等功能，并专门为云计算进行优化，减少了内核的体积与占用。
教程：(以amd64架构、debian系统为例） 更新package apt update &amp;amp;&amp;amp; apt dist-upgrade 确认当前的内核 dpkg -l|grep linux-image 若显示“linux-image-******-amd64”则为普通内核
若显示” linux-image-******-cloud-amd64”则为为云优化的内核
&amp;ldquo;ii&amp;rdquo; 意味着软件包已经被安装。 &amp;ldquo;ic&amp;rdquo; 意味着软件包被安装，但是由于配置问题，没有安装成功。 可以删除ic软件包
一键安装：
echo &amp;#34;deb http://deb.debian.org/debian buster-backports main&amp;#34; &amp;gt; /etc/apt/sources.list.d/buster-backports.list apt update apt -t buster-backports install linux-image-cloud-amd64 -y 手动安装
查找可用内核
apt-cache search linux-image | grep cloud 安装Cloud内核
apt install linux-image-*****-cloud-amd64
apt install linux-headers-*****-cloud-amd64
apt install linux-image-cloud-amd64
删除老内核：
dpkg --get-selections | grep linux apt autoremove --purge linux-image-5.10.0-20-amd64 linux-image-5.10.0-26-amd64 -y apt autoremove apt autoclean 这里的linux-image-5.</description></item><item><title>BestTrace：一款非常好用的VPS回程路由测试脚本</title><link>https://blog.lufei.de/p/157/</link><pubDate>Thu, 08 Feb 2024 17:21:29 +0000</pubDate><guid>https://blog.lufei.de/p/157/</guid><description>一、BestTrace使用方法 连上VPS服务器后直接使用脚本：
wget -qO- git.io/autobesttrace | bash 脚本自动测试VPS到中国电信、移动、联通和教育网四网的回程路由。
磁盘真实性能读写测试 一般数据在 大于20MB/s 为合格，大于40MB/s 为普通，大于80MB/s 为优秀。
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync</description></item><item><title>定时任务目录</title><link>https://blog.lufei.de/p/156/</link><pubDate>Thu, 08 Feb 2024 14:33:27 +0000</pubDate><guid>https://blog.lufei.de/p/156/</guid><description>定时任务目录
/var/spool/cron/crontabs/ 在Ubuntu中，你可以使用cron来设置定时任务。定时任务的配置文件通常位于/etc/crontab，而用户特定的定时任务可以通过使用crontab命令进行管理。用户的个人crontab文件通常位于/var/spool/cron/crontabs/目录下，文件名是相应的用户名。例如，如果用户名是root，那么相应的crontab文件路径可能是 /var/spool/cron/crontabs/root
crontab -e 这将打开一个文本编辑器，允许你编辑用户的crontab条目。</description></item><item><title>Linux buffer/cache 内存占用过高的原因以及解决办法</title><link>https://blog.lufei.de/p/155/</link><pubDate>Thu, 08 Feb 2024 09:39:21 +0000</pubDate><guid>https://blog.lufei.de/p/155/</guid><description>我们可以使用下面这个文件来人工触发缓存清除的操作，Linux 提供了三种清空方式：
echo 1 &amp;gt; /proc/sys/vm/drop_caches # 仅清除页面缓存 echo 2 &amp;gt; /proc/sys/vm/drop_caches # 清除目录项和inode echo 3 &amp;gt; /proc/sys/vm/drop_caches # 清除页面缓存、目录项以及inode sync echo 1 &amp;gt; /proc/sys/vm/drop_caches echo 2 &amp;gt; /proc/sys/vm/drop_caches echo 3 &amp;gt; /proc/sys/vm/drop_caches 但是这种放时只能在执行的当时起作用，过一段时间之后又会发现内存被占满，怎么办呢？
一键脚本调整：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/adjust.sh &amp;amp;&amp;amp; chmod +x adjust.sh &amp;amp;&amp;amp; ./adjust.sh 查看当前 vm.vfs_cache_pressure 的值：
sysctl vm.vfs_cache_pressure 重新加载 sysctl 配置文件以使更改生效
sudo sysctl -p 在Linux 2.6之后Linux将他们统一合并到了Page cache作为文件层的缓存。而buffer则被用作block层的缓存。
block层的缓存是什么意思呢，你可以认为一个buffer是一个physical disk block在内存的代表，用来将内存中的pages映射为disk blocks，这部分被使用的内存被叫做buffer。
buffer里面的pages，指的是Page cache中的pages，所以，buffer也可以被认为Page cache的一部分。
或者简单来说，buffer负责裸设备相关的缓存，cache负责文件系统的缓存。
Buffer 的具体职责 在当前的系统实现里，buffer主要是设计用来在系统对块设备进行读写时作为缓存来使用。这意味着对块的操作会使用buffer进行缓存，比如我们在格式化文件系统的时候。</description></item><item><title>网站被镜像如何解决？</title><link>https://blog.lufei.de/p/154/</link><pubDate>Wed, 07 Feb 2024 17:58:01 +0000</pubDate><guid>https://blog.lufei.de/p/154/</guid><description>网站被镜像如何解决？
在应对镜像网站问题时，有一种非常有效的策略，可以帮助您恢复控制。直接在网页头部添加以下代码：(替换为你的域名)
&amp;lt;script type=&amp;#34;text/javascript&amp;#34;&amp;gt; rthost = window.location.host; if (rthost != &amp;#34;www.yourwebsite.com&amp;#34;) { top.location.href = &amp;#34;https://www.yourwebsite.com&amp;#34;; } &amp;lt;/script&amp;gt; 如果您的脚本被屏蔽，您可以考虑添加以下备用代码：
&amp;lt;script&amp;gt; proxy2021 = false; &amp;lt;/script&amp;gt; &amp;lt;img src=&amp;#34;&amp;#34; onerror=&amp;#39;setTimeout(function(){ if (typeof(proxy2021) == &amp;#34;undefined&amp;#34;){ window.location.host = &amp;#34;www.yourwebsite.com&amp;#34;; } }, 500);&amp;#39;&amp;gt; 这两段代码将使镜像网站自动重定向到您的正版网站，从而有效打击镜像网站的不当行为。
这亲测有效的方法可以帮助您更好地保护您的网站和内容免受镜像网站的侵害。</description></item><item><title>反爬虫蜘蛛攻略：Apache/Nginx/PHP禁止某些User Agent抓取网站</title><link>https://blog.lufei.de/p/153/</link><pubDate>Wed, 07 Feb 2024 17:09:38 +0000</pubDate><guid>https://blog.lufei.de/p/153/</guid><description>昨晚打开宝塔面板后台查看，上行与下行几乎到了7000KB的速度，不到半小时，就10G流量了，开始以为是被黑了？重载系统，恢复数据后还是一样。
下载一个网站监控报表插件一看，好家伙，是谷歌蜘蛛和一些不明ip在搞我其中一个网站！！！最狠的就是谷歌蜘蛛了，疯狂在爬！
方法一：cloudflare cdn 防火墙阻止 表达式：
(http.user_agent contains &amp;ldquo;Googlebot&amp;rdquo;) or (http.user_agent contains &amp;ldquo;SemrushBot&amp;rdquo;) or (http.user_agent contains &amp;ldquo;AhrefsBot&amp;rdquo;) or (http.user_agent contains &amp;ldquo;DotBot&amp;rdquo;)
方法二：禁止指定UA（用户代理） 宝塔面板下使用方法如下：
1、找到文件目录 /www/server/nginx/conf 文件夹下面，新建一个文件agent_deny.conf
代码如下：
#禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA及UA为空的访问 if ($http_user_agent ~* &amp;#34;FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|DotBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|oBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot|^$&amp;#34; ) { return 403; } #禁止非GET|HEAD|POST方式的抓取 if ($request_method !~ ^(GET|HEAD|POST)$) { return 403; } 2、找到网站设置里面的第7行左右 写入代码：include agent_deny.conf;
如果你网站使用火车头采集发布，使用以上代码会返回403错误，发布不了的。如果想使用火车头采集发布，请使用下面的代码：
#禁止Scrapy等工具的抓取 if ($http_user_agent ~* (Scrapy|Curl|HttpClient)) { return 403; } #禁止指定UA访问。UA为空的可以访问，比如火车头可以正常发布。 if ($http_user_agent ~ &amp;#34;FeedDemon|Indy Library|Alexa Toolbar|AskTbFXTV|AhrefsBot|CrawlDaddy|CoolpadWebkit|Java|Feedly|UniversalFeedParser|ApacheBench|Microsoft URL Control|Swiftbot|ZmEu|YandexBot|jaunty|Python-urllib|lightDeckReports Bot|YYSpider|DigExt|HttpClient|MJ12bot|heritrix|Bytespider|Ezooms|Googlebot|JikeSpider|SemrushBot&amp;#34; ) { return 403; } #禁止非GET|HEAD|POST方式的抓取 if ($request_method !</description></item><item><title>宝塔面板7.7.0一键安装-优化-美化</title><link>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF7.7.0%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85-%E4%BC%98%E5%8C%96-%E7%BE%8E%E5%8C%96/</link><pubDate>Sun, 04 Feb 2024 11:20:24 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF7.7.0%E4%B8%80%E9%94%AE%E5%AE%89%E8%A3%85-%E4%BC%98%E5%8C%96-%E7%BE%8E%E5%8C%96/</guid><description>仅适用于ubuntu与 debian
安装依赖：
apt update -y apt install -y curl 一键脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/baota.sh &amp;amp;&amp;amp; chmod +x baota.sh &amp;amp;&amp;amp; ./baota.sh 完整代码：
#!/bin/bash # 安装宝塔面板 7.7 echo &amp;#34;安装宝塔面板 7.7&amp;#34; curl -sSO https://raw.githubusercontent.com/woniu336/btpanel-v7.7.0/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh # 一键破解 echo &amp;#34;一键破解&amp;#34; curl -sSO https://raw.githubusercontent.com/woniu336/open_shell/main/one_key_happy.sh &amp;amp;&amp;amp; bash one_key_happy.sh # 美化主题 echo &amp;#34;美化主题&amp;#34; wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_770.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart # 去除网站默认文件 echo &amp;#34;去除网站默认文件&amp;#34; sudo sed -i &amp;#34;\|htaccess = self.</description></item><item><title>宝塔面板-美化主题</title><link>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF-%E7%BE%8E%E5%8C%96%E4%B8%BB%E9%A2%98/</link><pubDate>Sun, 04 Feb 2024 11:13:31 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF-%E7%BE%8E%E5%8C%96%E4%B8%BB%E9%A2%98/</guid><description>宝塔面板都是自己看的，一般不太需要使用模板。 但时间久了，就想换换风格，找了好多基本都是改背景图片那种。 也找到几个满意的无奈只支持旧版本，要么就是收费的。 考虑到服务器安全，方便审计代码，只修改了css、js文件，打包时只打包了改过的文件。 技术精力有限，有些细节问题未处理，后续慢慢更新吧。 目前linux、windows、aapanel的常用版本全都制作了，以方便用户使用。
最后还需要手动清理浏览器缓存
宝塔linux面板7.9.10主题
wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_7910.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart 宝塔linux面板7.9.9主题
wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_799.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart 宝塔linux面板7.9.8主题
wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_798.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart 宝塔linux面板7.7.0主题
wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_770.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart 宝塔linux面板7.6.0主题
wget -O btpanel_theme.zip https://raw.githubusercontent.com/woniu336/open_shell/main/bt/BTPanel_theme_linux_760.zip &amp;amp;&amp;amp; unzip -o btpanel_theme.</description></item><item><title>宝塔Linux面板优化教程</title><link>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94linux%E9%9D%A2%E6%9D%BF%E4%BC%98%E5%8C%96%E6%95%99%E7%A8%8B/</link><pubDate>Sun, 04 Feb 2024 10:19:39 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94linux%E9%9D%A2%E6%9D%BF%E4%BC%98%E5%8C%96%E6%95%99%E7%A8%8B/</guid><description>教程说明 本教程可以对宝塔部分文件功能进行优化处理，如果出错可以使用修复更新面板的命令恢复文件。
去除网站默认文件 sudo sed -i &amp;#34;\|htaccess = self.sitePath+&amp;#39;/\.htaccess&amp;#39;|, \|public.ExecShell(&amp;#39;chown -R www:www &amp;#39; + htaccess)|d&amp;#34; /www/server/panel/class/panelSite.py sudo sed -i &amp;#34;\|index = self.sitePath+&amp;#39;/index.html&amp;#39;|, \|public.ExecShell(&amp;#39;chown -R www:www &amp;#39; + index)|d&amp;#34; /www/server/panel/class/panelSite.py sudo sed -i &amp;#34;\|doc404 = self.sitePath+&amp;#39;/404.html&amp;#39;|, \|public.ExecShell(&amp;#39;chown -R www:www &amp;#39; + doc404)|d&amp;#34; /www/server/panel/class/panelSite.py 关闭未绑定域名提示 sed -i &amp;#34;s/root \/www\/server\/nginx\/html/return 400/&amp;#34; /www/server/panel/class/panelSite.py sed -i &amp;#34;s/root \/www\/server\/nginx\/html/return 400/&amp;#34; /www/server/panel/vhost/nginx/0.default.conf 关闭安全入口提示 sed -i &amp;#34;s/return render_template(&amp;#39;autherr.html&amp;#39;)/return abort(404)/&amp;#34; /www/server/panel/BTPanel/__init__.py 去除消息推送 #目前还不清楚具体功能猜测广告，删掉也不影响。 sed -i &amp;#34;/p = threading.Thread(target=check_panel_msg)/, /p.start()/d&amp;#34; /www/server/panel/task.</description></item><item><title>简单一招提升nginx服务器性能</title><link>https://blog.lufei.de/p/148/</link><pubDate>Thu, 01 Feb 2024 16:43:37 +0000</pubDate><guid>https://blog.lufei.de/p/148/</guid><description> 当你服务器安装了nginx（推荐1.20版本以上）默认开启了gzip动态压缩，但没有开启静态压缩
一句话总结就是如何开启静态压缩！！！
为什么要开启静态压缩？ 先看一下gzip配置图：
默认是没有 gzip_static on; gzip_static on; 就是开启静态压缩的意思，
压缩模式 一般来说， Nginx的 gzip分为两种模式：
动态压缩 静态压缩 动态压缩 动态压缩是指 Nginx服务器在发送前端产物时，消耗自身的资源进行实时压缩，这样即便产物中不存在 .gz结尾的文件，浏览器端也能拿到 gzip格式的前端产物。
静态压缩 静态压缩会直接将产物中预先压缩过的 .gz文件发送给浏览器，而不再实时压缩文件，如果找不到 .gz文件，将会使用对应的原始文件。
一句话总结就是：动态压缩消耗服务器资源，而静态压缩提前将压缩文件发送给浏览器
教程开始 一：有个前提条件，要保证 Nginx存在 ngx_http_gzip_static_module模块，这个模块默认是开启的。
可以使用下面指令查看是否已经激活该模块：
nginx -V 2&amp;gt;&amp;amp;1| grep -o http_gzip_static_module 输出结果：
http_gzip_static_module 说明已经开启。
二：然后打开你的网站目录，找到需要压缩的js和css文件，开启静态压缩，需要提前将文件压缩好，这里我提供一键压缩命令：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/gzip.sh &amp;amp;&amp;amp; chmod +x gzip.sh &amp;amp;&amp;amp; ./gzip.sh 输入你要压缩的目录，然后在nginx配置文件里的 gzip on; 下面一行添加
gzip_static on; 重载和重启nginx生效，
检查是否生效 Etag是没有w/符号的就是静态压缩
动态压缩：有w/符号</description></item><item><title>网站建设优化</title><link>https://blog.lufei.de/p/tool/</link><pubDate>Tue, 30 Jan 2024 14:51:33 +0000</pubDate><guid>https://blog.lufei.de/p/tool/</guid><description>1.MySQL 5.7内存优化: performance_schema_max_table_instances=400 table_definition_cache=400 performance_schema=off innodb_buffer_pool_chunk_size=64M innodb_buffer_pool_size=64M 2.bbr: echo &amp;#34;net.core.default_qdisc=fq&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf echo &amp;#34;net.ipv4.tcp_congestion_control=bbr&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf sysctl -p lsmod | grep bbr 3.swap的调整： 临时调整vm.swappiness参数为5
sudo sysctl vm.swappiness=5 永久调整 vm.swappiness参数为1（优先使用物理内存，迫不得已使用swap）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/vm.sh &amp;amp;&amp;amp; chmod +x vm.sh &amp;amp;&amp;amp; ./vm.sh 禁用：
sudo swapoff -a 4.一键DD： 推荐萌咖脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/vpsnew.sh &amp;amp;&amp;amp; chmod +x vpsnew.sh &amp;amp;&amp;amp; ./vpsnew.sh 5.推荐脚本 先安装依赖：
apt update -y apt install -y curl 自用：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/tool.sh &amp;amp;&amp;amp; chmod +x tool.</description></item><item><title>建站环境的选择和调优-网站篇</title><link>https://blog.lufei.de/p/%E5%BB%BA%E7%AB%99%E7%8E%AF%E5%A2%83%E7%9A%84%E9%80%89%E6%8B%A9%E5%92%8C%E8%B0%83%E4%BC%98-%E7%BD%91%E7%AB%99%E7%AF%87/</link><pubDate>Tue, 30 Jan 2024 14:11:02 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%BB%BA%E7%AB%99%E7%8E%AF%E5%A2%83%E7%9A%84%E9%80%89%E6%8B%A9%E5%92%8C%E8%B0%83%E4%BC%98-%E7%BD%91%E7%AB%99%E7%AF%87/</guid><description>建站选择ubuntu20.04，不推荐debian，因为在生产环境中会涉及方方面面，ubuntu在复杂环境中是具备完善体制的，debian通常是高手使用，因为出问题了，他们知道怎么解决，普通用户推荐ubuntu，说人话就是，ubuntu不容易出错！
建站面板推荐宝塔，nginx1.20.2、mysql5.7、php7.4的最佳组合，nginx1.20之后的版本对ssl有优化，根据自己的情况
系统重装：推荐萌咖脚本
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/vpsnew.sh &amp;amp;&amp;amp; chmod +x vpsnew.sh &amp;amp;&amp;amp; ./vpsnew.sh mysql5.7内存大小优化：
performance_schema_max_table_instances=400 table_definition_cache=400 performance_schema=off innodb_buffer_pool_chunk_size=64M innodb_buffer_pool_size=64M bbr:
echo &amp;#34;net.core.default_qdisc=fq&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf echo &amp;#34;net.ipv4.tcp_congestion_control=bbr&amp;#34; &amp;gt;&amp;gt; /etc/sysctl.conf sysctl -p lsmod | grep bbr swap的调整：内存大的话请关闭，swap和内存不是一个级别的，如果swap都能替内存干活了，要内存干啥！这东西只是内存不足时应急用的！会拖累性能，很多教程没提到这一点。
临时调整vm.swappiness参数为5
sudo sysctl vm.swappiness=5 永久调整 vm.swappiness参数为1（优先使用物理内存，迫不得已使用swap）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/vm.sh &amp;amp;&amp;amp; chmod +x vm.sh &amp;amp;&amp;amp; ./vm.sh 禁用：
sudo swapoff -a 服务器的安全：
禁ping、改ssh端口、或者可以上雷池waf社区版，CF，。。。</description></item><item><title>证书acme与rclone的操作记录</title><link>https://blog.lufei.de/p/%E8%AF%81%E4%B9%A6acme%E4%B8%8Erclone%E7%9A%84%E6%93%8D%E4%BD%9C%E8%AE%B0%E5%BD%95/</link><pubDate>Tue, 30 Jan 2024 13:28:59 +0000</pubDate><guid>https://blog.lufei.de/p/%E8%AF%81%E4%B9%A6acme%E4%B8%8Erclone%E7%9A%84%E6%93%8D%E4%BD%9C%E8%AE%B0%E5%BD%95/</guid><description> 基于ubuntu20.04
证书 安装acme之后会自动续签，不用做其他操作，一条代码安装
curl https://get.acme.sh | sh -s email=你的邮箱 rclone 安装之后，在编辑rclone.conf配置
curl https://rclone.org/install.sh | bash mkdir -p /root/.config/rclone/ touch /root/.config/rclone/rclone.conf</description></item><item><title>海洋cms新版伪静态规则</title><link>https://blog.lufei.de/p/%E6%B5%B7%E6%B4%8Bcms%E6%96%B0%E7%89%88%E4%BC%AA%E9%9D%99%E6%80%81%E8%A7%84%E5%88%99/</link><pubDate>Mon, 29 Jan 2024 19:22:10 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%B5%B7%E6%B4%8Bcms%E6%96%B0%E7%89%88%E4%BC%AA%E9%9D%99%E6%80%81%E8%A7%84%E5%88%99/</guid><description>location / { rewrite ^/type/(.+?)\.html$ /list/index.php?$1 last; rewrite ^/video/(.+?)\.html$ /detail/index.php?$1 last; rewrite ^/play/([0-9]+)-([0-9]+)-([0-9]+)\.html$ /video/index.php?$1-$2-$3 last; rewrite ^/topic/index(.+?)\.html$ /topic/index.php?$1 last; rewrite ^/topic/index\.html$ /topic/index.php?$1 last; rewrite ^/topiclist/(.+?).html$ /topiclist/index.php?$1 last; rewrite ^/index\.html$ index.php permanent; rewrite ^/news/index\.html$ /news/index.php?$1 last; rewrite ^/html/part/index(.+?)\.html$ /articlelist/index.php?$1 last; rewrite ^/html/article/index(.+?)\.html$ /article/index.php?$1 last; }</description></item><item><title>cloudflare R2作为图床的管理和同步</title><link>https://blog.lufei.de/p/143/</link><pubDate>Mon, 29 Jan 2024 09:29:58 +0000</pubDate><guid>https://blog.lufei.de/p/143/</guid><description>因为我把r2当图床，但是大量图片没有经过压缩处理，浪费带宽资源，所以有了这篇记录，
大致意思就是把r2的图片同步到电脑上，使用压缩工具批量压缩处理之后，在同步到r2
为什么不使用linux去搞，因为繁琐问题多，不稳定
1：下载rclone: https://lzui.lanzv.com/iE6SN1mn693a
先创建存储桶，例如imgs是我的存储桶名称
2：把rclone-v1.63.0-windows-amd64.zip解压到D盘，进入目录，在rclone.conf文件配置r2，
只需要配置 access_key_id，secret_access_key，endpoint三个参数即可
3：新建文件，写入代码，将后缀改为bat（双击运行）
@echo off cd /d D:\rclone-v1.63.0-windows-amd64 rclone sync r2:imgs\2024 C:\Users\Administrator\Desktop\imgs\2024 --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse pause 这条代码的意思是：
把我的imgs存储桶下的2024文件夹同步到
C:\Users\Administrator\Desktop\imgs\2024 目录，根据你的情况去修改目录
rclone sync: 同步的意思，也可以把sync改成copy
r2:imgs imgs是我的存储同名称，r2不要改
D:\rclone-v1.63.0-windows-amd64 是rclone所在目录
&amp;ndash;drive-acknowledge-abuse 是针对谷歌网盘，可去掉，因为谷歌容易把文件当敏感资源不给下载甚至报毒 谷歌的教程博客有
反过来同步就是：本地同步到r2
@echo off cd /d D:\rclone-v1.63.0-windows-amd64 rclone sync C:\Users\Administrator\Desktop\imgs\2024 r2:imgs\2024 --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 --drive-acknowledge-abuse pause 图片批量压缩工具：
项目：https://github.com/meowtec/Imagine
下载地址：https://lzui.lanzv.com/i9Y6U1mn69wj</description></item><item><title>宝塔面板卸载原Nginx编译Brotli压缩</title><link>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF%E5%8D%B8%E8%BD%BD%E5%8E%9Fnginx%E7%BC%96%E8%AF%91brotli%E5%8E%8B%E7%BC%A9/</link><pubDate>Sun, 28 Jan 2024 08:10:11 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9D%E5%A1%94%E9%9D%A2%E6%9D%BF%E5%8D%B8%E8%BD%BD%E5%8E%9Fnginx%E7%BC%96%E8%AF%91brotli%E5%8E%8B%E7%BC%A9/</guid><description>1.Brotli压缩优势 说明：Brotli是Google推出的开源压缩算法，通过变种的LZ77算法、Huffman编码以及二阶文本建模等方式进行数据压缩，与其他压缩算法相比，它有着更高的压缩效率
性能也比我们目前常见的Gzip高17-25%
可以帮我们更高效的压缩网页中的各类文件大小及脚本，从而提高加载速度，提升网页浏览体验。
2.卸载原Nginx Brotli 其实支持动态加载，这里为了方便直接卸载旧版本重装。
卸载完成以后点击安装，选择编译安装，打开添加自定义模块窗口如下图。
模块名称填写：ngx_brotli
模块简介填写：ngx_brotli
模块参数填写：--add-module=/www/server/nginx/src/ngx_brotli
前置脚本粘贴如下内容：
# 文件内各版本号为文章发布时最新，请按需要检查新版本并替换版本号 wget -O ngx_brotli.zip https://github.com/google/ngx_brotli/archive/v1.0.0rc.zip unzip ngx_brotli.zip mv ngx_brotli-1.0.0rc ngx_brotli cd ngx_brotli/deps rm -rf brotli wget -O brotli.zip https://github.com/google/brotli/archive/v1.0.9.zip unzip brotli.zip mv brotli-1.0.9 brotli cd /www/server/nginx/src 完成以后提交并打上勾，点击安装，等待完成即可。
3.Brotli压缩 配置 打开 Nginx 管理器，左侧菜单选择配置修改，在52行附近找到gzip部分，在其前面插入brotli的配置信息：
brotli on; brotli_comp_level 6; brotli_min_length 10; brotli_window 1m; brotli_types *; brotli_static always; 各个参数的具体作用可以在https://github.com/google/ngx_brotli找到，这里提供通用版本。
保存以后如下图：
4.brotli效果检验 接下来使用支持brotli的浏览器访问即可看到效果。</description></item><item><title>宝塔海外版aapanel安装教程</title><link>https://blog.lufei.de/p/141/</link><pubDate>Sun, 28 Jan 2024 07:17:09 +0000</pubDate><guid>https://blog.lufei.de/p/141/</guid><description> 首先安装官网最新版，再降级为6.8.27版本，降级的目的是方便安装汉化包
Ubuntu/Deepin
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh &amp;amp;&amp;amp; sudo bash install.sh aapanel Debian
wget -O install.sh http://www.aapanel.com/script/install-ubuntu_6.0_en.sh &amp;amp;&amp;amp; bash install.sh aapanel 降级为aapanel6.8.27版本
wget -O /root/update6_en.sh https://download.bt.cn/install/update6_en.sh &amp;amp;&amp;amp; sed -i &amp;#39;s/LinuxPanel_EN-${version}.zip/LinuxPanel_EN-6.8.27.zip/g&amp;#39; /root/update6_en.sh &amp;amp;&amp;amp; bash /root/update6_en.sh &amp;amp;&amp;amp; rm -rf /root/update6_en.sh 中文语言包
wget -O aapanel_chinese.zip https://github.com/gacjie/aapanel_chinese/releases/download/6.8.27/aapanel_simplified_chinese_6827.zip &amp;amp;&amp;amp; unzip -o aapanel_chinese.zip -d /www/server/ &amp;amp;&amp;amp; /etc/init.d/bt restart</description></item><item><title>Linux系统Swap调优</title><link>https://blog.lufei.de/p/140/</link><pubDate>Sat, 27 Jan 2024 17:36:29 +0000</pubDate><guid>https://blog.lufei.de/p/140/</guid><description>在Linux系统中，swap是为了减少内存压力而设立的一种临时存储空间，当系统内存不足时，会将一部分内存交换到swap分区中。但是，当系统运行多个程序或进程时，swap会频繁的写入和读取数据，对硬盘进行频繁的访问，从而导致系统变慢。
如果你的系统内存足够并且感觉swap对系统性能没有多大帮助，可以考虑将swap关闭。
建议禁止使用swap，除非你内存吃紧，或者调整vm.swappiness参数为10
查看主配置文件是否包含该参数
grep &amp;#34;vm.swappiness&amp;#34; /etc/sysctl.conf 检查自定义配置文件是否包含该参数
grep &amp;#34;vm.swappiness&amp;#34; /etc/sysctl.d/*.conf 临时调整vm.swappiness参数为10, 重启失效
sysctl -w vm.swappiness=10 查看当前生效值
cat /proc/sys/vm/swappiness 或者
sysctl vm.swappiness 1.持久化配置（推荐）
若要确保重启后 vm.swappiness=1 仍然生效，需手动写入配置文件：
echo &amp;#34;vm.swappiness = 1&amp;#34; | sudo tee /etc/sysctl.d/99-swap.conf 立即加载配置（无需重启）
sudo sysctl -p /etc/sysctl.d/99-swap.conf 2.验证配置生效
cat /etc/sysctl.d/99-swap.conf 确认当前值（应为 1）
cat /proc/sys/vm/swappiness 统一设置
# 1. 备份 sysctl.conf cp /etc/sysctl.conf /etc/sysctl.conf.bak # 2. 查找并显示所有包含 vm.swappiness 的文件 find /etc/sysctl.d/ /etc/sysctl.conf -type f -exec grep -l &amp;#34;vm.swappiness&amp;#34; {} \; # 3.</description></item><item><title>简洁，没有广告，能下载资源的看片追剧APP</title><link>https://blog.lufei.de/p/app/</link><pubDate>Thu, 25 Jan 2024 19:24:05 +0000</pubDate><guid>https://blog.lufei.de/p/app/</guid><description>可能是最简洁干净的，能下载影视资源的APP了，能下载资源的APP才是好的看片追剧APP~~
https://gh.ddlc.top/https://github.com/jimugou/app/releases/download/v1.6.3/fanqie-v1.6.3.apk</description></item><item><title>Lsky 图床 兰空图床</title><link>https://blog.lufei.de/p/137/</link><pubDate>Thu, 25 Jan 2024 16:20:10 +0000</pubDate><guid>https://blog.lufei.de/p/137/</guid><description>项目地址 https://github.com/lsky-org/lsky-pro
推荐安装1.6.4版本，没有php和mysql的要求
下载地址：https://github.com/lsky-org/lsky-pro/archive/refs/tags/v1.6.4.zip
网盘：https://lzui.lanpw.com/iUrlR1mb4djg
Lsky Pro 安装全程可视化页面，只需要下载程序解压到 web 站点目录，访问首页会自动跳转到安装页面，根据提示操作即可，具体步骤：
下载兰空，上传至 web 运行环境，解压。
设置运行目录为 public。
配置 Rewrite 规则：
Nginx：
location / { if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=$1 last; break; } } Apache: Apache直接使用 .htaccess 即可。 访问首页，未安装自动跳转至安装页面，根据页面提示安装即可。
安装完成以后请设置runtime目录 0755 权限，如果你使用本地存储，public 目录也需要设置为 0755 权限。
备份原系统 下载新版本安装包，解压。将旧版本系统中的根目录 .env 文件复制到新版本的根目录 如果你的文件是储存在本地，你还需要将 public 目录中的文件移动的新版本的 public 目录下 修改 .env 文件中的数据库配置，然后在 application 目录下新建 install.lock 文件 将新版本 application/sql/update.sql 导入到数据库，或直接复制文件内容执行 替换旧版本 (删除旧版本，粘贴新版本) 如果在更新时出现 更新失败, 请稍后重试 的提示, 大概率是因为超时被中断, 如果出现这样的情况, 请手动通过 https://github.</description></item><item><title>宝塔面板计划任务列表的迁移或导出</title><link>https://blog.lufei.de/p/136/</link><pubDate>Thu, 25 Jan 2024 13:39:26 +0000</pubDate><guid>https://blog.lufei.de/p/136/</guid><description>注意：迁移成功后不代表就会自动运行了，还需要手动点编辑，再保存才会生效！！
步骤一：备份文件，然后迁移到新服务器对应目录下。 备份cron下的所有文件
/www/server/cron 步骤二：数据库迁移 下载default.db文件，使用SQLiteStudio工具打开数据库。删除新站的crontab表，把老站的表复制进去。然后保存。
/www/server/panel/data/default.db 把新的default.db上传到新站/www/server/panel/data/目录下。即可看到新的计划任务内容
SQLiteStudio下载地址：https://lzui.lanpw.com/iCoiL1mas1gj</description></item><item><title>计划任务备份</title><link>https://blog.lufei.de/p/qige/</link><pubDate>Thu, 25 Jan 2024 12:31:44 +0000</pubDate><guid>https://blog.lufei.de/p/qige/</guid><description>海洋CMS-自用采集### #!/bin/bash ######################################################## # 程序名称: 海洋CMS自动采集脚本 # 版本信息：seacmsbot/ v2.0 # 发布链接: https://www.seacms.net/ # 使用方法：直接复制代码到宝塔计划任务shell脚本内容里添加每小时任务使用 # 更新时间：2019.9.26 ########################################################## #①请修改下面的网站域名及管理目录 web_site=&amp;#34;http://xxx.xxx.eu.org/xxx/admin_reslib2.php&amp;#34; #②请修改下面项内容为&amp;#34;admin_reslib2.php&amp;#34;里设置的访问密码(默认为系统设置的cookie密码) web_pwd=&amp;#34;xxx&amp;#34; #③下面项内容为资源站每日采集链接地址列表，请自行修改,每行一条,可添加多个，前后需添加引号。 #每日采集链接获取方法:选择&amp;#34;后台-采集-资源库列表&amp;#34;,复制资源站右边的&amp;#34;采集每天&amp;#34;的链接地址,去掉?前面的内容。 web_api=( &amp;#39;?ac=day&amp;amp;rid=2&amp;amp;url=https://ikunzyapi.com/api.php/seaxml/vod/at/xml&amp;#39; &amp;#39;?ac=day&amp;amp;rid=3&amp;amp;url=https://taopianapi.com/cjapi/sea/vod/xml/m3u8.html&amp;#39; &amp;#39;?ac=day&amp;amp;rid=6&amp;amp;url=https://api.xinlangapi.com/xinlangapi.php/provide/vod/from/xlm3u8/at/xmlsea/&amp;#39; &amp;#39;?ac=day&amp;amp;rid=7&amp;amp;url=http://cj.ffzyapi.com/api.php/seacms/vod/from/ffm3u8/at/xml/&amp;#39; &amp;#39;?ac=day&amp;amp;rid=8&amp;amp;url=https://api.1080zyku.com/inc/ldg_api.php&amp;#39; &amp;#39;?ac=day&amp;amp;rid=9&amp;amp;url=https://api.guangsuapi.com/api.php/provide/vod/from/gsm3u8/at/xmlsea/&amp;#39; &amp;#39;?ac=day&amp;amp;rid=10&amp;amp;url=https://api.tiankongapi.com/api.php/provide/vod/from/tkm3u8/at/xmlsea&amp;#39; ) #模拟用户浏览器ua,请勿随意修改，以免被目标防火墙拦截! web_ua=&amp;#34;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;&amp;#34; #采集单页 function get_content() { echo &amp;#34;正在采集第$page页...&amp;#34; #echo &amp;#34; get_content: ---&amp;gt;url:---&amp;gt;$1&amp;#34; cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A &amp;#34;$web_ua&amp;#34; &amp;#34;$1&amp;#34; ) echo $cResult | grep -q &amp;#34;采集&amp;#34; #echo -e &amp;#34;$1\n$cResult&amp;#34; if [ &amp;#34;$?</description></item><item><title>acme自制脚本快速申请免费证书</title><link>https://blog.lufei.de/p/ssl/</link><pubDate>Thu, 25 Jan 2024 07:59:24 +0000</pubDate><guid>https://blog.lufei.de/p/ssl/</guid><description>脚本 curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/ssl.sh &amp;amp;&amp;amp; chmod +x ssl.sh &amp;amp;&amp;amp; ./ssl.sh 步骤：选择你的操作系统 &amp;ndash; 输入邮箱 &amp;ndash; 选择证书 &amp;ndash; 输入域名 &amp;ndash; 输入网站路径
注意：如果你的网站启动目录指向的是二级目录，请改回根目录，否者申请出问题
证书申请成功后目录：/root/.acme.sh/你的域名/
打开目录：
xxxx.key为密钥
fullchain.cer为证书</description></item><item><title>linux vps重装系统，dd</title><link>https://blog.lufei.de/p/133/</link><pubDate>Wed, 24 Jan 2024 10:36:17 +0000</pubDate><guid>https://blog.lufei.de/p/133/</guid><description>项目 https://github.com/leitbogioro/Tools
Debian系列(Debian / Ubuntu / Kali):
apt update -y apt install wget -y 下载： wget --no-check-certificate -qO InstallNET.sh &amp;#39;https://raw.githubusercontent.com/leitbogioro/Tools/master/Linux_reinstall/InstallNET.sh&amp;#39; &amp;amp;&amp;amp; chmod a+x InstallNET.sh 默认用户名和密码 用户名：root
密码：LeitboGi0ro
Debian 12 bash InstallNET.sh -debian Debian 11 bash InstallNET.sh -debian 11 ubuntu 22.04 bash InstallNET.sh -ubuntu ubuntu 20.04 bash InstallNET.sh -ubuntu 20.04 启用BBR 通过向 /etc/sysctl.d/99-sysctl.conf 添加参数和值来为当前内核启用 BBR
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/enable_bbr.sh &amp;amp;&amp;amp; chmod +x enable_bbr.sh &amp;amp;&amp;amp; ./enable_bbr.sh 检查 BBR 是否启动 lsmod | grep bbr 更新系统 apt update -y apt install -y curl 推荐脚本 curl -sS -O https://raw.</description></item><item><title>域名有效期监控的最佳方案</title><link>https://blog.lufei.de/p/132/</link><pubDate>Tue, 23 Jan 2024 06:05:40 +0000</pubDate><guid>https://blog.lufei.de/p/132/</guid><description>不喜欢开场白，还是直接上干货&amp;hellip; 使用方法:
for d in baidu.com bing.com 修改为你的域名，多个用空格隔开
登录https://slack.com/get-started 获取Webhook URL 教程在后面
https://hooks.slack.com/services/xxx/xxx/xxx 修改为你的Webhook URL
测试要点：修改参数n=129600000将改好的脚本放到宝塔面板计划任务测试，运行，就会收到消息，测试收到消息再改回来2592000(单位秒)，也就是30天到期提醒 5.微信接收消息技巧: 将你的邮件转发到QQ邮箱，打开微信，设置&amp;ndash;通用&amp;ndash;辅助功能&amp;ndash;QQ邮箱提醒 slack默认15分钟发送一次新的消息
#!/bin/bash #检测域名是否过期 #博客：blog.leshans.eu.org #日期：20240123 #版本：v0.1 #当前日期时间戳，用于和域名的到期时间做比较 currentTimestamp=`date +%s` #检测whois命令是否存在，不存在则安装whois包 isInstallWhois() { which whois &amp;gt;/dev/null 2&amp;gt;/dev/null if [ $? -ne 0 ] then yum install -y whois || apt-get install whois -y fi } notify() { expiredate=`whois $1 |grep &amp;#39;Registry Expiry Date&amp;#39; |awk &amp;#39;{print $4}&amp;#39; |cut -d &amp;#39;T&amp;#39; -f 1` #上面的$1代表域名，遍历循环出来的。 #如果e_d的值为空，则过滤关键词&amp;#39;Expiration Time&amp;#39; if [ -z &amp;#34;$expiredate&amp;#34; ] then expiredate=`whois $1|grep &amp;#39;Expiration Time&amp;#39; |awk &amp;#39;{print $3}&amp;#39;` fi #将域名过期的日期转化为时间戳 expiredatestamp=`date -d $expiredate +%s` #计算半个月一共有多少秒 # 15d 1296000 30d 2592000 35d 3024000 40d 3456000 n=2592000 timeBeforce=$[$expiredatestamp - $n] #过期时间30d以前的时间戳 timeAfter=$[$expiredatestamp + $n] #过期时间30d以后的时间戳 if [ $currentTimestamp -ge $timeBeforce ] &amp;amp;&amp;amp; [ $currentTimestamp -lt $expiredatestamp ] then curl -X POST \ -H &amp;#39;Content-type: application/json&amp;#39; \ --data &amp;#39;{&amp;#34;text&amp;#34;:&amp;#34;:warning:域名 &amp;#39;$1&amp;#39; 将在30天内过期.</description></item><item><title>github反代列表</title><link>https://blog.lufei.de/p/github%E5%8F%8D%E4%BB%A3%E5%88%97%E8%A1%A8/</link><pubDate>Sun, 21 Jan 2024 20:41:27 +0000</pubDate><guid>https://blog.lufei.de/p/github%E5%8F%8D%E4%BB%A3%E5%88%97%E8%A1%A8/</guid><description>反代列表 站源 地址 缓存 github.com hub.fgit.cf 无 raw.githubusercontent.com raw.fgit.cf 无 github.githubassets.com assets.fgit.cf 无 官方地址：https://doc.fastgit.org/zh-cn/node.html
替换：https://raw.fgit.cf/用户名/仓库名/分支/文件&amp;hellip;
例如
https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh 替换成：
https://raw.fgit.cf/kejilion/sh/main/kejilion.sh</description></item><item><title>动漫资源更新中。。</title><link>https://blog.lufei.de/p/%E5%8A%A8%E6%BC%AB%E8%B5%84%E6%BA%90%E6%9B%B4%E6%96%B0%E4%B8%AD/</link><pubDate>Sun, 21 Jan 2024 12:54:23 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%8A%A8%E6%BC%AB%E8%B5%84%E6%BA%90%E6%9B%B4%E6%96%B0%E4%B8%AD/</guid><description>切片资源
高清 https://1080zyk1.com/
淘片 https://www.taopianzy.com/index.html
iKun资源 https://www.ikunzy.com/
非凡资源 http://ffzy1.tv/
光速资源 https://guangsuzy.com/
在线动漫
NyaFun动漫 https://www.nyafun.net/
喵物次元 https://catw.moe/
次元城 https://www.cycdm01.top/</description></item><item><title>RackNerd优惠码和促销活动整理 (2024最新版) 年付10美元vps</title><link>https://blog.lufei.de/p/racknerd%E4%BC%98%E6%83%A0%E7%A0%81%E5%92%8C%E4%BF%83%E9%94%80%E6%B4%BB%E5%8A%A8%E6%95%B4%E7%90%86-2024%E6%9C%80%E6%96%B0%E7%89%88-%E5%B9%B4%E4%BB%9810%E7%BE%8E%E5%85%83vps/</link><pubDate>Sat, 20 Jan 2024 08:07:08 +0000</pubDate><guid>https://blog.lufei.de/p/racknerd%E4%BC%98%E6%83%A0%E7%A0%81%E5%92%8C%E4%BF%83%E9%94%80%E6%B4%BB%E5%8A%A8%E6%95%B4%E7%90%86-2024%E6%9C%80%E6%96%B0%E7%89%88-%E5%B9%B4%E4%BB%9810%E7%BE%8E%E5%85%83vps/</guid><description>线路测试：https://lg-lax02.racknerd.com/
RackNerd是美国一家基础架构即服务IaaS云服务供应商，由云计算行业资深人士成立。这家公司主要提供虚拟主机、便宜VPS服务器和独立服务器等产品，以及经营代托管业务。由于价格实惠性价比高，所以RackNerd可以作为个人建站极好的选择。
在这篇文章中，瓦力箱子整理下RackNerd优惠码和最新的促销活动分享，有需要可以购买。
1. RackNerd VPS最新优惠 2024年1月更新：过完圣诞节，2024年新年马上就要来临。RackNerd为大家准备了4款便宜VPS套餐，来庆祝元旦的到来，最低配置只需要11美元/年。
CPU 内存 SSD 月流量 价格 详情 1核心 1G 21G 1500G $11/年 查看详情 1核心 2G 35G 2500G $17/年 查看详情 2核心 3G 45G 5000G $27/年 查看详情 2核心 4G 60G 8000G $37/年 查看详情 所有VPS方案均配置1Gbps大带宽，提供一个独立IP地址和具有完全的root权限，可以根据自己的实际需求选择。共有9个机房可以选择，推荐速度较快的美国西海岸的洛杉矶、圣何塞或西雅图机房。不过这次的RackNerd促销没有512M内存方案，有需要的可以查看往期活动。
2. RackNerd便宜VPS整理(往期活动) 瓦力箱子发现不久以前的RackNerd往期优惠活动还有部分机型可选，合适的可以入手。加起来还有十来款性价比较高的VPS主机可选，价格最低的VPS年付只需要$10美元左右。
黑色星期五和网络星期一活动 CPU 内存 SSD 月流量 价格 详情 1核心 768M 15G 1000G $10.18/年 查看详情 1核心 2G 30G 2500G $16.98/年 查看详情 2核心 2.5G 50G 5000G $25.49/年 查看详情 2核心 4G 80G 8000G $38.</description></item><item><title>宝塔 Linux Java 环境安装教程</title><link>https://blog.lufei.de/p/128/</link><pubDate>Sat, 20 Jan 2024 07:41:01 +0000</pubDate><guid>https://blog.lufei.de/p/128/</guid><description>前言 本教程将帮助你如何在linux系统下的宝塔面板上，快速的安装和配置Java环境 。
#1 打开终端 打开宝塔的终端并输入以下命令
PS：一行一个，不要多次输入 。
第一步，创建 java 路径 。
mkdir -p /usr/lib/jvm 第二步，移动到，上一步创建的文件夹 。
cd /usr/lib/jvm 第三步，在此文件夹下下载 java sdk ，耐心等待，国内服务器可能需要 2-10 分钟 。
PS: 该版本的 sdk 版本为 17
wget https://download.oracle.com/java/17/latest/jdk-17_linux-x64_bin.tar.gz 第四步，解压上一步下载的 sdk 。
tar -zxvf jdk-17_linux-x64_bin.tar.gz 第五步，重命名解压后的文件夹 为 jdk17 注意版本号
mv jdk-17.0.10 jdk17 至此，java 17安装完成，现在开始配置 Java sdk的环境变量 。
#2 配置环境变量 打开宝塔文件根目录的以下路径 ==/etc/profile==
并在 profile 文件的末尾添加以下环境变量
export JAVA_HOME=/usr/lib/jvm/jdk17 export PATH=$JAVA_HOME/bin:$PATH 返回终端，输入以下命令，刷新配置文件
source /etc/profile 再输入以下命令，如果出现 java 版本即代表环境配置成功 。
java -version</description></item><item><title>paypal转账手续费</title><link>https://blog.lufei.de/p/paypal%E8%BD%AC%E8%B4%A6%E6%89%8B%E7%BB%AD%E8%B4%B9/</link><pubDate>Thu, 18 Jan 2024 06:01:13 +0000</pubDate><guid>https://blog.lufei.de/p/paypal%E8%BD%AC%E8%B4%A6%E6%89%8B%E7%BB%AD%E8%B4%B9/</guid><description>收款：4.4%+0.3USD
比如我转30给你，你实际收到的是：30 -（30*4.4%+0.3）=28.38
中国paypal转账到香港paypal，损耗5.5%
包括：2%交易总额+3.5%交易汇率=5.5%
假设中国paypal转50美金到香港paypal,如果香港paypal要到账50美金，则需要：
50*（1+5.5%）=52.75
汇率换算地址：https://wise.com/zh-cn/currency-converter/usd-to-cny-rate?amount=1
中国大陆手续费：【点击进入】 香港地区手续费：【点击进入】</description></item><item><title>套cf后 站点WAF防火墙规则设定</title><link>https://blog.lufei.de/p/126/</link><pubDate>Wed, 17 Jan 2024 04:53:36 +0000</pubDate><guid>https://blog.lufei.de/p/126/</guid><description>添加防火墙规则表达式 复制代码即可 第一：恶意流量阻止 操作：托管质询
(cf.threat_score ge 5 and not cf.client.bot) or (not http.request.version in {&amp;#34;HTTP/1.2&amp;#34; &amp;#34;HTTP/2&amp;#34; &amp;#34;HTTP/3&amp;#34; &amp;#34;SPDY/3.1&amp;#34;}) or (not http.user_agent contains &amp;#34;Mozilla/&amp;#34;) 第二：放行爬虫（seo） 操作：跳过
(cf.client.bot) or (http.user_agent contains &amp;#34;duckduckgo&amp;#34;) or (http.user_agent contains &amp;#34;facebookexternalhit&amp;#34;) or (http.user_agent contains &amp;#34;Feedfetcher-Google&amp;#34;) or (http.user_agent contains &amp;#34;LinkedInBot&amp;#34;) or (http.user_agent contains &amp;#34;Mediapartners-Google&amp;#34;) or (http.user_agent contains &amp;#34;msnbot&amp;#34;) or (http.user_agent contains &amp;#34;Slackbot&amp;#34;) or (http.user_agent contains &amp;#34;TwitterBot&amp;#34;) or (http.user_agent contains &amp;#34;ia_archive&amp;#34;) or (http.user_agent contains &amp;#34;yahoo&amp;#34;) 第三：其他 跳过源站IP、区域或国家阻止
CF的WAF的防火墙规则！</description></item><item><title>自建CDN-GoEdge CDN - 制作自己专属的CDN</title><link>https://blog.lufei.de/p/125/</link><pubDate>Tue, 16 Jan 2024 16:36:40 +0000</pubDate><guid>https://blog.lufei.de/p/125/</guid><description>系统需求 最小需求：
操作系统：Linux 包括CentOS、RHEL、Debian、Ubuntu、RockyLinux、AlpineLinux及其他各种发行版本 CPU不少于1核心 可用内存不少于1G 可用硬盘空间不小于10G 对于每日千万访问以上的CDN系统推荐配置如下：
CPU不少于8核心 可用内存不少于16G 可用硬盘空间不小于200G 准备工作 在安装GoEdge之前，需要你做以下准备工作：
安装一个或者使用现有的 MySQL 5.7.8/MySQL 8.0/MySQL 8.1/MySQL 8.2/TiDB 3.0 以上版本；如果你会一些Linux基本命令，但是不知道怎么安装MySQL，可以参考这里 安装MySQL；另外请注意： 安装使用的MySQL用户密码不能为空 当前只支持通过端口连接MySQL，不能使用Sock文件连接 手动安装时，Linux服务器需要确认有 unzip 命令，用来解压压缩包，可以使用： 推荐系统： ubuntu 22.04 或者 20.04, debian安装有些问题
先安装依赖：ubuntu系统可以跳过安装依赖
apt install wget -y sudo apt install unzip sudo apt-get install xz-utils sudo apt-get update sudo apt-get install libnuma1 在Linux下可以尝试使用以下命令自动执行上述的安装步骤（前提是系统已经安装了 wget 命令）：
一、安装MySQL sudo sh -c &amp;#34;$(wget https://goedge.cn/install-mysql.sh -O -)&amp;#34; 安装成功后，控制台会输出类似以下内容：
2022/11/03 11:45:08 finished installed successfully ======= user: root password: ccdc61ea4dd0934bf3bfd4310517c41c dir: /usr/local/mysql 请将这段内容保存起来，防止丢失，其中：</description></item><item><title>萌芽采集插件启用提示“发现冲突文件”解决办法</title><link>https://blog.lufei.de/p/124/</link><pubDate>Fri, 12 Jan 2024 11:38:09 +0000</pubDate><guid>https://blog.lufei.de/p/124/</guid><description>问题描述 重复安装启用插件，或之前有过旧文件，再次启用插件可能会提示“发现冲突文件”，而导致无法启用插件
下载地址 ： https://lzui.lanzouj.com/iTHdz1kx36mb
解决办法 在你程序内去检查以下插件文件，并删除
1、 先找到下方这个路径的文件夹，将这个文件夹删除
/static/mycj/ 2、再找到以下路径的文件并删除
/application/extra/cjuser.php /application/extra/cjfaves.php /application/extra/cjversion.php 3、然后再删除下面这个路径的文件
/application/admin/controller/Mycj.php 4、最后删除这个路径的文件夹即可
/application/admin/view/mycj/ 将以上几个地方的文件删除，再重新上传插件，并启用试试看。
若提示启用成功，后台快捷菜单处没有显示快捷菜单，那么手动添加一下快捷菜单即可
萌芽采集资源,mycj/union 复制上方快捷菜单代码，添加到快捷菜单里面并保存即可</description></item><item><title>苹果cms通用清理php后门自动脚本</title><link>https://blog.lufei.de/p/123/</link><pubDate>Fri, 12 Jan 2024 04:17:18 +0000</pubDate><guid>https://blog.lufei.de/p/123/</guid><description>锁住文件
chattr -R +i /www/wwwroot/123.com 排除缓存目录
chattr -R -i /www/wwwroot/123.com/runtime/temp 锁住单个文件
chattr +i /www/wwwroot/123.com/block/foot.html 解锁
chattr -i /www/wwwroot/123.com/block/foot.html 注意：为了安全起见 每次发现被挂马后应该用以下方法来处理！！！ 黑客入侵后可能在数据库挂js，可能在网站目录任何角落留下php后门，用以下方法可以快速清理干净php后门，不用一个一个文件去分析。
1，备份原网站配置文件 ，并检查里边是否有后门代码，正常情况下&amp;lt;?php内是一个return array返回数组，如果还有其他&amp;lt;?php块就是后门。
\application\database.php
\application\route.php
\application\extra\maccms.php
\application\extra\bind.php
\application\extra\timming.php
\application\extra\vodplayer.php
\application\extra\voddowner.php
\application\extra\vodserver.php
2，检查以下目录搜索 *.php ，删除所有;并检查模板文件内是否有&amp;lt;?php或{php代码段删除。
\template\
\upload\
3，删除原有目录及所有文件，并下载最新程序包，覆盖
\addons\
\application\
\extend\
\static\
\runtime\
\thinkphp\
\vendor\
\说明文档\
\admin.php 自定义后台入口文件
\api.php 自定义api入口文件
\index.php
\install.php
4，把刚才备份的配置文件覆盖到application下即可
5，修改后台入口文件名；登录后台检查管理员账号并修改密码，删除多余被黑客创建的账号；</description></item><item><title>海洋cms自动采集之宝塔面板定时任务</title><link>https://blog.lufei.de/p/122/</link><pubDate>Sun, 07 Jan 2024 07:43:46 +0000</pubDate><guid>https://blog.lufei.de/p/122/</guid><description>第一步：获取脚本代码
下面是自动采集脚本代码
#!/bin/bash ######################################################## # 程序名称: 海洋CMS自动采集脚本 # 版本信息：seacmsbot/ v2.0 # 发布链接: https://www.seacms.net/ # 使用方法：直接复制代码到宝塔计划任务shell脚本内容里添加每小时任务使用 # 更新时间：2019.9.26 ########################################################## #①请修改下面的网站域名及管理目录 web_site=&amp;#34;http://你的域名/管理目录/admin_reslib2.php&amp;#34; #②请修改下面项内容为&amp;#34;admin_reslib2.php&amp;#34;里设置的访问密码(默认为系统设置的cookie密码) web_pwd=&amp;#34;111111111111111111&amp;#34; #③下面项内容为资源站每日采集链接地址列表，请自行修改,每行一条,可添加多个，前后需添加引号。 #每日采集链接获取方法:选择&amp;#34;后台-采集-资源库列表&amp;#34;,复制资源站右边的&amp;#34;采集每天&amp;#34;的链接地址,去掉?前面的内容。 web_api=( &amp;#39;?ac=day&amp;amp;rid=2&amp;amp;url=https://ikunzyapi.com/api.php/seaxml/vod/at/xml&amp;#39; &amp;#39;?ac=day&amp;amp;rid=3&amp;amp;url=https://taopianapi.com/cjapi/sea/vod/xml/m3u8.html&amp;#39; ) #模拟用户浏览器ua,请勿随意修改，以免被目标防火墙拦截! web_ua=&amp;#34;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36 seacmsbot/1.2;&amp;#34; #采集单页 function get_content() { echo &amp;#34;正在采集第$page页...&amp;#34; #echo &amp;#34; get_content: ---&amp;gt;url:---&amp;gt;$1&amp;#34; cResult=$(curl --connect-timeout 10 -m 20 -k -s -L -A &amp;#34;$web_ua&amp;#34; &amp;#34;$1&amp;#34; ) echo $cResult | grep -q &amp;#34;采集&amp;#34; #echo -e &amp;#34;$1\n$cResult&amp;#34; if [ &amp;#34;$?</description></item><item><title>2023年最新可采集CMS视频资源站网址合集</title><link>https://blog.lufei.de/p/2023%E5%B9%B4%E6%9C%80%E6%96%B0%E5%8F%AF%E9%87%87%E9%9B%86cms%E8%A7%86%E9%A2%91%E8%B5%84%E6%BA%90%E7%AB%99%E7%BD%91%E5%9D%80%E5%90%88%E9%9B%86/</link><pubDate>Sun, 07 Jan 2024 07:24:01 +0000</pubDate><guid>https://blog.lufei.de/p/2023%E5%B9%B4%E6%9C%80%E6%96%B0%E5%8F%AF%E9%87%87%E9%9B%86cms%E8%A7%86%E9%A2%91%E8%B5%84%E6%BA%90%E7%AB%99%E7%BD%91%E5%9D%80%E5%90%88%E9%9B%86/</guid><description> 飞速资源 https://help.feisuzyapi.com/ 闪电资源 http://shan04.com/ 樱花资源 https://yhzy.cc/ 百度资源 http://bdzy.com/ 无尽资源 https://www.wujinzy.com/ 酷点资网 https://www.kudian20.com/ 红牛资源 https://www.hongniuziyuan.com/ 云解析资源 https://www.yparse.com/help 天空资源 http://help.tiankongapi.com/ 天堂官方资源 http://vipmv.cc/help/ 1080zyk优质资源 https://1080zyk2.com/ 卧龙影视资源 http://wolongzyw.com/ 全网影视资源 http://hao123.daicuo.cc/ fox资源 https://help.foxzyapi.com/ 金鹰资源 https://jinyingzy.net/ 新浪资源 https://xinlangzy.com/ 光速影视资源 https://guangsuzy.com/ 奥斯卡资源 https://aosikazy.com/static/help/index.html 快车资源 https://www.kuaichezy.com/ 淘片资源 (需VPN) https://www.taopianzy.com/ 量子资源 http://lzizy.net/ 诺讯资源 https://caiji.nxflv.com/ tom资源 https://www.tomziyuan.com/ 三零资源 http://www.000zy.com/ 麒麟资源(需要授权) https://www.qilinzyz.com/ 鱼乐资源 https://www.ylzy1.com/ ikun资源 https://www.ikunzy.com/ 阳光资源 https://www.xxzy.org/ U酷资源 https://ukuzy.com/ 非凡资源 http://ffzy.tv/ 伊人资源 https://yrzyz9.com/ 天猫资源 https://tianmaozy.com/ 快车资源 https://www.kuaichezy.com/ 海外看资源(需VPN) https://haiwaikan.com/</description></item><item><title>利用谷歌邮箱别名获取无限Gmail邮箱</title><link>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8%E8%B0%B7%E6%AD%8C%E9%82%AE%E7%AE%B1%E5%88%AB%E5%90%8D%E8%8E%B7%E5%8F%96%E6%97%A0%E9%99%90gmail%E9%82%AE%E7%AE%B1/</link><pubDate>Sun, 07 Jan 2024 05:10:06 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8%E8%B0%B7%E6%AD%8C%E9%82%AE%E7%AE%B1%E5%88%AB%E5%90%8D%E8%8E%B7%E5%8F%96%E6%97%A0%E9%99%90gmail%E9%82%AE%E7%AE%B1/</guid><description>前言 我们注册有些国外的服务时，是不能用国内邮箱注册的，这时一个Gmail邮箱就显得很有必要。而有时候我们会需要注册多个账号，当然你可以用多个Gmail邮箱来注册。但多个Gmail邮箱又不好管理，而且现在Gmail邮箱也不是那么好注册了，这时你就会需要下面我要介绍的内容了，利用Gmail邮箱的别名功能来实现同一邮箱获取无限多个Gmail邮箱号。
在这之前你需要有一个谷歌账号（Gmail邮箱）。没有的话去到这里注册：http://mail.google.com（目前注册可能需要特殊方法，请自行搜索解决）。
Gmail邮箱别名设置 这里我们假设你的Gmail邮箱为：abcdef@gmail.com ，那就可以通过以下办法得到无限的谷歌邮箱别名。
1.用户名之间加 . （英文半角） 例如： abc.def@gmail.com
因为Gmail的用户名是不区分 . 符号的，所以下面其实都是同一个用户名
abcde.f a.bcdef ab.cdef a.b.cdef abc.d.ef 2.用户名后面加 +任意字符 例如： abcdef+dev@gmail.com
+ 号后面可以是任意字符，例如：
+dev +my +sub …… **PS：**使用“+”号法，在许多网站注册时候，并不识别邮箱地址中的“+”，会提示你邮箱错误。
3.改变用户名中任意字符的大小写 例如： aBCdef@gmail.com
可以是用户名里的某个或多个字符，
Abcdef@gmail.com AbcDeF@gmail.com abcdEf@gmail.com 4. 把后缀变为 googlemail.com 因为之前Gmail在某些国家的商标没有谈好，不能使用Gmail商标，只好用googlemail，这个很好理解。（貌似现在全球的商标都已经谈妥了）
例如： abcdef@googlemail.com
５.以上４种方法的结合 可以结合上面的4种方法来实现理论上的无限别名。例如：
aBcdef+dev@googlemail.com AbcDEf+sub@googlemail.com 总结 了解了上面的Gmail别名设置的方法后，当你要注册一些服务的时候，只要在填写Gmail邮箱的时候填写通过上述的方法得到的别名邮箱就可以了。无需到Gmail设置，所有的别名邮箱的邮件都会发送到你原来的邮箱 abcdef@gmail.com 中。</description></item><item><title>Cloudflare 页面缓存（Page Rules）优化WordPress全站缓存配置规则</title><link>https://blog.lufei.de/p/cloudflare-%E9%A1%B5%E9%9D%A2%E7%BC%93%E5%AD%98page-rules%E4%BC%98%E5%8C%96wordpress%E5%85%A8%E7%AB%99%E7%BC%93%E5%AD%98%E9%85%8D%E7%BD%AE%E8%A7%84%E5%88%99/</link><pubDate>Sat, 23 Dec 2023 12:14:09 +0000</pubDate><guid>https://blog.lufei.de/p/cloudflare-%E9%A1%B5%E9%9D%A2%E7%BC%93%E5%AD%98page-rules%E4%BC%98%E5%8C%96wordpress%E5%85%A8%E7%AB%99%E7%BC%93%E5%AD%98%E9%85%8D%E7%BD%AE%E8%A7%84%E5%88%99/</guid><description>为什么要设置Cloudflare的页面规则 （Page Rules）进行全站缓存？ 当你接入Cloudflare的CDN，并点亮小云朵之后。你的网站就已经通过Cloudflare的CDN节点进行中转了。默认情况下，Cloudflare 会对你网站中的图片、JS、CSS文件等静态文件进行缓存。
当访客访问你网站页面的时候，所有的静态文件都是由Cloudflare的节点直接给到访客的，但是HTML文件是默认不缓存的。也就意味着访客访问你的某一页面的时候。仍然会回源你的服务器。
所以，本篇文章就是教你如何使用Cloudflare的页面规则（Page Rules）把整个HTML页面给缓存。 使访客访问被缓存的页面的时候，直接交由Cloudflare进行服务，甚至你的源服务器不会收到任何GET请求。
这样做的好处是，可以大大减少源服务器的负载开支，使得你的站点能够承载更多的访客及流量。
下面两张演示图片就是使用了Cloudflare页面规则之后，节省的源站服务器的请求及流量。
如何通过浏览器判断某个页面是否被Cloudflare的CDN进行缓存？ 在学会如何判断之前，我们要先熟悉一个CDN中常见的术语：“HIT”，中文叫做**“命中”**。我们先看下面这样演示的图片：
可见，图中对过往24小时之内的所有请求有一个统计，统计分为：命中、未命中、动态、绕过……等等状态。
【命中】状态就表示已经整网页完全被Cloudflare的CDN提供了服务； 【绕过】状态则表示直接绕过Cloudflare的CDN由源站进行服务； 【动态】状态则表示部分资源被Cloudflare的CDN缓存并服务，但混合了一些源站的请求； 【未命中】因为命中与否是一个概率问题。Cloudflare 也并不能保证在缓存规则中的所有资源都完整的命中。 **注：如果你开启了小云朵，但并未配置页面规则。**那么你的绝大多数状态都是【动态】，因为访客访问页面中的静态资源交由Cloudflare进行提供，还是有一些请求是通过源站来服务的。
接下来，我们以Chrome为示范。教大家判断一个网页在开启Cloudflare CDN之后的缓存状态到底是**【命中】亦或是【动态】**
打开接入Cloudflare的网站页面，这里以陌涛小站首页示范。 “F12” 进入“开发者工具”，点击“Network”选项卡。 “Control + F5” 刷新该页面（苹果系统请使用 Command + R），并在“Name”栏中选择“网址”。
从上图中可以看到 cf-cache-status 的值为 “HIT”，则说明该页面已经完全缓存。
其他状态解释如下： cf-cache-status:DYNAMIC （动态） 如果是“DYNAMIC”则说明，该站可能只开启了小云朵，并没有配置整站完全缓存。 cf-cache-status:BYPASS （绕过） 如果是“BYPASS”则说明，该站针对这个页面设置了绕过，不允许缓存。
Cloudflare的缓存机制 假设你的站点有 www.renao.org/1.html 和 www.renao.org/2.html 两个页面。
当访客A 访问1.html这个页面的时候，首先会经由Cloudflare，这个时候你的页面规则就起作用了。 Cloudflare会发现，吼吼，这个站有个1.html 我给它缓存下来，并且转发给A。
当访客B 在Edge Cache过期时间之前，重复访问1.html的时候。 Cloudflare会思考一下。哈哈哈，这个1.html我有。不用麻烦源站了。我直接给到B就可以了。
这就是所谓的命中率，如果这个页面被完全命中，那么B访问1.html虽然得到了网页，但是是由Cloudflare直接提供的。你的源站甚至连客户的IP都统计不到。
但是，2.html 这个页面在你的规则建立开始时从未有任何访客访问过。那么Cloudflare也不知道这个页面的存在，也不会缓存。除非等到真的有人访问过，Cloudflare才会发现，并对其进行缓存。
好了，冗长的理论知识讲完了，我们来进行实战。 这里以Wordpress源站举例，来详细讲解如何设置页面规则才能够进行全站缓存。
一、Cloudflare 页面规则 免费版3条规则配置 由于Cloudflare免费版只提供了三条免费的规则，所以我们的想法有很多，但是真正实现起来肯定要有所取舍。下面提供了三种陌涛小站测试过的方法。根据你网站的具体情况选择即可。
在所有的规则配置中，“*”代表通配符，另外，规则注意上下排序。默认从第一条规则顺延到第二条规则，然后才是第三条规则。具体请参照以下【三种方法】的详细配置说明。
方法一、常规无人值守方法（网上流传配置方法） .imotao.xyz/wp-login .imotao.xyz/wp-admin .</description></item><item><title>新版 CloudFlare CDN 防攻击设置</title><link>https://blog.lufei.de/p/%E6%96%B0%E7%89%88-cloudflare-cdn-%E9%98%B2%E6%94%BB%E5%87%BB%E8%AE%BE%E7%BD%AE/</link><pubDate>Sat, 23 Dec 2023 06:45:21 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%96%B0%E7%89%88-cloudflare-cdn-%E9%98%B2%E6%94%BB%E5%87%BB%E8%AE%BE%E7%BD%AE/</guid><description>前段时间网站一直被攻击，然后博主扛不住了搬去了 CloudFlare 。初期因为设置问题，攻击还是透过了CloudFlare 打到了源站。后面经过多次的设置后已经可以完全阻止攻击请求了。下面给大家分享下我的设置，如果你的网站被攻击了，可以根据自己的实际情况微调修改下。
1.设置前说明 网站程序为WordPress，不同程序可能需要微调下策略。
CloudFlare免费版默认设置是针对整个域名的，如果你有其他二级域名站点，需要注意下这个策略对你其他站点有没有影响。
在你使用CloudFlare前确保你的源站IP没有暴露，否则对方可以直接指定hosts到你的源站IP，CloudFlare就形同虚设。
如果源站IP已经暴露，先把数据备份出来。开一台新服务器创建站点。
关于CloudFlare接入的基础操作这里就不讲了，比如SSL设置之类。
下面的规则自己实际使用后一定不要暴露出来，否则攻击者会针对性的进行攻击。建议自己进行规则微调。
2.策略详情 策略设置有优先级，排名靠前的优先级大于后方策略。所以说针对搜索引擎蜘蛛的策略，一定放在第一个！
2.1 waf设置 WAF策略总览
2.1.1搜索引擎蜘蛛策略 表达式：(cf.client.bot)
主要作用：CloudFlare 对于常见搜索引擎蜘蛛IP有自己的一份数据库，符合此要求的请求将会直接访问网站数据。不会经过 CloudFlare 的 WAF 策略等。避免正常蜘蛛访问被拦截。
2.1.2登录页策略 网站我们正常运行必然有访客进行注册登录，针对我们的登录页以及常见被扫描的地址，我们可以单独设置一下人机验证。
主要作用：本站是WordPress程序，所以设置了xmlrpc.php和wp-login.php地址。其他程序根据自己实际情况设置。优先级低于蜘蛛，放到第二也是为了防止有些访客挂着代理被后续的策略阻止。
2.1.3威胁分数策略 此策略是防攻击的主力策略，这一项可以阻挡90%的攻击。
[
主要作用：威胁分数大于等于2，可以阻挡90%的恶意IP。CloudFlare 默认推荐分数5实测基本给攻击全漏了进来，设置3同样有漏IP。所以根据2023年9月目前的网络来说这里建议设置为2！
rss是因为站点有很多人通过RSS进行订阅，所以针对此类请求我们不要对他进行人机验证。
这里针对RSS策略比较简单，如果攻击者知道了你的策略可能会针对性攻击，我们实际使用时可以适当变通一下。
2.1.4细化攻击策略 上一个策略是简单的通过威胁分数判断，现在这个策略则是针对漏进来的攻击IP进行针对性的过滤。
[
主要作用：首先过滤国家不等于china，因为来自国内的攻击IP极少。我们的访客绝大多数也来自china所以直接略过国家。
/feed是我们的RSS订阅地址，我们同样略过此地址。
IP源地址是我们的源站IP，针对源站IP来的请求数据我们同样略过。
URL不包含.html是因为本次攻击地址都不是.html地址，所以略过了。我网闸对于.html地址也有缓存。大家自己设置时候这一个可以删掉。
UA字段WellKnownBot，这个是当时翻策略拦截日志发现的一个UA，好像是个正常请求。所以给他过滤了。
威胁分数大于3，这里是保证整个策略不至于过于严格，只针对威胁分数大于 3 的 IP 生效。
2.1.5地区策略 [
这里一般不需要设置，我是看攻击IP有大量来自印尼的IP，网站基本也没印尼的访客，所以来自印尼的IP全部进行CAPTCHA交互式人机验证。
2.2 DDOS策略 CloudFlare针对DDOS有自己的分析策略可供我们使用。
这里CloudFlare的DDOS实际是包含我们常说的CC攻击的，七层和四层区别。
[
[
CloudFlare会分析请求是否是DDOS，对于符合的请求我们可以选择进行验证。另外规则集敏感度也可以进行调整。
这里如果你正在被攻击，可以将敏感度设置为高。实测误比较少，如果网站长期套CloudFlare，我们可以设置为中。
2.3 其他WAF设置 [
2.4 缓存设置 缓存设置好也可以帮助我们抵挡巨量的CC攻击。有些CC是很多IP随即攻击一个地址，如果我们的安全策略没有拦截到攻击。但是我们设置了缓存，那这些请求则会在CloudFlare边缘节点直接将缓存内容返回给请求。也达到了抗攻击的效果。
缓存设置是在多个位置进行的。下面大家看截图就好。
[
创建一个静态文件的缓存规则。
[
[
[</description></item><item><title>全网最新的Python爬虫教程+实战项目案例，超适合小白练手的实战项目！</title><link>https://blog.lufei.de/p/%E5%85%A8%E7%BD%91%E6%9C%80%E6%96%B0%E7%9A%84python%E7%88%AC%E8%99%AB%E6%95%99%E7%A8%8B-%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B%E8%B6%85%E9%80%82%E5%90%88%E5%B0%8F%E7%99%BD%E7%BB%83%E6%89%8B%E7%9A%84%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/</link><pubDate>Fri, 22 Dec 2023 15:49:02 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%A8%E7%BD%91%E6%9C%80%E6%96%B0%E7%9A%84python%E7%88%AC%E8%99%AB%E6%95%99%E7%A8%8B-%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE%E6%A1%88%E4%BE%8B%E8%B6%85%E9%80%82%E5%90%88%E5%B0%8F%E7%99%BD%E7%BB%83%E6%89%8B%E7%9A%84%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE/</guid><description>Python项目源码、教程、工具合集，由于经常私信受限，或者回复大家不及时，耽误大家时间，所以up主把内部链接放这里了，需要的点击自行拿走。
（需要各类安装包和秒杀源码的宝子可以添加文章下方哦）
（链接直接复制到百度/夸克网盘打开就可以获取了）
1.音乐源码
链接：https://pan.baidu.com/s/1QwEFWLGxp-PSn1E_ajaHjg?pwd=386d 提取码：386d 复制这段内容打开「百度网盘APP 即可获取」
2.小说
链接：https://pan.baidu.com/s/17_r-A95tt-FF2kvcr46-fA?pwd=g1x7 提取码：g1x7 复制这段内容打开「百度网盘APP 即可获取」
3.WiFi密码获取
链接：https://pan.baidu.com/s/1EG44DeW20YYclrcIkfiSzQ?pwd=T94p 提取码：T94p 复制这段内容打开「百度网盘APP 即可获取」
4.Python大麦抢票
链接：https://pan.baidu.com/s/19xq7wdPb327GISXUgrmSNw?pwd=32jb 提取码：32jb 复制这段内容打开「百度网盘APP 即可获取」
5.Python百度文库
链接：https://pan.baidu.com/s/1b-IpYM9H8LYQs55T23LDhg?pwd=649w 提取码：649w 复制这段内容打开「百度网盘APP 即可获取」
6.鲜花
链接：https://pan.baidu.com/s/1KPextm2UPF4rEQLzh6dtfA?pwd=7tcL 提取码：7tcL 复制这段内容打开「百度网盘APP 即可获取」
7.爱心代码
链接：https://pan.baidu.com/s/1HhpFZVWV7im1HBQxJ6SB1w?pwd=7ow1 提取码：7ow1 8.VIP视频
链接：https://pan.baidu.com/s/16t82q9llmOwtzYqa6OFN1A?pwd=1Ta4 提取码：1Ta4 9.短信源码
复制整段内容，打开最新版「夸克APP」即可获取。
链接：https://pan.quark.cn/s/b3282faf09c3
10.爬取b站视频
https://pan.baidu.com/s/1uLvILTSIkDYYIOkcQLSlpw?pwd=2hpd 提取码：2hpd 复制这段内容打开「百度网盘APP 即可获取」
11.微博爬虫
链接：https://pan.baidu.com/s/1F3Stg49dy-LX1i-rUYlGYw?pwd=y138 提取码：y138 复制这段内容打开「百度网盘APP 即可获取」
12.视频素材下载
链接：https://pan.baidu.com/s/1W_jjbTMWsEpLFDT35GrCMQ?pwd=MyC9 提取码：MyC9 复制这段内容打开「百度网盘APP 即可获取」
13.MySQL安装包
链接：https://pan.baidu.com/s/1BobuIRyqkWW_cDImFcbf5w?pwd=g356 提取码：g356 复制这段内容打开「百度网盘APP 即可获取」
14.anaconda安装包
链接：https://pan.baidu.com/s/1TLOnDZmVV5crxi4Fqy8W4A?pwd=a61m 提取码：a61m 复制这段内容打开「百度网盘APP 即可获取」
15.Vmware安装包
链接：https://pan.baidu.com/s/1ag2EaRz68fjXTFlXh2EC5A?pwd=fnc9 提取码：fnc9 复制这段内容打开「百度网盘APP 即可获取」</description></item><item><title>微力同步</title><link>https://blog.lufei.de/p/%E5%BE%AE%E5%8A%9B%E5%90%8C%E6%AD%A5/</link><pubDate>Thu, 21 Dec 2023 14:56:32 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%BE%AE%E5%8A%9B%E5%90%8C%E6%AD%A5/</guid><description>微力同步是一款可让您在多个设备上同步文件的应用程序，在您自己的机器组成的私有云上，在其中一台机器上创建，修改或删除文件会自动复制同步到其他设备。微力同步不会将您的数据上传到公有云端，而是在您自己的机器组成的私有云上互相同步交换数据。
微力同步可在台式机，笔记本电脑，智能手机，平板电脑和网络连接的外围设备之间提供安全的点对点数据同步交换。 没有中心节点存储数据文件，所有数据的传输通过AES加密传送，确保数据的安全性，所有数据都存在自己管理的机器硬盘上，安全性有了更高的保障。
Linux 自动化安装脚本 该自动安装器目前适配Centos/Debian/Ubuntu 3大主流系统，其它的使用systemd的系统应该也可以使用，暂未测试
快速安装
#(如果需要指定索引存放位置请在最后面添加-d 路径 如 -d /data/verysync) curl http://www.verysync.com/shell/verysync-linux-installer/go-installer.sh &amp;gt; go-installer.sh chmod +x go-installer.sh ./go-installer.sh 安装完成后就可以用浏览器打开 http://你的IP地址:8886 管理微力内容了
安装器参数说明
./go-installer.sh [-h] [-c] [--remove] [-p proxy] [-f] [--version vx.y.z] [-l file] [-d index location] -h, --help 显示帮助 -p, --proxy 指定代理服务器 -p socks5://127.0.0.1:1080 or -p http://127.0.0.1:3128 etc -f, --force 强制安装 --version 安装特定版本 例如 --version v0.15.11-rc2 -l, --local 从本地下载好的文件安装 需要使用绝对路径如 -l /root/verysync-linux-amd64-v0.15.12-rc1.tar.gz --remove 卸载微力同步 -c, --check 检查更新 -d --home 指定微力索引存放位置, 默认 ~/.</description></item><item><title>阿里云如何完全卸载阿里云盾（安骑士）并屏蔽阿里云盾IP</title><link>https://blog.lufei.de/p/%E9%98%BF%E9%87%8C%E4%BA%91%E5%A6%82%E4%BD%95%E5%AE%8C%E5%85%A8%E5%8D%B8%E8%BD%BD%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%BE%E5%AE%89%E9%AA%91%E5%A3%AB%E5%B9%B6%E5%B1%8F%E8%94%BD%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%BEip/</link><pubDate>Thu, 21 Dec 2023 12:44:39 +0000</pubDate><guid>https://blog.lufei.de/p/%E9%98%BF%E9%87%8C%E4%BA%91%E5%A6%82%E4%BD%95%E5%AE%8C%E5%85%A8%E5%8D%B8%E8%BD%BD%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%BE%E5%AE%89%E9%AA%91%E5%A3%AB%E5%B9%B6%E5%B1%8F%E8%94%BD%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%BEip/</guid><description>什么是阿里云盾 阿里云盾（AliYunDun），又名安骑士，是购买阿里云云产品后自带的监控云服务器/轻量应用服务器安全的产品，能够自动化实时入侵威胁检测、病毒查杀、漏洞智能修复、基线一键核查等功能，但是同时也会监控你的服务器是否有违规进程，然后就会收到阿里云警告邮件。
阿里云盾主要包括3个进程：AliYunDun、aliyun-service和AliYunDunUpdate。
如何完全卸载阿里云盾 卸载阿里云盾 远程连接到阿里云云服务器或者轻量应用服务器后，执行以下代码卸载阿里云盾：
wget http://update.aegis.aliyun.com/download/uninstall.sh chmod +x uninstall.sh ./uninstall.sh wget http://update.aegis.aliyun.com/download/quartz_uninstall.sh chmod +x quartz_uninstall.sh ./quartz_uninstall.sh 删除阿里云盾文件残留 卸载阿里云盾后，执行如下代码删除阿里云盾文件残留：
pkill aliyun-service rm -fr /etc/init.d/agentwatch /usr/sbin/aliyun-service rm -rf /usr/local/aegis* 屏蔽阿里云盾IP 最后就是屏蔽阿里云盾的IP：
iptables -I INPUT -s 140.205.201.0/28 -j DROP iptables -I INPUT -s 140.205.201.16/29 -j DROP iptables -I INPUT -s 140.205.201.32/28 -j DROP iptables -I INPUT -s 140.205.225.192/29 -j DROP iptables -I INPUT -s 140.205.225.200/30 -j DROP iptables -I INPUT -s 140.</description></item><item><title>实用网站合集</title><link>https://blog.lufei.de/p/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%AB%99%E5%90%88%E9%9B%86/</link><pubDate>Tue, 19 Dec 2023 14:07:09 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9E%E7%94%A8%E7%BD%91%E7%AB%99%E5%90%88%E9%9B%86/</guid><description>静态资源 CDN
全球都有节点
字节 cdn：https://cdn.bytedance.com 支持搜索。
七牛 cdn：https://www.staticfile.org 支持搜索。
知乎 unpkg 镜像：https://unpkg.zhimg.com 不全，不支持搜索。
360cdn：https://cdn.baomitu.com
仅中国大陆有节点
bootcdn：https://www.bootcdn.cn
75cdn：https://cdn.baomitu.com
中国大陆使用国外节点
jsDelivr：
http://fastly.jsdelivr.net
http://cdn.jsdelivr.net
http://gcore.jsdelivr.net
CDNJS：http://www.cdnjs.com
unpkg：https://www.unpkg.com
Logo 生成网站
https://www.designevo.com 可以免费下载低画质的 logo，支持自定义。
http://yeelogo.com 纯免费
去除图片背景网站 https://www.remove.bg 免费下载，抠图效果很好。</description></item><item><title>纯代码免插件优化WordPress6.3实现0sql-强化拓展</title><link>https://blog.lufei.de/p/113/</link><pubDate>Sun, 17 Dec 2023 14:47:53 +0000</pubDate><guid>https://blog.lufei.de/p/113/</guid><description>在WordPress各种优化插件、各种手段层出不穷的时代，各方大佬均在推荐各类插件，比如super cache、cache master和litespeed cache等。不过对于老白博客个人而言，就想图个清净，不喜欢插件太多，设置一大堆，复杂！所以呢，今天就掏出一个“无代码版”优化WordPress（强化拓展），再结合最新版本的WordPress6.3，轻松实现首页0sql，网站毫秒级加载。
1.batcache效果演示 演示网站：https://test.xcbtmw.com/
网站底部就能看到（未使用前首页查询次数为63）：
附带一个显示查询次数和时间的代码
&amp;lt;?php echo get_num_queries().&amp;#39;次查询，耗时&amp;#39;.timer_stop(0).&amp;#39;秒。&amp;#39;; ?&amp;gt; 2.什么是WordPress强化拓展 在本文的教程中，老白使用的是“强化拓展”，而非WordPress插件，他们二者区别如下：
强化拓展（Enhancements）：强化拓展是一种广义的术语，用于描述对系统或应用程序功能进行增强、扩展或改进的方法。它可以包括各种形式的修改、添加、优化或增强，以提供更多功能、性能或用户体验的改善。在WordPress中，强化拓展可以指代各种方法，如代码片段、自定义功能、主题模板修改等，用于对WordPress进行定制和增强。 插件（Plugins）：插件是一种特定的软件组件，用于在现有系统或应用程序中添加额外的功能或特性。在WordPress中，插件通常是以独立的文件形式存在的，可以通过后台管理界面直接安装和启用。插件提供了一种简单的方式来扩展WordPress的功能，而无需直接修改核心代码。它们可以实现各种功能，如社交媒体分享、SEO优化、表单创建、安全增强等。 强化拓展是一个更宽泛的概念，可以包括各种形式的增强和定制，而插件则是一种特定的软件组件，通过添加额外的功能来扩展现有系统。插件是实现强化拓展的一种常见方式。
3.batcache+mem强化拓展 此处借用果酱大佬的原话介绍batcache和memcached的关系
WordPress 启用 Memcached 这样的内存缓存之后，每次访问 WordPress 页面，都要从内存中获取多个缓存对象。
而 Batcache 主要就是解决这个问题，它是基于 Memcached 的 WordPress 缓存插件，它的工作原理是：把当前整个页面作为一个对象缓存到内存中，这样再次访问 WordPress 页面的时候，直接获从内存中获取这个对象即可，速度极快。
从果酱大佬的描述中我们可以发现：batcache+memcached是一种非常不错的WordPress优化手段，接下来老白跟大家分享下如何无插件开启
3.1 PHP安装memcached拓展 以宝塔面板为例，打开软件商店，PHP安装拓展，勾选即可（老白推荐安装opcache+memcached）
3.2 batcache+mem强化拓展下载 下载文件（batcache和memcached均来自于官方插件，大家也可以自行下载）
batcache+mem下载：https://qtrj.lanzoul.com/i6nSD18cy6eb
然后放到WordPress的/wp-content目录下，比如老白博客的：
/www.xcbtmw.com/wp-content 3.3 激活使用batcache+mem 把上述文件放到对应目录后，还需要在WordPress根目录的wp-config.php进行下面的设置，不然会报错
//设置缓存头，这里testxcbtmw可以随意设置-https://www.xcbtmw.com/29717.html define(&amp;#39;WP_CACHE_KEY_SALT&amp;#39;, &amp;#39;testxcbtmw&amp;#39;); //激活memcached define(&amp;#39;ENABLE_CACHE&amp;#39;, true); //激活batcache define(&amp;#39;WP_CACHE&amp;#39;, true); 3.4 batcache缓存设置 编辑batcache的advanced-cache.php文件进行设置
var $max_age = 300; // 缓存过期时间(0表示禁用batcache) var $remote = 0; // 禁止向远程数据中心发送缓冲区(从不发送req/sec) var $times = 2; // 一个页面被访问了多少次之后进行缓存(两个或两个以上) var $seconds = 0; // …在这么多秒内(0表示忽略它，立即使用batcache) var $group = &amp;#39;batcache&amp;#39;; // memcached组的名称。您可以通过更改此选项来模拟缓存刷新。 var $unique = array(); // 如果您有条件地提供不同的内容，请将变量值放在这里。 var $vary = array(); // 函数数组，用于create_function。返回值被添加到上面的$unique中。 var $headers = array(); // 在这里添加头作为name=&amp;gt;值或name=&amp;gt;数组(值)。这些将与缓存中的每个响应一起发送。 var $cache_redirects = false; // 设置true启用重定向缓存。 var $redirect_status = false; // 这将在重定向期间设置为响应代码。 var $redirect_location = false; // 这被设置为重定向位置。 var $use_stale = true; // 更新缓存时是否可以返回过期的缓存响应?</description></item><item><title>wordpress无需插件实现页面缓存静态化，提效显著</title><link>https://blog.lufei.de/p/wordpress%E6%97%A0%E9%9C%80%E6%8F%92%E4%BB%B6%E5%AE%9E%E7%8E%B0%E9%A1%B5%E9%9D%A2%E7%BC%93%E5%AD%98%E9%9D%99%E6%80%81%E5%8C%96%E6%8F%90%E6%95%88%E6%98%BE%E8%91%97/</link><pubDate>Sun, 17 Dec 2023 07:14:08 +0000</pubDate><guid>https://blog.lufei.de/p/wordpress%E6%97%A0%E9%9C%80%E6%8F%92%E4%BB%B6%E5%AE%9E%E7%8E%B0%E9%A1%B5%E9%9D%A2%E7%BC%93%E5%AD%98%E9%9D%99%E6%80%81%E5%8C%96%E6%8F%90%E6%95%88%E6%98%BE%E8%91%97/</guid><description>wordpress使用了大量插件，发表了很多文章图片以后速度直线下降，就像蜗牛爬一样慢！
各位wordpress站长普遍采用的是wordpress缓存插件，如WP Super Cache或者Hyper Cache之类的，这些插件对wordpress有着非常明显的加速优化效果，该插件的Mod_rewrite加速模式加速效果非常好，因为这种模式是直接将网站的页面生成静态的html页面，然后使用Mod_rewrite将请求转发到静态文件，这样就跳过了php解析这一步直接将页面吐出到浏览器，从而达到加速的效果。但是这是使用插件实现缓存效果，那么可否无插件实现wordpress页面静态化呢？
答案是能，下面将告诉大家操作方法，首先复制以下代码：
&amp;lt;?php define(&amp;#39;CACHE_ROOT&amp;#39;, dirname(__FILE__).&amp;#39;/cache&amp;#39;); define(&amp;#39;CACHE_LIFE&amp;#39;, 86400); //缓存文件的生命期，单位秒，86400秒是一天 define(&amp;#39;CACHE_SUFFIX&amp;#39;,&amp;#39;.html&amp;#39;); //缓存文件的扩展名，千万别用 .php .asp .jsp .pl 等等 $file_name = md5($_SERVER[&amp;#39;REQUEST_URI&amp;#39;]).CACHE_SUFFIX; //缓存文件名 //缓存目录，根据md5的前两位把缓存文件分散开。避免文件过多。如果有必要，可以用第三四位为名，再加一层目录。 //256个目录每个目录1000个文件的话，就是25万个页面。两层目录的话就是65536*1000=六千五百万。 //不要让单个目录多于1000，以免影响性能。 $cache_dir = CACHE_ROOT.&amp;#39;/&amp;#39;.substr($file_name,0,2); $cache_file = $cache_dir.&amp;#39;/&amp;#39;.$file_name; //缓存文件存放路径 if($_SERVER[&amp;#39;REQUEST_METHOD&amp;#39;]==&amp;#39;GET&amp;#39;){ //GET方式请求才缓存，POST之后一般都希望看到最新的结果 if(file_exists($cache_file) &amp;amp;&amp;amp; time() - filemtime($cache_file) &amp;lt; CACHE_LIFE){ //如果缓存文件存在，并且没有过期，就把它读出来。 $fp = fopen($cache_file,&amp;#39;rb&amp;#39;); fpassthru($fp); fclose($fp); exit(); } elseif(!file_exists($cache_dir)){ if(!file_exists(CACHE_ROOT)){ mkdir(CACHE_ROOT,0777); chmod(CACHE_ROOT,0777); } mkdir($cache_dir,0777); chmod($cache_dir,0777); } function auto_cache($contents){ //回调函数，当程序结束时自动调用此函数 global $cache_file; $fp = fopen($cache_file,&amp;#39;wb&amp;#39;); fwrite($fp,$contents); fclose($fp); chmod($cache_file,0777); clean_old_cache(); //生成新缓存的同时，自动删除所有的老缓存。以节约空间。 return $contents; } function clean_old_cache(){ chdir(CACHE_ROOT); foreach (glob(&amp;#34;*/*&amp;#34;.</description></item><item><title>日主题绕过授权破解</title><link>https://blog.lufei.de/p/%E6%97%A5%E4%B8%BB%E9%A2%98%E7%BB%95%E8%BF%87%E6%8E%88%E6%9D%83%E7%A0%B4%E8%A7%A3/</link><pubDate>Thu, 14 Dec 2023 20:56:20 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%97%A5%E4%B8%BB%E9%A2%98%E7%BB%95%E8%BF%87%E6%8E%88%E6%9D%83%E7%A0%B4%E8%A7%A3/</guid><description> 步骤 操作 1. 创建一个网站，绑定 ritheme.com 域名，并开启 SSL（随便找个域名的证书就行），上传以下源码： https://wwsj.lanzout.com/b028fzepa 密码: bx7r 2. 刚才源码中的 keygen.php 上传到任意地方，访问后，生成授权码和 token。 3. 在 wp 服务器修改 hosts 指向该授权服务器 IP。如果是在同一个服务器搭建的，修改 /etc/hosts，加上这一行： 127.0.0.1 ritheme.com 4. 使用生成的授权码激活。 注 资源来自于网上，与本站无关，本站只做收集。</description></item><item><title>免翻墙注册chatgpt账号,国内直连chatgpt一站式解决方案</title><link>https://blog.lufei.de/p/%E5%85%8D%E7%BF%BB%E5%A2%99%E6%B3%A8%E5%86%8Cchatgpt%E8%B4%A6%E5%8F%B7%E5%9B%BD%E5%86%85%E7%9B%B4%E8%BF%9Echatgpt%E4%B8%80%E7%AB%99%E5%BC%8F%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</link><pubDate>Mon, 11 Dec 2023 15:02:46 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E7%BF%BB%E5%A2%99%E6%B3%A8%E5%86%8Cchatgpt%E8%B4%A6%E5%8F%B7%E5%9B%BD%E5%86%85%E7%9B%B4%E8%BF%9Echatgpt%E4%B8%80%E7%AB%99%E5%BC%8F%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</guid><description>相关链接 项目地址：https://github.com/pandora-next/deploy
项目文档：https://fakeopen.org/PandoraNext
官方获取Access Token和Session Token：https://chat.openai.com/api/auth/session
获取Access Token和Session Token：https://ai.fakeopen.com/auth
生成Share Token：https://ai.fakeopen.com/token
生成Pool Token：https://ai.fakeopen.com/pool
第三方WebUI：https://github.com/Yidadaa/ChatGPT-Next-Web
使用Web模式 免费账号共享池：https://baipiao.io/chatgpt
官方演示地址一：https://chat.oaifree.com
官方演示地址二：https://chat1.zhile.io
别人搭建的网址：https://fofa.info/result?qbase64=Ym9keT0iQ29udGludWUgd2l0aCBBY2Nlc3MgVG9rZW4iICYmIHRpdGxlPSJQYW5kb3JhTmV4dCIgJiYgY291bnRyeT0iQ04i</description></item><item><title>PayPal 注册与提现以及万里汇虚拟外币卡</title><link>https://blog.lufei.de/p/paypal-%E6%B3%A8%E5%86%8C%E4%B8%8E%E6%8F%90%E7%8E%B0%E4%BB%A5%E5%8F%8A%E4%B8%87%E9%87%8C%E6%B1%87%E8%99%9A%E6%8B%9F%E5%A4%96%E5%B8%81%E5%8D%A1/</link><pubDate>Mon, 11 Dec 2023 14:32:02 +0000</pubDate><guid>https://blog.lufei.de/p/paypal-%E6%B3%A8%E5%86%8C%E4%B8%8E%E6%8F%90%E7%8E%B0%E4%BB%A5%E5%8F%8A%E4%B8%87%E9%87%8C%E6%B1%87%E8%99%9A%E6%8B%9F%E5%A4%96%E5%B8%81%E5%8D%A1/</guid><description>准备工作：一张国内四大行的I类卡（一个银行一个人只能办一张）或者申请一张外币信用卡（建议招行），==本次以招行为例作为演示==
中国大陆手续费：【点击进入】 香港地区手续费：【点击进入】
1、注册香港paypal账户，参考视频：【点击进入】
记录下PayPal商家号
后续国外的款项用此账户作为收款账号
2、注册并设置万里汇账户：【点击进入】（==注：如果要删除店铺收款账号，提供需要关闭的货币账户币种以及收款账号（或尾号）到此邮箱，进行人工删除：mscn@service.worldfirst.com====）==
设置收款人管理——搜索招行——点击客服——点击个人业务——输入：境外汇入路径——把对应的BIC、收款行、前面准备好的卡号填写进来
设置店铺/收款管理——新增店铺收款账户——选择其他电商平台——选择Google Shopping——自定义一个店铺名称——点击申请——申请完成后，不要直接添加信息——再次点击店铺/收款管理——点击补充信息——填写完成后保存
再次点击店铺/收款管理——找到刚添加的账号，点击进去——点击查看账户详情——回到paypal——点击关联卡或银行账户——点击关联银行账户——点击关联美国或中国香港特别行政区的银行账户——选择香港——点击下一页——然后把账户详情里面的相关信息添加进来——完成后，点击关联您的银行账户
3、前面的流程操作完成后，具体收款流程如下：
用paypal账户进行收款——paypal收到款项后——然后把款项提现到万里汇支票账户——万里汇的支票账户收到后（一般要几个工作日）——在万里汇首页点击提款——选择前面添加的美元账户——银行收到钱后——在手机APP掌上生活上搜索：溢缴款领回——选择美元——输入领回金额——选择收款账户/借记卡
这里有三个情况需要注意的：1、如果是自己在APP上操作是不需要手续费的，如果需要人工帮忙划转，是需要收取一定的手续费的；2、如果是外币信用卡需要人工划转；3、目前了解到I类卡是支持全币种的，收款是没问题的（招行）</description></item><item><title>免费 FRP 内网穿透服务</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9-frp-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E6%9C%8D%E5%8A%A1/</link><pubDate>Sun, 10 Dec 2023 07:18:31 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9-frp-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E6%9C%8D%E5%8A%A1/</guid><description>建议访问官方 Github 项目来查阅文档,可以使用更多本文没有提到的参数来提高穿透服务器的安全性和效率.
地址：https://freefrp.net/</description></item><item><title>小雅网盘</title><link>https://blog.lufei.de/p/%E5%B0%8F%E9%9B%85%E7%BD%91%E7%9B%98/</link><pubDate>Sat, 09 Dec 2023 23:40:57 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%B0%8F%E9%9B%85%E7%BD%91%E7%9B%98/</guid><description>小雅网盘（基于alist） 网址：https://alist.xiaoya.pro/
alist文档：https://alist.nn.ci/zh//
小雅文档： https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f
终端安装命令，端口 5678
bash -c &amp;#34;$(curl http://docker.xiaoya.pro/update_new.sh)&amp;#34; 或者 端口 6789
bash -c &amp;#34;$(curl http://docker.xiaoya.pro/update_new.sh)&amp;#34; -s host 阿里token获取地址：https://aliyuntoken.vercel.app/
阿里opentoken地址：https://alist.nn.ci/tool/aliyundrive/request.html
转存文件夹ID：网页版阿里云，进转存文件夹，地址栏内最后64开头的数字
创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
定时清理缓存 可以不加-tg
模式3：创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
bash -c &amp;#34;$(curl -s https://xiaoyahelper.zengge99.eu.org/aliyun_clear.sh | tail -n +2)&amp;#34; -s 3 -tg 模式5：与模式3的区别是实时清理，只要产生了播放缓存一分钟内立即清理。签到和定时升级同模式3
bash -c &amp;#34;$(curl -s https://xiaoyahelper.zengge99.eu.org/aliyun_clear.sh | tail -n +2)&amp;#34; -s 5 -tg 套娃挂载： 输入命令，获取令牌
docker exec -i xiaoya sqlite3 data/data.db &amp;lt;&amp;lt;EOF select value from x_setting_items where key = &amp;#34;token&amp;#34;; EOF 挂载 ：alist v3 输入令牌 输入链接 注意docker名称</description></item><item><title>宝塔面板v7.7.0 Github纯净版 优化脚本 手动解锁插件</title><link>https://blog.lufei.de/p/bt/</link><pubDate>Sat, 09 Dec 2023 19:06:24 +0000</pubDate><guid>https://blog.lufei.de/p/bt/</guid><description>相关介绍 目前最实用的宝塔7.7.0系列，本地安装纯净版本，并去除了强制绑定帐号、自动创建垃圾文件、活动推荐、在线客服，去除面板日志与网站绑定域名、手动解锁所有付费插件等等。
一、宝塔面板7.7原版 curl -sSO https://raw.githubusercontent.com/zhucaidan/btpanel-v7.7.0/main/install/install_panel.sh &amp;amp;&amp;amp; bash install_panel.sh 二、一键破解脚本 curl -sSO https://raw.githubusercontent.com/ztkink/bthappy/main/one_key_happy.sh &amp;amp;&amp;amp; bash one_key_happy.sh 三、彩虹优化补丁 （不建议安装） （不建议安装，可能在使用一键迁移的时候出错）
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/optimize.sh &amp;amp;&amp;amp; chmod +x optimize.sh &amp;amp;&amp;amp; ./optimize.sh 1.去除宝塔面板强制绑定账号；
2.去除各种删除操作时的计算题与延时等待；
3.去除创建网站自动创建的垃圾文件（index.html、404.html、.htaccess）
4.关闭未绑定域名提示页面，防止有人访问未绑定域名直接看出来是用的宝塔面板；
5.关闭活动推荐与在线客服；
6.去除自动校验文件与上报信息定时任务；
7.去除面板日志与网站绑定域名上报。
四、去后门 sudo echo &amp;#34;&amp;#34; &amp;gt; /www/server/panel/script/site_task.py sudo chattr +i /www/server/panel/script/site_task.py sudo rm -rf /www/server/panel/logs/request/* sudo chattr +i -R /www/server/panel/logs/request 宝塔面板linux版修改底部版权 第一步：登录宝塔面板
第二步：点击左边的文件菜单
第三步：在www目录下查找layout.html文件
第四步：编辑layout.html文件的第85行，用自定义的名字替换‘{{session[‘brand’]}}{{session[‘product’]}}’这个字符串。
第五步：修改后，重启面板。
手动破解 先登录面板，然后破解，去除登陆需要绑定账号：
rm -f /www/server/panel/data/bind.pl 手动解锁宝塔所有付费插件为永不过期
sed -i &amp;#39;s/&amp;#34;endtime&amp;#34;: -1/&amp;#34;endtime&amp;#34;: 999999999999/g&amp;#39; /www/server/panel/data/plugin.</description></item><item><title>GitHub图床加速</title><link>https://blog.lufei.de/p/github%E5%9B%BE%E5%BA%8A%E5%8A%A0%E9%80%9F/</link><pubDate>Thu, 07 Dec 2023 13:07:15 +0000</pubDate><guid>https://blog.lufei.de/p/github%E5%9B%BE%E5%BA%8A%E5%8A%A0%E9%80%9F/</guid><description>Github图床使用 网络上关于GitHub+Jsdelivr实现图床加速的文章很多，但是年代久远，加上Jsdelivr早就被和谐了，所以本人重新整理一下，目前还能使用，无需科学上网的就能加速图片的方法。
方法1：Jsdelivr镜像站 https://jsd.cdn.zzko.cn （公益）
方法2：通过Cloudflare Workers实现反代
即使镜像站点跑路了，Cloudflare还在，速度慢点
以上方法都要配合PicGo或者PicList使用，本人使用的是PicList
配合图床工具: PicList
PicList 是一款基于PicGo 深度二次开发,云储存/图床管理和文件上传客户端工具
完美兼容PicGo
官网: https://piclist.cn
1.通过Cloudflare Workers实现反代 addEventListener( &amp;#34;fetch&amp;#34;,event =&amp;gt; { let url=new URL(event.request.url); url.hostname=&amp;#34;raw.githubusercontent.com&amp;#34;; //反代github域名 let request=new Request(url,event.request); event. respondWith( fetch(request) ) } ) 具体教程网上很多，需要你在Cloudflare有域名
2.配合PicList 请替换为你自己的仓库名 以及分支，准备好token
反代图
下图为镜像站 仓库名: woniu336/blog-image 分支: main 存储路径: img/ 自定义域名1(镜像站) : https://jsd.cdn.zzko.cn/gh/woniu336/blog-image@main 自定义域名2(CF反代) : https://github.leshans.eu.org/woniu336/blog-image/main 自定义域名格式: https://cdn.jsdelivr.net/gh/用户名/仓库名@分支 图片测试:</description></item><item><title>WordPress网站更改后台登录地址保姆级图文教程</title><link>https://blog.lufei.de/p/wordpress%E7%BD%91%E7%AB%99%E6%9B%B4%E6%94%B9%E5%90%8E%E5%8F%B0%E7%99%BB%E5%BD%95%E5%9C%B0%E5%9D%80%E4%BF%9D%E5%A7%86%E7%BA%A7%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B/</link><pubDate>Wed, 06 Dec 2023 16:45:27 +0000</pubDate><guid>https://blog.lufei.de/p/wordpress%E7%BD%91%E7%AB%99%E6%9B%B4%E6%94%B9%E5%90%8E%E5%8F%B0%E7%99%BB%E5%BD%95%E5%9C%B0%E5%9D%80%E4%BF%9D%E5%A7%86%E7%BA%A7%E5%9B%BE%E6%96%87%E6%95%99%E7%A8%8B/</guid><description>背景 WordPress系统默认的后台地址是 域名/wp-admin 或域名/wp-login.php
这就意味着所有用WordPress的人都可以用这个地址打开你的后台登录页面，很明显谁都知道这很不安全。那么如何更改Wordpress的后台登录地址呢？
引入 搜了好多帖子，方式主要有两种，一种是使用插件，这种方法比较快。但是网上提供插件居多，我安装测试的插件没几个是最后成功的。第二种是直接修改代码文件，最后决定用这种方式。这里以宝塔面板为例，把图文过程写下来，大家参考下。
第一步： 打开WordPress所在的目录，找到 WordPress 目录下的 wp-login.php，这个文件是我们后台登录的地址，把它重命名成别的，例如：admin.php ，这就意味着你可以通过 http://域名/admin.php 的方式来访问后台。 但是这还不够，我们打开刚才重命名的文件，把里面所有的 wp-login 替换成 admin ，这样第一步完成。
第二步： 打开 WordPress 目录下 wp-includes ，找到其目录内的 general-template.php 文件，打开文件，把里面所有的 wp-login 全部替换成 admin 第三步： 打开文件 general-template.php ，点击搜索变量 $login_url
$login_url 将site_url 里面第一个参数改成 index.php ，如下
$login_url = site_url( 'index.php', 'login' );
其中 index.php 可以换成别的，保存默认的 wp-login 也可以，这行的意思是定义当有人通过 http:// 域名 /wp-admin/ 地址访问网站时或者直接访问后台某个地址时进行跳转到 site_url() 设置的地址内，所以防止别人探索你的地址。
END 以后要登录后台，就可以通过 http://域名/admin.php 访问了。
一键脚本：
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/wp.sh &amp;amp;&amp;amp; chmod +x wp.</description></item><item><title>WebShell扫描检测查杀工具</title><link>https://blog.lufei.de/p/webshell%E6%89%AB%E6%8F%8F%E6%A3%80%E6%B5%8B%E6%9F%A5%E6%9D%80%E5%B7%A5%E5%85%B7/</link><pubDate>Tue, 05 Dec 2023 17:34:55 +0000</pubDate><guid>https://blog.lufei.de/p/webshell%E6%89%AB%E6%8F%8F%E6%A3%80%E6%B5%8B%E6%9F%A5%E6%9D%80%E5%B7%A5%E5%85%B7/</guid><description>webshell是一种可以在web服务器上执行后台脚本或者命令的后门，黑客通过入侵网站上传webshell后获得服务器的执行操作权限，比如执行系统命令、窃取用户数据、删除web页面、修改主页等，其危害不言而喻。而WebShell扫描检测工具可辅助查出该后门。
WebShell扫描工具适用
网上下载的源码 特定文件检测是否是木马 检测目标程序或文件是否存在后门 免杀检测识别率测试 1.河马查杀 在线查杀地址：https://n.shellpub.com/
windows版：
https://dl.shellpub.com/hm-ui/latest/HmSetup.zip?version=1.8.2
linux-amd64版：
https://dl.shellpub.com/hm/latest/hm-linux-amd64.tgz?version=1.8.3
linux-386版：
https://dl.shellpub.com/hm/latest/hm-linux-386.tgz?version=1.8.3</description></item><item><title>玩客云刷Openwrt</title><link>https://blog.lufei.de/p/%E7%8E%A9%E5%AE%A2%E4%BA%91%E5%88%B7openwrt/</link><pubDate>Sat, 02 Dec 2023 04:06:43 +0000</pubDate><guid>https://blog.lufei.de/p/%E7%8E%A9%E5%AE%A2%E4%BA%91%E5%88%B7openwrt/</guid><description>玩客云Openwrt固件 玩客云固件：链接: https://pan.baidu.com/s/1q3gVWrsVoRiS2m3VKoqgoQ?pwd=p8ic 提取码: p8ic ip:10.0.0.1密码:root
小雅网盘（基于alist） 网址：https://alist.xiaoya.pro/
文档： https://xiaoyaliu.notion.site/xiaoya-docker-69404af849504fa5bcf9f2dd5ecaa75f
终端安装命令，端口 5678
bash -c &amp;#34;$(curl http://docker.xiaoya.pro/update_new.sh)&amp;#34; 或者 端口 6789
bash -c &amp;#34;$(curl http://docker.xiaoya.pro/update_new.sh)&amp;#34; -s host 阿里token获取地址：https://aliyuntoken.vercel.app/
阿里opentoken地址：https://alist.nn.ci/tool/aliyundrive/request.html
转存文件夹ID：网页版阿里云，进转存文件夹，地址栏内最后64开头的数字
创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
定时清理缓存 模式3：创建一个名为 xiaoyakeeper 的docker定时运行小雅转存清理并升级小雅镜像
bash -c &amp;#34;$(curl -s https://xiaoyahelper.zengge99.eu.org/aliyun_clear.sh | tail -n +2)&amp;#34; -s 3 -tg 模式5：与模式3的区别是实时清理，只要产生了播放缓存一分钟内立即清理。签到和定时升级同模式3
bash -c &amp;#34;$(curl -s https://xiaoyahelper.zengge99.eu.org/aliyun_clear.sh | tail -n +2)&amp;#34; -s 5 -tg 内容描述：
执行时机和清理缓存的操作是完全相同的。
可以通过手动创建/etc/xiaoya/mycheckintoken.txt文件来定义多个网盘签到的32位refresh token，每行一个。若不添加文件，则使用默认小雅转存的网盘签到。
自动刷新/etc/xiaoya/mycheckintoken.txt和/etc/xiaoya/mytoken.txt文件，这有可能延长refresh token的时效，具体效果需要观察。
定时运行模式包括：
默认每天从运行脚本的下一分钟开始执行。 运行时间可以通过手动创建/etc/xiaoya/myruntime.txt文件进行修改，例如06:00和18:00表示每天早晚6点各运行一次。 自动升级的说明：</description></item><item><title>XShell 7和XFTP 7 家庭或学校免费版移除标签限制</title><link>https://blog.lufei.de/p/xshell-7%E5%92%8Cxftp-7-%E5%AE%B6%E5%BA%AD%E6%88%96%E5%AD%A6%E6%A0%A1%E5%85%8D%E8%B4%B9%E7%89%88%E7%A7%BB%E9%99%A4%E6%A0%87%E7%AD%BE%E9%99%90%E5%88%B6/</link><pubDate>Thu, 30 Nov 2023 04:09:50 +0000</pubDate><guid>https://blog.lufei.de/p/xshell-7%E5%92%8Cxftp-7-%E5%AE%B6%E5%BA%AD%E6%88%96%E5%AD%A6%E6%A0%A1%E5%85%8D%E8%B4%B9%E7%89%88%E7%A7%BB%E9%99%A4%E6%A0%87%E7%AD%BE%E9%99%90%E5%88%B6/</guid><description>更新：从 2022/02/16 开始，我们的免费许可证的标签限制已被删除。所有免费用户现在都可以通过下载下面的最新版本来访问无限的标签。当前用户必须下载最新版本并在现有安装上进行安装。
申请地址：https://www.xshell.com/zh/free-for-home-school/</description></item><item><title>X99一键鸡血工具更新了!!</title><link>https://blog.lufei.de/p/x99%E4%B8%80%E9%94%AE%E9%B8%A1%E8%A1%80%E5%B7%A5%E5%85%B7%E6%9B%B4%E6%96%B0%E4%BA%86/</link><pubDate>Tue, 28 Nov 2023 19:30:06 +0000</pubDate><guid>https://blog.lufei.de/p/x99%E4%B8%80%E9%94%AE%E9%B8%A1%E8%A1%80%E5%B7%A5%E5%85%B7%E6%9B%B4%E6%96%B0%E4%BA%86/</guid><description>提取bios出错？鸡血后不开机？亲测鸡血后巨稳定有想法的可以壮胆冲啊…至强万岁E5万岁
https://wwcb.lanzouw.com/i5YWS1e0pcmf
密码:TLDGJ</description></item><item><title>PandoraNext项目私有化部署教程</title><link>https://blog.lufei.de/p/pandoranext%E9%A1%B9%E7%9B%AE%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</link><pubDate>Mon, 27 Nov 2023 05:39:19 +0000</pubDate><guid>https://blog.lufei.de/p/pandoranext%E9%A1%B9%E7%9B%AE%E7%A7%81%E6%9C%89%E5%8C%96%E9%83%A8%E7%BD%B2%E6%95%99%E7%A8%8B/</guid><description>前言 项目地址: https://github.com/pandora-next/deploy
由于之前的潘多拉项目已经凉凉了，所以今天给大家出个PandoraNext项目的搭建教程
简介 Pandora Cloud + Pandora Server + Shared Chat = PandoraNext 支持GPTs，最新UI , 支持多种登录方式：（相当于Pandora Cloud）
可内置tokens，支持设置密码。（相当于Pandora Server）
demo https://pdn.ywsj.gq/
准备条件
1）一台服务器
需要便宜VPS的可以参考这个
https://www.zhujiceping.com/vps
2）此项目的github
https://github.com/pandora-next/deploy
3）获取license_id
这里需要一个github账号 这个账号注册天数需要大于180天用来授权
教程开始 前提是要安装docker,一键安装docker脚本:
curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose PandoraNext一键脚本:
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/pandoranext.sh &amp;amp;&amp;amp; chmod +x pandoranext.sh &amp;amp;&amp;amp; ./pandoranext.sh 访问这个网页https://dash.pandoranext.com
登录github账号获取license_id
安装成功以后ip加端口进入web页面 http://ip:8181 端口: 8181
可以用账号密码登录或者用Access Token登录
如果你是gpt4.0也是可以直接使用的 五、更新网站</description></item><item><title>amh7.0安装苹果cms的一些坑和注意事项</title><link>https://blog.lufei.de/p/amh7.0%E5%AE%89%E8%A3%85%E8%8B%B9%E6%9E%9Ccms%E7%9A%84%E4%B8%80%E4%BA%9B%E5%9D%91%E5%92%8C%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/</link><pubDate>Sun, 26 Nov 2023 17:52:09 +0000</pubDate><guid>https://blog.lufei.de/p/amh7.0%E5%AE%89%E8%A3%85%E8%8B%B9%E6%9E%9Ccms%E7%9A%84%E4%B8%80%E4%BA%9B%E5%9D%91%E5%92%8C%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/</guid><description>1.数据库导入的问题 ①先上传到备份目录，在解压，然后在导入 ②数据库设置那里要启用远程开启 2.任务计划 ①注意时区 3.数据库同步 ①记得打开数据库二进制 4.一键还原 ① 注意需要相同的环境组件
5.安装memcached注意事项
php需安装 bcmath 扩展
总结: 操作 注意事项 数据库导入 上传备份至目标目录并解压，启用远程访问。 任务计划 注意时区设置。 数据库同步 打开数据库的二进制日志功能。 一键还原 确保还原环境具有相同的组件。 安装 Memcached PHP需安装bcmath扩展。</description></item><item><title>靠谱的国外短信接收平台</title><link>https://blog.lufei.de/p/%E9%9D%A0%E8%B0%B1%E7%9A%84%E5%9B%BD%E5%A4%96%E7%9F%AD%E4%BF%A1%E6%8E%A5%E6%94%B6%E5%B9%B3%E5%8F%B0/</link><pubDate>Sun, 26 Nov 2023 15:21:23 +0000</pubDate><guid>https://blog.lufei.de/p/%E9%9D%A0%E8%B0%B1%E7%9A%84%E5%9B%BD%E5%A4%96%E7%9F%AD%E4%BF%A1%E6%8E%A5%E6%94%B6%E5%B9%B3%E5%8F%B0/</guid><description>国外短信接收平台: https://sms-activate.org/cn
优点
180 多个国家/地区 — 我们不断扩大我们的地理范围
700 多个站点和应用程序的编号，以及其他服务的“任何其他”选项
通过 SMS、 号码或来自机器人的电话验证帐户
通过电子钱包方便地充值，
通过银行卡或加密货币
老客户折扣和批发价
Favorable affiliate program—邀请短信激活并赚取
开发注册软件？我们将提供 API 和良好的条件！
通过电子邮件验证。临时邮寄地址从 0.03 卢布起。用于快速、安全的注册。</description></item><item><title>逆天！AI 的下一个爆款项目，不想失业一定要提前知道！！</title><link>https://blog.lufei.de/p/%E9%80%86%E5%A4%A9ai-%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%88%86%E6%AC%BE%E9%A1%B9%E7%9B%AE%E4%B8%8D%E6%83%B3%E5%A4%B1%E4%B8%9A%E4%B8%80%E5%AE%9A%E8%A6%81%E6%8F%90%E5%89%8D%E7%9F%A5%E9%81%93/</link><pubDate>Sun, 26 Nov 2023 15:12:34 +0000</pubDate><guid>https://blog.lufei.de/p/%E9%80%86%E5%A4%A9ai-%E7%9A%84%E4%B8%8B%E4%B8%80%E4%B8%AA%E7%88%86%E6%AC%BE%E9%A1%B9%E7%9B%AE%E4%B8%8D%E6%83%B3%E5%A4%B1%E4%B8%9A%E4%B8%80%E5%AE%9A%E8%A6%81%E6%8F%90%E5%89%8D%E7%9F%A5%E9%81%93/</guid><description>1: Stable Video Diffusion ：GPT4 后的下一个曝款AI视频项目 加入等候名单：【点击前往】
开源项目：【链接地址】
现在，你可以基于原有的静止图像来生成一段几秒钟的视频。
基于 Stability AI 原有的 Stable Diffusion 文生图模型，Stable Video Diffusion 成为了开源或已商业行列中为数不多的==视频生成==模型之一。
2.像魔法一样的AI图像升级、增强器！提升图片画质只需1秒 最先进的人工智能技术可实现疯狂的高分辨率升级。不仅高档，更提升！Magnific 可以在您自己的提示和参数的指导下，产生幻觉并重新想象尽可能多的细节！
加入等候名单：【点击前往】
3.Claude 2.1 升级后，可轻松处理20W指令， 准确率提升30% Claude 2.1 升级后，可轻松处理20W指令。虽然很高兴能够将这一强大的新功能交到用户手中，但通常需要几个小时的人力才能完成的任务可能需要 Claude 几分钟的时间。我们预计随着技术的进步，延迟将大幅减少。
幻觉率降低 2 倍
Claude 2.1 在诚实方面也取得了显着进步，与我们之前的 Claude 2.0 模型相比，虚假陈述减少了 2 倍。这使企业能够构建高性能的人工智能应用程序，解决具体的业务问题，并以更高的信任度和可靠性在其运营中部署人工智能。
我们通过设计大量复杂的事实问题来探究当前模型中已知的弱点，从而测试了 Claude 2.1 的诚实性。使用区分错误说法（“玻利维亚人口第五多的城市是蒙特罗”）和承认不确定性（“我不确定玻利维亚人口第五多的城市是什么”）的标题，Claude 2.1 更有可能提出异议而不是提供不正确的信息。
官方链接：https://www.anthropic.com/index/claude-2-1
主页: https://claude.ai/chats
国外短信接收平台: https://sms-activate.org/cn</description></item><item><title>portainer-ce中文纯净版</title><link>https://blog.lufei.de/p/portainer-ce%E4%B8%AD%E6%96%87%E7%BA%AF%E5%87%80%E7%89%88/</link><pubDate>Sun, 26 Nov 2023 08:17:17 +0000</pubDate><guid>https://blog.lufei.de/p/portainer-ce%E4%B8%AD%E6%96%87%E7%BA%AF%E5%87%80%E7%89%88/</guid><description>源码仓库 https://github.com/eysp/portainer-ce
portainer-ce中文版 其中arm和ppc64le架构没有设备测试，反馈bug 到GitHub issues
已更新到2.19.1，新版删除左上角升级企业版的广告，删除首次登录弹出英文提示的公告，汉化的广告也隐藏，总之这是一个纯净版
如果汉化对你有帮助请往下拉支持我，另外欢迎大家进q群交流，群号758648462（备注portainer）
感谢群里@我不是矿神 指导js精简 | @52Fancy 提供编译脚本 一键安装代码
docker run -d --restart=always --name=&amp;#34;portainer&amp;#34; -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock 6053537/portainer-ce 163镜像安装，portainer-ce中文，访问dockerhub网速不好的尝试
docker run -d --restart=always --name=&amp;#34;portainer&amp;#34; -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock hub-mirror.c.163.com/6053537/portainer-ce 访问hub.docker.com网络慢，或者以上代码都无法安装成功尝试以下代码
docker pull hub-mirror.c.163.com/6053537/portainer-ce docker run -d --restart=always --name=&amp;#34;portainer&amp;#34; -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data 6053537/portainer-ce 如果你要启用ssl访问，远程主机建议启用，端口443和证书路径/certs请自行更改
docker run -d -p 443:9000 --name portainer --restart always -v ~/local-certs:/certs -v portainer_data:/data 6053537/portainer-ce -v /var/run/docker.sock:/var/run/docker.sock --ssl --sslcert /certs/portainer.</description></item><item><title>哪吒探针美化</title><link>https://blog.lufei.de/p/%E5%93%AA%E5%90%92%E6%8E%A2%E9%92%88%E7%BE%8E%E5%8C%96/</link><pubDate>Sun, 26 Nov 2023 06:30:45 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%93%AA%E5%90%92%E6%8E%A2%E9%92%88%E7%BE%8E%E5%8C%96/</guid><description>哪吒探针文档: https://nezha.wiki/guide/dashboard.html
截图预览 特性(以下均为基于官方默认主题的更改) 1.基于官方原版主题重新排版
2.解决移动端卡片列表点击最后两个卡片右上角的图标时，发生的页面位置跳转问题
3.固定卡片宽度，栅格化(若剩余宽度不足以容下一个卡片，则换行显示)解决原版主题页面宽度变小后仍然制一行显示4个导致布局错误
4.解决弹出看卡片位置不合适导致被顶部菜单栏遮挡问题
5.增加一些我常用的主机信息显示在卡片上，方便查看（不爱喜欢可以自行修改哈）
6.底部版权信息可以在template文件夹里的footer.html里更改
7.swap未开启显示提示
使用方法 1.template里面的文件解压出来放到服务端模板目录里面
/opt/nezha/dashboard/theme-custom/template 2.重启哪吒面板服务
3.在哪吒面板后台主题选择Custom(local)
4.将css.txt里面的CSS样式代码复制到哪吒面板后台的“自定义代码”文本框里
一些信息的修改地址 1.站点图标 header.html 文件的第17行，替换掉https://cdn.amzayo.top/static/public/luban/luban_head.png
2.页面左上角 logomenu.html 文件的第5行，替换掉https://cdn.amzayo.top/static/public/luban/test_head.e7b54515.png
3.底部版权信息 footer.html 文件的第4到8行，依照demo底部的文字按需替换
下载地址&amp;ndash;&amp;gt;点我下载 其他CSS样式 &amp;lt;style&amp;gt; /* 屏幕适配 */ @media only screen and (min-width: 1200px) { .ui.container { width: 80% !important; } } @media only screen and (max-width: 767px) { .ui.card&amp;gt;.content&amp;gt;.header:not(.ui), .ui.cards&amp;gt;.card&amp;gt;.content&amp;gt;.header:not(.ui) { margin-top: 0.4em !important; } } /* 整体图标 */ i.icon { color: #000; width: 1em !</description></item><item><title>雷池waf社区版反代上高防</title><link>https://blog.lufei.de/p/%E9%9B%B7%E6%B1%A0waf%E7%A4%BE%E5%8C%BA%E7%89%88%E5%8F%8D%E4%BB%A3%E4%B8%8A%E9%AB%98%E9%98%B2/</link><pubDate>Sat, 25 Nov 2023 11:33:31 +0000</pubDate><guid>https://blog.lufei.de/p/%E9%9B%B7%E6%B1%A0waf%E7%A4%BE%E5%8C%BA%E7%89%88%E5%8F%8D%E4%BB%A3%E4%B8%8A%E9%AB%98%E9%98%B2/</guid><description>
我们经常用NPM可视化面板反代服务到域名上，我发现一个更加强大的面板，雷池是个web防火墙面板，基于nginx，反向代理只是基础，重点是还能防御站点，拦截网络恶意攻击。你可以理解为反代加高防的存在，
使用方法
Debian/Ubuntu安装下载工具
apt update -y &amp;amp;&amp;amp; apt install -y curl CentOS安装下载工具
yum update &amp;amp;&amp;amp; yum install curl 官网版一键脚本
curl -sS -O https://kejilion.pro/kejilion.sh &amp;amp;&amp;amp; chmod +x kejilion.sh &amp;amp;&amp;amp; ./kejilion.sh GitHub版一键脚本 部分小伙伴会遇到官网版出现大段乱码！就用GitHub版本吧！
curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh &amp;amp;&amp;amp; chmod +x kejilion.sh &amp;amp;&amp;amp; ./kejilion.sh</description></item><item><title>V.PS高端线路的WordPress演示网站</title><link>https://blog.lufei.de/p/v.ps%E9%AB%98%E7%AB%AF%E7%BA%BF%E8%B7%AF%E7%9A%84wordpress%E6%BC%94%E7%A4%BA%E7%BD%91%E7%AB%99/</link><pubDate>Fri, 24 Nov 2023 15:31:58 +0000</pubDate><guid>https://blog.lufei.de/p/v.ps%E9%AB%98%E7%AB%AF%E7%BA%BF%E8%B7%AF%E7%9A%84wordpress%E6%BC%94%E7%A4%BA%E7%BD%91%E7%AB%99/</guid><description>V.PS高端线路的WordPress演示网站：
中国-香港（移动CMI）：http://v.ps1.zhujiceping.net/
日本-大阪（IIJ）：http://v.ps2.zhujiceping.net/
日本-东京（软银）：http://v.ps3.zhujiceping.net/
澳大利亚-悉尼（联通AS9929）：http://v.ps4.zhujiceping.net/
美国-圣何塞（电信CN2+联通AS9929+移动CMIN2）：http://v.ps5.zhujiceping.net/
英国-伦敦（联通AS9929）：http://v.ps6.zhujiceping.net
德国-法兰克福（联通AS9929）：http://v.ps7.zhujiceping.net
荷兰-阿姆斯特丹（电信CN2+联通AS9929+移动CMI）：http://v.ps8.zhujiceping.net/
官网测试： https://v.ps/speedtest/</description></item><item><title>amh搭建海洋cms注意事项</title><link>https://blog.lufei.de/p/amh%E6%90%AD%E5%BB%BA%E6%B5%B7%E6%B4%8Bcms%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/</link><pubDate>Tue, 07 Nov 2023 02:49:46 +0000</pubDate><guid>https://blog.lufei.de/p/amh%E6%90%AD%E5%BB%BA%E6%B5%B7%E6%B4%8Bcms%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A1%B9/</guid><description>海洋CMS又名SEACMS，完全开源免费，自适应电脑、手机、平板、APP多终端，无加密、更安全，是您最佳的建站工具!
爬滚打多年，海洋CMS有着丰富的经验和技术积累，并且能够随着流行趋势加入更多当下流行的功能。
注意几点 根目录删除.user.ini 文件 data目录设置权限为777,其余555 如果导入数据库文件后缀为sql.gz,先解压为sql 修改common.inc.php数据库信息 数据库设置那里要启用远程开启 伪静态规则 伪静态规则
location / { rewrite ^/frim/index(.+?)\.html$ /list/index.php?$1 last; rewrite ^/movie/index(.+?)\.html$ /detail/index.php?$1 last; rewrite ^/play/([0-9]+)-([0-9]+)-([0-9]+)\.html$ /video/index.php?$1-$2-$3 last; rewrite ^/topic/index(.+?)\.html$ /topic/index.php?$1 last; rewrite ^/topiclist/index(.+?).html$ /topiclist/index.php?$1 last; rewrite ^/index\.html$ index.php permanent; rewrite ^/news\.html$ news/ permanent; rewrite ^/part/index(.+?)\.html$ /articlelist/index.php?$1 last; rewrite ^/article/index(.+?)\.html$ /article/index.php?$1 last; }</description></item><item><title>使用代理设置 Git 克隆</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE-git-%E5%85%8B%E9%9A%86/</link><pubDate>Wed, 11 Oct 2023 06:11:05 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE-git-%E5%85%8B%E9%9A%86/</guid><description>git clone ssh 走代理 新建一个 C:\Users\你的用户名\.ssh\config 文件（没有扩展名，如果已存在此文件则不用新建），编辑此文件增加以下内容：
Host github.com *.github.com User git ProxyCommand connect -S 127.0.0.1:7890 %h %p 其中 Host 右边为需要走代理的域名列表，127.0.0.1:7890 替换为自己的代理服务器地址。
git clone http(s) 走代理 git config --global http.proxy &amp;#34;http://127.0.0.1:7890&amp;#34; git config --global https.proxy &amp;#34;http://127.0.0.1:7890&amp;#34; 其中 127.0.0.1:7890 替换为自己的代理服务器地址。</description></item><item><title>谷歌云注册细节</title><link>https://blog.lufei.de/p/%E8%B0%B7%E6%AD%8C%E4%BA%91%E6%B3%A8%E5%86%8C%E7%BB%86%E8%8A%82/</link><pubDate>Tue, 10 Oct 2023 04:11:16 +0000</pubDate><guid>https://blog.lufei.de/p/%E8%B0%B7%E6%AD%8C%E4%BA%91%E6%B3%A8%E5%86%8C%E7%BB%86%E8%8A%82/</guid><description>准备东西: 香港节点(科学上网) 打开edge浏览器- 隐私窗口 香港地址: 香港岛-大坑- 香港南区大潭水塘道624号 香港电话号码(无忧行) 信用卡(万里汇) 注册地址: https://cloud.google.com/free?hl=zh-cn
老账号续期教程:</description></item><item><title>cloudflared Tunnels 内网穿透</title><link>https://blog.lufei.de/p/cloudflared-tunnels-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/</link><pubDate>Tue, 26 Sep 2023 05:13:16 +0000</pubDate><guid>https://blog.lufei.de/p/cloudflared-tunnels-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F/</guid><description>Cloudflared Tunnels是Cloudflare提供的内网穿透工具，可安全地将公网流量转发到内部网络服务。通过加密隧道连接全球网络，它提供安全性和性能优化，方便访问内部服务。
部署环境: windows10
一: 下载程序 将cloudflared-windows-amd64.exe 重命名为将cloudflared.exe
https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-windows-amd64.exe
二: 拷贝项目 拷贝项目文件到本地任意目录:
地址 : https://github.com/woniu336/cloudflared
三: 启动服务 将cloudflared.exe和项目文件放在同一个文件夹,
然后双击 menu.bat 开启你的穿透之旅吧</description></item><item><title>强大的网盘同步工具--rclone工具箱</title><link>https://blog.lufei.de/p/%E5%BC%BA%E5%A4%A7%E7%9A%84%E7%BD%91%E7%9B%98%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7--rclone%E5%B7%A5%E5%85%B7%E7%AE%B1/</link><pubDate>Sun, 17 Sep 2023 09:57:22 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%BC%BA%E5%A4%A7%E7%9A%84%E7%BD%91%E7%9B%98%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7--rclone%E5%B7%A5%E5%85%B7%E7%AE%B1/</guid><description>如果你在寻找专业且易用的网盘拷贝与同步工具，那就让Rclone成为你的云端合作伙伴吧。它虽然不会说笑话，但它绝对会在云端任务中带来欢笑。
一键安装rclone工具箱
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/rclone.sh &amp;amp;&amp;amp; chmod +x rclone.sh &amp;amp;&amp;amp; ./rclone.sh 当谈到强大的网盘拷贝与同步工具时，Rclone绝对是那位总是低调却又非常值得注意的明星。它就像是那个坐在后排的天才学生，总是默默地在背后完成任务，而不是在台前卖弄自己。
首先，Rclone是一名真正的变身专家。它可以从一个网盘变成另一个网盘，仿佛是魔术师一样。无论你是想从Google Drive变身为Dropbox，还是从OneDrive蜕变为Amazon S3，Rclone都能帮你完成。这就像是在玩一场云端变装派对，而Rclone是你的变装专家，总是能帮你换上最适合的服装。
而且，Rclone也是一个同步的奇才。它可以确保你的文件在不同的云存储之间保持同步，就像是一个精密的交响乐团指挥家，确保每个乐器都在正确的时刻奏响。无论你是在办公室工作还是在沙滩度假，Rclone都能确保你的文件不会在云端丢失节奏。
但是，尽管Rclone是一位技术高手，但它并不是那种自恋自大的软件。它没有花哨的用户界面，也不会在社交媒体上炫耀自己的成就。它只是默默地坚守在后台，为你完成工作，就像是那位永远不会抢镜的配角演员，但却是整个剧组的支持力量。</description></item><item><title>Rclone Browser代理设置</title><link>https://blog.lufei.de/p/rclone-browser%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE/</link><pubDate>Thu, 14 Sep 2023 13:35:50 +0000</pubDate><guid>https://blog.lufei.de/p/rclone-browser%E4%BB%A3%E7%90%86%E8%AE%BE%E7%BD%AE/</guid><description>假设你已经安装了rclone,并配置好了各大网盘
那么在Rclone Browser查看谷歌硬盘内容,是看不了的,但是如果你已经开启了科学上网,则按照下面的方法
socks5://127.0.0.1:10808 10808端口是v2ray的代理端口
如果是小狐狸则是 7890
socks5://127.0.0.1:7890 下载的时候要加上参数,避免有些文件被误认为病毒无法下载:
--drive-acknowledge-abuse cmd终端开启代理:
小狐狸:
set http_proxy=socks5://127.0.0.1:7890 set https_proxy=socks5://127.0.0.1:7890 v2ray:
set http_proxy=socks5://127.0.0.1:10808 set https_proxy=socks5://127.0.0.1:10808 取消代理:
set http_proxy= set https_proxy=</description></item><item><title>Openwrt安装alist和阿里云盘webdav</title><link>https://blog.lufei.de/p/openwrt%E5%AE%89%E8%A3%85alist%E5%92%8C%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98webdav/</link><pubDate>Thu, 14 Sep 2023 10:49:40 +0000</pubDate><guid>https://blog.lufei.de/p/openwrt%E5%AE%89%E8%A3%85alist%E5%92%8C%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98webdav/</guid><description>以下插件只适用于斐讯 N1,其他没测试过
一: 使用方法 下载插件,然后进入软路由: 系统&amp;ndash;文件上传&amp;ndash;安装
例如: 斐讯 N1 盒子软路由
二: 阿里云盘webdav插件 插件下载:
https://github.com/woniu336/openwrt-ipk/tree/master/N1安装阿里云盘webdav
项目地址 : https://github.com/messense/aliyundrive-webdav
三:Alist插件 OpenWrt 查看CPU架构命令：
cat /etc/os-release |grep ARCH 插件下载:
https://github.com/woniu336/openwrt-ipk/tree/master/N1软路由安装alist
项目地址 : https://github.com/sbwml/luci-app-alist
AList文档：https://alist.nn.ci/zh/guide/
四: Docker 安装阿里云盘webdav docker run -d --name=aliyundrive-webdav --restart=unless-stopped -p 8080:8080 \ -v /etc/aliyundrive-webdav/:/etc/aliyundrive-webdav/ \ -e REFRESH_TOKEN=&amp;#39;your refresh token&amp;#39; \ -e WEBDAV_AUTH_USER=admin \ -e WEBDAV_AUTH_PASSWORD=admin \ messense/aliyundrive-webdav 其中，REFRESH_TOKEN 环境变量为你的阿里云盘 refresh_token，WEBDAV_AUTH_USER 和 WEBDAV_AUTH_PASSWORD 为连接 WebDAV 服务的用户名和密码。</description></item><item><title>Openwrt安装阿里云盘 WebDAV</title><link>https://blog.lufei.de/p/openwrt%E5%AE%89%E8%A3%85%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98-webdav/</link><pubDate>Thu, 14 Sep 2023 10:18:27 +0000</pubDate><guid>https://blog.lufei.de/p/openwrt%E5%AE%89%E8%A3%85%E9%98%BF%E9%87%8C%E4%BA%91%E7%9B%98-webdav/</guid><description>阿里云盘 WebDAV 服务，主要使用场景为配合支持 WebDAV 协议的客户端 App 如 Infuse、nPlayer 等实现在电视上直接观看云盘视频内容， 支持客户端 App 直接从阿里云盘获取文件播放而不经过运行本应用的服务器中转, 支持上传文件，但受限于 WebDAV 协议不支持文件秒传。
请注意：V2 版本基于阿里云盘开放平台接口实现，不再支持阿里云盘 Web 和 App 版本获取的 refresh token。 由于本项目作者不再使用梅林固件，V2 版本不再免费支持 Koolshare 梅林固件系统，如有需要请考虑付费支持。
安装 可以从 GitHub Releases 页面下载预先构建的二进制包， 也可以使用 pip 从 PyPI 下载:
pip install aliyundrive-webdav 如果系统支持 Snapcraft 比如 Ubuntu、Debian 等，也可以使用 snap 安装：
sudo snap install aliyundrive-webdav OpenWrt 路由器 GitHub Releases 中有预编译的 ipk 文件， 目前提供了 aarch64/arm/mipsel/x86_64/i686 等架构的版本，可以下载后使用 opkg 安装，以 nanopi r4s 为例：
wget https://github.com/messense/aliyundrive-webdav/releases/download/v2.3.2/aliyundrive-webdav_2.3.2-1_aarch64_generic.ipk wget https://github.com/messense/aliyundrive-webdav/releases/download/v2.3.2/luci-app-aliyundrive-webdav_2.3.2_all.ipk wget https://github.</description></item><item><title>使用nvm管理多版本node.js</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8nvm%E7%AE%A1%E7%90%86%E5%A4%9A%E7%89%88%E6%9C%ACnode.js/</link><pubDate>Tue, 12 Sep 2023 06:08:04 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8nvm%E7%AE%A1%E7%90%86%E5%A4%9A%E7%89%88%E6%9C%ACnode.js/</guid><description>使用nvm（Node Version Manager）安装Node.js是一个非常方便的方法，因为它允许你在同一台机器上管理多个Node.js版本。以下是使用nvm安装Node.js的基本步骤：
Linux 安装nvm
根据你的操作系统，安装命令可能会有所不同。以下是在Linux上安装nvm的命令：
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash 或者使用wget：
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash 确保 nvm 生效
source ~/.bashrc 验证nvm安装
安装完成后，你可以通过运行以下命令来验证nvm是否正确安装：
command -v nvm 如果安装成功，这个命令应该会输出nvm。
查看nvm版本
nvm --version 安装Node.js 如果您想看看有哪些版本可以安装：
nvm ls-remote 这个命令会列出所有可用的Node.js版本，包括最新的稳定版、LTS（长期支持）版本以及旧版本。列表通常会很长，包含了从Node.js 0.1到最新版本的每一个版本。
如果你只想查看LTS版本，可以使用：
nvm ls-remote --lts 使用nvm安装Node.js，你可以运行以下命令来安装特定版本的Node.js（例如，v18.16.0）：
nvm install 18.16.0 使用特定版本的Node.js
安装完成后，你可以使用以下命令来切换到你刚刚安装的版本：
nvm use 18.16.0 验证Node.js安装
最后，你可以通过运行以下命令来验证Node.js是否正确安装：
node -v 这个命令应该会输出你刚刚安装的Node.js版本号。
如果您想查看已安装的版本
nvm ls 请注意，nvm的安装和使用可能会因为你的操作系统和shell的不同而有所差异。确保按照nvm的官方文档进行操作，以获得最准确的信息。
windows windows下安装nvm
项目: https://github.com/coreybutler/nvm-windows
下载nvm https://github.com/coreybutler/nvm-windows/releases
安装后,以管理员方式打开cmd确认安装正确:
nvm version 查看可用的Node.js版本列表
nvm list available 安装指定版本</description></item><item><title>定时将R2图床同步到腾讯云对象存储</title><link>https://blog.lufei.de/p/%E5%AE%9A%E6%97%B6%E5%B0%86r2%E5%9B%BE%E5%BA%8A%E5%90%8C%E6%AD%A5%E5%88%B0%E8%85%BE%E8%AE%AF%E4%BA%91%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8/</link><pubDate>Mon, 11 Sep 2023 08:58:58 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%AE%9A%E6%97%B6%E5%B0%86r2%E5%9B%BE%E5%BA%8A%E5%90%8C%E6%AD%A5%E5%88%B0%E8%85%BE%E8%AE%AF%E4%BA%91%E5%AF%B9%E8%B1%A1%E5%AD%98%E5%82%A8/</guid><description>请确保您的系统上已经安装了 rclone，并且命令的路径正确。
要将定时任务添加到您的系统中，您可以按照以下步骤进行操作：
打开终端或命令提示符，登录到您的系统。
r2为cloudflare r2 , cos是腾讯云cos
在linux中 crontab -e 在打开的定时任务配置文件中，添加以下内容：
0 2 * * * rclone sync r2:blog cos:shenma-1253486782/blog --ignore-existing -u -v -P --transfers=20 --ignore-errors --buffer-size=128M --check-first --checkers=10 保存并关闭文件。
系统将自动加载新的定时任务配置。
现在，您的系统将在每天的凌晨2点执行指定的命令。请注意，这是基于系统的时区设置，如果您的系统时区设置为东八区，那么任务将在东八区的凌晨2点执行。
查看任务
crontab -l 调整时区:
timedatectl set-timezone Asia/Shanghai &amp;amp;&amp;amp; hwclock --systohc 在 Windows 系统中 您可以使用任务计划程序（Task Scheduler）来创建定时任务。以下是在 Windows 上创建定时任务的具体步骤：
打开“任务计划程序”。您可以通过按下 Win + R 键，在运行对话框中输入 taskschd.msc，然后按下 Enter 键来打开它。
在任务计划程序窗口中，点击左侧的 &amp;ldquo;创建任务&amp;rdquo;。
在 &amp;ldquo;常规&amp;rdquo; 选项卡中，输入任务的名称和描述。
切换到 &amp;ldquo;触发器&amp;rdquo; 选项卡，点击 &amp;ldquo;新建&amp;rdquo; 来创建一个新的触发器。
在触发器设置中，选择 &amp;ldquo;每天&amp;rdquo;，并设置执行任务的时间为 16:40。</description></item><item><title>Debian/ubuntu服务器更改时区为中国</title><link>https://blog.lufei.de/p/debian/ubuntu%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9B%B4%E6%94%B9%E6%97%B6%E5%8C%BA%E4%B8%BA%E4%B8%AD%E5%9B%BD/</link><pubDate>Mon, 11 Sep 2023 08:19:05 +0000</pubDate><guid>https://blog.lufei.de/p/debian/ubuntu%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%9B%B4%E6%94%B9%E6%97%B6%E5%8C%BA%E4%B8%BA%E4%B8%AD%E5%9B%BD/</guid><description>有时候我们安装服务器会用默认的UTC( Universal Time Coordinated)时区，造成后继一些软件记录时间上显示的不够直观，所以需要手动更改为中国/上海时区。
推荐
sudo bash -c &amp;#39;echo &amp;#34;Asia/Shanghai&amp;#34; &amp;gt; /etc/timezone&amp;#39; sudo dpkg-reconfigure --frontend noninteractive tzdata 首先安装 NTP 服务
sudo apt-get update sudo apt-get install systemd-timesyncd 安装完成后，启用并启动服务
sudo systemctl enable systemd-timesyncd sudo systemctl start systemd-timesyncd 查询状态
timedatectl status 更改很简单，如下2条命令即可：
sudo rm /etc/localtime sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime 或者
#设置上海时区 sudo timedatectl set-timezone Asia/Shanghai 使用 timedatectl命令可以查看时区
timedatectl 启用 NTP 时间同步
sudo timedatectl set-ntp on 使用hwclock --systohc可以将系统时间同步到硬件时间。
sudo hwclock --systohc 同步crontab定时任务时区</description></item><item><title>从网页视频到MP4：轻松使用M3U8下载器保存你喜爱的视频</title><link>https://blog.lufei.de/p/%E4%BB%8E%E7%BD%91%E9%A1%B5%E8%A7%86%E9%A2%91%E5%88%B0mp4%E8%BD%BB%E6%9D%BE%E4%BD%BF%E7%94%A8m3u8%E4%B8%8B%E8%BD%BD%E5%99%A8%E4%BF%9D%E5%AD%98%E4%BD%A0%E5%96%9C%E7%88%B1%E7%9A%84%E8%A7%86%E9%A2%91/</link><pubDate>Mon, 11 Sep 2023 06:19:43 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BB%8E%E7%BD%91%E9%A1%B5%E8%A7%86%E9%A2%91%E5%88%B0mp4%E8%BD%BB%E6%9D%BE%E4%BD%BF%E7%94%A8m3u8%E4%B8%8B%E8%BD%BD%E5%99%A8%E4%BF%9D%E5%AD%98%E4%BD%A0%E5%96%9C%E7%88%B1%E7%9A%84%E8%A7%86%E9%A2%91/</guid><description>项目 猫抓： https://github.com/xifangczy/cat-catch/releases
安装地址: https://o2bmm.gitbook.io/cat-catch/docs/install
文档: https://o2bmm.gitbook.io/cat-catch/
m3u8下载器： https://github.com/nilaoda/N_m3u8DL-CLI/releases
下载解压,cmd命令
N_m3u8DL-CLI_v3.0.2.exe --registerUrlProtocol 打开浏览器: 进入需要下载的播放页面</description></item><item><title>openwrt n1 安装alist</title><link>https://blog.lufei.de/p/openwrt-n1-%E5%AE%89%E8%A3%85alist/</link><pubDate>Mon, 11 Sep 2023 06:12:38 +0000</pubDate><guid>https://blog.lufei.de/p/openwrt-n1-%E5%AE%89%E8%A3%85alist/</guid><description>项目地址 : https://github.com/sbwml/luci-app-alist
OpenWrt 查看CPU架构命令：
cat /etc/os-release |grep ARCH AList文档：https://alist.nn.ci/zh/
下载插件: 点击下载
视频教程</description></item><item><title>免费白嫖Office 365 E5，5TB onedrive空间！</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E7%99%BD%E5%AB%96office-365-e55tb-onedrive%E7%A9%BA%E9%97%B4/</link><pubDate>Sun, 10 Sep 2023 07:51:37 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E7%99%BD%E5%AB%96office-365-e55tb-onedrive%E7%A9%BA%E9%97%B4/</guid><description>注册入口
https://developer.microsoft.com/zh-cn/microsoft-365/dev-program
1T改成5T
https://admin.onedrive.com/?v=StorageSettings
添加新用户
https://admin.microsoft.com/
续签API设置
https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredApps
E5续签软件下载
https://e5renew.com/</description></item><item><title>vps使用rclone挂载Google Drive详细记录</title><link>https://blog.lufei.de/p/vps%E4%BD%BF%E7%94%A8rclone%E6%8C%82%E8%BD%BDgoogle-drive%E8%AF%A6%E7%BB%86%E8%AE%B0%E5%BD%95/</link><pubDate>Sun, 10 Sep 2023 07:33:02 +0000</pubDate><guid>https://blog.lufei.de/p/vps%E4%BD%BF%E7%94%A8rclone%E6%8C%82%E8%BD%BDgoogle-drive%E8%AF%A6%E7%BB%86%E8%AE%B0%E5%BD%95/</guid><description>其实 rclone 挂载 Google Drive 网上的教程已经很多了，但是大多数的教程都有一点点过时，与现在的实际操作有一点出入，故整理了当前的挂载操作，以防忘记。
一、 安装并配置 rclone 首先在 vps 上一键安装 rclone：
curl https://rclone.org/install.sh | sudo bash 接下来在本地电脑上下载命令行操作的 rclone：
访问 rclone 下载地址，选择您的操作系统下载相应的 zip 包并解压。一会需要用得着。
软件准备好中，在 vps 上开始配置，执行：
rclone config 选择 n，新建配置：
此时 rclone 会要你选择要挂载什么网盘，找到 google drive 并选择。
注意是 google drive，不是 google cloud 或 google photos。
选择后 rclone 会要求输入 api token，如果留空会使用 rclone 默认的 api，但是据官方说明官方的目前使用人数过多，由于 google 本身的限制可能会出现需要等待时间过长的问题，因此推荐自己去申请一个 api。
非常推荐使用自己的 API，可以大幅提升稳定性。
申请 api 申请 api 并不复杂，也不一定要是需要被挂载的 google 账户操作，随意一个正常的 google 账户就可以。下面是申请的简单步骤：
首先登录到 Google API console，创建一个应用，点击 “启用 API 和服务”，找到 Google Drive 并启用 启用 Google Drive API</description></item><item><title>VPS利剑！全面解析如何用rclone挂载OneDrive</title><link>https://blog.lufei.de/p/vps%E5%88%A9%E5%89%91%E5%85%A8%E9%9D%A2%E8%A7%A3%E6%9E%90%E5%A6%82%E4%BD%95%E7%94%A8rclone%E6%8C%82%E8%BD%BDonedrive/</link><pubDate>Sun, 10 Sep 2023 05:17:27 +0000</pubDate><guid>https://blog.lufei.de/p/vps%E5%88%A9%E5%89%91%E5%85%A8%E9%9D%A2%E8%A7%A3%E6%9E%90%E5%A6%82%E4%BD%95%E7%94%A8rclone%E6%8C%82%E8%BD%BDonedrive/</guid><description>之前写过一篇使用 rclone 挂载 Google Drive的记录，这次来补上挂载 onedrive 的坑。挂载方法其实大同小异，网上也有许多文章进行介绍。
不过有些介绍实在是太简略了，甚至只是简单的复制了官方的示例，导致依旧看的一头雾水，所以我对 rclone 挂载 onedrive 的流程进行了整理和记录，希望能对大家有所帮助，能一次解决问题。
1. 创建 OneDrive API 为了实际使用中更稳定的体验，避免因为共享 API 达到使用限制而引发错误，绝对推荐创建自己的 API。
若要创建自己的 API，务必确保你的账号拥有 API 权限！
1.1 获取 client_id 首先访问 Microsoft Azure 应用注册，登录账号后点击应用注册
应用注册
点击左上角的新注册
新注册
如图所示进行配置，名称可以随便写，账户类型选择第三项
注册应用程序
点击注册后可以看到你的应用的相关信息，复制好 应用程序 (客户端) ID ，这个就是 client_id
获取 client_id
1.2 获取 client_secret 依次点击证书和密码，新客户端密码，在截止期限中将时间选择为最长（即两年）
创建新客户端密码
然后就可以看见值和机密 ID，我们只需要记录下 值 就可以，这个就是 client_secret 。
获取 client_secret
1.3 添加 API 权限 依次点击 API 权限，添加权限，Microsoft Graph，在右边栏搜索并添加权限。
Files.Read,Files.ReadWrite,Files.Read.All,Files.ReadWrite.All,offline_access,User.Read这几项
添加权限
添加完成后应该是这样
API 权限展示</description></item><item><title>极速上手：精通rclone云盘同步工具</title><link>https://blog.lufei.de/p/rclone/</link><pubDate>Sun, 10 Sep 2023 03:58:40 +0000</pubDate><guid>https://blog.lufei.de/p/rclone/</guid><description>Rclone 是一款的命令行工具，支持在不同对象存储、网盘间同步、上传、下载数据。
官网网址：https://rclone.org/
Github 项目：https://github.com/rclone/rclone
安装rclone 安装依赖如果你需要挂载使用
sudo apt-get update sudo apt-get install curl unzip apt-get install fuse3 下载源码安装 wget --no-check-certificate &amp;#39;https://downloads.rclone.org/v1.52.3/rclone-v1.52.3-linux-amd64.zip&amp;#39; unzip rclone-v1.52.3-linux-amd64.zip cp ./rclone-*/rclone /usr/local/bin rm -rf ./rclone-* 官网脚本安装 curl https://rclone.org/install.sh | bash 配置rclone 在Linux或者Mac上完成安装之后，rclone会默认从配置文件~/.config/rclone/rclone.conf中获取rclone的配置。我们既可以通过rclone config命令来交互式修改这个配置，也可以直接编辑这个配置文件。
mkdir -p /root/.config/rclone/ touch /root/.config/rclone/rclone.conf vim /root/.config/rclone/rclone.conf AWS S3的rclone配置
[s3-overseas] type = s3 provider = AWS env_auth = false access_key_id = &amp;lt;your-aws-access-key-id&amp;gt; secret_access_key = &amp;lt;your-aws-secret-access-key&amp;gt; region = &amp;lt;your-region-id&amp;gt; acl = public-read endpoint = https://s3.</description></item><item><title>rclone常用命令参数详解</title><link>https://blog.lufei.de/p/rclone%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3/</link><pubDate>Sat, 09 Sep 2023 06:51:26 +0000</pubDate><guid>https://blog.lufei.de/p/rclone%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4%E5%8F%82%E6%95%B0%E8%AF%A6%E8%A7%A3/</guid><description>rclone：常用命令 rclone config - 进入交互式配置选项，进行添加、删除、管理网盘等操作。 rclone config paths - 显示配置文件的路径，一般配置文件在 ~/.config/rclone/rclone.conf，更换服务器可直接copy该文件。 rclone config show - 显示配置文件信息 命令语法 # 本地到网盘 rclone [功能选项] &amp;lt;本地路径&amp;gt; &amp;lt;网盘名称:路径&amp;gt; [参数] [参数] ... # 网盘到本地 rclone [功能选项] &amp;lt;网盘名称:路径&amp;gt; &amp;lt;本地路径&amp;gt; [参数] [参数] ... # 网盘到网盘 rclone [功能选项] &amp;lt;网盘名称:路径&amp;gt; &amp;lt;网盘名称:路径&amp;gt; [参数] [参数] ... 用法示例: 建议添加 --drive-acknowledge-abuse 来处理被Google Drive标识为恶意软件的文件
复制: rclone copy
rclone copy /up gd:upload --ignore-existing -u -v -P --transfers=10 --ignore-errors --buffer-size=16M --check-first --checkers=10 同步: rclone sync 添加 --drive-acknowledge-abuse参数</description></item><item><title>利用免费GitHub私人仓库：定时备份网站数据</title><link>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8%E5%85%8D%E8%B4%B9github%E7%A7%81%E4%BA%BA%E4%BB%93%E5%BA%93%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD%E7%BD%91%E7%AB%99%E6%95%B0%E6%8D%AE/</link><pubDate>Tue, 05 Sep 2023 14:32:24 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8%E5%85%8D%E8%B4%B9github%E7%A7%81%E4%BA%BA%E4%BB%93%E5%BA%93%E5%AE%9A%E6%97%B6%E5%A4%87%E4%BB%BD%E7%BD%91%E7%AB%99%E6%95%B0%E6%8D%AE/</guid><description>随着GitHub被微软收购后，私人仓库已经变得免费，为我们提供了一个无限的创造空间。现在，我们可以尽情发挥其潜力，将其用于定时备份网站和服务器重要数据，确保数据安全与可靠性。
教程 首先你肯定需要一个Github账号，没有的可以去注册一个，地址：https://github.com。有了账号就继续看。
1、配置Git SSH密钥 由于本地Git仓库和GitHub仓库之间的传输是通过SSH加密的，所以必须要让github仓库认证你SSH key，在操作之前，需要先在服务器上生成SSH key。
设置github 用户名和邮箱
git config --global user.name &amp;#34;name&amp;#34; git config --global user.email &amp;#34;xxxx@qq.com&amp;#34; 我们先去根目录下使用命令：
cd ~ ssh-keygen -t rsa 这里会要你命名密钥名称(建议使用默认名称)，然后连续按几次Enter，这时候会在/root/.ssh文件夹生成2个ssh密钥，然后我们查看公钥id_rsa.pub。
cat ~/.ssh/id_rsa.pub 查看后，再复制下公钥 打开Github官网，进入https://github.com/settings/ssh/new， Title随意，然后Key填入刚刚复制的公钥，最后点击Add SSH Key添加即可。 2、建立私人仓库 我们需要先访问https://github.com/new，新建一个仓库用来存放备份文件，名称自己随意，记得下面一定要勾选Private，也就是私人仓库。
3、配置本地仓库 进入需要备份的文件夹，比如/www/wwwroot/lala，也就是把该文件夹设定为本地仓库，使用命令：
#进入需要备份的文件夹 cd /www/wwwroot/lala #初始化你的github仓库 git init #关联到远程github仓库 git remote add origin git@github.com:Blichus/back_website.git 如果已经备份过了,拉取github仓库代码到服务器 (关联远程github仓库后)
git pull origin master 4、初次备份 #进入备份的文件夹 cd /www/wwwroot/lala #把目录下所有文件更改状况提交到暂存区，包括增，删，改。 git add -A #提交更改的说明，说明随意了，这里为backsite git commit -m &amp;#34;backsite&amp;#34; #开始推送到Github git push -u origin master 推送的时候可能会警告提示:</description></item><item><title>使用 squoosh-cli 批量压缩图片</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8-squoosh-cli-%E6%89%B9%E9%87%8F%E5%8E%8B%E7%BC%A9%E5%9B%BE%E7%89%87/</link><pubDate>Tue, 05 Sep 2023 04:47:54 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8-squoosh-cli-%E6%89%B9%E9%87%8F%E5%8E%8B%E7%BC%A9%E5%9B%BE%E7%89%87/</guid><description>前言 去年之前，我写博客时并未意识到需要对图片进行压缩。有时，文章加载的图片太多，其中一些图片过大，导致浏览体验不佳。但后来，我开始使用Squoosh项目，每次写文章都会压缩配图。主要是因为Squoosh太出色了，而且还是免费软件。
去年，我制作了一个Squoosh的Docker镜像，可以在本地轻松启动一个图片压缩服务。但当时，我每次都是逐张压缩图片，因为我要为每张图片调整质量，以确保它们在本地存储中具有适当的大小。我自己搭建的图床运行在本地，使用本地SSD进行存储，所以之前的做法也很正常。然而，这次需要批量压缩大量图片让我意识到了批量处理的重要性。尽管可能无法完美平衡图片压缩后的质量和存储大小，但在博客写作（关注图片质量）和本地存储之间做出一些妥协后，带来了极大的轻松和满足感，这绝对是值得的。
正文 下面我讲讲如何使用 squoosh-cli 进行图片的批量压缩，之所以推荐在自建的 docker 容器中运行 squoosh-cli 命令，是因为容器里是 Linux 环境，命令行友好，不像 cmd 和 powershell 可能需要各种转义，引号，还有通配符问题。
新建一个专用压缩文件夹 mkdir -p /home/dk/squooshfiles chmod -R 0755 /home/dk/squooshfiles 下面启动 squoosh 容器，命令如下 docker run -d --name squoosh \ --restart unless-stopped \ -p 7701:8080 \ -v /home/dk/squooshfiles:/app/squooshfiles \ dko0/squoosh:1.12.0 解析：
/home/dk/squooshfiles本地批量压缩图片文件夹 这将在容器中自动创建目录 /app/squooshfiles 本地对 /home/dk/squooshfiles 的修改和容器中对 /app/squooshfiles 的修改将完全同步 注意: 下面的步骤都是在容器中进行操作
然后进入容器 docker exec -it squoosh ash 安装 squoosh-cli npm 包 npm i -g @squoosh/cli 安装完成之后执行 squoosh-cli --help 应能获取命令行帮助。</description></item><item><title>Clash：科学上网的究极解决方案</title><link>https://blog.lufei.de/p/clash%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91%E7%9A%84%E7%A9%B6%E6%9E%81%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</link><pubDate>Tue, 05 Sep 2023 02:39:56 +0000</pubDate><guid>https://blog.lufei.de/p/clash%E7%A7%91%E5%AD%A6%E4%B8%8A%E7%BD%91%E7%9A%84%E7%A9%B6%E6%9E%81%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/</guid><description>前言 早期，我一直对Clash的工作原理一知半解，只知道它是一种探索互联网世界的神奇工具。
每次需要科学上网时，只需点击一下“系统代理”按钮，瞬间解决了各种无法访问网站的问题。
久而久之，不免觉得这一过程有些繁琐：打开网站 —— 拒绝访问 —— 启动 Clash—— 开启系统代理 —— 完成。我曾经尝试简化这个步骤，最初的尝试是保持规则代理一直开启，通过配置文件来管理流量的转发规则。
但不久后，我发现有些网站的规则并不适用，还是需要使用全局代理，这种方法有一定的限制，所以我放弃了这个想法。接着，我尝试设置全局快捷键，我选择了F2键，虽然效果还算可以，但每次都需要手动按下，稍显麻烦。正如大家都知道的，懒惰是发明创造的源泉，于是我孵化出了以下的终极解决方案。本文将完全解决以下令人烦恼的问题：
访问网页需要手动开启 Clash 终端不走 Clash 流量 Git 也蹭不到 Clash 流量 准备工作 首先要准备 Clash 和节点，这是一个比较敏感的话题，所以本文不提供任何渠道。
其次要知道 Clash 的端口号，默认是 7890，如果你先前没有进行更改的话。
最后需要 Chrome 或 Edge 浏览器，同时能够访问拓展商店，找到并下载 SwitchyOmega（需要科学上网）
配置 SwitchyOmega Clash 用户请按照以下进行配置。
首先配置代理服务器，选择本机，也就是 127.0.0.1 ， 端口选择 7890，协议选择 socks5
完事以后先点一下左边 ACTIONS 下面的 应用选项 来保存一下
接下来在情景模式的 auto switch 中写入网上人家配置好的规则
这里请开启 Clash 系统代理！要不然访问不了 GitHub ！
规则列表格式选择 AutoProxy，规则列表网址填写
https://raw.githubusercontent.com/gfwlist/gfwlist/master/gfwlist.txt 然后点击立即更新情景模式，规则列表正文自动刷新
接下来的一步很关键：这里选择 Proxy，要不然开了跟没开一样
同时，在浏览器插件中选择 auto switch 选项，这样就可以根据我们访问的网站自动切换代理，例如谷歌，YouTube 等</description></item><item><title>GitHub加速终极教程</title><link>https://blog.lufei.de/p/github%E5%8A%A0%E9%80%9F%E7%BB%88%E6%9E%81%E6%95%99%E7%A8%8B/</link><pubDate>Sun, 03 Sep 2023 02:09:30 +0000</pubDate><guid>https://blog.lufei.de/p/github%E5%8A%A0%E9%80%9F%E7%BB%88%E6%9E%81%E6%95%99%E7%A8%8B/</guid><description>本文意图解决使用 GitHub 访问(https) 或者 git clone（https or ssh）慢的问题。在此分享我的方法，我所了解的 GitHub 加速最佳方案。
前提是，你的木弟子应该还行，木弟子越好，GitHub 体验越好
很多文章没有讲全面，只讲了 http proxy，而没有讲 ssh proxy。事实上大部分程序员使用 GitHub 都会使用 SSH keys（普通用户可能就不会了），在本机生成 rsa 公私钥(其他的类型还有 dsa | ecdsa | ecdsa-sk | ed25519 | ed25519-sk)，然后把公钥内容拷贝、设置进 GitHub。
所以程序员 clone 一个仓库一般是 ssh clone 而不是 https clone
1
git clone git@github.com:xxx/yyy.git
如果你不配置 ssh 代理或者没有透明代理之类的网络环境（其实还有一些代理工具，不过更加小众），直接硬拖到本地大概率是很慢的。如果使用 http 代理，如果木弟子质量好，其实也还行
1
git clone https://github.com/xxx/yyy.git
但这样不如 ssh clone 稳定。下面我们来设置 http proxy 和 ssh proxy。
设置 Http Proxy git config --global http.proxy socks5://127.</description></item><item><title>腾讯Gtimg图床-苹果cms教程</title><link>https://blog.lufei.de/p/%E8%85%BE%E8%AE%AFgtimg%E5%9B%BE%E5%BA%8A-%E8%8B%B9%E6%9E%9Ccms%E6%95%99%E7%A8%8B/</link><pubDate>Fri, 01 Sep 2023 14:54:09 +0000</pubDate><guid>https://blog.lufei.de/p/%E8%85%BE%E8%AE%AFgtimg%E5%9B%BE%E5%BA%8A-%E8%8B%B9%E6%9E%9Ccms%E6%95%99%E7%A8%8B/</guid><description>安装插件需要先安装盒子，安装插件，更新插件点击这里，新萌必看，不看必出错
苹果cms盒子云端安装对接后支持在线一键安装苹果cms模板 目前云端安装仅支持苹果cmsv10免费模板，因云端数据存储无法管理的问题苹果cms8 收费模板以及插件不支持云端安装。
为什么要安装盒子？
盒子是一个管理插件的工具，它支持安装，数据库自动创建，卸载功能，可大大降低插件开发时间同时可以有序管理插件，一键干净卸载插件，不会造成苹果cms混乱影响苹果cms升级等问题，让你的苹果cms可以随意增加任何想要的功能无需担心修改苹果cms源文件影响到苹果cms正常使用。
盒子下载地址：https://gouya.lanzouf.com/iGgeI07zodmh
QQ群：792135526（群里名额有限随时清理潜水用户）
安装苹果cms盒子方法： 1.下载到的盒子客户端压缩包内拥有一个application文件夹，直接上传到网站根目录中。
2.添加苹果cms盒子快捷菜单：苹果cms盒子,macBox/stylelist（参考下图）
腾讯Gtimg图床插件优点： 免费，不限空间，安装插件后直接使用，支持封面同步，编辑视频图片上传。
插件升级注意：
该插件不提供升级包，如需升级卸载删除原先的插件重新安装新版本即可
有人会担心图片失效了怎么办，其实很简单，吧图片全部清空重新采集一遍就行了，清空方法也简单，打开phpMyAdmin找到mac_vod表点击sql，输入sql语句：
UPDATE mac_vod SET vod_pic =&amp;#39;&amp;#39;; 然后点击执行就可以清空所有图片，在然后重新采集一遍图片就好了。
图床插件安装方法： 1.下载到的插件压缩包上传到addons目录中解压
2.打开苹果cms盒子点击安装即可
3.下载地址: https://gouya.lanzouy.com/igtxi0bnaqhi
使用教程：
最新更新需要腾讯图床需要提供token，例如下面部分
userid=68552314;omaccesstoken=001fceb42ca1d843edf1066170a2a2bc5d9788a63587b8419549426a6b40c2052799417defb079f6a54b391efbb481e3f5da50123896b210607ba3f2e8fb6cf08cnv;omtoken=001fceb42ca1d843edf1066172a2bc5d9788a63587b82195461536a6b40c2052766417defb079f6a54b391efbb481e3f5da506d896db210607ba3f2e8fb6cf08cnv; token需要自己登录腾讯开放平台，然后登录一个账号刷新网页F12查看
1.安装并启用插件
2.参考下图切换至腾讯图床并且填写token
注意：因腾讯对于图床调整全部增加了防盗链，因此使用腾讯图床需要接触防盗，下面提供两种方法
1.（推荐方法）编辑模板在头部增加位置
&amp;lt;meta name=&amp;#34;referrer&amp;#34; content=&amp;#34;never&amp;#34;/&amp;gt; 参考下图
插件更新方法： 一般有插件开发者提供更新包替换，涉及到收费问题暂时不支持在线升级功能。
4.0升级内容：
1.移除模板相关代码
2.移除SG11加密组件，无需在安装加密组件了，直接使用即可
3.移除不使用的代码
注：因苹果cms版本问题可能出现兼容，点击安装，启用，卸载没反应，如果遇到这种问题刷新一下即可。</description></item><item><title>9款高效实用又非常有趣的软件！完全免费开源！！</title><link>https://blog.lufei.de/p/9%E6%AC%BE%E9%AB%98%E6%95%88%E5%AE%9E%E7%94%A8%E5%8F%88%E9%9D%9E%E5%B8%B8%E6%9C%89%E8%B6%A3%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%E5%BC%80%E6%BA%90/</link><pubDate>Thu, 31 Aug 2023 15:29:34 +0000</pubDate><guid>https://blog.lufei.de/p/9%E6%AC%BE%E9%AB%98%E6%95%88%E5%AE%9E%E7%94%A8%E5%8F%88%E9%9D%9E%E5%B8%B8%E6%9C%89%E8%B6%A3%E7%9A%84%E8%BD%AF%E4%BB%B6%E5%AE%8C%E5%85%A8%E5%85%8D%E8%B4%B9%E5%BC%80%E6%BA%90/</guid><description>1、FreeRDP：完全免费的远程桌面管理工具。通过它可以轻松实现 macOS 或 Linux 远程操作 Windows 桌面系统反之亦可，使用起来十分方便和流畅。
【开源软件】
2、min：一款最小化的浏览器。它是仅包含搜索、书签、密码管理、广告屏蔽器等最基础功能的极简浏览器，适用于 Windows、Linux、macOS 操作系统。
【开源软件】
3.wechat-backup：本地备份微信聊天记录的工具。它能够将手机上的微信聊天记录，解密后保存在电脑上，支持查看、搜索、恢复微信聊天记录。
【开源软件】
4、ServerStatus：多服务器云监控。轻松监控多台服务器状态的工具，用于解决多个不同平台下的服务器状态监控问题
【开源软件】
5.vanblog：实用的一站式个人博客系统。一款简洁优雅的博客系统，追求极致响应速度和博客体验。快到极致的响应速度，Lighthouse 接近满分。前后台均为响应式，支持 Docker 一键部署。前台为静态页面并支持增量渲染，按需构建更新页面。拒绝花里胡哨的功能，专注于个人博客场景。
【开源软件】
不同的【安装方式】
6.TowerDefense-GameFramework-Demo：开源的塔防游戏示例。此项目主要用来上手和学习基于 Unity 引擎的游戏框架 GameFramework，感兴趣的同学可以把玩一下。游戏共有五个关卡，玩家通过击杀敌人和建造能量塔获取资源，消耗能量建造防御塔阻止敌人攻击基地
【开源软件】
7.nightingale：开源的云原生监控系统。支持 Docker 等多种部署方式，集数据采集、监控告警、可视化为一体的企业级监控平台。借助高性能时序库，可以满足数亿时间线的采集、存储和告警分析的场景。该项目已在上千家企业部署落地，经历了各种生产环境的检验。
【开源软件】
8.ghidra：一款免费开源的软件逆向分析工具。该项目由美国国安局开源，可用于分析编译后的代码。
【开源软件】
9.HackBrowserData：一款浏览器数据导出工具。能够导出本地浏览器的密码、历史记录、Cookie、书签、下载记录、localStorage 等数据的命令行工具，支持多平台下的多种主流浏览器。
【开源软件】</description></item><item><title>使用 acme.sh 申请 Google 的免费 SSL 证书</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8-acme.sh-%E7%94%B3%E8%AF%B7-google-%E7%9A%84%E5%85%8D%E8%B4%B9-ssl-%E8%AF%81%E4%B9%A6/</link><pubDate>Mon, 28 Aug 2023 16:12:32 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8-acme.sh-%E7%94%B3%E8%AF%B7-google-%E7%9A%84%E5%85%8D%E8%B4%B9-ssl-%E8%AF%81%E4%B9%A6/</guid><description>上个月 30 日，Google Cloud 在其博客发表文章 Automate Public Certificates Lifecycle Management via RFC 8555 (ACME) 发布了测试版的自动化公共 CA 管理程序。
简而言之就是 Google 也开放了类似于 Let’s Encrypt 的免费证书申请。并且和 Google 各项服务使用相同的根证书。
优劣分析 可以设置颁发证书的有效期；（最长 90 天） 支持多域名及通配符；（与 Let’s Encrypt 相同） 仅支持 DNS 验证和文件验证，不支持邮件验证；（与 Let’s Encrypt 相同） 支持 IP 地址，但是仅允许该 IP 地址块的所有者进行验证；（Let’s Encrypt 暂不支持） 不支持 IDN (International Domain Name, 国际化域名，使用 Punycode 进行编码，形如 xn–1.xn–2).（Let’s Encrypt 已经支持） 目前签发的证书，即使选择 ECC 类型，证书链的中级证书也是 RSA 的（Let’s Encrypt 已经支持全链 ECC） ocsp.pki.goog 有国内节点，访客体验还是很不错的。 目前有 DNSSEC CAA 问题，在 DNSPod 添加了 DNSSEC 的用户请暂缓申请 申请方法 申请 GOOGLE 域名 API 登录 google 账号后，进入下面链接</description></item><item><title>推荐8个宝藏级的开源软件！来自Github的免费精品项目</title><link>https://blog.lufei.de/p/%E6%8E%A8%E8%8D%908%E4%B8%AA%E5%AE%9D%E8%97%8F%E7%BA%A7%E7%9A%84%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E6%9D%A5%E8%87%AAgithub%E7%9A%84%E5%85%8D%E8%B4%B9%E7%B2%BE%E5%93%81%E9%A1%B9%E7%9B%AE/</link><pubDate>Sun, 27 Aug 2023 15:27:46 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%8E%A8%E8%8D%908%E4%B8%AA%E5%AE%9D%E8%97%8F%E7%BA%A7%E7%9A%84%E5%BC%80%E6%BA%90%E8%BD%AF%E4%BB%B6%E6%9D%A5%E8%87%AAgithub%E7%9A%84%E5%85%8D%E8%B4%B9%E7%B2%BE%E5%93%81%E9%A1%B9%E7%9B%AE/</guid><description>1.Malware-Patch：阻止 Windows 流氓软体授权的工具。它轻巧、无需后台运行，可用于阻止指定软体的管理员授权。
【开源项目】
2.Rocket.Chat：一款可自由定制的企业级开源通信平台源码。用它来可以搭建一个功能丰富的通信平台，可自託管做为 Slack 的开源替代品。支持创建频道、团队和讨论等多种不同功能的群聊，消息支持图片、文件、视频和语音，拥有包括 Windows、Linux、macOS、Android 和 iOS 在内的多种客户端。 如果你需要搭建一个安全加密，且具有高度私密性的通信平台，那麽这款开源项目就非常适合你了。
【开源项目】
3.hackingtool：黑客工具全家桶。该项目收录了各种黑客工具，包括破解密码、SQL 注入、钓鱼攻击、XSS、DDos 等。堪称黑客军火库的开源项目啊
【开源项目】
4.sniffnet：可轻鬆监控网路流量的工具。这是一个简单、可靠、炫酷的网路监控应用，可以让你一目了然地了解设备的网路流量。
【开源项目】
5.changedetection ：简单好用的网站变更检测、监控和通知服务。基于 Flask+Selenium 构建的 Web 服务，可以在目标网站发生变化时发出通知，可用于监控商品降价、工作机会、版本发布、最新内容等，支持 Docker 的安装方式。
【开源项目】
6.calibre：一款完全免费开源且功能强大的电子书管理工具。它是集下载、格式转化、制作、管理于一体的电子书工具，比如可以将 txt 文本，转化成包含作者信息和书籍封面的 mobi 文件，制作完成后还可以直接发送到 Kindle 设备上。 支持多种电子书格式，包括EPUB、MOBI、PDF等等。Calibre的功能非常强大，可以帮助用户轻鬆地管理自己的电子书库，包括添加、删除、重命名和搜索等。此外，它还提供了阅读器功能，用户可以在软体内直接阅读电子书，而不需要另外下载阅读器。你还可以可通过插件/扩展实现更多的功能。
【开源项目】
7.Magisk：Android 获取 Root 许可权的工具。它可以快速、无痛地获得 Android 的超级用户许可权，支持 Android 5.0 以上的设备。
【开源项目】
8.uptime-kuma：一款极简的 uptime 监控工具。该项目可以用来监控服务正常运行时间，它界面美观、支持 Docker 一键部署，提供了中文界面、通知、多状态页面等实用功能。
【开源项目】</description></item><item><title>使用Nginx反向代理，自建CDN加速节点</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8nginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E8%87%AA%E5%BB%BAcdn%E5%8A%A0%E9%80%9F%E8%8A%82%E7%82%B9/</link><pubDate>Thu, 24 Aug 2023 06:05:35 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8nginx%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86%E8%87%AA%E5%BB%BAcdn%E5%8A%A0%E9%80%9F%E8%8A%82%E7%82%B9/</guid><description>安装 1、安装Nginx 这里使用的是军哥的LNMP 单独安装Nginx
wget http://soft.vpser.net/lnmp/lnmp2.0.tar.gz -O lnmp2.0.tar.gz &amp;amp;&amp;amp; tar zxf lnmp2.0.tar.gz &amp;amp;&amp;amp; cd lnmp2.0 &amp;amp;&amp;amp; ./install.sh nginx 2、CDN配置 假如我需要对www.moerats.com搭建CDN节点，数据放在192.168.1.100，需要先修改hosts指向，告知CDN节点去哪里去获取网站数据，也就是回源地址，做如下修改：
vi /etc/hosts 192.168.1.100 www.moerats.com 然后创建nginx配置文件moerats.com.conf。
#创建缓存目录 mkdir -p /usr/local/nginx/caches/www.moerats.com #设置缓存目录权限 chown -R www:www /usr/local/nginx/caches/www.moerats.com #创建moerats.com.conf vi /usr/local/nginx/conf/vhost/moerats.com.conf 在moerats.com.conf中添加下面的内容，缓存目录/缓存时间请根据实际情况调整。
proxy_cache_path /usr/local/nginx/caches/www.moerats.com levels=1:2 keys_zone=xiaoz:50m inactive=30m max_size=50m; server { listen 80; server_name www.moerats.com; charset utf-8,gbk; location / { proxy_set_header Accept-Encoding &amp;#34;&amp;#34;; proxy_pass https://www.moerats.com; proxy_redirect off; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_cache xiaoz; proxy_cache_valid 200 304 30m; proxy_cache_valid 301 24h; proxy_cache_valid 500 502 503 504 0s; proxy_cache_valid any 1s; proxy_cache_min_uses 1; expires 12h; } } 参数说明：</description></item><item><title>Gravatar头像 镜像地址大全</title><link>https://blog.lufei.de/p/gravatar%E5%A4%B4%E5%83%8F-%E9%95%9C%E5%83%8F%E5%9C%B0%E5%9D%80%E5%A4%A7%E5%85%A8/</link><pubDate>Thu, 24 Aug 2023 04:32:50 +0000</pubDate><guid>https://blog.lufei.de/p/gravatar%E5%A4%B4%E5%83%8F-%E9%95%9C%E5%83%8F%E5%9C%B0%E5%9D%80%E5%A4%A7%E5%85%A8/</guid><description>介绍 当我们在很多博客或者网站留言，评论的时候会看到有的人头像很酷很个性化，但是这个博客和网站本身并没有提供设置头像的功能，感觉有点神奇，那么是怎么做到的呢？其实这是使用了Gravatar。
Gravatar，全称Globally Recognized Avatar。翻译成中文为全球通用头像。
Gravatar的概念首先是在国外的独立WordPress博客中兴起的，当你到任何一个支持Gravatar的网站留言时，这个网站都会根据你所提供的Email地址为你显示出匹配的头像。当然，这个头像，是需要你事先到Gravatar的网站注册并上传的，否则，在这个网站上，就只会显示成一个默认的头像。
当你访问支持gravatar头像的网站时，只要输入你注册的邮箱账号，即会自动调用gravatar的api，转换成保存的头像。这样就可以为广大程序提供个人头像存储服务。
使用 使用该服务时需要去官网中注册一个账号，并上传头像。
注意头像上传后会审核，然后管理员会按图片包含的内容划分一个等级（G 普通级、PG 辅导级、R 和 X 为限制级）。
通过之后这个头像就可以使用了。在任何支持Gravatar的地方，在评论填写email地址时，请填写你申请注册头像用的这个email地址。你的头像就会出现在留言中。就这样可以展示给大家看了
调用 由于gravatar目前服务极不稳定，调用时推荐用国内的源。
以下个人整理备份。
- gravatar官方的www源：[https://www.gravatar.com/avatar/] - gravatar官方的cn源：[https://cn.gravatar.com/avatar/] - gravatar官方的en源：[https://en.gravatar.com/avatar/] - gravatar官方的secure源：[https://secure.gravatar.com/avatar/] - V2EX源：[https://cdn.v2ex.com/gravatar/] - Loli源：[https://gravatar.loli.net/avatar/] - 极客族：[https://sdn.geekzu.org/avatar/]</description></item><item><title>Git配置、提交到多个远程仓库</title><link>https://blog.lufei.de/p/git%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BA%A4%E5%88%B0%E5%A4%9A%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93/</link><pubDate>Tue, 22 Aug 2023 03:03:25 +0000</pubDate><guid>https://blog.lufei.de/p/git%E9%85%8D%E7%BD%AE%E6%8F%90%E4%BA%A4%E5%88%B0%E5%A4%9A%E4%B8%AA%E8%BF%9C%E7%A8%8B%E4%BB%93%E5%BA%93/</guid><description>优雅地配置并将代码推送至多个远程仓库，如 GitHub 和 Gitee，是一项重要的开发实践。通过巧妙配置 Git，你可以无缝管理多个代码托管平台。
在gitee平台,你可以将github上的项目导入进来,只需要填上github仓库 URL即可.非常方便
同时提交到github和gitee 方法一 通过命令行set-url --add 添加
1.使用如下命令添加远程仓库 git remote set-url --add origin 例如：
git remote set-url --add origin https://gitee.com/ganace/Ganace.git 2.查看远程仓库情况 git remote -v 可以看到gitee的仓库地址已经添加进去了
origin https://github.com/Ganace/Ganace.github.io.git (fetch) origin https://github.com/Ganace/Ganace.github.io.git (push) origin https://gitee.com/ganace/Ganace.git (push) 方法二 打开/.git/config文件，在[remote “origin”]项中添加多个需要同时提交的git远程仓库url。
例如：
[remote &amp;#34;origin&amp;#34;] url = https://github.com/Ganace/Ganace.github.io.git url = https://gitee.com/ganace/Ganace.git fetch = +refs/heads/*:refs/remotes/origin/* 提交 使用git push -f 统一提交到所有仓库，并且强制统一版本。
git push -f origin --all</description></item><item><title>CloudFlare Tunnel 内网穿透和反向代理</title><link>https://blog.lufei.de/p/cloudflare-tunnel-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%92%8C%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</link><pubDate>Sun, 20 Aug 2023 22:02:09 +0000</pubDate><guid>https://blog.lufei.de/p/cloudflare-tunnel-%E5%86%85%E7%BD%91%E7%A9%BF%E9%80%8F%E5%92%8C%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</guid><description>将您的本地服务扩展到全球网络：Cloudflare Tunnel的魔力
Cloudflare Tunnel是您连接全球网络的完美伙伴。无论您是个人开发者还是企业用户，通过Cloudflare Tunnel，您可以轻松将您的本地或电脑上的服务提供给全球用户。这款强大的工具可以安全地将您的服务引导到Cloudflare的分布式网络中，确保数据的安全性和隐私。通过加密通信和强大的安全功能，您的Web服务将免受恶意攻击和数据泄露的威胁。
一键脚本 适用于debian/ubuntu
curl -sS -O https://raw.githubusercontent.com/woniu336/open_shell/main/cloudflared.sh &amp;amp;&amp;amp; chmod +x cloudflared.sh &amp;amp;&amp;amp; ./cloudflared.sh 后面可以不看了
1.下载与安装 安装教程: 点击打开
wget -q https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb &amp;amp;&amp;amp; sudo dpkg -i cloudflared-linux-amd64.deb 有两种运行隧道的方式: 控制台和命令行
区别: 控制台添加第2个隧道的时候提示你已经安装过cloudflared服务了,你需要卸载才能继续, 命令行则可以运行多个配置文件,也就是多个服务,所以没有限制
本文使用的是命令行方式
打开控制台&amp;ndash;Access&amp;ndash;Tunnels
2.登录 cloudflared tunnel login 会自动打开浏览器，登录后选择域名，完成验证
此时 Cloudflare 会创建一个 cert.pem 文件放在你的 ~/.cloudflared 目录下。
3.创建隧道 cloudflared tunnel create 隧道名 此时会输出一些隧道 ID 之类的信息
4.配置隧道 给隧道创建一个域名
cloudflared tunnel route dns 隧道名 刚才选择的域名 这里有个坑: 回到域名的DNS解析,把CNAME 记录名称改回来
比如: tt.baidu.com改为mm.baidu.com
内容改为: 隧道UUID.</description></item><item><title>利用Cloudflare Tunnel为Uptime Kuma设置反向代理</title><link>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8cloudflare-tunnel%E4%B8%BAuptime-kuma%E8%AE%BE%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</link><pubDate>Sun, 20 Aug 2023 05:57:08 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8cloudflare-tunnel%E4%B8%BAuptime-kuma%E8%AE%BE%E7%BD%AE%E5%8F%8D%E5%90%91%E4%BB%A3%E7%90%86/</guid><description>描述 这是迄今为止我见过的最简单的反向代理！
她就是Cloudflare Tunnel
不用安装Nginx 或 Apache
安装好Uptime Kuma( docker 安装)，您只需在“设置”中提供 Cloudflare Tunnel 令牌，即可在 Internet 上浏览 Uptime Kuma。
优点：
免费 完整的 GUI，零配置文件 您可以将 Uptime Kuma 置于防火墙后面 无需暴露您的真实IP 公开 Docker 端口是可选的 不需要 Nginx、Caddy 或 Traefik 等反向代理软件 零配置 SSL 免费SSL 要求 您域名的 DNS 由 Cloudflare 管理。 对于 Docker，仅 Debian或ubuntu 基础支持。 对于非 Docker，需要下载并安装cloudflared。https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/install-and-setup/installation/ 对于非 Docker Windows 用户，您可以在其 Github 版本上下载 msi 安装程序：https://github.com/cloudflare/cloudflared/releases/latest 四个步骤 在Cloudflare Zero Trust上创建隧道。 获取您的隧道令牌并将其设置到您的 Uptime Kuma 实例中。 将域名映射到http://localhost:3001。 启动。 开始吧 步骤其实非常简单。然而，由于这个概念对任何人来说都是相当新的，所以详细地写出来可能会更好。</description></item><item><title>PICGO+白嫖Cloudflare R2存储做图床</title><link>https://blog.lufei.de/p/picgo-%E7%99%BD%E5%AB%96cloudflare-r2%E5%AD%98%E5%82%A8%E5%81%9A%E5%9B%BE%E5%BA%8A/</link><pubDate>Sun, 20 Aug 2023 05:05:54 +0000</pubDate><guid>https://blog.lufei.de/p/picgo-%E7%99%BD%E5%AB%96cloudflare-r2%E5%AD%98%E5%82%A8%E5%81%9A%E5%9B%BE%E5%BA%8A/</guid><description>前言 Cloudflare R2存储允许开发人员存储大量非结构化数据，而无需支付与典型云存储服务相关的昂贵出口带宽费用。Cloudflare R2存储流量不收费，收费的是存储空间和请求次数。A类操作和B类操作分开收费，上传属于A类操作，下载和访问属于B类操作。
免费 付费 - 费率 贮存 10 GB/月 每月 0.015 美元/GB A 类操作 每月 100 万个请求 4.50 美元/百万请求 B 类操作 每月 1000 万个请求 0.36 美元/百万请求 也就是说，可以免费存储10G的文件，每个月可以上传100万次，访问1000万次，假如用作图床，一般是用不到这个量级的。并且可以绑定自定义域名，套用页面规则以后可以设置浏览器缓存，这样可以减少一些请求次数并且可以防止被人刷请求次数导致一晚上过去，房子就不属于自己了。不自定义域名也是可以的，也就是说你甚至不需要拥有域名就可以拥有一个图床。
存储也是比较便宜的，超出10G以后，1G文件基本上每个月只要1毛人民币。当然和B2那种5刀一个月1T是没法比的，用作图床的话还有种阿里云国际的OSS的40G年付包也是比较有性价比，这里扯远了。下面详细说一下怎么白嫖R2做图床。
本文的图就放在R2上，只不过域名是自定义的。
设置R2 开通R2 首先当然是拥有一个Cloudflare账号，并且点击右上角的语言设置中文。
第一步当然是开通R2，侧边栏找到R2然后点击开通。这里可以绑定支持外币支付的卡，或者直接绑定paypal，中国区的paypal也是可以的。
第二步是创建存储桶，可以自己选取位置，不建议无脑选亚太地区，亚太地区虽然近但是国际访问速度受限，我这里选择北美西部。
第三步是创建完存储桶后，点进就到存储桶的设置，然后找到【R2.dev 子域】，将其开启，下图是我已经开启的状态。
大家可以认为你的存储同并没有域名绑定，开启这个子域名以后，cf就分配了一个域名给你的存储桶，如果你绑定了自定义域名到存储桶的话，可以把这个开关给关了，可以少一些问题。如果你没有购买域名没法自定义域名，一直用cf给你的这个域名也是可以的。自定义域名的好处是不限速，而且可以享受cloudflare上面的一系列缓存和自定义限速等设置，防止被刷访问次数。
然后，你就可以通过cf网站上传器上传图片到R2了，便可正常访问。
开通API 回到R2的概述界面，点击右上角的 管理 R2 API 令牌，然后点击右上角的创建api令牌，如果要使用picgo进行图片的上传，请记得在权限选项把对象读和写打开，在ttl选项可以设置api令牌的有效期，这里可以选择永久。大概如下图所示。
创建完成令牌以后请把 访问密钥 ID 和 机密访问密钥 收藏好，只会显示这一次，以后用的时候就找不到了，记下来以后还能用到。当然，如果没记住的话，以后再创建一个api令牌也是可以的。
使用picgo进行上传操作 PICGO项目地址：https://github.com/Molunerfinn/PicGo
安装好PicGo后，点击【插件设置】搜索【S3】，安装下图插件。
安装完成后，点击左侧-侧边栏的图床设置，里面多了一个AMAZON S3这个选项，进去设置。
应用密钥ID填写我们刚刚复制的访问密钥 ID
应用密钥填写我们刚刚复制的机密访问密钥
桶命就写我们存储桶的名字，这里是duangks
文件路径自己设置，默认也是可以的
地区可以不用填写，默认跳转就可以
自定义节点需要填写一下，在R2中点击存储桶，到存储桶的管理界面，点击设置，里面的S3 api就是需要复制的。例如
自定义域名需要注意一下，复制咱们开通的R2.dev 子域，然后在后面加上/你的桶名。
例如，我开通的R2.dev 子域是 https://pu1-082231df54234f2b90d1bd5432310a4b.r2.dev</description></item><item><title>GitHub Actions自动构建Hugo并同步到腾讯COS</title><link>https://blog.lufei.de/p/github-actions%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BAhugo%E5%B9%B6%E5%90%8C%E6%AD%A5%E5%88%B0%E8%85%BE%E8%AE%AFcos/</link><pubDate>Sat, 19 Aug 2023 11:28:45 +0000</pubDate><guid>https://blog.lufei.de/p/github-actions%E8%87%AA%E5%8A%A8%E6%9E%84%E5%BB%BAhugo%E5%B9%B6%E5%90%8C%E6%AD%A5%E5%88%B0%E8%85%BE%E8%AE%AFcos/</guid><description>借助强大的 Github Action，我们能够轻松地实现博客的自动化构建与部署，让整个流程更加优雅高效。在这个过程中，我们选用了 Hugo 这一优秀的工具，它与 hexo 一样，都是出色的静态博客生成器。
考虑国内网络环境，我们选择了腾讯云COS来部署博客，以提供更快速、稳定的访问体验。这个策略让博客的美感与技术有机融合，为读者呈现出精致的阅读空间。
准备工作： 到腾讯云&amp;ndash;访问管理—用户列表，新建一个账户 地址: https://console.cloud.tencent.com/cam
访问方式改为&amp;quot;编程访问”，用户权限添加&amp;quot;QcloudCOSDataFullControl、 QcloudCDNFullAccess&amp;quot;。完成之后将生成的 SecretId、SecretKey 复制保存。
到 Github 新建一个仓库(私有公共都行)，把自己 hugo 生成的站点源文件(不是 public 下文件)同步过去。
在刚创建的仓库——Settings——Secrets and variables——Actions，
新建 SecretId、SecretKey、Bucket、 Region 四个密钥。其中 SecretId、SecretKey 为上面复制保存的，Bucket(存储桶名称)、 Region(所属地域 如:ap-guangzhou )在 COS 中存储桶列表中获取。
自动构建 在博客仓库根目录下新建 .github/workflows 文件夹，新建一个 deploy.yml（文件名随意），作用：借助 Github Action 实现自动部署
注意: 第5 38 40 行 第5行触发的分支是main还是master, 第38行改为你的用户名和仓库名,比如: 111/222 第40行是Github Pages 所在分支 最后两行是同步根目录还是public目录 完整脚本 name: Auto Deploy hugo on: push: branches: - main # 更新触发的分支 jobs: build-deploy: # runs-on: ubuntu-latest runs-on: ubuntu-20.</description></item><item><title>使用cosfs挂载腾讯云COS到VPS服务器上</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8cosfs%E6%8C%82%E8%BD%BD%E8%85%BE%E8%AE%AF%E4%BA%91cos%E5%88%B0vps%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A/</link><pubDate>Sat, 19 Aug 2023 05:09:53 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8cosfs%E6%8C%82%E8%BD%BD%E8%85%BE%E8%AE%AF%E4%BA%91cos%E5%88%B0vps%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A/</guid><description>事前准备 准备好用于挂载的Bucket，配置好权限
获得可以用于挂载Bucket，accesskey和secret
本文使用的是Ubuntu 20.04
腾讯官方Cosfs的地址
https://github.com/tencentyun/cosfs/
1.下载cosfs的安装包 wget https://github.com/tencentyun/cosfs/releases/download/v1.0.21/cosfs_1.0.21-ubuntu20.04_amd64.deb 2.安装软件包 sudo dpkg -i cosfs_1.0.21-ubuntu20.04_amd64.deb 3.如果安装过程中遇到依赖项错误，请使用以下命令修复它们
sudo apt-get install -f 3.配置访问 将Bucket名称以及具有此Bucket访问权限的AccessKeyId/AccessKeySecret
信息存放在/etc/passwd-cosfs文件中。注意这个文件的权限必须正确设置，建议设为640。
echo my-bucket:key-id:key-secret &amp;gt; /etc/passwd-cosfs chmod 640 /etc/passwd-cosfs my-bucket: 存储桶名称 key-id: AccessKeyId key-secret: AccessKeySecret 4.将Bucket挂载到指定目录 cosfs my-bucket /home/cos -ourl=http://cos.ap-guangzhou.myqcloud.com -oallow_other my-bucket:存储桶名称 /home/cos为你的服务器上的路径 http://cos.ap-guangzhou.myqcloud.com 为所属地域 5.卸载已挂载的磁盘 fusermount -u /home/cos</description></item><item><title>发卡网轻松装！独角数卡1分钟安装攻略</title><link>https://blog.lufei.de/p/%E5%8F%91%E5%8D%A1%E7%BD%91%E8%BD%BB%E6%9D%BE%E8%A3%85%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A11%E5%88%86%E9%92%9F%E5%AE%89%E8%A3%85%E6%94%BB%E7%95%A5/</link><pubDate>Wed, 16 Aug 2023 05:29:51 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%8F%91%E5%8D%A1%E7%BD%91%E8%BD%BB%E6%9D%BE%E8%A3%85%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A11%E5%88%86%E9%92%9F%E5%AE%89%E8%A3%85%E6%94%BB%E7%95%A5/</guid><description>独角数卡是一款精巧的卡密销售系统，具备强大功能。
您可按照作者提供的文档，依赖 mysql 和 redis 进行顺利安装。
或者，您也可以采用本文的Docker镜像，比官方推荐更优。
这个镜像集成了所有组件，一分钟内即可搭建完毕。使您迅速体验到这一卓越系统的便捷和高效。
项目地址: https://github.com/assimon/dujiaoka
步骤 1 安装 docker curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 步骤2 安装部署独角数卡 事先解析好你的域名, 指向你VPS的IP地址
bash &amp;lt;(curl -L -s https://raw.githubusercontent.com/woniu336/open_shell/main/dujiao.sh) 提示输入域名: 输入解析好的域名 店铺名字: 随意 开通Https[Y/N]N 选择N 安装好之后,终端底部会显示一些安装的信息
步骤3 网页安装 重点 注意端口号是: 3080
打开域名:3080 ,例如 http://baidu.com:3080
后面可以使用反向代理方式去掉3080端口
访问域名开始安装：
将mysql的地址改为db 将mysql的用户名改为dujiaoka 将mysql密码改为终端显示的密码 将redis的地址改为redis 填写网站名称 网站 url 填写完整域名地址，例如http://shop.ioiox.com 点击安装，并成功安装，登录后台:
在域名后面加上 /admin，账户密码都是admin 就可以正常登录后台了！
记得改一下用户名和密码！
关于https的问题 后台登录出现0err或者其他登录异常问题，大概率是开启了https而后台没有开启，把下面的false改为true即可</description></item><item><title>Docker搭建Gogs一个轻量 Git 服务端</title><link>https://blog.lufei.de/p/docker%E6%90%AD%E5%BB%BAgogs%E4%B8%80%E4%B8%AA%E8%BD%BB%E9%87%8F-git-%E6%9C%8D%E5%8A%A1%E7%AB%AF/</link><pubDate>Wed, 16 Aug 2023 03:47:29 +0000</pubDate><guid>https://blog.lufei.de/p/docker%E6%90%AD%E5%BB%BAgogs%E4%B8%80%E4%B8%AA%E8%BD%BB%E9%87%8F-git-%E6%9C%8D%E5%8A%A1%E7%AB%AF/</guid><description>为何选择 Gogs ？ 我选择了 Gogs 来讲解，主要是出于以下几个原因：
Gogs 是一个轻量化的 Git 服务，对系统占用较小。 Gogs 的功能够用。 Gogs 的安装流程简便。 其中第一点最重要，因为 Gitlab 对系统配置的要求比较高，单是内存这一项就要求大于 4 GB，如果是 2 GB 内存则会直接无法运行，这个要求已经可以淘汰掉一些入门级服务器了。而 Gogs 在 NAS、树莓派、入门级服务器上都可以无压力运行，长期运行也不会影响其他服务。
而且我们介绍的场景也不是多人开发协作，只是个人同步笔记用，不需要过多的开发相关功能，有最基本的 Git 服务和一个便于操作的网页就足够了。
Gogs 的安装过程也比较简单，官方的 Docker 版本基本做到了开箱即用，连数据库都不需要额外配置，有个文件夹存放数据就可以。
如何在图形界面中安装 Docker 版 Gogs 我通常建议通过图形化界面来管理 Docker，这样能够直观看到容器的运行状态，像启动、停止、修改配置这样的操作，都能以最简单的方式完成。
所以先来讲讲在图像界面下如何安装 Docker 版本的 Gogs。
了解 Docker 的关键配置 我们借助 Gogs 顺便了解一下通过 Docker 跑一个服务需要做什么配置。
首先我们找到 Gogs 在 hub.docker.com 中的包：Gogs - Docker Hub 。
根据它下方的文档提示可以得知，Gogs 的必要配置很少，我们根据它的官方配置可以得知，它需要这下面两行核心代码就可以完成部署。
docker pull gogs/gogs docker run --name=gogs -p 10022:22 -p 10880:3000 -v /var/gogs:/data gogs/gogs 如何使用 Gogs 使用 Gogs 创建仓库和 Github 类似，注册账户，创建仓库……图形化界面总是容易让人理解。这里就不再赘述了。</description></item><item><title>手把手教你：Git分支创建与代码提交的细致流程</title><link>https://blog.lufei.de/p/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0git%E5%88%86%E6%94%AF%E5%88%9B%E5%BB%BA%E4%B8%8E%E4%BB%A3%E7%A0%81%E6%8F%90%E4%BA%A4%E7%9A%84%E7%BB%86%E8%87%B4%E6%B5%81%E7%A8%8B/</link><pubDate>Tue, 15 Aug 2023 16:46:03 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%89%8B%E6%8A%8A%E6%89%8B%E6%95%99%E4%BD%A0git%E5%88%86%E6%94%AF%E5%88%9B%E5%BB%BA%E4%B8%8E%E4%BB%A3%E7%A0%81%E6%8F%90%E4%BA%A4%E7%9A%84%E7%BB%86%E8%87%B4%E6%B5%81%E7%A8%8B/</guid><description>其实最基本的流程就是新建分支，在这个分支上改动代码，再提交上去，跟master分支合并。
1. 新建分支 首先，在你新建分支之前，你应该在master分支，并且要保证你当前的是最新代码，要不然就是找死，最后提交代码就会出问题。
git pull origin master 在master分支下，保证当前代码与线上同步 git branch &amp;lt;分支名&amp;gt; ，正儿八经的新建分支。 git checkout &amp;lt;分支名&amp;gt; ，切换 到新建的分支上，再进行下一步。 git push origin &amp;lt;分支名&amp;gt; ,把本地分支推到远端，让远端也有一个你的分支 新建分支并切换到该分支：git checkout -b &amp;lt;分支名&amp;gt;
2. 提交代码 在新建的分支上写完代码之后，就可以提交代码了。此时应该在你新建的分支上
git status ,查看自己写了哪些东西。 git add . git commit -m ‘本次提交的描述’ git push origin &amp;lt;分支名&amp;gt; ,push是从本地向远端推代码 执行完上一步，有可能报错，此时淡定，不认识英语的话在线翻译是干嘛的，大多数时候提示你，本地落后于远端，（意思就是远端比本地多了一些代码，为什么会出现这种情况呢，肯定是你跟别人共用一个分支，他提交了一段代码到远端，所以导致你的本地落后于远端）既然落后了，那就把他更新成最新的呗，
git pull --rebase origin 远程分支名 执行完之后，你的代码就跟远端又一样了。并且你的修改仍然在，此时再提交你的代码
git push origin &amp;lt;分支名&amp;gt; 3.rebase代码 提交完代码之后需要让测试人员进行测试，若测试没问题，就可以rebase代码，然后上线了。（==这一步是保证你要上线的代码是基于最新的master==）
git pull —rebase origin &amp;lt;分支名&amp;gt; git pull —rebase origin master
执行这两步的时候都有可能发生冲突，此时你要做的就是解决冲突，再继续提交。 解决完冲突之后，git add .</description></item><item><title>使用Git实现稳定的Obsidian同步方案</title><link>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8git%E5%AE%9E%E7%8E%B0%E7%A8%B3%E5%AE%9A%E7%9A%84obsidian%E5%90%8C%E6%AD%A5%E6%96%B9%E6%A1%88/</link><pubDate>Tue, 15 Aug 2023 13:54:23 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%BD%BF%E7%94%A8git%E5%AE%9E%E7%8E%B0%E7%A8%B3%E5%AE%9A%E7%9A%84obsidian%E5%90%8C%E6%AD%A5%E6%96%B9%E6%A1%88/</guid><description>关于 Obsidian 同步这件事，似乎总能让人感到头疼。同步方案不是太少，而是太多。多到你难以辨别哪种方案是最合适自己的。而且有不少同步方法是未经验证的，一些想当然的方案其实并不适合 Obsidian。
这篇文章我想先聊聊 PC 之间的 Obsidian 库同步。也就是不论系统，可以在 Windows、macOS、Linux 之间稳定完成同步的方法：Git 同步方案。
准备工作 在开始之前，确保你已经安装了Git和Obsidian软件。接下来，我们将一步步进行配置。
创建Git仓库 首先，选择一个Git平台作为仓库托管，这里我们以GitHub为例。如果你还没有GitHub账号，请先在GitHub官网注册一个账号。
登录GitHub账号，点击右上角的“+”按钮，选择“New repository”。 填写仓库名称，选择公开或私有，其他设置保持默认，点击“Create repository”。 将仓库同步到本地 你可以使用命令行或图形化工具，这里我们介绍使用GitHub Desktop。
下载并安装GitHub Desktop。 打开GitHub Desktop，登录你的GitHub账号。 点击“File”菜单，选择“Clone repository”。 选择你刚创建的仓库，选择本地存放位置，点击“Clone”按钮。 合并Obsidian库和Git仓库 打开Obsidian软件，找到你想同步的笔记库所在的文件夹。 将笔记库文件夹（包括隐藏的 .obsidian 文件夹）复制到刚刚克隆的Git仓库文件夹中。 使用GitHub Desktop提交和推送至远程仓库 安装Obsidian Git插件 在Obsidian中打开刚刚合并的仓库文件夹。 点击左侧导航栏的插件图标。 在插件搜索框中输入“Obsidian Git”并安装。 安装 Obsidian Git 插件进行后续的同步 接下来你需要进 Obsidian ，打开这个转移好的目录，并在这个库中，安装一个名为 Obsidian Git 的插件。
安装完成后应该会自动出现一个 Git Control View 的侧边栏。如果没有，则按下 Ctrl + P，搜索 Obsidian Git: Open Source Control View ，就可以打开这个面板。
有了这个插件，以后的同步操作你都可以在 Obsidian 内部进行了。</description></item><item><title>docker部署mysql并修改其占用内存大小</title><link>https://blog.lufei.de/p/docker%E9%83%A8%E7%BD%B2mysql%E5%B9%B6%E4%BF%AE%E6%94%B9%E5%85%B6%E5%8D%A0%E7%94%A8%E5%86%85%E5%AD%98%E5%A4%A7%E5%B0%8F/</link><pubDate>Tue, 15 Aug 2023 07:17:31 +0000</pubDate><guid>https://blog.lufei.de/p/docker%E9%83%A8%E7%BD%B2mysql%E5%B9%B6%E4%BF%AE%E6%94%B9%E5%85%B6%E5%8D%A0%E7%94%A8%E5%86%85%E5%AD%98%E5%A4%A7%E5%B0%8F/</guid><description>&lt;p>因为自己部署服务内存比较小，而mysql在docker初始化就占500M，所以可优化其占用内存大小&lt;/p></description></item><item><title>Umami替代品，Plausible网站流量统计工具</title><link>https://blog.lufei.de/p/umami%E6%9B%BF%E4%BB%A3%E5%93%81plausible%E7%BD%91%E7%AB%99%E6%B5%81%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%B7%A5%E5%85%B7/</link><pubDate>Mon, 14 Aug 2023 19:29:47 +0000</pubDate><guid>https://blog.lufei.de/p/umami%E6%9B%BF%E4%BB%A3%E5%93%81plausible%E7%BD%91%E7%AB%99%E6%B5%81%E9%87%8F%E7%BB%9F%E8%AE%A1%E5%B7%A5%E5%85%B7/</guid><description>这一期，来介绍另一个流量统计的项目——Plausible。
Plausible Analytics 是一个简单、开源、轻量级（&amp;lt; 1 KB）且注重隐私的 Google Analytics 替代品。Plausible 被超过10,000个付费订阅用户信任，用于提供他们网站和业务洞察力。我们完全独立、自筹资金并自给自足。
来自官方Docs
2. 项目展示 直接丢几个图：
2.1 特点 支持docker一键部署，轻量级Docker镜像（使用Alpine Linux） 支持谷歌API，链接谷歌分析、谷歌关键词工具 支持自定义事件 颜值高 3. 相关地址 GitHub官方仓库：https://github.com/plausible/analytics
官方文档地址：https://plausible.io/docs
4. 搭建方式 创建一下安装的目录：
sudo -i mkdir -p /root/data/docker_data/plausible cd /root/data/docker_data/plausible git clone https://github.com/plausible/hosting cd hosting vim docker-compose.yml 英文输入法下，按 i
version: &amp;#34;3.3&amp;#34; services: mail: category_bar: true bytemark/smtp restart: always plausible_db: # supported versions are 12, 13, and 14 category_bar: true postgres:14-alpine restart: always volumes: - ./db-data:/var/lib/postgresql/data environment: - POSTGRES_PASSWORD=postgres plausible_events_db: category_bar: true clickhouse/clickhouse-server:23.</description></item><item><title>1Panel 是新一代的 Linux 服务器运维管理面板</title><link>https://blog.lufei.de/p/1panel-%E6%98%AF%E6%96%B0%E4%B8%80%E4%BB%A3%E7%9A%84-linux-%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF/</link><pubDate>Mon, 14 Aug 2023 04:27:00 +0000</pubDate><guid>https://blog.lufei.de/p/1panel-%E6%98%AF%E6%96%B0%E4%B8%80%E4%BB%A3%E7%9A%84-linux-%E6%9C%8D%E5%8A%A1%E5%99%A8%E8%BF%90%E7%BB%B4%E7%AE%A1%E7%90%86%E9%9D%A2%E6%9D%BF/</guid><description>在线安装 1 环境要求 安装前请确保您的系统符合安装条件：
操作系统：支持主流 Linux 发行版本（基于 Debian / RedHat，包括国产操作系统）； 服务器架构：x86_64、aarch64、armv7l、ppc64le、s390x； 内存要求：建议可用内存在 1GB 以上； 浏览器要求：请使用 Chrome、FireFox、IE10+、Edge等现代浏览器； 可访问互联网。 2 安装部署 GitHub release 链接: https://github.com/1Panel-dev/1Panel/releases
更多信息请查阅在线文档：https://1panel.cn/docs/
RedHat / CentOS
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh &amp;amp;&amp;amp; sh quick_start.sh ubuntu
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh &amp;amp;&amp;amp; sudo bash quick_start.sh debian
curl -sSL https://resource.fit2cloud.com/1panel/package/quick_start.sh -o quick_start.sh &amp;amp;&amp;amp; bash quick_start.sh 安装成功后，控制台会打印面板访问信息，可通过浏览器访问 1Panel：
http://目标服务器 IP 地址:目标端口/安全入口
如果使用的是云服务器，请至安全组开放目标端口。 ssh 登录 1Panel 服务器后，执行 1pctl user-info 命令可获取安全入口（entrance） 安装成功后，可使用 1pctl 命令行工具来维护 1Panel</description></item><item><title>强大的LDNMP一键建站脚本工具</title><link>https://blog.lufei.de/p/%E5%BC%BA%E5%A4%A7%E7%9A%84ldnmp%E4%B8%80%E9%94%AE%E5%BB%BA%E7%AB%99%E8%84%9A%E6%9C%AC%E5%B7%A5%E5%85%B7/</link><pubDate>Sat, 12 Aug 2023 17:04:38 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%BC%BA%E5%A4%A7%E7%9A%84ldnmp%E4%B8%80%E9%94%AE%E5%BB%BA%E7%AB%99%E8%84%9A%E6%9C%AC%E5%B7%A5%E5%85%B7/</guid><description>安装依赖
apt update -y &amp;amp;&amp;amp; apt install -y curl 一键脚本
curl -sS -O https://raw.githubusercontent.com/kejilion/sh/main/kejilion.sh &amp;amp;&amp;amp; chmod +x kejilion.sh &amp;amp;&amp;amp; ./kejilion.sh 观看教程</description></item><item><title>迁移 hugo 博客到服务器上</title><link>https://blog.lufei.de/p/%E8%BF%81%E7%A7%BB-hugo-%E5%8D%9A%E5%AE%A2%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A/</link><pubDate>Sat, 12 Aug 2023 06:00:50 +0000</pubDate><guid>https://blog.lufei.de/p/%E8%BF%81%E7%A7%BB-hugo-%E5%8D%9A%E5%AE%A2%E5%88%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%8A/</guid><description>不管是在腾讯云,阿里云,还是海外vps上部署hugo博客,本教程均适用,详细记录,以备不时之需.
1. 场景 ubuntu 20.04，使用root账号，创建普通账号，并赋予root权限。
查看系统发行版本，命令如下：
lsb_release -a 2. 服务器端 接下来就是网上介绍比较少的服务端配置
1 .ssh 进自己的服务器 ssh root@XXX.XXX.XX.XX 2 .建立 git 用户 adduser git 默认会在/home路径下创建一个与用户名相同的用户目录。
3. 安装 git sudo apt install git 4. 给新用户添加管理权限 如果希望新创建的用户具有管理权限，将用户添加到sudo组即可！
将新用户添加到 sudo 组，命令如下：
adduser git sudo 5. 账号切换 由root账号切换到普通账号：
sudo su git 由普通账号切换到root账号：或者exit
sudo su root 注意：切换到root账号时，需要输入当前账号的密码。
6. 在服务端新建 git 仓库 注意这里建的不是 Github仓库，是自己的服务器上的 git 仓库
在git目录下建立一个仓库 hugo.git 同时建立一个文件夹hugo用来存放仓库文件 su git cd /home mkdir git cd git git init --bare hugo.</description></item><item><title>Syncthing开源免费跨平台的文件同步工具-利用Syncthing搭建免费同步网盘</title><link>https://blog.lufei.de/p/syncthing%E5%BC%80%E6%BA%90%E5%85%8D%E8%B4%B9%E8%B7%A8%E5%B9%B3%E5%8F%B0%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7-%E5%88%A9%E7%94%A8syncthing%E6%90%AD%E5%BB%BA%E5%85%8D%E8%B4%B9%E5%90%8C%E6%AD%A5%E7%BD%91%E7%9B%98/</link><pubDate>Sat, 12 Aug 2023 03:18:50 +0000</pubDate><guid>https://blog.lufei.de/p/syncthing%E5%BC%80%E6%BA%90%E5%85%8D%E8%B4%B9%E8%B7%A8%E5%B9%B3%E5%8F%B0%E7%9A%84%E6%96%87%E4%BB%B6%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7-%E5%88%A9%E7%94%A8syncthing%E6%90%AD%E5%BB%BA%E5%85%8D%E8%B4%B9%E5%90%8C%E6%AD%A5%E7%BD%91%E7%9B%98/</guid><description>实时同步网盘，其实可以选择也挺多的，OneDrive、Google Drive、Dropbox、Box.com、iCloud等都是支持自动同步备份的，只可惜这些网盘很多都是打不开的。国内的坚果云在同步这一块做得不错，但是免费的额度太少了，不能满足大量同步的需要。
本篇文章要分享的开源免费跨平台的文件同步工具Syncthing，可以实现实时同步备份搭建个人同步网盘的功能，试用了一下发现Syncthing完全可以替代市面上这些同步网盘。Syncthing可以运行在Windows、Linux、MacOS等全平台上，而且提供了安卓手机APP，功能非常强大。
GitHub 项目地址：https://github.com/syncthing/syncthing
文档地址：https://docs.syncthing.net/intro/getting-started.html
客户端下载：https://github.com/syncthing/syncthing/releases
开始安装 推荐使用普通用户安装,请往下看
本文只记录在ubuntu20.04上怎么搭建
更新一下组件
apt update -y &amp;amp;&amp;amp; apt install -y curl &amp;amp;&amp;amp; apt install -y socat &amp;amp;&amp;amp; apt install wget -y 然后:
wget https://github.com/syncthing/syncthing/releases/download/v1.23.7/syncthing-linux-amd64-v1.23.7.tar.gz tar -zxvf syncthing-linux-amd64-v1.23.7.tar.gz cd syncthing-linux-amd64-v1.23.7 cp syncthing /usr/local/bin/ 接着:
syncthing 使用CTRL + C停止运行,修改文件
vim /root/.config/syncthing/config.xml 将127.0.0.1:8384改成 0.0.0.0:8384 即可,保存退出
再输入syncthing运行它。然后在浏览器输入服务器IP:8384访问。
保持后台运行 对于VPS主机运行syncthing如果关闭终端，syncthing也会停止运行，可以将syncthing放在后台，命令如下：
nohup syncthing &amp;amp; 开机自动启动并保持运行 vim /usr/lib/systemd/system/syncthing@.service 加入以下内容
[Unit] Description=Syncthing - Open Source Continuous File Synchronization for %I Documentation=man:syncthing(1) After=network.</description></item><item><title>独角数卡发卡宝塔安装教程</title><link>https://blog.lufei.de/p/%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A1%E5%8F%91%E5%8D%A1%E5%AE%9D%E5%A1%94%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</link><pubDate>Fri, 11 Aug 2023 17:01:01 +0000</pubDate><guid>https://blog.lufei.de/p/%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A1%E5%8F%91%E5%8D%A1%E5%AE%9D%E5%A1%94%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</guid><description>&lt;p>独角数卡发卡宝塔安装教程详细记录(转载于github)&lt;/p></description></item><item><title>好用免费开源同步工具Syncthing安装教程</title><link>https://blog.lufei.de/p/%E5%A5%BD%E7%94%A8%E5%85%8D%E8%B4%B9%E5%BC%80%E6%BA%90%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7syncthing%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</link><pubDate>Fri, 11 Aug 2023 07:04:25 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%A5%BD%E7%94%A8%E5%85%8D%E8%B4%B9%E5%BC%80%E6%BA%90%E5%90%8C%E6%AD%A5%E5%B7%A5%E5%85%B7syncthing%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B/</guid><description>1.特点 Syncthing 是一个连续的文件同步程序。它可以在两台或更多的计算机之间同步文件。
总结下面几个特点：
中文友好（支持中文界面） 设置简单，易上手 支持 Linux、Windows、macOS（NAS 也可以方便部署） 同步效率不错 支持版本控制（可以恢复到指定的版本） Docker 部署方便 支持同步加密，保护数据安全（不过咕咕还不知道如果解密，后续可以阅读一下文档，有知道的小伙伴也欢迎留言区留言和大家分享一下） 支持一对多、多对一、一对一 使用的人比较多，发现问题可以比较容易搜索到解决方案。（毕竟 GitHub 上都有 4 万多的 star） 2. 项目展示 GitHub 项目地址：https://github.com/syncthing/syncthing
文档地址：https://docs.syncthing.net/intro/getting-started.html
客户端下载：https://github.com/syncthing/syncthing/releases
本文用的 Docker 镜像：https://hub.docker.com/r/linuxserver/syncthing
3. 搭建方式 apt update -y # 升级packages apt install wget curl sudo vim git # 推荐Debian 创建一下安装的目录：
mkdir -p /home/data/docker_data/syncthing cd /home/data/docker_data/syncthing nano docker-compose.yml docker-compose.yml 填入以下内容：
--- version: &amp;#34;2.1&amp;#34; services: syncthing: category_bar: true lscr.io/linuxserver/syncthing container_name: syncthing hostname: syncthing #optional environment: - PUID=1000 - PGID=1000 - TZ=Asia/Shanghai volumes: - /home/data/docker_data/syncthing/config:/config - /home/data/docker_data/syncthing/Documents:/Documents - /home/data/docker_data/syncthing/Media:/Media ports: - 8384:8384 - 22000:22000/tcp - 22000:22000/udp - 21027:21027/udp restart: unless-stopped 没问题的话，ctrl+x 退出，按 y 保存，enter 确认。</description></item><item><title>10个可以免费白嫖VPS、云服务器的网站！给大家都罗列出来了….</title><link>https://blog.lufei.de/p/10%E4%B8%AA%E5%8F%AF%E4%BB%A5%E5%85%8D%E8%B4%B9%E7%99%BD%E5%AB%96vps%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E7%BD%91%E7%AB%99%E7%BB%99%E5%A4%A7%E5%AE%B6%E9%83%BD%E7%BD%97%E5%88%97%E5%87%BA%E6%9D%A5%E4%BA%86./</link><pubDate>Wed, 09 Aug 2023 14:28:32 +0000</pubDate><guid>https://blog.lufei.de/p/10%E4%B8%AA%E5%8F%AF%E4%BB%A5%E5%85%8D%E8%B4%B9%E7%99%BD%E5%AB%96vps%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%9A%84%E7%BD%91%E7%AB%99%E7%BB%99%E5%A4%A7%E5%AE%B6%E9%83%BD%E7%BD%97%E5%88%97%E5%87%BA%E6%9D%A5%E4%BA%86./</guid><description>1.LinuxOne （无需信用卡）：【链接】 需要按视频教程的步骤进行设置。
2.Hax VPS （无需信用卡）：【链接】
3.Oracle Cloud 甲骨文云：【链接和工具】
4.AWS 亚马逊云：【注册链接】
5.Vultr：注册首充35刀就送100美元【优惠链接】
6.GCP 谷歌云 ：【官方链接】
7.Linode：【链接直达】
8.Ditital Ocean：充值25刀可以获得额外200美元【优惠链接】
9.Kamatera：【注册链接】
10.CIVO： 【官方链接】
11.Evolution Host：【申请链接】
连接VPS、云服务器的工具：
1.WinSCP：https://winscp.net
2.Putty：https://www.putty.org
3.tabby: https://tabby.sh/</description></item><item><title>vps使用rclone挂载Google Drive教程</title><link>https://blog.lufei.de/p/vps%E4%BD%BF%E7%94%A8rclone%E6%8C%82%E8%BD%BDgoogle-drive%E6%95%99%E7%A8%8B/</link><pubDate>Wed, 09 Aug 2023 13:48:07 +0000</pubDate><guid>https://blog.lufei.de/p/vps%E4%BD%BF%E7%94%A8rclone%E6%8C%82%E8%BD%BDgoogle-drive%E6%95%99%E7%A8%8B/</guid><description>其实 rclone 挂载 Google Drive 网上的教程已经很多了，但是大多数的教程都有一点点过时，与现在的实际操作有一点出入，故整理了当前的挂载操作，以防忘记。
一、 安装并配置 rclone 安装unzip和curl：
Debian/Ubuntu系统
sudo apt-get update sudo apt-get install curl unzip CentOS
sudo yum install curl unzip 安装依赖：
# centos yum install -y fuse fuse3 或者 yum install fuse3 # debian apt-get install fuse3 一键安装rclone脚本
curl https://rclone.org/install.sh | sudo bash vps上开始配置rclone：
rclone config 选择 n，新建一个
No remotes found, make a new one? n) New remote s) Set configuration password q) Quit config n/s/q&amp;gt; n 输入新建的名称，随意写:比如 gd</description></item><item><title>将hugo博客部署至IPFS</title><link>https://blog.lufei.de/p/%E5%B0%86hugo%E5%8D%9A%E5%AE%A2%E9%83%A8%E7%BD%B2%E8%87%B3ipfs/</link><pubDate>Wed, 09 Aug 2023 06:34:31 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%B0%86hugo%E5%8D%9A%E5%AE%A2%E9%83%A8%E7%BD%B2%E8%87%B3ipfs/</guid><description>官网: https://fleek.co/hosting/
免费套餐: 每月50G流量
https://fleek.co/pricing/
特点 优势 Git 集成 简化代码管理和部署流程 自动部署 省时省力地将站点部署到网络 自动SSL 自动为站点提供SSL安全证书 全球CDN 加速内容全球分发 速度极快 利用边缘网络提供快速加载 便于使用 用户友好的界面和操作 协作性 便于团队协作和版本控制 可定制 支持灵活的定制需求 优势 描述 速度快 Fleek的边缘网络结合了IPFS和边缘计算技术，为用户提供极快的加载时间，同时部署到Fleek Edge。 去中心化 使用Fleek，您的IPFS托管网站和应用程序不仅备份在其服务器上，还会自动存档到去中心化存储网络Filecoin，作为开放网络中的附加备份层。</description></item><item><title>公共DNS汇总</title><link>https://blog.lufei.de/p/%E5%85%AC%E5%85%B1dns%E6%B1%87%E6%80%BB/</link><pubDate>Wed, 09 Aug 2023 04:20:03 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%AC%E5%85%B1dns%E6%B1%87%E6%80%BB/</guid><description>&lt;p>公共DNS汇总,互联网企业&amp;amp;高校DNS&lt;/p></description></item><item><title>🚀搭建一个小而美的网站访问统计监控 ——Umami</title><link>https://blog.lufei.de/p/umami/</link><pubDate>Tue, 08 Aug 2023 14:30:23 +0000</pubDate><guid>https://blog.lufei.de/p/umami/</guid><description>用过百度统计、友盟，最后的51拉(半夜带你嗨皮)，最后选择自建
今天带大家用 Umami 快速搭建一个网站访客监控系统，界面清爽简洁，适合自部署。
内存占用：约 250MB 镜像大小：约 670MB 🧱 1. 创建 docker-compose.yml 前提：已经安装好 Docker 和 curl 工具。
cd ~ mkdir -p ~/data/docker_data/umami cd ~/data/docker_data/umami curl -o docker-compose.yml https://raw.githubusercontent.com/woniu336/open_shell/main/docker-compose.yml 🚫 2. 解决广告拦截问题（可选优化） Umami 默认的追踪脚本路径容易被广告拦截器屏蔽，因此建议修改为自定义路径。
默认脚本地址：https://your-umami.com/script.js 默认数据收集接口：https://your-umami.com/api/send 修改方法： 打开配置文件：
cd ~/data/docker_data/umami nano docker-compose.yml 修改以下环境变量（路径名称随意）：
TRACKER_SCRIPT_NAME: x.js：追踪脚本路径自定义为 x.js COLLECT_API_ENDPOINT: /api/x：数据收集接口自定义为 /api/x 🔗 配置参考：GitHub 地址
最终前端页面引用示例： &amp;lt;script async defer data-website-id=&amp;#34;你的website-id&amp;#34; src=&amp;#34;https://your-domain.com/x.js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt; 修改完毕后按下：
Ctrl + X 退出编辑 Y 保存 Enter 确认 ▶️ 3. 启动 Umami 服务 docker compose up -d 然后访问浏览器中的地址：</description></item><item><title>EasyImage：一个简洁的开源图床程序</title><link>https://blog.lufei.de/p/easyimage%E4%B8%80%E4%B8%AA%E7%AE%80%E6%B4%81%E7%9A%84%E5%BC%80%E6%BA%90%E5%9B%BE%E5%BA%8A%E7%A8%8B%E5%BA%8F/</link><pubDate>Tue, 08 Aug 2023 14:03:39 +0000</pubDate><guid>https://blog.lufei.de/p/easyimage%E4%B8%80%E4%B8%AA%E7%AE%80%E6%B4%81%E7%9A%84%E5%BC%80%E6%BA%90%E5%9B%BE%E5%BA%8A%E7%A8%8B%E5%BA%8F/</guid><description>EasyImage 简单图床 2.0 支持多文件上传,简单无数据库,返回图片url,markdown,bbscode,html的一款图床程序
演示地址：png.cm
在当前html5流行大势所趋下，遂利用基础知识新写了一个以html5为默认上传并且支持flash,向下兼容至IE9。
功能支持： 支持仅登录后上传 支持设置图片质量 支持上传图片转换为指定格式 支持文字/图片水印 支持设置图片指定宽/高 支持限制最低宽度/高度上传 支持设置广告 支持开启/关闭api上传 在线管理图片(增、删、改、查) 支持网站统计 请将统计代码放入:public/static/hm.js 更多····· 注意： 安装之前先使用浏览器访问check.php检查扩展是否都安装！ 请将所有文件赋予0755权限或www权限 上传后必须修改config.php的位置： domain 当前图片域名 password 登录管理密码！ 如果无法登陆管理界面或上传图片，请先打开check.php检查扩展或者使用phpinfo检查。 可以使用浏览器的 F12调试模式-&amp;gt;console查看错误 如果对php不太熟悉的话，不要将图床程序放置于二级目录 下载源码后可以删除一些文件：README.md,check.php,LICENSE API上传示例： 参数：
参数名称 类型 是否必须 说明 image file 是 需上传的图片 api text 是 token html form上传示例:
&amp;lt;form action=&amp;#34;../index.php&amp;#34; method=&amp;#34;post&amp;#34; enctype=&amp;#34;multipart/form-data&amp;#34;&amp;gt; &amp;lt;input type=&amp;#34;file&amp;#34; name=&amp;#34;image&amp;#34; accept=&amp;#34;image/*&amp;#34; &amp;gt; &amp;lt;input type=&amp;#34;text&amp;#34; name = &amp;#34;token&amp;#34; placeholder=&amp;#34;在tokenList文件找到token并输入&amp;#34;/&amp;gt; &amp;lt;input type=&amp;#34;submit&amp;#34; /&amp;gt; &amp;lt;/form&amp;gt; api上传成功后返回json：
// 参数:&amp;#34;sucess&amp;#34;上传成功 &amp;#34;url&amp;#34; 图片链接 &amp;#34;del&amp;#34; 删除链接 &amp;#34;failed&amp;#34; 上传失败 &amp;#34;message&amp;#34; 错误信息 {&amp;#34;result&amp;#34;:&amp;#34;success&amp;#34;,&amp;#34;url&amp;#34;:&amp;#34;http:\/\/192.</description></item><item><title>8款良心实用的软件推荐，真正的新系统必备，绝对刷新你的认知！</title><link>https://blog.lufei.de/p/8%E6%AC%BE%E8%89%AF%E5%BF%83%E5%AE%9E%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90%E7%9C%9F%E6%AD%A3%E7%9A%84%E6%96%B0%E7%B3%BB%E7%BB%9F%E5%BF%85%E5%A4%87%E7%BB%9D%E5%AF%B9%E5%88%B7%E6%96%B0%E4%BD%A0%E7%9A%84%E8%AE%A4%E7%9F%A5/</link><pubDate>Tue, 08 Aug 2023 07:09:37 +0000</pubDate><guid>https://blog.lufei.de/p/8%E6%AC%BE%E8%89%AF%E5%BF%83%E5%AE%9E%E7%94%A8%E7%9A%84%E8%BD%AF%E4%BB%B6%E6%8E%A8%E8%8D%90%E7%9C%9F%E6%AD%A3%E7%9A%84%E6%96%B0%E7%B3%BB%E7%BB%9F%E5%BF%85%E5%A4%87%E7%BB%9D%E5%AF%B9%E5%88%B7%E6%96%B0%E4%BD%A0%E7%9A%84%E8%AE%A4%E7%9F%A5/</guid><description>1.Final2x 图片放大工具，免费开源 【开源项目】
2.Gopeed 一款支持全平台的下载器 【官方下载】
3.视频压缩神器 【下载链接】
4.Optimizer 堪称是 Windows 系统上最好用的性能优化器！【开源项目】
5.memreduct 内存自动优化清理 【开源项目】
6.ssh客户端 https://tabby.sh/
7.在线抠图 https://www.remove.bg/zh
8.压缩图像 https://www.iloveimg.com/zh-cn/compress-image</description></item><item><title>开源自动工作流工具 n8n 发布 1.0 版本</title><link>https://blog.lufei.de/p/%E5%BC%80%E6%BA%90%E8%87%AA%E5%8A%A8%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%B7%A5%E5%85%B7-n8n-%E5%8F%91%E5%B8%83-1.0-%E7%89%88%E6%9C%AC/</link><pubDate>Tue, 08 Aug 2023 06:45:36 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%BC%80%E6%BA%90%E8%87%AA%E5%8A%A8%E5%B7%A5%E4%BD%9C%E6%B5%81%E5%B7%A5%E5%85%B7-n8n-%E5%8F%91%E5%B8%83-1.0-%E7%89%88%E6%9C%AC/</guid><description>开源自动工作流工具 n8n 前几天在官方博客上宣布了新里程碑 1.0 版本，拥有更加稳定的性能，并且提供了 Python 支持，新增语义版本控制，代表着 n8n 可以用于更苛刻的生产环境。
小众软件在 2019 年介绍过 n8n，这是一个开源的自动工作流服务，类似 IFTTT、Zapier，可以互联互通包括 GitHub、Dropbox、Google、NextCLoud、RSS、Slack、Telegram 在内的几十款在线服务。实现当 A 条件发生，触发 B 服务这样的自动工作流程。
你可以直接使用 n8n 提供的服务，也可以自托管使用自己的服务器来处理工作流。
一键自托管安装（基于 Docker）：
docker run -it --rm --name n8n -p 5678:5678 -v ~/.n8n:/home/node/.n8n docker.n8n.io/n8nio/n8n 然后，就可以使用 ip:5678 来访问控制台了。
附：n8n 更新日志：
我们很高兴地宣布，n8n版本1.0已经发布，这是我们的工作流自动化平台的最新迭代。有了这个版本，n8n自信地走上了作为生产就绪服务的舞台，磨砺以满足我们的云、自托管和企业用户的需求。
我们对稳定性和性能的承诺比以往任何时候都更加坚定。在版本1.0中，我们优化了n8n，以支持您的关键工作流，使其成为您自动化旅程中的坚定伙伴。
响应广大用户的需求，n8n现在提供了Python支持，这为依赖Python进行自动化任务的用户提供了新的能力。
为了简化您的更新过程，我们采用了语义化版本。这保证了您能体验到可预测的、无麻烦的更新，保持与我们最新的增强和bug修复同步。
版本1.0体现了我们致力于在最具挑战性的环境中使n8n变得可行的承诺。我们推出了单点登录（SSO）等功能，以便顺利地与您现有的身份验证系统集成。您现在可以在多个环境中同步工作流，并使用全局变量、日志流式处理和高级执行过滤器来增强您的工作流和简化自动化过程。
请注意，版本1.0引入了一些重大变化。我们准备了完整的迁移指南，确保您现有工作流的顺利过渡。 在庆祝这个里程碑的同时，我们向活跃的n8n社区表达了诚挚的感谢。您持续的支持和深思熟虑的反馈对于塑造今天的n8n有着重大的作用。
拥抱自动化的未来。自动化愉快！
n8n团队</description></item><item><title>Linux VPS服务器SSH端口一键修改脚本</title><link>https://blog.lufei.de/p/linux-vps%E6%9C%8D%E5%8A%A1%E5%99%A8ssh%E7%AB%AF%E5%8F%A3%E4%B8%80%E9%94%AE%E4%BF%AE%E6%94%B9%E8%84%9A%E6%9C%AC/</link><pubDate>Tue, 08 Aug 2023 06:00:20 +0000</pubDate><guid>https://blog.lufei.de/p/linux-vps%E6%9C%8D%E5%8A%A1%E5%99%A8ssh%E7%AB%AF%E5%8F%A3%E4%B8%80%E9%94%AE%E4%BF%AE%E6%94%B9%E8%84%9A%E6%9C%AC/</guid><description>说明：我们的很多VPS服务器，默认的端口都是22，所以一直会被人扫描爆破，很容易会出现问题，所以我们需要通过修改端口来尽可能减少这种事情发生，之前发过手动修改教程，但对于很多小白或者很懒的人来说，更喜欢一键脚本就能完成的方法，这里就整了个SSH端口一键修改脚本。从OneinStack一键安装包上扒下来的。
方法 系统要求：支持Debian、Ubuntu、CentOS系统。
运行以下命令：
wget https://raw.githubusercontent.com/woniu336/open_shell/main/sshport.sh&amp;amp;&amp;amp; bash sshport.sh 输入端口确认。再打开防火墙端口：
#如果防火墙使用的iptables（Centos 6），修改端口为8080
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT service iptables save service iptables restart #如果使用的是firewall（CentOS 7）
firewall-cmd --zone=public --add-port=8080/tcp --permanent firewall-cmd --reload 最后重启ssh生效：
#CentOS系统 service sshd restart #Debian/Ubuntu系统 service ssh restart 然后就可以使用新端口SSH登录了</description></item><item><title>一条命令激活 Windows 系统</title><link>https://blog.lufei.de/p/%E4%B8%80%E6%9D%A1%E5%91%BD%E4%BB%A4%E6%BF%80%E6%B4%BB-windows-%E7%B3%BB%E7%BB%9F/</link><pubDate>Mon, 07 Aug 2023 17:15:48 +0000</pubDate><guid>https://blog.lufei.de/p/%E4%B8%80%E6%9D%A1%E5%91%BD%E4%BB%A4%E6%BF%80%E6%B4%BB-windows-%E7%B3%BB%E7%BB%9F/</guid><description>Windows 激活方法 打开 命令提示符 (管理员)，复制以下命令到命令提示符并回车。
slmgr /skms kms.v0v.bid &amp;amp;&amp;amp; slmgr /ato 激活成功。</description></item><item><title>最新原装正版的 Windows 11 系统官方纯净版，免费安装并激活！</title><link>https://blog.lufei.de/p/%E6%9C%80%E6%96%B0%E5%8E%9F%E8%A3%85%E6%AD%A3%E7%89%88%E7%9A%84-windows-11-%E7%B3%BB%E7%BB%9F%E5%AE%98%E6%96%B9%E7%BA%AF%E5%87%80%E7%89%88%E5%85%8D%E8%B4%B9%E5%AE%89%E8%A3%85%E5%B9%B6%E6%BF%80%E6%B4%BB/</link><pubDate>Mon, 07 Aug 2023 04:36:16 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%9C%80%E6%96%B0%E5%8E%9F%E8%A3%85%E6%AD%A3%E7%89%88%E7%9A%84-windows-11-%E7%B3%BB%E7%BB%9F%E5%AE%98%E6%96%B9%E7%BA%AF%E5%87%80%E7%89%88%E5%85%8D%E8%B4%B9%E5%AE%89%E8%A3%85%E5%B9%B6%E6%BF%80%E6%B4%BB/</guid><description>1.Windows 11 官方下载：【点击进入】
2.Rufus 写盘工具：【官网链接】
3.永久免费激活看视频演示
4.KMS ：CMD以管理员身份依次输入以下命令
slmgr /ipk W269N-WFGWX-YVC9B-4J6C9-T83GX slmgr /skms kms.loli.best slmgr /ato</description></item><item><title>Telegram 必备机器人，支持ChatGPT，永久免费，一键汉化，海量群组搜索，只有你还不知道？</title><link>https://blog.lufei.de/p/telegram-%E5%BF%85%E5%A4%87%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%94%AF%E6%8C%81chatgpt%E6%B0%B8%E4%B9%85%E5%85%8D%E8%B4%B9%E4%B8%80%E9%94%AE%E6%B1%89%E5%8C%96%E6%B5%B7%E9%87%8F%E7%BE%A4%E7%BB%84%E6%90%9C%E7%B4%A2%E5%8F%AA%E6%9C%89%E4%BD%A0%E8%BF%98%E4%B8%8D%E7%9F%A5%E9%81%93/</link><pubDate>Sat, 05 Aug 2023 06:03:46 +0000</pubDate><guid>https://blog.lufei.de/p/telegram-%E5%BF%85%E5%A4%87%E6%9C%BA%E5%99%A8%E4%BA%BA%E6%94%AF%E6%8C%81chatgpt%E6%B0%B8%E4%B9%85%E5%85%8D%E8%B4%B9%E4%B8%80%E9%94%AE%E6%B1%89%E5%8C%96%E6%B5%B7%E9%87%8F%E7%BE%A4%E7%BB%84%E6%90%9C%E7%B4%A2%E5%8F%AA%E6%9C%89%E4%BD%A0%E8%BF%98%E4%B8%8D%E7%9F%A5%E9%81%93/</guid><description>背景 如果说翻墙后最必备的两个软件。
第一就是Youtube，俗称油管，YouTube拥有海量的视频内容，涵盖了几乎所有的领域和主题，到2023年，Youtube月活跃用户超过2.5亿，翻墙后1/4的流量都在Youtube。
第二就是Telegram，俗称电报，由于Telegram支持创建大型群组和频道，可以容纳成千上万的成员。这使得它成为组织、社区和媒体机构进行广泛传播和交流的理想平台。
对比QQ群和电报群 给大家看一下QQ群和电报群的对比
QQ群默认200人，QQ达到一定等级可以升级为500人。1000人需要年费超级会员，3000人群需要超级会员+648。
电报群，一进去创建，就可以创建20万人的群，无任何限制，永久保存历史记录，不限制大小。
我说一句国内的平台仗着国外的平台进不来就公然喂大家吃屎大家没人反对吧。
而作为一个Telegram的新人，你可能都不知道如何找到想要的群组频道，Telegram给你准备了各种各样的机器人，机器人定制化并支持非常丰富的功能，而最主要的就是内置搜索，可以搜到任何你想要的群组，频道，强大能力堪比谷歌。
我今天就来给大家介绍一款集成了ChatGPT的电报机器人，可以免费无需任何API Key，随时随地和ChatGPT对话，还能在里面搜索到各种你想要的群组和资源。还可以帮你一键汉化。
体验 我们今天就来体验下，这款万能的机器人。
直接在手机的电报应用打开电报应用，链接我放在了视频下方：极搜机器人
或者直接在搜索框里面搜索 jisou123bot，自动就找到了这款机器人。
Info
它能做什么？ 这是一个搜索机器人，您可以向它发送关键字来寻找群组、频道或消息。另外，您还可以在它上面免费使用ChatGPT。
我们点击开始使用这个机器人。
自动进入机器人，如果你的电报还没有汉化，直接点击中文包，然后点击更改，就可以一键汉化，是不是非常方便。
菜单里面我们看看功能有多强大，热门群聊热搜排行榜等等。你也可以自己在消息栏搜索群组加入。
ChatGPT 大家最关注的可能就是ChatGPT了，很多人苦于没有ChatGPT的账号，今天就让大家体验一下ChatGPT，永久免费，没有限制。
点击菜单-&amp;gt;切换到ChatGPT
然后问它 几个问题。我们只做几个简单的测试。涉及逻辑，专业，文学。
爸爸妈妈结婚是近亲结婚吗？
python怎么读取json文件？
给我写一篇年度最佳员工的获奖感言。
可以感觉的回答速度和质量都是很不错的，如果你有兴趣赶紧尝试下。
群组搜索 热门群聊
福利 -&amp;gt; 这个我不说，懂的都懂，还有加密货币，游戏，电影，二次元等等分类。
比如你想搜索原神相关的内容，聊天窗口直接输入原神，就搜索了所有原神相关的内容，下面的图标可以过滤类型，聊天图标就是群组和频道，然后点击群组就只过滤群组，然后直接找到第一个群组：原神 提瓦特大陆加入群组。
加入群组 你可以把 机器人加入群组，来自动回复和支持chatgpt在群内聊天。
我这里教你创建一个群组加入机器人来回复消息。</description></item><item><title>绝妙！在安装 Windows 11 时选择 no@thankyou.com 登录，轻松创建本地账户，无需联网账户</title><link>https://blog.lufei.de/p/%E7%BB%9D%E5%A6%99%E5%9C%A8%E5%AE%89%E8%A3%85-windows-11-%E6%97%B6%E9%80%89%E6%8B%A9-no@thankyou.com-%E7%99%BB%E5%BD%95%E8%BD%BB%E6%9D%BE%E5%88%9B%E5%BB%BA%E6%9C%AC%E5%9C%B0%E8%B4%A6%E6%88%B7%E6%97%A0%E9%9C%80%E8%81%94%E7%BD%91%E8%B4%A6%E6%88%B7/</link><pubDate>Sat, 05 Aug 2023 03:04:51 +0000</pubDate><guid>https://blog.lufei.de/p/%E7%BB%9D%E5%A6%99%E5%9C%A8%E5%AE%89%E8%A3%85-windows-11-%E6%97%B6%E9%80%89%E6%8B%A9-no@thankyou.com-%E7%99%BB%E5%BD%95%E8%BD%BB%E6%9D%BE%E5%88%9B%E5%BB%BA%E6%9C%AC%E5%9C%B0%E8%B4%A6%E6%88%B7%E6%97%A0%E9%9C%80%E8%81%94%E7%BD%91%E8%B4%A6%E6%88%B7/</guid><description>感谢 @WM 的推荐，来自 X 的用户 @StarIight✨ 分享了一个 Featured/Bug：只需要在安装 Windows 11 时，使用用户名 no@thankyou.com 登录，即可跳过联网账户，轻松创建本地账。@Appinn
这就…当青小蛙看到这个的时候，只能卧槽了…
就在前几天，青小蛙还在论坛分享了这个：《不联网，无网络安装 Windows 11》
在 Windows 11 的最新版本 22H2 中，微软干掉了“我没有 Internet 连接”按钮，没登陆不让你装系统。
有些电脑网卡没有驱动就直接卡在这里了。 此时你可以按下 Shift+F10 打开命令提示符，输入 oobe\BypassNRO.cmd 即可重启进入带有跳过按钮的 OOBE。
no@thankyou.com 而这个莫名其妙又有些好笑的账户，基本上就是替代上面的命令行，只需要登录时输入，密码随意，就能跟着向导创建本地账户了。
简直…太好用。
微软你说你是不是深井冰。</description></item><item><title>轻松搭建高效稳定的 Hysteria2 节点服务</title><link>https://blog.lufei.de/p/30/</link><pubDate>Fri, 04 Aug 2023 16:19:04 +0000</pubDate><guid>https://blog.lufei.de/p/30/</guid><description>系统 debian/ubuntu
客户端 V2Ray桌面版：https://github.com/2dust/v2rayN/releases
V2Ray安卓端：https://github.com/2dust/v2rayNG/releases
NekoBox安卓端推荐：https://github.com/MatsuriDayo/NekoBoxForAndroid/releases
ClashMeta：https://github.com/MetaCubeX/ClashMetaForAndroid/releases
FlClash：https://github.com/chen08209/FlClash/releases
方法1 为了确保 Hysteria 2 能够正常工作，您需要开放所有 TCP 和 UDP 端口：
sudo ufw allow 1:65535/tcp sudo ufw allow 1:65535/udp sudo ufw enable 使用以下命令下载并运行 Hysteria 2 安装脚本：
注意：伪装网址设置为：www.bing.com
配置文件路径：/root/hy
Hysteria 2 一键搭建代码
wget -N --no-check-certificate https://raw.githubusercontent.com/flame1ce/hysteria2-install/main/hysteria2-install-main/hy2/hysteria.sh &amp;amp;&amp;amp; bash hysteria.sh Hysteria 服务相关命令
systemctl start hysteria-server.service # 启动 hysteria 服务 systemctl enable hysteria-server.service # 设置 hysteria 服务 开机自启动 systemctl restart hysteria-server.service # 重启 hysteria 服务 systemctl stop hysteria-server.</description></item><item><title>免费翻墙，批量vless节点，反代伪装网页，轻松跑满本地宽带</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E7%BF%BB%E5%A2%99%E6%89%B9%E9%87%8Fvless%E8%8A%82%E7%82%B9%E5%8F%8D%E4%BB%A3%E4%BC%AA%E8%A3%85%E7%BD%91%E9%A1%B5%E8%BD%BB%E6%9D%BE%E8%B7%91%E6%BB%A1%E6%9C%AC%E5%9C%B0%E5%AE%BD%E5%B8%A6/</link><pubDate>Fri, 04 Aug 2023 04:36:36 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9%E7%BF%BB%E5%A2%99%E6%89%B9%E9%87%8Fvless%E8%8A%82%E7%82%B9%E5%8F%8D%E4%BB%A3%E4%BC%AA%E8%A3%85%E7%BD%91%E9%A1%B5%E8%BD%BB%E6%9D%BE%E8%B7%91%E6%BB%A1%E6%9C%AC%E5%9C%B0%E5%AE%BD%E5%B8%A6/</guid><description>最新代码： https://github.com/3Kmfi6HP/EDtunnel/blob/main/_worker.js
cloudflare ：https://www.cloudflare.com/
域名优选官网 : http://www.nirsoft.net/utils/multiple_ping_tool.html
ip&amp;amp;域名优选打包：点击下载&amp;raquo; 域名cdn查询：https://dnschecker.org
站长ping检测：https://ping.chinaz.com/
安卓客户端: Release 0.8.1-rc03 · SagerNet/SagerNet (github.com)
windows客户端: https://github.com/2dust/v2rayN/releases/tag/6.23
全平台翻墙工具: Windows翻墙客户端 - 全平台翻墙工具 (gitbook.io)
cloudflare 颁发域名收集 vless://bfb0a9e3-d88e-4472-a24b-5b90cc73d7db@shopify.com:80?encryption=none&amp;amp;security=none&amp;amp;type=ws&amp;amp;host=woaijia.qige005.workers.dev&amp;amp;path=%2F%3Fed%3D2048#woaijia.qige005.workers.dev-HTTP 白天: shopify.com
晚上: www.visa.com.hk
gamer.com.tw steamdb.info toy-people.com silkbook.com cdn.anycast.eu.org icook.hk shopify.com www.visa.com.tw time.is japan.com www.hugedomains.com www.visa.com.sg www.whoer.net www.visa.com.hk malaysia.com www.visa.co.jp www.ipget.net icook.tw www.visa.com www.gov.ua www.udacity.com www.shopify.com www.whatismyip.com singapore.com www.visakorea.com www.csgo.com russia.com ip.sb www.4chan.org www.glassdoor.com xn--b6gac.eu.org www.digitalocean.com www.udemy.com cdn-all.xn--b6gac.eu.org dnschecker.org tasteatlas.com toy-people.com pixiv.net comicabc.com icook.tw gamer.</description></item><item><title>免费 12 个月使用！体验 AWS—— 目前世界上最大的云服务器提供商家</title><link>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9-12-%E4%B8%AA%E6%9C%88%E4%BD%BF%E7%94%A8%E4%BD%93%E9%AA%8C-aws-%E7%9B%AE%E5%89%8D%E4%B8%96%E7%95%8C%E4%B8%8A%E6%9C%80%E5%A4%A7%E7%9A%84%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8F%90%E4%BE%9B%E5%95%86%E5%AE%B6/</link><pubDate>Thu, 03 Aug 2023 15:54:56 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%85%8D%E8%B4%B9-12-%E4%B8%AA%E6%9C%88%E4%BD%BF%E7%94%A8%E4%BD%93%E9%AA%8C-aws-%E7%9B%AE%E5%89%8D%E4%B8%96%E7%95%8C%E4%B8%8A%E6%9C%80%E5%A4%A7%E7%9A%84%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%8F%90%E4%BE%9B%E5%95%86%E5%AE%B6/</guid><description>几乎每个大厂都可以免费体验一定时长的云服务，比如 GCP、Azure，甲骨文甚至还有可以永久免费的服务器。
这一期，我们就来免费体验一下世界上最大的云服务器提供商 —— 亚马逊的云服务 (AWS)
世界上最大的云服务器提供商是亚马逊网络服务 (AWS)。AWS 是一家全球性云计算平台，提供计算、存储、数据库、网络、分析、机器学习、人工智能、移动、开发工具和企业应用等多种服务。AWS 在全球拥有超过 200 个区域和 70 多个国家 / 地区的数据中心。
2022 年，AWS 的收入为 540.5 亿美元，比 2021 年增长了 37%。AWS 是世界上最受欢迎的云计算平台，拥有超过 300 万客户。AWS 的客户包括小型企业、中型企业和大型企业，以及政府机构和非营利组织。
AWS 的优势包括：
广泛的服务：AWS 提供广泛的服务，满足企业的各种需求。 可靠性：AWS 拥有全球最可靠的数据中心网络。 安全性：AWS 提供最先进的安全功能。 成本效益：AWS 的价格非常合理。
来源：bard.google.com
AWS 其实可以免费 白嫖体验很多产品，比如云服务器（ec2），云存储（S3），CDN 相关产品（网站提速），lightsail（VPS, 搭建远程桌面）SES (群发邮件)，Amazon Chime （视频会议）等等等等，大家可以随意尝试。
这边我们玩服务器多一些，就来白嫖 12 个月的 EC2 吧。
准备工作 AWS 免费体验地址：https://gao.ee/aws
正式开始之前，建议你准备：
一个邮箱 一个可以接受验证码的手机号（大家可以用自己的手机号接受验证码，正常国内的能收到码，也可以可以选择 GV 或者是到 5sim.net 上找接码，看是最低 6 卢布（大概 5 毛钱）一条） 一张信用卡（只是授权一下，并不会要你钱，可以是虚拟卡，比如咕咕用的 OneKey Card） 注册账号的时候不要挂代理</description></item><item><title>Stack主题的自定义</title><link>https://blog.lufei.de/p/stack%E4%B8%BB%E9%A2%98%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89/</link><pubDate>Thu, 03 Aug 2023 15:21:25 +0000</pubDate><guid>https://blog.lufei.de/p/stack%E4%B8%BB%E9%A2%98%E7%9A%84%E8%87%AA%E5%AE%9A%E4%B9%89/</guid><description>🍥Hugo主题魔改 由于之前魔改部分写的很慢,又考虑过出个魔改好的主题直接给人们用,后来想想了还是算了,毕竟博客怎么能缺少折腾的乐趣呢,于是乎我花了点时间把魔改内容进行了一些休整,以内容呈现为核心,放弃了很多花哨的东西,加上考虑到魔改的难易程度与网页加载快慢,最后精简成少量的个人感觉比较有用的样式,并做了注释,直接使用即可完成一些个性化调整.由于本人纯小白,所以可能还有可以优化的地方,如果你有更好的方案欢迎在下方探讨交流.
🍦魔改风格 本文对于主题的魔改主要以圆角风格和阅读沉浸感为核心,目标是魔改出一个与本站类似的主题风格,具体使用体验可以参考目前主题.
🍕魔改前的准备 首先在博客根目录下的assets下创建一个名为scss的文件夹,然后在scss文件夹里创建一个名为custom.scss的文件,最终效果为~blog/assets/scss/custom.scss,创建好文件后,接下来对于主题的大部分样式魔改都将写进这个custom.scss.其中有很多冗余的代码但是为了使用尽可能用少的文件防止杂乱不堪,所以只好这样子了(如果你是大佬的话请随意).
🎈主题整体细节调整 对于这一部分的调整我认为每个打算折腾主题前可以先加上,这样子主题整体上会有较大的改变,而且可以使文章内容的展现更为舒适,因为原主题使用了比较低的对比度,个人不是很习惯.
页面概览:
主页概览
在上文中提到的custom.scss文件中写入以下👇内容
// ~\blog\assets\scss\custom.scss // 页面基本配色 :root { // 全局顶部边距 --main-top-padding: 30px; // 全局卡片圆角 --card-border-radius: 25px; // 标签云卡片圆角 --tag-border-radius: 8px; // 卡片间距 --section-separation: 40px; // 全局字体大小 --article-font-size: 1.8rem; // 行内代码背景色 --code-background-color: #f8f8f8; // 行内代码前景色 --code-text-color: #e96900; // 暗色模式下样式 &amp;amp;[data-scheme=&amp;#34;dark&amp;#34;] { // 行内代码背景色 --code-background-color: #ff6d1b17; // 行内代码前景色 --code-text-color: #e96900; } } //------------------------------------------------------ // 修复引用块内容窄页面显示问题 a { word-break: break-all; } code { word-break: break-all; } //--------------------------------------------------- // 文章内容图片圆角阴影 .</description></item><item><title>利用Github Page和Github Action部署你的Hugo博客</title><link>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8github-page%E5%92%8Cgithub-action%E9%83%A8%E7%BD%B2%E4%BD%A0%E7%9A%84hugo%E5%8D%9A%E5%AE%A2/</link><pubDate>Thu, 03 Aug 2023 15:05:36 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%88%A9%E7%94%A8github-page%E5%92%8Cgithub-action%E9%83%A8%E7%BD%B2%E4%BD%A0%E7%9A%84hugo%E5%8D%9A%E5%AE%A2/</guid><description>🍕利用Github Page和Github Action部署你的Hugo博客 🍔注册GitHub 打开https://github.com/,(打不开的可能需要魔法,或者换个时间点打开,具体怎么操作就不细说了,懂得都懂😶),注册一个GitHub账号,如果不会注册那你还来看这篇文章干嘛.
🧀创建Github仓库 为了使用GitHub Action自动部署,加上便于管理,所以创建两个仓库,虽然一个也行.
1.我们先创建一个名字为blog的仓库用于存放hugo生成的文件,打开右上角的+号,然后选择New repository以新建仓库
2.跟着图片里的步骤操作,先给仓库取个名字,叫做blog(小白最好将仓库名字跟我起一样的),然后勾选public,接着勾选Add a REAMME file,最后点击Create repository完成创建.
3.接下来我们按照刚才那样依葫芦画瓢,再创建一个名为blog-file的仓库
🍦获取SSH Key密钥 ssh密钥可以是我们推送文件到仓库时不需要每次都输入密码,大大的提高我们的效率.所以我们首先需要在我们的电脑生成ssh密钥
1.在git bash执行以下指令,配置邮箱和用户名
git config --global user.email &amp;#34;you@example.com&amp;#34; #you@example.com替换为你的邮箱并回车 git config --global user.name &amp;#34;Your Name&amp;#34; #Your Name替换为你的名字并回车 Copy
2.生成shh key,在git bash中 输入以下命令
ssh-keygen -t rsa Copy
一路回车就行
默认会生成在如下目录
C:\Users\用户名\.ssh Copy
用记事本打开生成目录下id_rsa.pub,其中的内容即为公钥,id_rsa即为私钥.这两个待会要用到.
3.将将公钥配置到GitHub账户中,先打开设置,即Settings
进入SSH and GPG key配置项里,点击SSH keys下的New SHH key进行添加
4.然后随便在Title项里随便起一个名字,在Key里填入刚才得到的id_rsa.pub里的内容,然后点击Add SSH key就添加好了.
5.接下来我们需要往刚才创建的名为blog-file的仓库里添加id_rsa密钥,点击Settings,然后找到Secrets and variables,点击Actions,然后点击New repository secret，在Name里填入ACTIONS_DEPLOY_KEY，在Value里填入id_rsa密钥即可。
🍚部署hugo博客 1.接下来我们在我们的博客根目录下创建一个名为.github的文件夹,然后在文件夹里新建一个新的文件夹,名字为workflows,接着进入workflows文件夹里新建一个名为deploy.xml的文件,再在deploy.xml里填入如下内容,最终目录为~\blog\.github\workflows\deploy.xml,将deploy.xml中的external_repository项里的lin-snow改为你GitHub注册时的名字即可
name: GitHub Page on: push: branches: - main # main 更新触发 jobs: deploy: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 with: submodules: true # clone submodules fetch-depth: 0 # 克隆所有历史信息 - name: Setup Hugo uses: peaceiris/actions-hugo@v2 with: hugo-version: &amp;#34;0.</description></item><item><title>docker容器常用命令</title><link>https://blog.lufei.de/p/docker%E5%AE%B9%E5%99%A8%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/</link><pubDate>Mon, 31 Jul 2023 02:34:39 +0000</pubDate><guid>https://blog.lufei.de/p/docker%E5%AE%B9%E5%99%A8%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/</guid><description>一、docker 常用基础命令总结 --启动docker systemctl start docker --停止dokcer systemctl stop docker --查看docker状态 systemctl status docker --重启docker systemctl restart docker --设置docker 开机自启 systemctl enable docker --查看docker 版本 docker version --查看docker 镜像 docker images --查看docker 运行列表 docker ps --查看docker （运行、停止） docker ps -aq --删除容器 docker rm -f 容器ID/容器名称(CONTAINER ID/NAMES) -- 删除多个容器（空格隔开） docker rm -f 容器ID/容器名称 容器ID/容器名称 ... --删除全部容器 docker rm -f $(docker ps -aq) 二、停止一个正在运行的容器 docker stop 容器ID或容器名
docker stop -t=60 容器ID或容器名 (参数 -t：关闭容器的限时)</description></item><item><title>可能是最快的独角数卡发卡网搭建教程</title><link>https://blog.lufei.de/p/%E5%8F%AF%E8%83%BD%E6%98%AF%E6%9C%80%E5%BF%AB%E7%9A%84%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A1%E5%8F%91%E5%8D%A1%E7%BD%91%E6%90%AD%E5%BB%BA%E6%95%99%E7%A8%8B/</link><pubDate>Sun, 30 Jul 2023 15:06:40 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%8F%AF%E8%83%BD%E6%98%AF%E6%9C%80%E5%BF%AB%E7%9A%84%E7%8B%AC%E8%A7%92%E6%95%B0%E5%8D%A1%E5%8F%91%E5%8D%A1%E7%BD%91%E6%90%AD%E5%BB%BA%E6%95%99%E7%A8%8B/</guid><description>独角数卡是一款卡密销售系统,他依赖 mysql 和 redis ，按部就班的装是没问题的，因为作者提供的文档还挺强大，佩服! 这里主要怎么五分钟无痛的安装好它，
主要参考了一位大佬的docker镜像 https://blog.dov.moe/posts/49102/
啰嗦两句，这个镜像比官方推荐那个镜像要好，官方那个docker是半吊子的，还需要装mysql和redis
相关地址 GitHub 官方仓库：https://github.com/assimon/dujiaoka
Docker 镜像地址：https://hub.docker.com/r/stilleshan/dujiaoka （同时支持 X86 和 ARM 架构）来自：Stille 大佬
常见问题集锦：https://github.com/assimon/dujiaoka/wiki/problems
1. 首先安装docker curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 2. 安装部署独角数卡 1. 创建安装目录 sudo -i mkdir -p /root/data/docker_data/shop cd /root/data/docker_data/shop mkdir storage uploads chmod -R 777 storage uploads # 创建数据目录用于挂载 touch env.conf chmod -R 777 env.conf 这边我们直接用 docker 的方式安装。
vim docker-compose.yml 英文输入法下，按 i</description></item><item><title>最新Linux一键重装脚本，迄今为止功能最全，最好用的脚本</title><link>https://blog.lufei.de/p/%E6%9C%80%E6%96%B0linux%E4%B8%80%E9%94%AE%E9%87%8D%E8%A3%85%E8%84%9A%E6%9C%AC%E8%BF%84%E4%BB%8A%E4%B8%BA%E6%AD%A2%E5%8A%9F%E8%83%BD%E6%9C%80%E5%85%A8%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC/</link><pubDate>Sun, 30 Jul 2023 14:23:45 +0000</pubDate><guid>https://blog.lufei.de/p/%E6%9C%80%E6%96%B0linux%E4%B8%80%E9%94%AE%E9%87%8D%E8%A3%85%E8%84%9A%E6%9C%AC%E8%BF%84%E4%BB%8A%E4%B8%BA%E6%AD%A2%E5%8A%9F%E8%83%BD%E6%9C%80%E5%85%A8%E6%9C%80%E5%A5%BD%E7%94%A8%E7%9A%84%E8%84%9A%E6%9C%AC/</guid><description>&lt;p>整理记录最新Linux一键重装支持Debian 12，迄今为止功能最全，最好用的脚本&lt;/p></description></item><item><title>vercel部署hugo记录配置</title><link>https://blog.lufei.de/p/vercel%E9%83%A8%E7%BD%B2hugo%E8%AE%B0%E5%BD%95%E9%85%8D%E7%BD%AE/</link><pubDate>Sat, 29 Jul 2023 16:19:18 +0000</pubDate><guid>https://blog.lufei.de/p/vercel%E9%83%A8%E7%BD%B2hugo%E8%AE%B0%E5%BD%95%E9%85%8D%E7%BD%AE/</guid><description>构建和开发设置 在新项目中使用框架时，系统会自动检测到该框架。因此，会自动配置多个项目设置，以达到最佳效果。你可以在下面覆盖它们。
环境变量 为了在构建和运行时为您的部署提供环境变量，您可以在这里为您选择的环境输入环境变量。
指定hugo版本</description></item><item><title>Hugo使用Shortcode插入bilibili、Youtube视频</title><link>https://blog.lufei.de/p/hugo%E4%BD%BF%E7%94%A8shortcode%E6%8F%92%E5%85%A5bilibiliyoutube%E8%A7%86%E9%A2%91/</link><pubDate>Sat, 29 Jul 2023 15:18:42 +0000</pubDate><guid>https://blog.lufei.de/p/hugo%E4%BD%BF%E7%94%A8shortcode%E6%8F%92%E5%85%A5bilibiliyoutube%E8%A7%86%E9%A2%91/</guid><description>前言 使用个人博客也有一年多的时间，这一年多的时候踩了很多坑，也学到了很多知识。 这里分享一个系列教程：从零开始搭建个人博客，把我的经验分享在这里。
Shortcodes是什么 shortcode 可以理解为HTML模版，可以很方便的支持markdown里面写一行规定格式的代码，能用shortcode里面的模版替换成对应的HTML文件，然后就把这段HTML代码添加到编译之后的HTML文件中。
Hugo shortcode
//注：去掉@，我这里是为了防止自动编译
{@{&amp;lt; name parameter1 parameter2 &amp;gt;}}
然后在你的主题的layouts/shortcodes 会自动找 名字为 name.html的文件，就把参数的值替换到html中，得到一个最终的html信息。
shortcode可以很方便的做复用，可以让你在每个markdown文件里面添加很少的内容，通常是一行代码，就能生成一个通用的HTML片段。
使用Shortcode，我们就能很方便的通过一行简单的代码来插入B站或者Youtube视频。
插入视频 我们就教大家怎么在Hugo中嵌入Bilibili视频和Youtube视频，这样当别人访问你的个人博客网站的时候，可以直接点击播放你插入的视频，还可以自动跳转到你的自媒体平台播放视频，来给你的自媒体平台引流。
1. 嵌入Bilibili视频 在hugo网站目录你使用的主题目录下themes/{your theme name}/layouts/shortcodes中创建bilibili.html文件。
&amp;lt;!DOCTYPE HTML&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;!-- style 样式 是为了让网页上的视频框按比例显示而非固定的大小 --&amp;gt; &amp;lt;style type=&amp;#34;text/css&amp;#34;&amp;gt; .aspect-ratio { position: relative; width: 100%; height: 0; padding-bottom: 75%; } .aspect-ratio iframe { position: absolute; width: 100%; height: 100%; left: 0; top: 0; } &amp;lt;/style&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&amp;gt; &amp;lt;div class=&amp;#34;aspect-ratio&amp;#34;&amp;gt; &amp;lt;iframe src=&amp;#34;https://player.bilibili.com/player.html?bvid={{.Get 0 }}&amp;amp;page={{ if .</description></item><item><title>甲骨文云 Oracle Cloud 服务器防回收保活 docker 命令</title><link>https://blog.lufei.de/p/%E7%94%B2%E9%AA%A8%E6%96%87%E4%BA%91-oracle-cloud-%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%98%B2%E5%9B%9E%E6%94%B6%E4%BF%9D%E6%B4%BB-docker-%E5%91%BD%E4%BB%A4/</link><pubDate>Sat, 29 Jul 2023 13:25:52 +0000</pubDate><guid>https://blog.lufei.de/p/%E7%94%B2%E9%AA%A8%E6%96%87%E4%BA%91-oracle-cloud-%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%98%B2%E5%9B%9E%E6%94%B6%E4%BF%9D%E6%B4%BB-docker-%E5%91%BD%E4%BB%A4/</guid><description>简介 近期甲骨文出台了政策，将对闲置的服务器进行停机或者回收处理，为了防止被删，网上各路大神也出了很多教程来让服务器高负载，不过大多数都是试用 shell 脚本循环计算，dd 复制空文件或者一些类似 lookbusy 等第三方软件来模拟高负载。
不过作为洁癖党，总是会避免安装一些不太了解的第三方软件，也但是一些脚本后台运行出问题，或者时间长了忘记了，所以还是觉得把脚本跑在 docker 里最合适，也最方便管理。可以做到想开就开，想关就关，还可以配合 crontab 定时开关。
教程 原理很简单，就是写了一段最简单的循环计算 shell 脚本，在 alpine 容器内部执行。只需要控制 docker 的启动和停止即可。
注意：本服务脚本仅占用 CPU 资源，甲骨文政策大概率满足其一即可。
CPU 占用效果 启动此容器后 CPU 占用大致效果图
docker 启动命令
docker run -d --name keeporaclealive --rm alpine sh -c &amp;#34;while true; do for i in {1..100000}; do j=$((i*i)); done; done&amp;#34; 停止命令
docker stop keeporaclealive 注意：上述启动命令加入了--rm参数，停止容器将自动删除容器，不会残留到系统中。
docker 常驻 启动命令
docker run -d --name keeporaclealive --restart always alpine sh -c &amp;#34;while true; do for i in {1.</description></item><item><title>Git 和 GitHub 的关联</title><link>https://blog.lufei.de/p/git-%E5%92%8C-github-%E7%9A%84%E5%85%B3%E8%81%94/</link><pubDate>Sat, 29 Jul 2023 07:01:04 +0000</pubDate><guid>https://blog.lufei.de/p/git-%E5%92%8C-github-%E7%9A%84%E5%85%B3%E8%81%94/</guid><description>本地 Git 和 GitHub 的链接（通过 SSH Key 配置） 1. 注册 GitHub 账号，安装 git Github: https://github.com/
Git 下载: https://git-scm.com/
安装完git以后,全部的命令操作都在bash里执行
2. 本地配置用户名和邮箱 你的 github 用户名和邮箱
git config --global user.name &amp;#34;woniu336&amp;#34; git config --global user.email &amp;#34;310478073@qq.com&amp;#34; 3. 生成 SSH Key 一路回车即可
ssh-keygen -t rsa -C &amp;#34;310478073@qq.com&amp;#34; 用户主目录 /.ssh 下有两个文件，id_rsa 是私钥，id_rsa.pub 是公钥, 记事本打开公钥 id_rsa.pub, 然后复制公钥内容
4. 添加 SSH keys 回到浏览器中，进入 Github 设置中的 SSH and GPG keys，新建一个 SSH keys，标题自己起，Key 的内容就输入刚才复制的文件中的值，然后添加。
添加地址: https://github.com/settings/ssh/new
5. 验证关联 回到本地的 Git 窗口，输入如下代码，验证是否链接成功。</description></item><item><title>obsidian主面板设计</title><link>https://blog.lufei.de/p/obsidian%E4%B8%BB%E9%9D%A2%E6%9D%BF%E8%AE%BE%E8%AE%A1/</link><pubDate>Sat, 29 Jul 2023 06:55:44 +0000</pubDate><guid>https://blog.lufei.de/p/obsidian%E4%B8%BB%E9%9D%A2%E6%9D%BF%E8%AE%BE%E8%AE%A1/</guid><description>日记 table title AS &amp;#34;标题&amp;#34;,date AS &amp;#34;创建时间&amp;#34; from &amp;#34;日记&amp;#34; where draft=true sort date desc 草稿箱 table title AS &amp;#34;标题&amp;#34;,date AS &amp;#34;创建时间&amp;#34; from &amp;#34;post&amp;#34; where draft=true sort date desc 已发布 table title AS &amp;#34;标题&amp;#34;,date AS &amp;#34;创建时间&amp;#34; from &amp;#34;post&amp;#34; where draft=false sort date desc</description></item><item><title>hugo部署twikoo评论</title><link>https://blog.lufei.de/p/hugo%E9%83%A8%E7%BD%B2twikoo%E8%AF%84%E8%AE%BA/</link><pubDate>Fri, 28 Jul 2023 17:26:55 +0000</pubDate><guid>https://blog.lufei.de/p/hugo%E9%83%A8%E7%BD%B2twikoo%E8%AF%84%E8%AE%BA/</guid><description>1.申请 envId 请看 twikoo 官方文档，我选的是 vercel 部署方式，视频教程：Twikoo Vercel 部署教程
2.添加代码 Hugo 的 PaperMod 主题添加 twikoo 代码的位置：layouts/partials/comments.html 推荐添加在自己博客站点下的 layouts 文件夹，不要添加到主题里的 layouts 文件夹，否则更新主题时会被覆盖
&amp;lt;div&amp;gt; &amp;lt;div class=&amp;#34;pagination__title&amp;#34;&amp;gt; &amp;lt;span class=&amp;#34;pagination__title-h&amp;#34; style=&amp;#34;font-size: 20px;&amp;#34;&amp;gt;💬评论&amp;lt;/span&amp;gt; &amp;lt;hr /&amp;gt; &amp;lt;/div&amp;gt; &amp;lt;div id=&amp;#34;tcomment&amp;#34;&amp;gt;&amp;lt;/div&amp;gt; &amp;lt;script src=&amp;#34; https://cdn.staticfile.org/twikoo/ {{ .Site.Params.twikoo.version }} /twikoo. All. Min. Js&amp;#34;&amp;gt;&amp;lt;/script&amp;gt; &amp;lt;script&amp;gt; Twikoo.Init ({ EnvId: &amp;#34;&amp;#34;, //这里填写自己的 envId el: &amp;#34; #tcomment &amp;#34;, Lang: &amp;#39;zh-CN&amp;#39;, Region: &amp;#39;ap-guangzhou&amp;#39;, //我的区域是广州，可以不填，默认是 ap-shanghai Path: window. TWIKOO_MAGIC_PATH||window. Location. Pathname, }); &amp;lt;/script&amp;gt; &amp;lt;/div&amp;gt; 调用上述 twikoo 代码的位置：layouts/_default/single.</description></item><item><title>博客写作流程之工具篇</title><link>https://blog.lufei.de/p/%E5%8D%9A%E5%AE%A2%E5%86%99%E4%BD%9C%E6%B5%81%E7%A8%8B%E4%B9%8B%E5%B7%A5%E5%85%B7%E7%AF%87/</link><pubDate>Fri, 28 Jul 2023 15:42:11 +0000</pubDate><guid>https://blog.lufei.de/p/%E5%8D%9A%E5%AE%A2%E5%86%99%E4%BD%9C%E6%B5%81%E7%A8%8B%E4%B9%8B%E5%B7%A5%E5%85%B7%E7%AF%87/</guid><description>本文将对我个人的博文写作流程 所用到的工具 做一个总结与分享。从标题就可以看出来，主要有这几个工具： emacs, orgmode &amp;amp; hugo ，另外还有两个配合 hugo 的辅助包 easy-hugo （可选） &amp;amp; ox-hugo 。
hugo : https://gohugo.io/ orgmode : https://orgmode.org/ ox-hugo : https://ox-hugo.scripter.co/ easy-hygo : https://github.com/masasam/emacs-easy-hugo 自问自答 问： 为什么写这篇文章？ 答： 中文搜索居然搜索不到一篇有关 ox-hugo 的内容。
问： 这篇文章主要解决什么问题？ 答： orgmode 配合 hugo 来写作、发布、管理博文的一种便捷方案。
问： 为什么用 emacs 和 orgmode ？ 答： 谁让我当年入了 emacs 和 orgmode 的「坑」 😂 ，这只是习惯而已。这俩工具还是需要一定的学习成本的，因此，本文对不熟悉 emacs 和 orgmode，或者使用其它编辑器的用户没多大帮助，但多少可以了解一下。
问： 为什么用 hugo ？ 答： 最开始只是因为 hugo 原生支持 orgmode ，事后来看，其实支持的不是很好，但是 ox-hugo 解决了用 orgmode 写博文的问题。当然还有一点，在生成静态网站的诸多工具（如 jekyll, hexo 等等）中，我发现 hugo 的安装是最便捷的，只需要下载一个二进制文件直接安装就能用了，而其它工具却总要安装一些别的依赖。网上还有种说法是 hugo 的网站生成速度是最快的，这个我没测试过，也不太确定。</description></item><item><title>给 Hugo 博客增加搜索功能</title><link>https://blog.lufei.de/p/%E7%BB%99-hugo-%E5%8D%9A%E5%AE%A2%E5%A2%9E%E5%8A%A0%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD/</link><pubDate>Fri, 28 Jul 2023 15:32:05 +0000</pubDate><guid>https://blog.lufei.de/p/%E7%BB%99-hugo-%E5%8D%9A%E5%AE%A2%E5%A2%9E%E5%8A%A0%E6%90%9C%E7%B4%A2%E5%8A%9F%E8%83%BD/</guid><description>此方法来自 Hugo官方文档 中的 hugofastsearch
A usability and speed update to “Github Gist for Fuse. Js integration” — global, keyboard-optimized search.
没错，这个方案，是 Github Gist for Fuse.js integration 的改进版。
其实在使用这个方案之前，老灯也尝试了 hugo-lunr-zh 方案。hugo-lunr Last publish 4 years ago 而 hugo-lunr-zh 本身是基于 hugo-lunr 添加了一个 nodejieba (结巴分词 lib)分词的功能以支持中文，同样是年久失修了 Last publish 2 years ago，不过我使用这个生成索引失败了，没有任何错误输出，只能做罢。
亮点 最小/零外部依赖（无需 jQuery） 添加到每个页面尺寸尽可能小 JSON 索引文件按需加载（进一步减少对页的速度/用户体验的整体影响） 键盘友好，瞬时导航（有点像 Alfred / macOS Spotlight） 另外，此方案就像 Eddie Webb指出的那样, 还有如下额外的好处：
无需 NPM, grunt 等外部工具 无需额外的编译步骤，你只需要像往常一样执行 hugo 可以方便地切换到任意可使用 json 索引的客户端搜索工具 集成步骤 添加 index.</description></item><item><title>Hugo 代码拷贝插件</title><link>https://blog.lufei.de/p/hugo-%E4%BB%A3%E7%A0%81%E6%8B%B7%E8%B4%9D%E6%8F%92%E4%BB%B6/</link><pubDate>Fri, 28 Jul 2023 14:14:16 +0000</pubDate><guid>https://blog.lufei.de/p/hugo-%E4%BB%A3%E7%A0%81%E6%8B%B7%E8%B4%9D%E6%8F%92%E4%BB%B6/</guid><description>博客是建好了，但是总是想添加一个代码一键复制的功能。一开始是想去 html 标签中直接添加一个 button ，但是发现好像并没有那么简单。查阅了 Hugo 的内置功能也没有发现，很幸运找到了一篇博客 黄忠德的博客 ，正好解决了我的需求。所以也记录一下。
思考 我们知道，代码片段是使用 markdown code fences 来编写的
``` jsx import React from &amp;#39;react&amp;#39;; ``` 以上代码在 Hugo 编译下的 Html 将展示成如下形式
&amp;lt;div class=&amp;#34;highlight&amp;#34;&amp;gt; &amp;lt;pre style=&amp;#34;background-color:#f0f0f0;tab-size:4&amp;#34;&amp;gt; &amp;lt;code class=&amp;#34;language-jsx&amp;#34; data-lang=&amp;#34;jsx&amp;#34;&amp;gt; &amp;lt;span style=&amp;#34;color:#007020;font-weight:bold&amp;#34;&amp;gt;import&amp;lt;/span&amp;gt; React from &amp;lt;span style=&amp;#34;color:#4070a0&amp;#34;&amp;gt;&amp;#39;react&amp;#39;&amp;lt;/span&amp;gt;; &amp;lt;/code&amp;gt; &amp;lt;/pre&amp;gt; &amp;lt;/div&amp;gt; 我们要解决的问题是：
搜索所有突出显示的代码块，特别是所有具有类 highlight 的元素； 如何创建按钮放在代码框中； 给按钮添加一个事件，用于将代码块中的代码复制到剪贴板。 代码 检查复制支持 进行复制之前，我们首先需要对浏览器是否可以使用 document.execCommand('copy') 这个功能，因为这段代码正是我们要使用的复制调用代码，我们需要一个命令来检查一下
if(!document.queryCommandSupported(&amp;#39;copy&amp;#39;)) { return; } 但是 queryCommandSupported 方法似乎已经弃用，所以其实是不用添加的。
选择突出显示的代码块 上文提到，突出显示的代码块是包含在类 highlight 中的，我们可以使用内置的 DOM API 来检查所有的在 highlight 内容</description></item><item><title>hugo子模块错误提示解决办法</title><link>https://blog.lufei.de/p/hugo%E5%AD%90%E6%A8%A1%E5%9D%97%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</link><pubDate>Thu, 27 Jul 2023 06:46:23 +0000</pubDate><guid>https://blog.lufei.de/p/hugo%E5%AD%90%E6%A8%A1%E5%9D%97%E9%94%99%E8%AF%AF%E6%8F%90%E7%A4%BA%E8%A7%A3%E5%86%B3%E5%8A%9E%E6%B3%95/</guid><description>错误信息 &amp;ldquo;No url found for submodule path &amp;rsquo;themes/jane&amp;rsquo; in .gitmodules&amp;rdquo;
表明在你的 Git 项目中的 .gitmodules 文件中找不到 &amp;ldquo;themes/jane&amp;rdquo; 子模块的 URL。
.gitmodules 文件是一个包含子模块配置信息的文件，它用于跟踪和管理项目中使用的子模块。子模块允许你在一个 Git 项目中嵌套另一个 Git 项目，并将其作为你项目的一部分来管理。
出现这个错误可能有几种原因：
缺少 .gitmodules 文件：首先，确保你的项目根目录下有一个名为 .gitmodules 的文件。如果没有该文件，你需要创建一个新的 .gitmodules 文件并添加相应的子模块配置。
Themes/jane 子模块不存在：如果 themes/jane 子模块确实存在，但它没有被正确地添加为项目的子模块，则需要检查是否正确地添加了子模块。
解决方法：
确保 .gitmodules 文件存在：在项目根目录下，使用文本编辑器创建一个新的 .gitmodules 文件，或确保已存在的 .gitmodules 文件没有被移除或重命名。
添加子模块的 URL：在 .gitmodules 文件中添加 themes/jane 子模块的 URL。例如：
[submodule &amp;#34;themes/jane&amp;#34;] path = themes/jane url = https://github.com/xianmin/hugo-theme-jane.git 请将上述 URL 替换为 themes/jane 子模块的实际 Git 仓库 URL。
初始化子模块：运行以下命令来初始化和更新子模块： git submodule init git submodule update 这将会初始化并获取你在 .</description></item><item><title>网站远程自动备份方法分享</title><link>https://blog.lufei.de/p/12/</link><pubDate>Tue, 25 Jul 2023 16:39:14 +0000</pubDate><guid>https://blog.lufei.de/p/12/</guid><description>将 vps 中 home/web 目录打包并传到指定 VPS 的 home 目录
手动备份迁移 按时间戳打包 cd /home/ &amp;amp;&amp;amp; tar czvf web_$(date +&amp;#34;%Y%m%d%H%M%S&amp;#34;).tar.gz web 传输最新的tar压缩包到其他VPS cd /home/ &amp;amp;&amp;amp; ls -t /home/*.tar.gz | head -1 | xargs -I {} scp {} root@0.0.0.0:/home/ 只保留3个压缩包 cd /home/ &amp;amp;&amp;amp; ls -t /home/*.tar.gz | tail -n +4 | xargs -I {} rm {} 远端机器解压最新tar文件 cd /home/ &amp;amp;&amp;amp; ls -t /home/*.tar.gz | head -1 | xargs -I {} tar -xzf {} 自动备份迁移 下载sh脚本</description></item><item><title>Docker 项目整理 （持续更新中）</title><link>https://blog.lufei.de/p/11/</link><pubDate>Tue, 25 Jul 2023 16:34:10 +0000</pubDate><guid>https://blog.lufei.de/p/11/</guid><description>Nginx Proxy Manager 反向代理神器 1.更新环境
apt update -y &amp;amp;&amp;amp; apt install -y curl socat wget sudo 2.安装 Docker
curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 3.安装 Nginx Proxy Manager
docker run -d \ --name=npm \ -p 80:80 \ -p 81:81 \ -p 443:443 \ -v /home/npm/data:/data \ -v /home/npm/letsencrypt:/etc/letsencrypt \ --restart=always \ jc21/nginx-proxy-manager:latest 4.进入 NGINX 面板
服务器 IP 加 81 端口访问网页
登录:</description></item><item><title>rclone开机自动挂载</title><link>https://blog.lufei.de/p/10/</link><pubDate>Tue, 25 Jul 2023 15:57:49 +0000</pubDate><guid>https://blog.lufei.de/p/10/</guid><description>假设: 你已经挂载好了GoogleDrive 不能使用systemctl的请先在root下安装 apt install systemd-sysv &amp;amp;&amp;amp; reboot 使用df -h命令查看是否成功 假设 name: gd 挂载目录是 /home/google 运行以下命令:
注意修改为你的挂载名字(name),以及挂载目录,使用df -h命令查看 复制以下命令：
command=&amp;#34; mount gd:/ /home/google --copy-links --no-gzip-encoding --no-check-certificate --allow-other --allow-non-empty --umask 000&amp;#34; 继续:
以下是一整条命令，一起复制到SSH客户端运行 cat &amp;gt; /etc/systemd/system/rclone.service &amp;lt;&amp;lt;EOF [Unit] Description=Rclone After=network-online.target [Service] Type=simple ExecStart=$(command -v rclone) ${command} Restart=on-abort User=root [Install] WantedBy=default.target EOF 现在就可以使用systemctl来挂载GoogleDrive了
systemctl enable rclone #开机自启 命令:
systemctl start rclone #启动 systemctl restart rclone #重启 systemctl status rclone #状态 完结~</description></item><item><title>Debian10升级到5.X-cloud内核，并安装BBR</title><link>https://blog.lufei.de/p/9/</link><pubDate>Tue, 25 Jul 2023 15:50:54 +0000</pubDate><guid>https://blog.lufei.de/p/9/</guid><description>1. 谷歌云一键重装系统 Debian 10 10.146.0.5 为内网 IP （需替换）
0.146.0.1 为网关
bash &amp;lt;(wget --no-check-certificate -qO- &amp;#39;https://raw.githubusercontent.com/MoeClub/Note/master/InstallNET.sh&amp;#39;) --ip-addr 10.146.0.5 --ip-gate 10.146.0.1 --ip-mask 255.255.255.0 -d 10 -v 64 -p 123456 -port 22 更新组件 apt update -y &amp;amp;&amp;amp; apt install -y curl &amp;amp;&amp;amp; apt install -y socat &amp;amp;&amp;amp; apt install wget -y su apt-get update apt-get install sudo 2. 更换为 Cloud 内核 听说 5. X 内核对 BBR 有神秘加成，手中正好有闲置小鸡，就来试试
Cloud 内核是什么呢？包页面对 linux-image-cloud-amd 64 的说明是：This package depends on the latest Linux kernel and modules for use on cloud platforms including Amazon EC 2, Microsoft Azure, and Google Compute Engine.</description></item><item><title>修改SSH端口方法</title><link>https://blog.lufei.de/p/8/</link><pubDate>Tue, 25 Jul 2023 15:49:53 +0000</pubDate><guid>https://blog.lufei.de/p/8/</guid><description>编辑 sshd_config nano /etc/ssh/sshd_config 例如：添加 33 端口，注释掉 22 端口
Port 33
退出保存 crl+x 退出 y 确定保存 回车/ 重启 reboot 查看变更状态 systemctl status sshd 新端口使用后，发现注释后依然可以连接！直接删掉 port 22</description></item><item><title>谷歌云第三方SSH工具登录与一键重装系统</title><link>https://blog.lufei.de/p/7/</link><pubDate>Tue, 25 Jul 2023 15:48:31 +0000</pubDate><guid>https://blog.lufei.de/p/7/</guid><description>方法一 一，设置 root 密码 先选择从浏览器打开 ssh 连接服务器 切换到 root 账号，输入代码：sudo -i 设置 root 密码，输入代码：passwd 二，开启 SSH 权限 CentOS 和 Debian 通用，输入以下命令 sed -i &amp;#39;s/PermitRootLogin no/PermitRootLogin yes/g&amp;#39; /etc/ssh/sshd_config &amp;amp;&amp;amp; sed -i &amp;#39;s/PasswordAuthentication no/PasswordAuthentication yes/g&amp;#39; /etc/ssh/sshd_config Ubuntu 系统，输入以下命令 sed -i &amp;#39;s/ #PermitRootLogin prohibit-password/PermitRootLogin yes/g&amp;#39; /etc/ssh/sshd_config &amp;amp;&amp;amp; sed -i &amp;#39;s/PasswordAuthentication no/PasswordAuthentication yes/g&amp;#39; /etc/ssh/sshd_config 重启服务器 ： reboot 方法二 切换到root角色 (和前面步骤一样)
sudo -i 修改SSH配置文件/etc/ssh/sshd_config
vi /etc/ssh/sshd_config 修改PermitRootLogin和PasswordAuthentication为yes
# Authentication: PermitRootLogin yes //默认为no，需要开启root用户访问改为yes # Change to no to disable tunnelled clear text passwords PasswordAuthentication yes //默认为no，改为yes开启密码登陆 给root用户设置密码</description></item><item><title>宝塔面板7.7破解版安装教程</title><link>https://blog.lufei.de/p/6/</link><pubDate>Tue, 25 Jul 2023 15:38:07 +0000</pubDate><guid>https://blog.lufei.de/p/6/</guid><description>https://blog.leshans.eu.org/p/bt/
完结撒花🤡
fuck bt 🤡🤡🤡</description></item><item><title>整理一些常用的脚本（持续更新中）</title><link>https://blog.lufei.de/p/5/</link><pubDate>Tue, 25 Jul 2023 15:28:57 +0000</pubDate><guid>https://blog.lufei.de/p/5/</guid><description>测试CPU性能脚本 apt update -y &amp;amp;&amp;amp; apt install -y curl wget sudo curl -sL yabs.sh | bash -s -- -i -5 VPS 检测 (二选一) wget -q https://github.com/Aniverse/A/raw/i/a &amp;amp;&amp;amp; bash a wget -qO- bench.sh | bash wget -qO- git.io/superbench.sh | bash 磁盘真实性能读写测试 一般数据在 大于20MB/s 为合格，大于40MB/s 为普通，大于80MB/s 为优秀。
dd bs=64k count=4k if=/dev/zero of=test oflag=dsync 三网测速脚本 bash &amp;lt;(curl -Lso- https://git.io/superspeed_uxh) 三网回程测试脚本(二选一) curl https://raw.githubusercontent.com/zhucaidan/mtr_trace/main/mtr_trace.sh|bash curl https://raw.githubusercontent.com/zhanghanyun/backtrace/main/install.sh -sSf | sh 三网回程延迟测试脚本 wget -qO- git.io/besttrace | bash 解锁状态查看 bash &amp;lt;(curl -Ls https://cdn.</description></item><item><title>Cloudflare CDN反代免费VPN高速上网，速度超快，千兆节点、解锁奈飞流媒体</title><link>https://blog.lufei.de/p/4/</link><pubDate>Tue, 25 Jul 2023 14:56:17 +0000</pubDate><guid>https://blog.lufei.de/p/4/</guid><description>{% pdf /pdf/004.pdf %}</description></item><item><title>Chrome 书签实时备份、同步方案</title><link>https://blog.lufei.de/p/3/</link><pubDate>Tue, 25 Jul 2023 14:09:19 +0000</pubDate><guid>https://blog.lufei.de/p/3/</guid><description>关于 BookmarkHub 是一款浏览器插件，可以在不同浏览器之间同步你的书签。
适用于各大主流浏览器，如 Chrome、Firefox、Microsoft Edge 等。
它使用 GitHub 的 Gist 记录来存储浏览器的书签，可以放心安全的使用。
功能 不需要注册特殊账号，只需要用你的 GitHub 账号的 Token 和 Gist 一键上传下载书签 一键清空本地所有书签 支持跨电脑跨浏览器同步书签 支持显示本地和远程书签的数量 下载安装 本插件需要把书签存储到 Gist 中，所以请确保有 GitHub 账号或可以通过网络注册 GitHub 账号。
Chrome 浏览器 Firefox 浏览器 Microsoft Edge 浏览器 Opera 浏览器 其他基于 Chromium 内核的浏览器 使用方法 登陆 GitHub，如果没有账号请点此注册。 创建一个可以管理 gist 的 token。 创建一个私有的 gist。注意：如果是公开的 gist，你的书签是可以被他人搜索到的。 在浏览器的应用商店下载 BookmarkHub，点击插件的设置按钮，在弹出的设置窗口填入 token 和 gist ID，然后你就可以上传下载书签了。 待实现的功能 自动同步书签 支持 webdav 协议 移动端 导入导出 分享书签 License See LICENSE for more information.</description></item><item><title>如何在 VM 虚拟机上安装 macOS 14 索诺玛 最新系统?</title><link>https://blog.lufei.de/p/2/</link><pubDate>Tue, 25 Jul 2023 13:05:44 +0000</pubDate><guid>https://blog.lufei.de/p/2/</guid><description>如果你想在 Windows 电脑上体验苹果最新的 macOS 14 Sonoma 系统！ 那么跟着我步骤来进行安装吧~ 安装步骤： 1、首先下载并安装 VMWare 虚拟机软件**【官网下载】**
下载**【VMWare Unlocker】**，以管理员身份运行 win-install 3.下载 macOS 14 索诺玛 （Sonoma）的 ISO 系统文件【点击下载】
4.创建虚拟机，转到我的文档 -&amp;gt; 虚拟机 -&amp;gt; macOS 14 虚拟机文件，
然后在 右键单击​​ 2 KB 的macOS 14 (.VMX) 文件，然后选择****使用记事本打开，并在底部输入以下内容：
smc.version = &amp;#34;0&amp;#34; 全选代码
复制
5.正式开始安装
启用以太网：
搜索 ethernet0.virtualDev = &amp;ldquo;e1000e&amp;rdquo; 并将 e1000e替换 为 vmxnet3 并保存文件。</description></item><item><title>docker 一键安装脚本</title><link>https://blog.lufei.de/p/1/</link><pubDate>Tue, 25 Jul 2023 07:40:01 +0000</pubDate><guid>https://blog.lufei.de/p/1/</guid><description>官方脚本 （推荐） 脚本1：推荐
curl -fsSL https://get.docker.com -o get-docker.sh &amp;amp;&amp;amp; sh get-docker.sh 查询
docker --version docker compose version 脚本2：
curl -fsSL https://get.docker.com | sh curl -L &amp;#34;https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)&amp;#34; -o /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose 查看 Docker 版本 （含 Docker compose） docker --version&amp;amp;&amp;amp;docker-compose --version 脚本01 Docker 一键安装脚本 bash &amp;lt;(curl -sSL https://linuxmirrors.cn/docker.sh) 其他
bash &amp;lt;(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/DockerInstallation.sh) 或者
bash &amp;lt;(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/DockerInstallation.sh) 脚本说明： 脚本集成安装 Docker Engine，可选择安装版本、下载软件源、镜像加速器，支持海内外服务器环境和 arm 架构处理器环境使用
Docker CE 软件仓库，全称 Docker Community Edition (Docker 社区版)，用于下载并安装 Docker 相关软件包</description></item><item><title>归档</title><link>https://blog.lufei.de/archives/</link><pubDate>Tue, 28 May 2019 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/archives/</guid><description/></item><item><title/><link>https://blog.lufei.de/links/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/links/</guid><description/></item><item><title/><link>https://blog.lufei.de/%E4%B8%BB%E9%A1%B5/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/%E4%B8%BB%E9%A1%B5/</guid><description>草稿箱 table title AS &amp;#34;标题&amp;#34;,dg-created AS &amp;#34;创建时间&amp;#34; from &amp;#34;content/post&amp;#34; where draft=true sort date desc 已发布 table title AS &amp;#34;标题&amp;#34;,date AS &amp;#34;创建时间&amp;#34; from &amp;#34;content/post&amp;#34; where draft=false sort date desc</description></item><item><title>Tiaozhuan</title><link>https://blog.lufei.de/tiaozhuan/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/tiaozhuan/</guid><description/></item><item><title>关于</title><link>https://blog.lufei.de/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/about/</guid><description>🏠 本站构建
GitHub 代码托管 Hugo 静态站点生成器 cloudflare 部署和优化 GitHub存放代码，Hugo把文字变成网页，Cloudflare则是快递员，将网页送到访客眼前。
👋 欢迎语
欢迎来到我的小小网络家园！这里就像是我在互联网上的一间温馨小屋，门 always open，随时欢迎各位网友来做客。
🛠️ 技术底座
🧙‍♂️ Hugo 的魔法
本站的 &amp;ldquo;地基&amp;rdquo; 是用 Hugo 这个神奇的工具搭建的。Hugo 就像是一位神通广大的魔法师，能将我写的文字迅速变成漂亮的网页。
🔧 自动化部署
🧚‍♂️ GitHub Actions 的小精灵
每当我在 GitHub 上更新内容时，就会唤醒一群勤劳的小精灵 ——GitHub Actions。它们会自动将最新的内容打包，然后 &amp;ldquo;空投&amp;rdquo; 到 Cloudflare 上。
📝 博客内容
📚 技术笔记的百宝箱
这个博客就像是我的技术百宝箱，里面装满了各种与服务器和网站建设相关的笔记。
🌟 写在最后
虽然这个网站看起来可能不太起眼，但它凝聚了现代网络技术的精华。它证明了在这个信息时代，每个人都可以轻松地拥有自己的一片天地。希望这个小站能成为我与各位志同道合的朋友交流的桥梁。</description></item><item><title>搜索</title><link>https://blog.lufei.de/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://blog.lufei.de/search/</guid><description/></item></channel></rss>