首页
关于我们
友链链接
壁纸下载
更多
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
Search
1
[Win DD包] wes7-x86-cn-精简,安装后仅占用1.55G存储空间
25,511 阅读
2
保姆级教程!甲骨文ARM DD成Debian10并升级内核成5.10
6,209 阅读
3
v2rayN基础使用教程、配置说明、添加订阅、路由选择
5,516 阅读
4
N1教程:Openwrt安装docker webui界面(基于flippy openwrt n1固件)
5,237 阅读
5
ZFAKA小店Docker版之 数据的备份和迁移
5,091 阅读
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
登录
Search
标签搜索
vps
typecho
linux
bench
mysql
cloudflare
nginx
lnmp
ssl
empirecms
openwrt
centos
google
docker
n1
301
qbittorrent
telegram
free
onedrive
V+变量
累计撰写
278
篇文章
累计收到
215
条评论
首页
栏目
Linux学堂
网站建设
网络资源
主题插件
固件工具
主机评测
页面
关于我们
友链链接
壁纸下载
统计中心
热点搜索
图床上传
推荐
剩余价值
磁链清理
搜索到
278
篇与
的结果
2025-03-19
小白也疯狂,GNU/Linux 更换系统软件源一键脚本
一 前言之前介绍过LinuxMirrors大佬开发的Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源。今天介绍另外LinuxMirrors大佬开发的GNU/Linux 更换系统软件源一键脚本。1 项目地址:https://github.com/SuperManito/LinuxMirrorshttps://gitee.com/SuperManito/LinuxMirrorshttps://linuxmirrors.cn/2 适配的操作系统操作系统适配版本Debian8 ~ 13Ubuntu14 ~ 24Kali LinuxallLinux Mint19 ~ 22 / LMDE 6Deepin(深度)allZorin OSallArmbianallProxmox VEallRaspberry Pi OSallRed Hat Enterprise Linux7 ~ 9Fedora30 ~ 41CentOS7 ~ 8 / Stream 8 ~ 10Rocky Linux8 ~ 9AlmaLinux8 ~ 9openEuler(开源欧拉)21 ~ 24OpenCloudOS(鸥栖)8.6 ~ 9 / Stream 23openKylin(开放麒麟)allAnolis OS(龙蜥)8 / 23openSUSELeep 15 / TumbleweedArch LinuxallAlpine Linuxv3 / edgeGentooallNixOS19 ~ 24二 脚本安装教程1 根据区域选择一键脚本1)国内bash <(curl -sSL https://linuxmirrors.cn/main.sh)或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh)2)境外bash <(curl -sSL https://linuxmirrors.cn/main.sh) --abroad或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --abroad3)国内教育网bash <(curl -sSL https://linuxmirrors.cn/main.sh) --edu或bash <(curl -sSL https://raw.githubusercontent.com/SuperManito/LinuxMirrors/main/ChangeMirrors.sh) --edu2 注意事项1)需使用 ROOT 用户执行脚本切换命令为 sudo -i 或 su root。不同系统使用的命令不同,因为部分系统没有在初始安装时为 ROOT 账户设置密码(例如 Ubuntu)或系统默认禁止 ROOT 用户登录。2)建议使用支持 SSH 的现代化终端应用如果你系统命令行界面的中文显示乱码那么将导致无法查看交互内容,此外部分系统 GUI 图形界面的终端应用可能存在一些无法预料的显示问题。部分系统会自动开启 SSH 服务。3) 如果是在新装系统上首次执行脚本当前依赖 curl 指令获取脚本内容,但部分操作系统没有预装此软件包,届时则会报错 Command not found,只需要安装对应的依赖软件即可。脚本本身与 curl wget 指令无关,更不会下载任何内容。4)脚本运行期间需要交互选择配置请通过方向键 Up Down Left Right 或 WASD 控制选项并按 Enter 回车键确认。如果发现交互异常那么请改变终端软件的窗口大小后重试,另外窗口不要铺满全屏。
2025年03月19日
45 阅读
0 评论
0 点赞
2025-03-18
Docker 和 Docker Compose 一键安装脚本 可手动选择安装版本和下载源
一 前言Docker CE:Docker Community Edition 镜像仓库,用于下载并安装 Docker 相关软件包。 Docker Hub:Docker Hub 镜像仓库,默认为官方提供的公共库,用于切换下载镜像时的来源仓库,又称镜像加速器。1 项目地址:https://github.com/SuperManito/LinuxMirrorshttps://gitee.com/SuperManito/LinuxMirrorshttps://linuxmirrors.cn/2 主要特点轻松使用:只需要一行命令就能直接运行,无需安装任何依赖文档提供了各种场景的解决方案,Linux 初学者也能轻松上手多元软件源适配:深入考察了国内镜像站的系统适配情况,测试了下载速度与IPv6兼容性另外提供全网搜集的国内教育网镜像站和海外镜像站供用户选择零技术门槛:无需了解相关技术,文档提供了全面的知识储备和操作指引文档还提供了一些常见问题的解决方法以及一些高级用法的示例广泛的系统支持:适配众多操作系统,涵盖主流版本,精准识别系统类型及其版本脚本兼容性较高,不支持的系统会有相应提示并无操作跳出脚本功能强大:脚本使换源变得更简单,默认交互运行,逐步引导用户选择软件源配置同时提供了强大的命令选项,可实现各种高级定制需求高度可定制:脚本命令选项设计遵循正式应用程序规范,能够满足各种高级需求代码结构清晰,易于阅读和修改,可克隆后根据需求自行定制开源,MIT:项目已设立开源许可协议,脚本代码完全开源且免费使用二 Docker 一键安装脚本及安装1 一键脚本bash <(curl -sSL https://linuxmirrors.cn/docker.sh)集成安装 Docker Engine 和 Docker Compose (插件),支持选择或更换软件源以及镜像仓库、安装指定版本、重装等功能,支持 ARM 架构处理器。脚本参考 官方文档 采用官方提供的方法使用系统包管理工具进行安装,这意味着可安装的版本是由官方仓库决定的,本脚本不存在兼容性等问题。2 命令选项(高级用法)名称含义选项值--source指定 Docker CE 源地址(域名或IP)地址--source-registry指定镜像仓库地址(域名或IP)地址--branch指定 Docker CE 源仓库仓库名(详见下方文档)--codename指定 Debian 系操作系统的版本代号代号名称--designated-version指定 Docker CE 安装版本版本号(详见下方文档)--protocol指定 Docker CE 源的 WEB 协议http 或 https--install-latest是否安装最新版本的 Docker Enginetrue 或 false--close-firewall是否关闭防火墙true 或 false--clean-screen是否在运行前清除屏幕上的所有内容true 或 false--ignore-backup-tips忽略覆盖备份提示(即不覆盖备份)无备注:软件源完整格式 <WEB协议>://<软件源地址(域名或IP)>/<软件源仓库(路径)>1)指定 Docker CE 软件源地址bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source mirror.example.com/docker-ce注意该地址路径需要包含镜像站的 Docker CE 软件源仓库路径即 docker-ce2)指定镜像仓库地址bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --source-registry registry.example.com3)指定 Docker CE 软件源仓库一般无需指定,脚本默认会自动判断bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --branch centos仓库名是固定的,目前只有 centos debian fedora raspbian rhel sles static ubuntu 这几个具体详见 官方安装文档 和 Docker CE 官方仓库4)指定 Docker CE 安装版本指定安装版本时会忽略 是否安装最新版本 的命令选项,格式为 主版本.次版本.补丁版本,例如 27.4.1。bash <(curl -sSL https://linuxmirrors.cn/docker.sh) --designated-version 27.0.0如果指定的版本不存在或者不支持当前系统,届时脚本会报错跳出2 安装过程:root@green-cluster-10 ~ # bash <(curl -sSL https://linuxmirrors.cn/docker.sh) +---------------------------------------------------+ | | | ============================================= | | | | 欢迎使用 Docker 一键安装脚本 | | | | ============================================= | | | +---------------------------------------------------+ ##################################################### 提供以下 Docker CE 和 Docker Hub 源可供选择: ##################################################### Docker CE ❖ 阿里云 1) ❖ 腾讯云 2) ❖ 华为云 3) ❖ Azure 4) ❖ 网易 5) ❖ 清华大学 6) ❖ 中科大 7) ❖ 官方 8) Docker Hub ❖ 阿里云(北京) 1) ❖ 阿里云(杭州) 2) ❖ 阿里云(成都) 3) ❖ 阿里云(广州) 4) ❖ 阿里云(香港) 5) ❖ 腾讯云 6) ❖ 华为云 7) ❖ Azure 8) ❖ DaoCloud 9) ❖ 中科大 10) ❖ 谷歌云 11) ❖ 官方 12) ##################################################### 运行环境 Ubuntu 18.04 x86_64 系统时间 2022-03-27 00:24:28 ##################################################### └─ 请选择并输入你想使用的 Docker CE 源 [ 1~8 ]:8 └─ 是否安装最新版本的 Docker Engine? [Y/n] y └─ 请选择并输入你想使用的 Docker Hub 源 [ 1~12 ]:12 └─ 是否安装 Docker Compose? [Y/n] y三 卸载1、CentOS 卸载 Docker 教程sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine2、Debian / Ubuntu 卸载 Docker 教程sudo apt-get remove docker docker-engine docker.io containerd runc
2025年03月18日
177 阅读
2 评论
0 点赞
2025-03-18
自建网站统计工具-免费开源的网站访问流量统计分析平台Umami
前言Umami统计功能不多,但足以用于日常小站统计使用。1 官网官网:https://umami.is演示:https://eu.umami.is/share/LGazGOecbDtaIwDr/umami.is项目:https://github.com/mikecao/umami部署完成后的地址:https://s.vvars.com2 要求具有 Node.js 版本 18.18 或更高版本的服务器数据库。Umami支持MariaDB(最低版本v10.5)、MySQL(最低版本v8.0)和PostgreSQL(最低版本v12.14)数据库。二安装教程本文介绍如何在VPS上安装Umami,关于在Docker上安装Umami,可以参考本站文章:免费开源的网站访问流量统计分析平台Umami的Docker安装方式实战。1 安装 Yarnnpm install -g yarn2 获取源代码并安装软件包git clone https://github.com/umami-software/umami.git cd umami yarn install3 配置Umami1)在umami目录下创建.env文件,包含以下内容:DATABASE_URL=连接URL2)连接URL格式:postgresql://用户名:mypassword@localhost:5432/mydb mysql://用户名:mypassword@localhost:3306/mydb4. 构建应用程序yarn build如果您是首次安装,构建步骤将在您的数据库中创建表。它会创建一个名为 admin、password 的 umami 登录用户。5 启动应用程序yarn start默认情况下,这将在启动应用程序上http://localhost:3000。您需要代理来自Web服务器的请求或更改端口才能直接为应用程序提供服务。6 Umami域名配置Umami上面的安装已经完成了,但是只能使用IP+端口访问,我们这里就要利用到Nginx反向绑定域名的方法来实现Umami域名访问了。代码如下: location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; }如果你用的是LNMP或者Oneinstack一键安装包,找到Nginx配置文件,然后添加以上反向绑定域名的代码即可。配置方法和Bitwarden自建密码存储系统图文教程绑定域名反代类似,主要调整你的反代部分,示例如下:server { listen 443 ssl http2; #listen [::]:443 ssl http2; server_name s.vvars.com ; index index.html index.htm index.php default.html default.htm default.php; root /home/wwwroot/wzfou.com; location / { proxy_pass http://127.0.0.1:3000; proxy_set_header X-Real-IP $remote_addr; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } ssl_certificate /usr/local/nginx/conf/ssl/tmth.wzfou.me/fullchain.cer; ssl_certificate_key /usr/local/nginx/conf/ssl/tmth.wzfou.me/tmth.wzfou.me.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on; ssl_ciphers "TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5"; ssl_session_cache builtin:1000 shared:SSL:10m; # openssl dhparam -out /usr/local/nginx/conf/ssl/dhparam.pem 2048 ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem; access_log /home/wwwlogs/tmth.wzfou.me.log; }
2025年03月18日
28 阅读
1 评论
0 点赞
2025-03-17
保护自己网站图片不被盗用,nginx 配置图片允许调用域名代码
一 前言很多时候站长朋友希望自己网站的图片不被盗用,针对设置图片资源的热链接保护,也就是只允许特定的域名来引用他们服务器上的图片,防止其他网站直接链接到他们的图片,造成带宽盗用。主要考虑:1 Nginx的相关配置模块。Nginx中有一个模块叫做ngx_http_referer_module,可以用来检查请求的Referer头信息,从而判断是否允许访问。不过,Referer头有时候可能被伪造,所以这并不是绝对的安全措施,但可以阻止大部分普通的盗链行为。2 配置的是valid_referers指令.这个指令用于定义合法的引用域名。比如,允许自己的域名和空Referer(直接访问的情况)。同时,需要设置当Referer不合法时返回的响应,比如403禁止访问,或者重定向到一个默认的图片。3 需要考虑是否需要允许空Referer的情况。例如,如果用户直接在浏览器中打开图片链接,或者某些合法的应用没有Referer头的情况,这时候可能需要设置valid_referers包含none。但这也可能带来安全风险,需要根据具体情况权衡。4 举例说明配置的写法例如在server或location块中添加相应的配置。比如,针对图片文件的后缀名(如.jpg、.png等)设置一个location,然后在其中使用valid_referers指令,并配置if语句来处理非法请求。5 关于缓存的注意事项或者使用secure_link模块来更安全地控制访问,但这可能比较复杂,一般只需要基本的Referer检查就够了。6 针对Nginx给出具体的配置示例解释每个参数的作用,比如valid_referers后面的server_names表示允许的域名,none表示允许没有Referer的请求,blocked表示允许没有完整Referer的情况(比如经过防火墙或代理的情况)。7 修改配置后要重新加载Nginx使用nginx -s reload命令。同时,测试配置是否正确,比如用不同的域名访问图片,看是否被阻止,或者直接访问是否允许。8 补充一些高级配置,比如结合地理位置或其他条件,或者使用HTTP头中的其他信息来增强防盗链措施。但基本的配置应该是用户所需要的。二 配置教程本节给出一个具体的Nginx配置示例,解释每一部分的作用,并提醒用户相关的注意事项,比如Referer的不可靠性和可能的例外情况处理。确保用户能够按照步骤正确配置,并理解其原理。在 Nginx 中配置允许特定域名调用图片资源(即防盗链设置),可以通过 valid_referers 指令实现。以下是具体配置步骤和代码示例:1. 基础配置示例server { listen 80; server_name your-domain.com; location ~* \.(jpg|jpeg|png|gif|webp)$ { # 匹配图片文件扩展名 valid_referers none blocked server_names *.your-domain.com allowed-domain.com *.allowed-subdomain.com; # 允许的域名列表 if ($invalid_referer) { # 如果 Referer 不在允许列表中 return 403; # 返回 403 禁止访问 # 或返回替代图片:rewrite ^ /placeholder.jpg; } # 其他配置(如缓存、过期时间等) expires 30d; access_log off; } }2. 参数解释- valid_referers :定义允许访问图片的 Referer 来源: - none :允许没有 Referer 头的请求(直接访问或浏览器地址栏输入)。 - blocked :允许 Referer 被防火墙或代理删除的请求。 - server_names :允许本域名( server_name 定义的域名)。 - 自定义域名:如 *.your-domain.com (通配符匹配子域名)。 - if ($invalid_referer) :当请求的 Referer 不在允许列表中时触发动作: - return 403 :直接返回 403 错误。 - rewrite ^ /placeholder.jpg :重定向到占位图片(需提前准备)。3. 生效与测试1)重载 Nginx 配置: sudo nginx -s reload2)测试方法:直接访问图片 URL:应允许加载( none 参数生效)。从允许的域名页面引用图片:应允许加载。从未允许的域名引用图片:返回 403 或占位图。4. 高级配置允许空 Referer 和 HTTPSvalid_referers none blocked server_names *.your-domain.com https://allowed-domain.com; 结合地理位置限制location ~* \.(jpg|jpeg|png)$ { valid_referers server_names *.your-domain.com; if ($invalid_referer) { return 403; } # 仅允许中国 IP 访问 if ($geoip_country_code != CN) { return 403; } }5. 注意事项Referer 的局限性: Referer 可能被篡改或缺失,如需更高安全性,可结合签名(如 secure_link 模块)。缓存问题:建议在图片 URL 中添加随机参数(如 ?v=123 )绕过 CDN 或浏览器缓存测试。
2025年03月17日
29 阅读
0 评论
0 点赞
2025-03-17
用grok3搓了一个磁力链接清理工具,适用于草榴中带广告的磁力链接
原帖来自nodeseek的jsllxx大佬:1 工具简介最近下动作片的时候发现除了正片老是下载一堆广告文件夹就搓了一个清理工具,只下载正片文件夹适用于什么情况呢,适用于网盘添加磁力链接无法选择下载什么文件的时候如果有需要的可以用一下<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>磁力链接清理工具</title> <style> body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background: linear-gradient(135deg, #e0eafc, #cfdef3); margin: 0; padding: 20px; display: flex; flex-direction: column; align-items: center; min-height: 100vh; } .container { background: white; padding: 20px; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); width: 90%; max-width: 700px; } h2 { color: #333; text-align: center; margin-bottom: 20px; } .input-box { margin: 15px 0; } label { font-size: 16px; color: #555; margin-bottom: 5px; display: block; } textarea { width: 100%; height: 150px; padding: 10px; font-size: 14px; border: 1px solid #ddd; border-radius: 5px; resize: vertical; box-sizing: border-box; background-color: #f9f9f9; } textarea[readonly] { background-color: #f0f0f0; } .button-group { text-align: center; margin-top: 20px; } button { padding: 10px 25px; font-size: 16px; border: none; border-radius: 5px; cursor: pointer; transition: background-color 0.3s; margin: 0 10px; } #convertBtn { background-color: #4CAF50; color: white; } #convertBtn:hover { background-color: #45a049; } #copyBtn { background-color: #2196F3; color: white; } #copyBtn:hover { background-color: #1e87db; } #clearBtn { background-color: #f44336; color: white; } #clearBtn:hover { background-color: #da190b; } </style> </head> <body> <div class="container"> <h2>磁力链接清理工具</h2> <div class="input-box"> <label for="inputMagnet">输入处理前的磁力链接(支持多行):</label> <textarea id="inputMagnet" placeholder="粘贴你的磁力链接,每行一个,例如: magnet:?xt=urn:btih:72745371c77dd2a630d7dece1e120f88bdbea93b&dn=MIDA-022-C&tr=... magnet:?xt=urn:btih:abcdef1234567890abcdef1234567890abcdef12&tr=..."></textarea> </div> <div class="button-group"> <button id="convertBtn" onclick="cleanMagnet()">转换</button> <button id="copyBtn" onclick="copyResult()">复制结果</button> <button id="clearBtn" onclick="clearContent()">清除</button> </div> <div class="input-box"> <label for="outputMagnet">处理后的磁力链接:</label> <textarea id="outputMagnet" placeholder="处理结果会显示在这里,每行一个" readonly></textarea> </div> </div> <script> function cleanMagnet() { // 获取输入框内容并按行分割 const input = document.getElementById("inputMagnet").value.trim(); const lines = input.split('\n'); const pattern = /(magnet:\?xt=urn:btih:[0-9a-fA-F]{40})(&dn=[^&]*)?/i; let results = []; // 处理每一行 lines.forEach(line => { const match = line.match(pattern); if (match) { const result = match[2] ? match[1] + match[2] : match[1]; results.push(result); } else if (line.trim()) { // 非空行但无效时提示 results.push("无效的磁力链接: " + line.trim()); } }); // 输出结果 document.getElementById("outputMagnet").value = results.join('\n'); } function copyResult() { const output = document.getElementById("outputMagnet"); output.select(); document.execCommand("copy"); alert("已复制到剪贴板!"); } function clearContent() { // 清除两个输入框的内容 document.getElementById("inputMagnet").value = ""; document.getElementById("outputMagnet").value = ""; } </script> </body> </html>懒人专用在线地址:https://www.vvars.com/tools/cl-clear/
2025年03月17日
15 阅读
0 评论
0 点赞
2025-03-17
利用 Telegram 转发器实现轻量群违规词检测小助手,可接入Ai
详细的设置步骤:1. 绑定群聊直接在当前群聊发送 /bind 群聊名字或链接 直接绑定自己。2. 配置消息模板用户信息模板:在“其他设置”中,将模板设置为:检测到 **{name}({id})** 发送违规信息:时间模板:设置模板为:已呼叫管理员 @admin **{time}**3. 主菜单常规设置显示设置: 开启“原始发送者:显示”和“发送时间:显示”选项。添加白名单关键词:使用 /add 命令添加关键词(例如:"广告"),完成基础配置。4. 接入 AI 智能处理(可选)AI 功能开启:在 AI 设置中开启“AI处理”以及“AI处理后再次执行关键字过滤”。设置提示词:输入以下提示词:检测以下群聊消息是否为广告,如果是请返回原消息内容并附带上不超过20个字的原因解析。如果不是,请只返回"非广告":关键字过滤配置:返回主菜单后,将过滤模式设置为“先白名单后黑名单”,并切换关键字添加模式为“黑名单”,使用 /add 添加关键词“非广告”。5. 违规消息自动删除(可选)如需立即删除违规消息,可在主菜单中开启“删除原消息”功能。GitHub:https://github.com/Heavrnl/TelegramForwarder
2025年03月17日
25 阅读
0 评论
0 点赞
2025-03-17
参考级测评脚本——网络质量体检脚本 bash <(curl -Ls Net.Check.Place)
一 前言原文来自Nodeseek,大佬的心声:作为一个完美主义强迫症患者,在技术可及原则允许的范围内,事情一定要做到最完美,这对于做脚本来说简直就是灾难。因为完善的功能、美观的输出、高度的鲁棒性往往和Shell这种极端古老的语言(甚至不能叫语言,而是一种命令行解释器)互斥,外加我对于脚本自身“清洁”的高度执着,比如(除依赖外)严禁读写硬盘、尽量只使用包管理器、第三方应用只使用具有良好口碑的如speedtest官方cli,这一切都导致编写过程极度痛苦,持续的加班熬夜是日常现象。举个例子,在做三网延迟的部分,因为检测结果不完美、检测时间过长等原因,先后写了ping/hping3/nping/mtr四个方案,每次都是完全写好了,只因为很小的问题,彻底推倒重写,这对于做公益事情来讲是难以想象的。二 省流简介努力做市面最好的网络质量检测类脚本中英文双语言支持支持IPv4/IPv6双栈查询精美排版,直观显示,多终端单屏优化展示支持json输出便于大数据分析BGP信息、本地策略、接入信息、三网TCP大包延迟、三网回程路由、国内测速、国际互连七大模块支持延迟模式、低数据模式、跳过任意章节,多种测试方式可根据需求弹性选择脚本运行(单次运行时间6-8分钟):bash <(curl -sL Net.Check.Place)GitHub项目地址(欢迎Star关注): https://github.com/xykt/NetQualityCounter License网络质量体检脚本 - Network Quality Check Script (EN)支持OS/Platform:Ubuntu | Debian | Linux Mint | Fedora | Red Hat Enterprise Linux (RHEL) | CentOS | Arch Linux | Manjaro | Alpine Linux | AlmaLinux | Rocky Linux | macOS | Anolis OS | Alibaba Cloud Linux | SUSE Linux | openSUSE | Void Linux中英文双语言支持支持IPv4/IPv6双栈查询精美排版,直观显示,多终端单屏优化展示,便于截图分享BGP信息、本地策略、接入信息、三网TCP大包延迟、三网回程路由、国内测速、国际互连七大模块基础数据源自BGP.TOOLS及BGP.HE.NET数据库上游及接入信息直观展示中国大陆地区31个省/市/自治区电信/联通/移动三网回程延迟基于SPEEDTEST.NET的中国大陆(含大湾区)三网网速测试全球五大洲网速及延迟测试延迟模式、低数据模式、跳过任意章节,多种测试方式弹性选择Json输出便于大数据分析三使用方法默认双栈检测:bash <(curl -Ls Net.Check.Place)只检测IPv4结果:bash <(curl -Ls Net.Check.Place) -4只检测IPv6结果:bash <(curl -Ls Net.Check.Place) -6延迟模式:bash <(curl -Ls Net.Check.Place) -P低数据模式:bash <(curl -Ls Net.Check.Place) -L跳过任意章节:bash <(curl -Ls Net.Check.Place) -S 1234567中英文双语支持:bash <(curl -Ls Net.Check.Place) -l cn|enJson输出(输出示例):bash <(curl -Ls Net.Check.Place) -j跳过检测系统及安装依赖:bash <(curl -Ls Net.Check.Place) -n自动安装依赖:bash <(curl -Ls Net.Check.Place) -y报告展示完整IP地址:bash <(curl -Ls Net.Check.Place) -f
2025年03月17日
43 阅读
0 评论
0 点赞
2025-03-14
更换typecho Joe主题中的头像源,修复图像无法显示问题
1 关于GravatarGravatar 是 WordPress 提供的服务,只要在 gravatar.com 使用邮箱注册一个账号,然后上传头像,然后使用 Gravatar API 的网站就能够基于邮箱来显示头像。但Gravatar 访问很慢但是 Gravatar 部分 CDN 服务器(如 https://cn.gravatar.com,http://0.gravatar.com,http://1.gravatar.com)在国内访问困难,出现头像无法显示的问题。2 typecho Joe主题中的头像源问题而typecho Joe主题中的头像源gravatar.helingqi.com/wavatar由于年久失修,同样显示不正常,经常会出现X,十分影响观感。3 解决办法将图像源替换为 v2ex 的 Gravatar 镜像。名称地址V2EXhttps://cdn.v2ex.com/gravatar/具体路径为typecho后台——概要-外观——Joe主题——编辑外观——全局设置——自定义头像源,如下图所示。最终效果见本站,头像能正常显示了。4 其他头像源1) Loli源(已失效)~~地址: https://gravatar.loli.net/avatar/速度:623ms测试url:https://gravatar.loli.net/avatar/17d023413c0fcc40e5134ad286a2c030?s=256&d=~~2)极客族源地址:https://sdn.geekzu.org/avatar/速度:455ms测试url:https://sdn.geekzu.org/avatar/17d023413c0fcc40e5134ad286a2c030?s=256&d=备注:源恢复了,但是速度比起以前慢很多了,以前都是在100ms以内3)webp源地址:https://gravatar.webp.se/avatar/速度:378ms测试url:https://gravatar.webp.se/avatar/17d023413c0fcc40e5134ad286a2c030?s=256&d=备注: 这个webp的源会把头像转成webp格式,体积会大幅压缩,所以其他源获取的图片都是五十多kb,而这个源体积只有几kb备注2:这个源不知道是采用了什么样的缓存策略,第一次访问总是会很慢,1.5秒、2秒甚至3秒,相当于一段时间不访问,下次再访问的时候第一次请求就会很慢,就是这么诡异,原因未知。4)cravatar源地址:https://cravatar.cn/avatar/速度:149ms测试url:https://cravatar.cn/avatar/17d023413c0fcc40e5134ad286a2c030?s=256&d=5)libravatar源地址:https://seccdn.libravatar.org/avatar/速度:607ms测试url:https://seccdn.libravatar.org/gravatarproxy/17d023413c0fcc40e5134ad286a2c030?s=256备注:跟webp源类似,第一次访问比较慢。6)zeruns博客源地址:https://gravatar.zeruns.tech/avatar/速度:45ms测试url:https://gravatar.zeruns.tech/avatar/17d023413c0fcc40e5134ad286a2c030?s=256&d=备注:zeruns博客博主的源,速度很快 (偶尔失灵只能展示默认头像)
2025年03月14日
33 阅读
0 评论
0 点赞
2025-03-13
7zip进阶教程之二:批量压缩子文件夹为独立压缩包并加密,利用deepseek修改代码
一 前言之前本站介绍过如何利用bat批处理命令和7zip批量压缩文件:7zip进阶教程——巧用7zip批量压缩文件并加密.批量压缩子文件夹为独立压缩包并加密具体命令为:for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.xboy.uk -mhe -mx=0注:7zip安装目录 D:\soft\7-Zip\7z.exepwww.xboy.uk p后面的为压缩密码,即www.xboy.uk-mhe 加密文件名-mx=0 意思是压缩等级0(存储,不压缩)。数字越大压缩得越厉害。最小为0,最大为9正常情况下压缩都没有问题,但针对子目录有特殊字符(.\空格\!等)的时候,容易出现目录不完整的情况。如果你赶时间,可以直接跳到最后一步获取代码,前面我尝试了四次都是失败。二 利用deepseek来处理问题尝试1deepseek AI工具是一款非常优秀和逻辑能力强的人工智能软件,今天我们利用deepseek来指导如何解决。1 问题分析命令 for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.xboy.uk -mhe -mx=0 无法正确识别文件夹目录,可能由以下原因导致:1)7z格式未明确指定:-mhe 参数(加密文件名)仅适用于7z格式,但命令中未通过 -t7z 指定格式,可能导致默认格式不兼容。2)路径引用问题:若文件夹名含空格或特殊字符,路径需完整包裹引号。虽然命令中已使用引号,但输出文件名或源路径可能仍存在解析问题。文件夹结构处理:命令中 "%%X" 指向文件夹本身,可能导致压缩包包含冗余层级(如将父目录打包)。需调整路径为文件夹内所有内容。3)7z.exe路径或版本问题:路径错误或旧版本7-Zip可能不支持某些参数(如 -mhe)。2 解决方案明确指定7z格式在命令中添加 -t7z 参数,确保加密文件名功能生效:for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpnX.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0关键修改:添加 -t7z,并在源路径 "%%X" 后追加反斜杠 \,表示压缩文件夹内所有内容而非文件夹本身。处理特殊字符与空格若文件夹名含空格,需确保路径被完整引用:for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpnX.7z" "%%~X\" -pwww.xboy.uk -mhe -mx=0说明:"%%~X\" 中的 ~ 会移除路径外的引号,再通过反斜杠确保解析正确性。验证7z.exe路径与版本检查路径 D:\soft\7-Zip\7z.exe 是否存在,或尝试替换为环境变量 "%ProgramFiles%\7-Zip\7z.exe"。升级7-Zip至最新版本(建议v22.01+),确保支持 -mhe 参数。测试命令与调试在CMD中临时执行(非批处理文件)时,将 %%X 改为 %X:for /d %X in (*) do "D:\soft\7-Zip\7z.exe" a -t7z "%~dpnX.7z" "%X\" -pwww.xboy.uk -mhe -mx=0查看错误提示,若提示“拒绝访问”,需以管理员身份运行CMD。3 完整修正命令示例@echo off setlocal enabledelayedexpansion for /d %%X in (*) do ( "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpnX.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0 )优化点:启用延迟变量扩展(setlocal enabledelayedexpansion)以避免特殊字符解析问题。注意事项:若需压缩到其他目录,修改输出路径(如 "D:\output\%%~nX.7z")并确保有写入权限。-mx=0 表示无压缩仅存储,若需压缩可调整为 -mx=9(最高压缩率)。通过上述调整,命令应能正确识别并批量压缩文件夹。如仍报错,请提供具体错误信息以便进一步排查。三 利用deepseek来处理问题尝试2原来以为采用上一步的修改命令就能解决问题了,结果发现但文件目录中存在.的时候,压缩时会直接忽略.后面的目录名称,导致生产的压缩包名称不完整。于是继续问deepseek。1问题原因当文件夹名称中包含 . 符号时,%%~dpnX 变量会截断 . 后的内容,导致生成的压缩包名称不完整。例如:文件夹名:Project.v1.2错误输出:Project.7z(丢失 .v1.2 部分)2 解决方案改用 %%~nx 变量提取完整文件夹名,并手动拼接路径和 .7z 后缀:for /d %%X in (*) do ( "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpX%%~nX.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0 )关键修改:%%~dpX:提取文件夹的完整路径(盘符+路径,不含名称)%%~nX:提取文件夹的完整名称(包含所有 . 符号)拼接逻辑:"%%~dpX%%~nX.7z" → 生成完整路径+名称的压缩包示例验证文件夹路径:D:\data\Project.v1.2原命令输出:D:\data\Project.7z修正后输出:D:\data\Project.v1.2.7z3 完整命令模板@echo off for /d %%X in (*) do ( "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpX%%~nX.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0 ) pause4 注意事项若路径含空格,需保留引号:"%%~dpX%%~nX.7z"测试前建议备份数据,避免误操作。四 利用deepseek来处理问题尝试3原以为折腾两次肯定能解决了,结果发现好事多磨,采用第二次尝试的代码也没有解决.后面的目录名被截断的问题。1 问题核心当使用 %%~dpnX 变量时,批处理会默认将文件名中 第一个.后的内容识别为扩展名 并截断。若文件夹名含多个.(如 Folder.v1.2),会导致压缩包名称丢失 .v1.2 部分。2 解决方案通过 分离路径与名称 并 手动拼接,确保压缩包名称完整:@echo off for /d %%X in (*) do ( "D:\soft\7-Zip\7z.exe" a -t7z "%%~dpX%%~nX.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0 )关键参数说明|变量 |作用 |示例(文件夹路径:D:\data\Project.v1.2)||%%~dpX |提取文件夹的完整路径 |D:\data||%%~nX |提取文件夹的完整名称 |Project.v1.2||拼接结果 |"%%~dpX%%~nX.7z" |D:\data\Project.v1.2.7z|3 效果对比|原命令 (%%~dpnX.7z) |修正后 (%%~dpX%%~nX.7z)||Project.7z |Project.v1.2.7z|附加说明1)路径含空格:若文件夹路径含空格,保留引号确保解析正确:"%%~dpX%%~nX.7z" → 保持原样即可,无需额外处理2)压缩格式:-t7z 确保启用加密文件名功能(-mhe 仅对7z格式有效)4 调试建议:在CMD中临时测试时,将 %%X 改为 %X:for /d %X in (*) do echo "%~dpX%~nX.7z"此命令仅显示生成的压缩包路径,不会实际压缩。通过此方案,可确保文件夹名称中的 . 符号完整保留在压缩包名称中。五 利用deepseek来处理问题尝试4让人头疼的是,利用第四步的代码还是没有解决问题,我被折腾的没脾气了,俗话说事不过三,我上次尝试完了依然没解决问题。菜鸡难,被折腾的体无完肤的菜鸡更难,但是我还没死心,抱着最后一次希望又去问deepseek了。在批处理脚本中,文件名截断问题通常由变量修饰符对扩展名的误判导致。以下是系统性解决方案及技术细节分析:1变量修饰符截断原理批处理的%%~nX变量默认将文件名中第一个.后的内容识别为扩展名。例如路径Project.v1.2会被解析为:%%~nX → Project(.v1.2被误判为扩展名)%%~xX → .v1.22完整保留名称的解决方案1) 路径与名称分离拼接法通过组合%%~dpX(完整路径)和%%~nX(原始名称)实现:"%%~dpX%%~nX.7z"示例:文件夹D:\data\Project.v1.2 → 压缩包路径D:\data\Project.v1.2.7z优势:兼容含多个.的复杂名称,无需修改系统配置2) 延迟环境变量扩展启用enabledelayedexpansion避免特殊符号干扰:setlocal enabledelayedexpansion for /d %%X in (*) do ( set "folder=%%X" "7z.exe" a "!folder!.7z" "%%X\" )适用场景:名称含!、^等特殊符号时3) 第三方工具辅助使用dir /b获取原始名称,避免批处理变量解析:for /f "delims=" %%X in ('dir /b /ad') do ( "7z.exe" a "%%X.7z" "%%X\" )原理:dir /b直接输出未处理的原始名称3 关键注意事项1)空格路径处理路径含空格时需保留双引号:"%%~dpX%%~nX.7z" → 自动处理空格,无需额外转义2)压缩格式影响7z格式支持-mhe加密文件名(ZIP格式无此功能)扩展名建议显式声明:-t7z强制指定格式3)调试技巧使用echo预验证路径:for /d %X in (*) do echo "%~dpX%~nX.7z" # CMD直接测试时用%X这次尝试depseek没有对代码进行修正,但第三方工具辅助中提出使用dir /b获取原始名称,避免批处理变量解析,这点非常关键,成为我们突破口。六 最终解决方案基于deepseek四次答复,最终得到如下的压缩代码,自用无任何问题。for /f "delims=" %%X in ('dir /b /ad') do ( "D:\soft\7-Zip\7z.exe" a "%%X.7z" "%%X\" -pwww.xboy.uk -mhe -mx=0 )
2025年03月13日
36 阅读
1 评论
0 点赞
2025-03-13
7zip进阶教程——巧用7zip批量压缩文件并加密
一前言1 关于7ZIP7ZIP是一款非常优秀的开源压缩软件,7-zip是一个不错的解压缩工具, 除了界面简介以外, 美中不足的就是没有批量压缩这个功能。7z的界面化操作, 实际是调用了命令行去执行解压缩, 既然知道了7z有命令行, 借助Windows的批处理(.bat),理论上是可以实现批量压缩文件/文件夹这个功能。2 7-Zip下载进入官网 下载 7-Zip-x643 环境参数系统版本: Windows 11 Version 21H2 7-Zip 安装位置: "D:\soft\7-Zip\" 7-Zip 版本: 7-Zip 21.06 (x64)如果压缩的时候文件夹名称还是缺失,可以查看本站另外一篇文章:7zip进阶教程之二:批量压缩子文件夹为独立压缩包并加密,利用deepseek修改代码.二 配置教程利用windows自带记事本将下述命令保存为.bat文件:注意: 需要将 .bat 文件的编码设为 ANSI , 否则中文可能会出现乱码1 压缩文件7z_Bulk_Files.batfor /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z pause参数说明:"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录%%Z: 临时存储文件名/路径的变量%%Z.7z: 压缩后的文件名, %%Z需要与变量名一致pause: 按任意键关闭PowerShell窗口(可省略)测试目录树状图└─ Test_Dir ├─ 7z_Bulk_Files.bat ├─ Bamboo.mp3 ├─ img101.png └─ 图片100.jpg在 Test_Dir 目录下执行 7z_Bulk_Files.bat└─ Test_Dir ├─ 7z_Bulk_Files.bat.7z ├─ Bamboo.mp3.7z ├─ img101.png.7z └─ 图片100.jpg.7z2 压缩文件(加密)7z_Bulk_Encrypt_Files.batfor /f %%Z in ('dir /b') do "D:\7-Zip\7z.exe" a %%Z.7z %%Z -pwww.vvars.com -mhe pause参数说明:"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录-pwww.vvars.com: 压缩文件的密码是 www.vvars.com-mhe: 加密文件名(可省略)测试目录树状图└─ Test_Dir ├─ 7z_Bulk_Encrypt_Files.bat ├─ img101.png ├─ img102.jpg ├─ 光年.mp3 └─ 图片100.jpg在 Test_Dir 目录下执行 7z_Bulk_Encrypt_Files.bat└─ Test_Dir ├─ 7z_Bulk_Encrypt_Files.bat.7z ├─ img101.png.7z ├─ img102.jpg.7z ├─ 光年.mp3.7z └─ 图片100.jpg.7z已知问题:文件名包含空格会导致该文件无法压缩会将bat脚本也一并压缩会将执行目录下的文件夹也一并压缩文件的原后缀不会"清除"3压缩目录7z_Bulk_Folders.batfor /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "%%D\*" pause参数说明:"D:\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录%%D: 临时存储目录路径的变量测试目录树状图└─ Test_Dir ├─ 7z_Bulk_Folders.bat ├─ img │ └─ img901.png ├─ music │ └─ 倒数.mp3 ├─ New folder │ └─ New Microsoft Word.docx └─ 图片 └─ 图片900.jpg在 Test_Dir 目录下执行 7z_Bulk_Folders.bat└─ Test_Dir ├─ img.7z ├─ music.7z ├─ New folder.7z └─ 图片.7z4压缩目录(加密)7z_Bulk_Encrypt_Folders.batfor /d %%D in (.\*) do "D:\7-Zip\7z.exe" a "%%D.7z" "-pwww.vvars.com" "-mhe" "%%D\*" pause参数说明:"D:\soft\7-Zip\7z.exe": 7-Zip的安装目录, 请自行替换为实际安装目录-pwww.vvars.com: 压缩文件的密码是 www.vvars.com-mhe: 加密文件名(可省略)测试目录树状图└─ Test_Dir ├─ 7z_Bulk_Encrypt_Folders.bat ├─ img │ └─ img901.png ├─ music │ └─ 倒数.mp3 ├─ New folder │ └─ New Microsoft Word.docx └─ 图片 └─ 图片900.jpg在 Test_Dir 目录下执行 7z_Bulk_Encrypt_Folders.bat└─ Test_Dir └─ img.7z └─ music.7z └─ New folder.7z └─ 图片.7z5 批量压缩文件夹,子文件夹独立压缩包并加密for /d %%X in (*) do "D:\soft\7-Zip\7z.exe" a "%%~dpnX.7z" "%%X" -pwww.vvars.com -mhe -mx=0注意: 需要将 .bat 文件的编码设为 ANSI , 否则中文可能会出现乱码
2025年03月13日
79 阅读
1 评论
0 点赞
1
...
3
4
5
...
28