用注册表在命令行配置 Windows 屏幕保护与锁屏

Windows 的屏幕保护和锁屏设置,除了在图形界面里点来点去,也可以直接改注册表。一条 reg add 命令就能搞定,适合写进脚本或者批量部署。

设置都存放在同一个注册表项下:

HKEY_CURRENT_USER\Control Panel\Desktop

改完之后需要注销重新登录,Windows 才会重载这些设置。

四个关键值

ScreenSaveActive — 是否启用屏幕保护。0 禁用,1 启用。

SCRNSAVE.EXE — 指定用哪个屏幕保护程序文件。

ScreenSaveTimeOut — 空闲多少秒后启动屏幕保护,单位是秒。

ScreenSaverIsSecure — 屏幕保护结束后是否要求登录。1 要求,0 不要求。

禁用 / 启用屏幕保护

禁用:

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 0 /f

启用:

reg add "HKEY_CURRENT_USER\Control Panel\Desktop" /v ScreenSaveActive /t REG_SZ /d 1 /f

启用时还需要选一个有效的屏幕保护程序,且超时大于 0,否则不会生效。

PacketFence 添加额外防火墙策略

PacketFence 通过自定义规则文件 iptables-custom.conf.inc 添加额外防火墙策略,以放行 192.168.9.188 访问 TCP 10050(Zabbix Agent)为例。

方式:使用 iptables-custom.conf.inc

PacketFence 支持通过自定义规则文件定制 iptables 规则,文件位于:

/usr/local/pf/conf/iptables-custom.conf.inc

该文件中的规则会在 PacketFence 自身的防火墙规则之前生效。

步骤 1:编辑自定义规则文件

vi /usr/local/pf/conf/iptables-custom.conf.inc

写入内容:

{
   "filter" : {
      "FORWARD" : [],
      "INPUT" :   ["-s 192.168.9.188/32 -p tcp -m tcp --dport 10050 -j ACCEPT"],
      "OUTPUT" :  []
   },
   "mangle" : {
      "PREROUTING" : [],
      "INPUT" : [],
      "FORWARD" : [],
      "OUTPUT" : [],
      "POSTROUTING" : []
   },
   "nat" : {
      "POSTROUTING" : [],
      "OUTPUT" : [],
      "PREROUTING" : []
   }
}

保存退出。

WebToApp:手机上的网页转APK工具箱

WebToApp 是一款在 Android 手机上直接运行的网页转应用工具,无需 Android Studio、无需电脑,输入网址就能生成独立的 APK 安装包。它完全开源免费,功能远超「套个 WebView」的简单包装。

能做什么

  • 网址转应用:输入一个 URL,生成一个独立运行的 Android 应用
  • HTML 项目转应用:本地 HTML/CSS/JS 项目打包,支持 React、Vue、Next.js 等前端框架
  • 媒体转应用:把图片变成全屏画册,把视频变成循环播放的独立应用
  • 导出 Android Studio 项目:需要二次开发时,可导出完整项目模板

核心功能

模块系统(类油猴脚本)

WebToApp 内置了一套扩展模块系统,类似 Tampermonkey 的体验:

  • 向目标网页注入自定义 JavaScript 或 CSS
  • 30+ 代码模板,覆盖广告屏蔽、自动化、样式美化等场景
  • 支持通配符和正则表达式精确控制模块生效范围
  • 模块可定义配置项,灵活调整行为
  • 支持导入导出和分享码

AI 模块开发

用自然语言描述需求,AI 自动生成模块代码:

  • 自动检查 JS/CSS 语法错误
  • 扫描 XSS、eval() 等安全风险
  • 自动修复检测到的错误
  • 支持 Google Gemini、OpenAI 等多个 AI 供应商

实用功能

  • 内置广告拦截引擎,自动过滤网页广告和弹窗
  • 网页自动翻译,支持中、英、日、阿拉伯语等
  • 启动画面支持图片或视频动画
  • 背景音乐 + 歌词同步显示
  • 激活码验证机制(SHA-256 加密)
  • APK 加密保护,完整性校验 + 反调试
  • 每个应用运行在独立浏览器环境,支持指纹伪装和多开隔离

构建与输出

  • 直接在手机上构建,生成签名的 APK
  • 支持自定义应用图标(可从相册选择或 AI 生成)
  • 自定义应用名称、包名、版本号
  • 支持桌面快捷方式,像原生 App 一样点击启动
  • 12 种应用类型可选

用 Hyper-V 给 Windows 添加虚拟网卡

Hyper-V 宿主机可以有自己的虚拟网卡,用来直连物理交换机上的某个 VLAN。场景是:物理交换机端口做了 Trunk,承载多个 VLAN,但宿主机只需要接入其中一个。

先决条件:Windows 开启了 Hyper-V 功能(Win+R 输入 optionalfeatures,勾选 Hyper-V)。

创建虚拟交换机

用管理员身份打开 PowerShell,执行:

New-VMSwitch -Name "vTrunk" -NetAdapterName "以太网" -AllowManagementOS $false
  • -Name:虚拟交换机名称,随意起,后面引用要用
  • -NetAdapterName:绑定的物理网卡名,在控制面板里能看到
  • -AllowManagementOS $false:宿主机不通过这个交换机走管理网络,避免路由冲突

这一步只是建立了虚拟交换机和物理网卡的连接,宿主机自己还没有接口可以通信。

给宿主机加虚拟网卡

上一步创建的交换机默认只服务虚拟机,宿主机要接入,需要单独加一块虚拟网卡:

Add-VMNetworkAdapter -ManagementOS -SwitchName vTrunk

-ManagementOS 表示这块网卡属于宿主机(管理操作系统),而不是某台虚拟机。加完之后打开网络适配器设置,会看到一个新的虚拟网卡。

但到这里还不够——这块网卡默认会收到 Trunk 口上所有 VLAN 的流量,需要告诉它只认其中一个。

LocalSend:开源跨平台局域网文件传输工具

日常工作中经常需要在不同设备之间传文件——电脑传手机、同事之间互传文档。常见做法是用微信发文件、U盘拷贝、或者云盘中转,但这些方式要么受限于网络,要么需要注册账号,要么传输速度慢。苹果用户有 AirDrop,但跨平台就没办法了。

LocalSend 是一款开源、免费、跨平台的局域网文件传输工具,支持 Windows、macOS、Linux、Android、iOS 五大平台。

核心特性

跨平台

无论 Windows 电脑配 Android 手机,还是 macOS 配 iOS,都能直接互传,不需要考虑兼容性问题。

无需互联网

只要设备在同一个 Wi-Fi 或局域网下即可传输。没有外网的环境(内网办公区、酒店局域网)中也能正常使用,不消耗手机流量。

端到端加密

传输采用 HTTPS 加密,文件不经过任何第三方服务器,数据在局域网内点对点传输。代码完全开源,不收集用户数据,没有广告和追踪器。

零配置

安装后打开就能发现同一局域网内的其他 LocalSend 设备,选择文件、选择接收方、发送,三步完成。不需要配对、不需要注册账号。

多文件与文件夹

支持同时发送多个文件和整个文件夹,也支持发送文本消息,传输过程中显示实时速度和进度。

技术原理

底层基于 HTTP 协议,通过 mDNS 自动发现同网络下的其他 LocalSend 实例。传输时发送方作为 HTTP Server,接收方发起下载请求,文件通过 HTTPS 加密通道直接在两台设备之间传输。传输速度通常取决于 Wi-Fi 带宽。

TrueNAS NFS 共享配置与排障

在 TrueNAS 上配置 NFS 共享时,遇到 mount.nfs: access denied by server while mounting 报错,本文记录排查过程及解决方法。

遇到的问题

挂载时报错:

sudo mount -t nfs tnas:/mnt/pool/share /mnt
# mount.nfs: access denied by server while mounting tnas:/mnt/pool/share

排查过程

检查导出列表

在 TrueNAS 主机上执行:

sudo exportfs -v

输出如下:

/mnt/pool/share
        192.168.1.0/24(sync,wdelay,hide,no_subtree_check,anonuid=3000,anongid=3000,sec=sys,rw,secure,root_squash,all_squash)

注意到导出选项中包含 secure 标志,这是关键。

Configure Gitea Actions Cache Port and UFW Rules

问题背景

Gitea Actions 默认使用动态端口启动 runner cache 服务,每次重启后端口会变化,导致防火墙规则难以固定。本文介绍如何固定缓存端口并配置 UFW 规则。

固定 Cache Port

编辑 Gitea 配置文件 custom/app.ini:

[actions]
CACHE_PORT = 30001

重启 Gitea 后生效。

SearXNG:开源隐私保护元搜索引擎及Kubernetes部署指南

简介

SearXNG 是一款开源、隐私友好的元搜索引擎,它从多达 279 个搜索服务中聚合搜索结果,而不会跟踪或记录用户的搜索行为。与传统搜索引擎不同,SearXNG 不会构建用户画像,也不存储个人数据,为用户提供真正的匿名搜索体验。此外,SearXNG 还支持通过 Tor 网络进行匿名搜索,进一步保护用户隐私。

主要优点

1. 隐私保护

  • 无跟踪:不记录用户搜索历史,不存储 Cookie 或个人信息。
  • 无画像:不会根据搜索行为构建用户画像,避免个性化广告和信息茧房。
  • Tor 支持:可通过 Tor 网络匿名访问,适合对隐私要求极高的用户。

2. 开源透明

  • 代码完全开源,任何人都可以审查、修改或部署自己的实例。
  • 无后门,无商业利益驱动,确保搜索结果的公正性。

3. 多引擎聚合

  • 支持 279 个搜索引擎,涵盖通用搜索、图片、视频、新闻、学术、地图等多个类别。
  • 用户可自定义启用或禁用特定搜索引擎,灵活选择搜索来源。

4. 自定义搜索语法

  • 支持通过 ! 前缀选择搜索引擎或类别,例如:
    • !g:使用 Google 搜索
    • !images:搜索图片
    • !map:搜索地图
  • 支持 :language 语法指定搜索语言,例如 :zh 搜索中文结果。
  • 支持 DuckDuckGo 的 !! 外部跳转功能,快速跳转到外部网站。

5. 无广告

  • 纯净的搜索结果,无广告干扰。

6. 自托管

  • 用户可以部署自己的 SearXNG 实例,完全掌控数据和搜索体验。

7. AI Agent 调用支持

  • JSON API:SearXNG 提供 /search 端点,支持 format=json 参数,返回结构化 JSON 数据,方便 AI Agent 直接解析。
  • 零成本无限调用:自建实例无 API 调用次数限制,无需付费,适合 Deep Research、RAG 等高频搜索场景。
  • LangChain 集成:官方提供 SearxSearchWrapper 和 SearxSearchResults 工具,一行代码即可接入 LangChain Agent。
  • MCP Server:社区已有 SearXNG MCP Server 实现,支持 Claude Desktop、Cursor 等 MCP 客户端直接调用。
  • 多引擎切换:Agent 可通过 engines 参数指定搜索引擎(如 github、arxiv、wikipedia),精准获取特定来源信息。

RackPeek:轻量级 IT 基础设施管理工具

RackPeek 是一个轻量级的 IT 基础设施管理工具,由 Timmoth 开发,开源在 GitHub 上。它同时提供 WebUI 和 CLI 两种使用方式,用 YAML 文件存储数据,内置 Git 追踪变更历史,适合管理家庭实验室和小型 IT 环境。

为什么需要它

管理服务器、网络设备、虚拟机时,信息散落在各处:Excel 表格、笔记软件、脑子里。RackPeek 把这些信息集中到一个地方,用结构化的方式记录硬件参数、网络拓扑、服务依赖关系,而且全部以代码形式管理。

核心功能

硬件管理

记录服务器、交换机、路由器、UPS 等设备的型号、序列号、位置、电源状态、LED 灯、温度等硬件信息。

网络拓扑

可视化展示设备之间的网络连接关系,包括 IP 地址、VLAN、端口映射等。

服务追踪

记录运行在每台设备上的服务、容器、虚拟机,以及它们之间的依赖关系。

变更历史

内置 Git,所有配置变更都有版本记录,可以回滚到任意历史状态。

NetSentinel:局域网诊断瑞士军刀

NetSentinel 是一个开源的局域网诊断桌面应用,用 Python 写了约 13.6 万行代码,内置 62 个工具,覆盖设备发现、网络监控、故障诊断、安全审计、自动化和教育六大模块。所有数据在本地处理,不需要账号,不传遥测,MIT 协议。

它的定位很明确:替代 Nmap(设备发现/端口扫描)、Wireshark(广播风暴/ARP 监控)、PingPlotter(稳定性日志/断网证据)、Wi-Fi 分析器,以及手动拼凑 ISP 投诉材料的繁琐过程。

核心功能

设备发现

扫描局域网内所有设备,显示 IP、MAC、主机名、厂商、型号和风险等级。支持 ARP + ICMP + TCP SYN + mDNS 并行扫描。还能生成网络拓扑图,扫描 Wi-Fi(隐藏 SSID、 rogue AP、WPS 开启的网络)。

网络监控

  • 实时带宽图表(上传/下载)
  • 设备在线率历史(1h/12h/24h/7d)
  • 后台稳定性记录器:持续 ping/RTT/抖动/DNS 日志,导出 CSV 作为断网证据
  • 每设备流量统计(需要 Npcap/libpcap)
  • IoT 设备行为基线:学习正常流量模式,异常时告警

故障诊断

  • “What’s Wrong?” 一键排查:自动跑 DNS、风暴、STP、ISP 检查,按可能性排序
  • 根因关联器:逐跳 ping 链,定位丢包从哪一跳开始,给出结论(是你路由器还是 ISP 的问题)
  • 服务诊断:对任意主机做 DNS/TCP/HTTPS/ICMP/traceroute 探测,分类故障层级
  • DNS 基准测试:对比系统 DNS 和 Cloudflare/Google/Quad9,含 DNS 泄漏测试
  • 测速:三级引擎(Ookla CLI → speedtest-cli → 纯 Python 兜底)

安全审计

  • SYN 半开端口扫描
  • OS 指纹识别
  • CVE 查询:关联 NVD 数据库
  • TLS 证书监控:每小时检查,30 天到期预警
  • 凭据测试:检查 SSH/SMB/FTP/Telnet 弱口令
  • ARP 欺骗监控:实时检测 IP-MAC 冲突
  • 恶意 DHCP 服务器检测

二层网络检测

  • STP 根桥检测:捕获 BPDU,识别哪个设备抢了根桥角色(常见于 Google Nest 等设备导致每 30-45 秒断网)
  • 广播风暴检测:测量洪泛级别,定位源设备

自动化与集成

  • 只读 REST API(127.0.0.1:8765)
  • MQTT / Home Assistant 集成
  • Shell hooks:设备离线、高 RTT、新设备上线时触发命令
  • 内置 10 个硬件插件:TP-Link Deco、UniFi、FRITZ!Box、MikroTik、OpenWrt、Netgear、ASUS、Synology 等

ISP 投诉报告

这是 NetSentinel 比较实用的功能。网络不稳定时,ISP 客服通常让你"重启路由器试试"。NetSentinel 的 ISP Accountability Report 会生成一个独立 HTML 文件,包含:

  • 逐跳 traceroute 表
  • 各跳丢包率
  • DNS 延迟
  • 带时间戳的断网日志

直接发给客服,有据可查。

Linux 下 Claude Code 安装与更新指南

Claude Code 简介

Claude Code 是 Anthropic 推出的命令行 AI 编程助手,基于 Claude 大模型,能在终端中直接进行代码编写、调试、重构等操作。支持多文件编辑、Git 集成、Shell 命令执行,是开发者的效率利器。

官方推荐通过 npm 安装,但国内网络环境下 npm 下载 GitHub 资源经常超时。本文介绍一种更可靠的方式:通过淘宝 npm 镜像下载预编译包,绕过网络限制,实现快速安装与更新。

屏蔽深信服BBC登录页粒子动画

前言

每次登录深信服 BBC(Business Behavior Control)时,都会被登录页面上那个花里胡哨的粒子动画困扰——漂浮的小点、连线,看起来酷炫,实际毫无用处,纯纯画蛇添足、华而不实,还白白浪费 CPU 和 GPU 资源。