关于openclaw的部署、插件、使用

前缀、文档修改记录

20260315 初始化编辑此文章

章节1、需求描述

就是记录一下openclaw的部署,插件安装,功能使用

章节2、openclaw的部署

2.1、 资源规格

因为是个人需求,我这里,使用的2C 4G 60G SSD的规格的虚拟机,带宽有3Mbps应该足够了,保持24小时开机运行,操作系统选择Ubuntu 24.04 或者 Debian 13 。

本篇教程使用Debian最新版本的 ubuntu-24.04.4-live-server-amd64.iso 系统。

2.2、资源部署(Docker方式,推荐)

Docker方式的部署,对于新手村的人,可能更友好一点,故而优先介绍这个方式的部署。

用Docker方式部署,自然先部署docker容器环境。

部署docker环境

root@server#  curl -fsSL https://get.docker.com | sh

创建并进入 Openclaw 工作目录,获取项目文件。为了安全性,建议用普通用户执行。

user@server$  mkdir openclaw && cd openclaw
user@server$  git clone https://github.com/openclaw/openclaw.git .

环境变量的配置

cp .env.example .env
必须配置的关键项:

API_KEY: 您的 LLM 提供商密钥(如 元宝,豆包,Claude,OpenAI)。

BASE_URL: 如果使用代理(如 OpenRouter 或国内中转),请在此填写。

ADMIN_PASSWORD: 进入 Web 管理面板的初始密码。

启动openclaw,使用 Docker Compose 启动,创建或检查目录下的 docker-compose.yml 文件。一个典型的配置如下

services:
  openclaw:
    image: openclaw/openclaw:latest
    container_name: openclaw
    ports:
      - "3000:3000"
    volumes:
      - ./data:/app/data
      - .env:/app/.env
    restart: always

执行启动

docker compose up -d

如果需要检查执行日志

docker logs -f openclaw

访问面板: 在浏览器中输入 http://服务器IP:3000

安全提示: 如果无法访问,请检查云服务器的 安全组/防火墙 是否已放行 3000 端口。

权限问题: 如果挂载的 ./data 文件夹无法写入,请执行 chmod -R 777 ./data。

数据库重置: 如果遇到数据库版本冲突,通常可以通过删除 ./data/db.sqlite 并重启容器解决。

浏览器组件: 如果您使用了需要自动化 UI 的插件,确保镜像版本包含 playwright 驱动,否则会出现“Browser not found”错误。

2.3、资源部署(物理系统方式)

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

关于TikTok相关域名规则集

前缀、文档修改记录

20260311 初始化编辑此文章,完稿

章节1、需求描述

章节2、高级添加方式,规则集

# --- TikTok 官方核心域名 ---
DOMAIN-SUFFIX,tiktok.com,PROXY
DOMAIN-SUFFIX,tiktokv.com,PROXY
DOMAIN-SUFFIX,tiktokw.us,PROXY
DOMAIN-SUFFIX,tiktokv.us,PROXY
DOMAIN-SUFFIX,tiktokcdn.com,PROXY
DOMAIN-SUFFIX,tiktokcdn-us.com,PROXY

# --- 静态资源与 CDN 加速 ---
DOMAIN-SUFFIX,ttwstatic.com,PROXY
DOMAIN-SUFFIX,byteoversea.com,PROXY
DOMAIN-SUFFIX,ibyteimg.com,PROXY
DOMAIN-SUFFIX,ibytedtos.com,PROXY
DOMAIN-SUFFIX,myvzw.com,PROXY
DOMAIN-SUFFIX,pstatp.com,PROXY

# --- 广告、分析与 SDK 服务 ---
DOMAIN-SUFFIX,ads-tiktok.com,PROXY
DOMAIN-SUFFIX,ttads.com,PROXY
DOMAIN-SUFFIX,byte-fcdn.com,PROXY
DOMAIN-SUFFIX,appsflyersdk.com,PROXY
DOMAIN-SUFFIX,snapkit.com,PROXY
DOMAIN-SUFFIX,app-analytics-services.com,PROXY
DOMAIN-SUFFIX.onelink.me,PROXY

# --- 登录与第三方验证补充 ---
DOMAIN-KEYWORD,tiktokcdn,PROXY
DOMAIN-SUFFIX,musical.ly,PROXY
DOMAIN-SUFFIX,sgpstatp.com,PROXY
DOMAIN-SUFFIX,snssdk.com,PROXY
DOMAIN-SUFFIX,googleapis.com,PROXY
DOMAIN-SUFFIX,onelink.me,PROXY

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

FreeMediaHeckYeah(简称 FMHY)的官方网站

前缀、文档修改记录

20260301 初始化编辑此文章,完稿

章节1、需求描述

想要为Kindle找点书,如果寻找呢

章节2、网站介绍

FreeMediaHeckYeah(简称 FMHY)的官方网站,官网 https://fmhy.net/

网站定位:数字资源“活地图”,类似原先国内的hao123那种黄页网站,用于导航索引的。

不托管文件:该网站本身不存储任何电影、软件或书籍,它更像是一个精心编排的目录或指南。

资源聚合:它汇总了数千个提供免费内容的网站链接,涵盖了从娱乐到生产力工具的方方面面。

索引的方向:

影视娱乐:电影、电视节目、动漫、直播体育赛事等。

游戏资源:PC 游戏、主机游戏、模拟器及 ROM 镜像。

阅读资料:电子书(E-books)、漫画(Comics)等。

软件工具:各类破解/开源软件、系统工具、视频编辑工具。

AI 资源:最新的大语言模型(LLM)、AI 绘图工具等相关信息。

教育学习:免费课程、学习资料和学术资源。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Windows系统,装系统时,选择本地账号

前缀、文档修改记录

20260301 初始化编辑此文章,完稿

章节1、需求描述

章节2、本地账号

设置 Windows 账户时输入 no@thankyou.com 或者类似账号 a@a.com 是一种绕过微软强制联网并登录账户的常用“黑招”,创建“本地账户”的选项。

另一种方法:
shift + F10 然后运行 bypassnro.cmd 这是 Windows 11 特有的官方/半官方跳过指令。
执行后系统会重启,并在联网界面增加一个**“我没有 Internet 连接”**的选项,从而实现跳过。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Proxmox VE的虚拟机备份

前缀、文档修改记录

20260207 初始化编辑此文章,完稿

章节1、需求描述

我家里运行了1套PVE的环境,里面有挺多的虚拟机了,因为怕丢失数据,还是有必要给这个环境上一下虚拟机备份的。

方案上,来说,PVE有一套成熟的proxmox backup server的备份方案,直接用他官方的备份方案,既能满足生产环境的需要,也更能保障兼容性和稳定性。

章节2、部署proxmox backup server

备份的盘,弄了一个14TB的盘,专门用于放备份数据,肯定妥妥够用的,路径是 /mnt/datastore/backup

指纹信息

proxmox-backup-manager cert info

章节3、添加proxmox backup server到 proxmox ve环境

浏览器登录 PVE Web, https://PVE_IP:8006

添加pbs

Datacenter  数据中心
  → Storage 存储
    → Add 增加
      → Proxmox Backup Server 
项目说明
ID存储名称(如 pbs-backup
ServerPBS 的 IP 或域名
UsernamePBS 用户(如 root@pam
Password / API Token用户密码或 API Token
DatastorePBS 上的 datastore 名
Fingerprint自动获取(推荐点 Get Fingerprint
Content勾选 VZDump backup file

添加如下:

章节4、 在proxmox ve中,配置并执行指向proxmox backup server的备份动作

在数据中心 / 备份 / 添加

存储: 选择刚刚添加的pbs: backup

计划: 根据实际的时间密度进行备份,我这里一个月备份1次,就可以了

保留3个数据的副本,覆盖3个月,足够了

备份文件的名称,按照全量信息来,好一点

{{cluster}}, {{guestname}}, {{node}}, {{vmid}}

章节5、 验证备份可行

选择1台虚拟机,备份,立即备份, 手工单次执行1下备份动作。

如果单个运行没有什么问题,可以执行,现在运行 (数据中心/备份/现在运行)

命令方式执行:

vzdump --prune-backups 'keep-last=3' --mailnotification always --notes-template '{{cluster}}, {{guestname}}, {{node}}, {{vmid}}' --mode snapshot --all 1 --storage backup --node PVE03SSD

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Gemini域名清单,规则清单

前缀、文档修改记录

20251209 初始化编辑此文章,完稿

章节1、需求描述

Gemini 是由 Google(谷歌)开发的最强大、最通用的人工智能模型系列及其对应的助手服务。

对IP一般没有什么特别要求,比较友好,需要增加如下的域名清单,走代理方向即可。

章节2、域名清单列表

Gemini规则清单如下:

DOMAIN,accounts.google.com,PROXY
DOMAIN,analytics.google.com,PROXY
DOMAIN,android.clients.google.com,PROXY
DOMAIN,drive-thirdparty.googleusercontent.com,PROXY
DOMAIN,fonts.gstatic.com,PROXY
DOMAIN,gemini.google.com,PROXY
DOMAIN,lh3.google.com,PROXY
DOMAIN,lh3.googleusercontent.com,PROXY
DOMAIN,mtalk.google.com,PROXY
DOMAIN,ogads-pa.clients6.google.com,PROXY
DOMAIN,play.google.com,PROXY
DOMAIN,push.clients6.google.com,PROXY
DOMAIN,signaler-pa.clients6.google.com,PROXY
DOMAIN,waa-pa.clients6.google.com,PROXY
DOMAIN,www.google-analytics.com,PROXY
DOMAIN,www.google.com,PROXY
DOMAIN,www.googletagmanager.com,PROXY
DOMAIN,www.gstatic.com,PROXY

DOMAIN-SUFFIX,google.com,PROXY
DOMAIN-SUFFIX,google-analytics.com,PROXY
DOMAIN-SUFFIX,googletagmanager.com,PROXY
DOMAIN-SUFFIX,googleusercontent.com,PROXY
DOMAIN-SUFFIX,gstatic.com,PROXY

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Debian/Ubuntu系统下,配置并使用SFTP,分用户分目录

前缀、文档修改记录

20251009 初始化编辑此文章,完稿

章节1、需求描述

Debian/Ubuntu的Linux系统内,SFTP权限分配问题,用户user1 可以访问 /data/user1 路径和 /data/share路径, 用户user2可以访问/data/user2和/data/share路径,这样,每个用户可以拥有自己独立的存储目录,也可以有共享的目录访问权限

章节2、环境描述

今日的测试环境 Debian 12的1台Linux服务器,作为文件服务器,/data目录有做完软RAID后的500GB空间,基本不怕丢失文件的哦。

典型的 SFTP 用户目录权限隔离 + 共享目录权限设计

user1 只能访问 /data/user1 和 /data/share
user2 只能访问 /data/user2 和 /data/share
两个用户互相不能访问对方的私有目录
/data/share 为公共共享目录(权限:可读写)
最安全和推荐的方法是使用 sshd_config 配置 SFTP Chroot Jail,然后利用 Bind Mount 来挂载共享目录。

用 Chroot 限制 SFTP 用户的根目录;
用组(group)控制共享目录访问;
调整目录权限(chmod / chown);
修改 SSH 配置来限定 SFTP 行为。

章节3、配置过程,独享目录+共享目录(可读写)

// 创建 Chroot 根目录,创建用户实际数据目录,设置 chroot 目录权限(必须由 root 拥有且不可写)

mkdir -p /sftp/user1
mkdir -p /sftp/user2

mkdir -p /data/user1
mkdir -p /data/user2
mkdir -p /data/share

chown root:root /sftp/user1 /sftp/user2
chmod 755 /sftp/user1 /sftp/user2

配置 sshd,实现 chroot jail,编辑 SSH 配置文件 /etc/ssh/sshd_config , 注释掉默认的 Subsystem 行,使该行语法失效。

# Subsystem sftp /usr/lib/openssh/sftp-server

移动到文件末尾,增加相关配置,增加sftp用户组sftp_users的配置,禁止登录系统,仅允许sftp

# 使用内部 sftp-server 实现 Chroot 功能
Subsystem sftp internal-sftp

# 为 SFTP 用户定义匹配组
Match Group sftp_users
    # 强制使用 internal-sftp
    ForceCommand internal-sftp
    # 禁止 TTY 和 X11 转发
    PermitTTY no
    X11Forwarding no
    # 设置 Chroot 根目录,%h 会被替换为用户的主目录
    ChrootDirectory %h
    # 允许用户的主目录内有读写权限
    AllowTcpForwarding no

注释:这里的 %h 是一个变量,它将使用 /etc/passwd 中定义的用户主目录(Home Directory)

继续配置,在系统里增加用户的组,创建不同用户并设置主目录和组

groupadd sftp_users

useradd -m -d /sftp/user1 -s /sbin/nologin -g sftp_users user1
passwd user1

useradd -m -d /sftp/user2 -s /sbin/nologin -g sftp_users user2
passwd user2

chown user1:sftp_users /data/user1
chown user2:sftp_users /data/user2
chmod 700 /data/user1
chmod 700 /data/user2

chown root:sftp_users /data/share
chmod 770 /data/share

注释:用户的 Home 目录必须设置为 Chroot Jail 的根目录

参数 -m: 创建用户主目录(即 /sftp/user1)

参数 -d /sftp/user1: 指定主目录为 Chroot 根目录

参数 -s /sbin/nologin: 禁止用户通过 SSH 登录 Shell,只能进行 SFTP

设置 Bind Mount 挂载点,在每个用户的 Chroot 根目录下创建挂载点(目标目录),将实际数据目录挂载到 Chroot 内部的入口

mkdir /sftp/user1/user1_files
mkdir /sftp/user1/share

mount --bind /data/user1 /sftp/user1/user1_files
mount --bind /data/share /sftp/user1/share

mkdir /sftp/user2/user2_files
mkdir /sftp/user2/share

mount --bind /data/user2 /sftp/user2/user2_files
mount --bind /data/share /sftp/user2/share

编辑 /etc/fstab 文件,使挂载在系统重启后仍然生效,编辑/etc/fstab 中添加以下四行

/data/user1      /sftp/user1/user1_files  none bind 0 0
/data/share      /sftp/user1/share        none bind 0 0

/data/user2      /sftp/user2/user2_files  none bind 0 0
/data/share      /sftp/user2/share        none bind 0 0

设置目录权限,需要确保用户对实际数据目录有正确的读写权限,设置用户私有目录的权限

chown user1:user1 /data/user1
chmod 700 /data/user1

chown user2:user2 /data/user2
chmod 700 /data/user2

设置共享目录的权限

groupadd sftp_users
usermod -aG sftp_users user1
usermod -aG sftp_users user2

# 设置 /data/share 目录
chown root:sftp_users /data/share
chmod 770 /data/share 

重启服务并测试

systemctl restart sshd

注释:用户登录后,其 SFTP 根目录就是 /sftp/userN,他们将只能看到 userN_filesshare 目录

章节4、配置过程,增加只读的共享目录

只读共享目录 /data/iso , 里面放的一些iso文件,这个一般用户,只读即可。

创建目录,并设置权限: 设置它为 root 拥有且不可写。

mkdir -p /data/iso

chown root:sftp_users /data/iso
chmod 750 /data/iso                  # 确保所有用户可读、可执行(进入目录)

在 Chroot 内部创建挂载点

mkdir /sftp/user1/iso_ro
mkdir /sftp/user2/iso_ro

执行只读 Bind Mount

systemctl daemon-reload
mount --bind /data/iso /sftp/user1/iso_ro -o ro
mount --bind /data/iso /sftp/user2/iso_ro -o ro

持久化 Bind Mount(系统重启后仍然生效),编辑 /etc/fstab 文件,添加以下两行

/data/iso      /sftp/user1/iso_ro       none bind,ro 0 0
/data/iso      /sftp/user2/iso_ro       none bind,ro 0 0

注释:bind,ro 确保了挂载的持久性和只读属性

总结:

私有目录 (/data/user1, /data/user2):通过 chown 和 chmod 700 实现独占读写。

共享目录 (/data/share):通过 sftp_share 组和 chmod 2770 实现组内读写。

只读目录 (/data/iso):通过 mount --bind -o ro 实现只读访问。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

通过公网服务器映射家里的nextcloud的webdav

前缀、文档修改记录

20251006 初始化编辑此文章,完稿,暂未解决,求助
20251008 更新文档

章节1、需求描述

家中服务器

运行 Nextcloud (Docker),没有公网 IP,通过 frpc(TCP 模式) 将 80 端口映射到公网服务器

公网服务器

运行 frps,部署 nginx + HTTPS 证书,nginx 对外暴露的是 HTTPS,nginx 反代到 frp 转发来的 nextcloud HTTP

现象:

Web(浏览器)访问正常nextcloud。WebDAV 的 HTTPS 访问(例如通过 https://nas.mydomain.com/remote.php/dav/files/...)不通。

章节2、故障排查1 – Nginx反代的时候,少了对webdav的参数支持

WebDAV 不仅用 GET / POST,还会用 PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK,这些方法如果被 nginx 屏蔽或未转发,会直接导致 WebDAV 客户端报错(例如 Windows 或 macOS Finder 会直接显示“连接失败”)。

proxy_methods 指令,因为那是 第三方模块(ngx_http_proxy_methods_module) 的语法,不在标准版 nginx 中。

只要不写 proxy_methods 和 limit_except,nginx 默认会转发所有 HTTP 方法,包括 PROPFIND。

那我这个错误,应该不是这个因素导致的。

章节3、 故障排查2 – Nextcloud的配置文件

我配置文件的路径是,/data/config/config.php,确保反代后返回的链接是 HTTPS。

指定信任来源: trusted_proxies 参数是一个数组,用于明确列出 Nextcloud 应该信任的 反向代理服务器的 IP 地址 或 IP 地址段(CIDR 格式)。

正确配置 trusted_proxies 后,Nextcloud 才能从反向代理设置的特定 HTTP 头(默认为 X-Forwarded-For)中提取出真正的 客户端 IP 地址

  'trusted_proxies' => 
  array (
    0 => '192.168.1.10', // 你的反向代理服务器的 IPv4 地址
    1 => '2001:db8::1',  // IPv6 地址示例
    2 => '172.16.0.0/12',// IP 地址段 (CIDR) 示例,例如 Docker 网络的范围
  ),
  // ... 其他配置 ...

'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://nas.mydomain.com',

在这个参数中,增加我服务器的域名,增加服务器的IP,重启一下docker/nextcloud实例。

章节4、故障排查3 – frp的TCP多路复用

启用 TCP 多路复用,应该在配置文件中,tcp_mux = true , 不过,我这里frp 0.65.0 版本

# tcp_mux = true  # 默认就是 true,可以不写

章节5、故障排查4 – nextcloud的应用密码

Nextcloud 的 WebDAV 默认不接受普通用户密码(如果开启了双重认证、OIDC、或 brute-force protection)。

在 Nextcloud 网页端:

点击右上角头像 → “安全”; 在“设备与会话”→“创建新应用密码”; 复制生成的密码

增加了,尝试,也没有用,应该也不是这个问题。

章节6、故障排查5 – nginx的配置

对于nginx,增加http2的配置,我这里版本是1.28.0,HTTP/2 是这样启用的

listen 443 ssl;
http2 on;

完全兼容 HTTP/1.1 回退,增加上来。尴尬,也没啥用。

章节7、故障排查6 – frp的参数

我这里配的frp,走的TCP,这个可能是不对的,frps和frpc之间的tcp通道是经过TLS加密的,这样的话,可能是存在TLS in TLS的情况。

如果是这样的情况,那就直接先docker重新拉一个纯HTTP方式的nextcloud容器看看,直接映射用ftp的TCP方式映射本地的http去公网试试。

用纯HTTP倒是没啥问题。

章节8、故障排查7 – 修改注册表

Windows 需要修改注册表才能支持非微软 WebDAV 服务器

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters]
“BasicAuthLevel”=dword:00000002

0 禁用基本认证

1 只允许 HTTPS 基本认证

2 允许 HTTP/HTTPS 基本认证(推荐至少为 1)
net stop WebClient
net start WebClient

章节9、故障排查8 – 配置架构变化

从原先的
家中服务器:运行 Nextcloud (Docker),没有公网 IP,通过 frpc(TCP 模式) 将 80 端口映射到公网服务器
公网服务器:运行 frps,部署 nginx + HTTPS 证书,nginx 对外暴露的是 HTTPS,nginx 反代到 frp 转发来的 nextcloud HTTP

调整为
家中服务器:运行 Nextcloud (Docker)/TCP/80,没有公网 IP,通过加载证书的Nginx反代本地80到本机的TCP/SSL/443,通过 frpc(TCP 模式) 将 443 端口映射到公网服务器
公网服务器:运行 frps,通过刚刚frpc上指定的TCP/SSL/公网端口访问

即相当与HTTPS 场景的直通配置(TLS passthrough),避免经过frp隧道的时候的TLS in TLS的问题,这个也是我一开始怀疑的点。

章节10、故障排查9 – 测试 WebDAV 端点(不带认证)

curl -i http://localhost/remote.php/dav/

表示 WebDAV 接口存在,只是需要登录。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

Windows 11 系统,挂载SAMBA报错

前缀、文档修改记录

20251002 初始化编辑此文章,完稿

章节1、需求描述

Windows 11系统,挂载Linux的SAMBA,但是错误提示为“A specified logon session does not exist. It may already have been terminated.”

错误的原因是这次安装的Windows 11 系统很新,有的安全设置等级高,需要修改一下。

章节2、 修改方式

2.1 修改步骤1

打开控制面板。

点击 程序 → 启用或关闭 Windows 功能。

在列表中找到并勾选 “SMB 1.0/CIFS 文件共享支持”。

2.2 修改步骤2

按下 Win + R 键打开“运行”对话框,输入 secpol.msc 并按回车,打开本地安全策略。

导航到:本地策略 → 安全选项。

在右侧找到并双击设置项:“网络安全: LAN 管理器身份验证级别”(Network security: LAN Manager authentication level)。

将其值修改为:“发送 LM 和 NTLM – 使用 NTLMv2 会话安全(如果协商)”

2.3 重启一下系统,即可。

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨

把整个物理笔记本的系统塞进Proxmox VE虚拟化

前缀、文档修改记录

20250909 初始化编辑此文章,完稿
20250911 更新内容

章节1、需求描述

一直想把公司配发的电脑,整个硬盘上的系统(含系统盘、数据盘)整个打包,塞进虚拟化里面,这样方便自己有的时候,临时出差用一下公司的内网。

章节2、Disk2vhd工具

使用到的是微软官方的Disk2vhd工具,用它,可以把整个磁盘,全部打包成vhd

https://learn.microsoft.com/en-us/sysinternals/downloads/disk2vhd

章节3、操作过程

3.1、 (可选)镜像复制整个磁盘

我弄了2个NVMe的移动硬盘盒,把工作笔记本电脑的三星固态M2/512GB 硬盘拆了出来,用 Linux系统的 dd命令,拿一块国产的M2/512GB,整个镜像了一遍磁盘,后续的操作可以在我复制出来的这块国产M2/512GB的磁盘上操作,即便操作步骤有错误,也不会把工作系统弄炸裂。

3.2、 运行disk2vhd工具

disk2vhd工具支持对运行中的系统中执行,同样也支持移动硬盘,比如我刚刚镜像出来的国产化硬盘M2/512GB,只要移动硬盘里的分区能够在 Windows 中正常挂载并显示为卷(例如有盘符 D:\、E:\),Disk2vhd 就能扫描并列出来,你也可以勾选它来进行转换。

选项1、 [勾选] prepare for use in virtual PC

选项2、 [不需要]use vhdx

因为我最终要把镜像文件弄到我的Proxmox VE环境中,vhd格式是适合的,而你们若准备用HyperV承载,则这里应该选择vhdx

选项3、 [不需要]usse volumn shadow copy

因为,我是用的其他电脑,运行disk2vhd,移动硬盘里,是需要打包成vhd的工作系统,基于 Windows 的卷影复制服务(VSS, Volume Snapshot Service)来创建 VHD,这个选项,我这里不必。

VHD File name: 存储路径,我的台式机的HDD/D盘,剩余可用磁盘空间759GB,足够放置这个512GB的磁盘文件。

点击 Create,即可开始,因为是逐块读取磁盘和写入的,速度一般不会很快,慢慢等待执行完成就是。

3.3、 上传文件

将刚刚生成的 DESKTOP-XXYYZZ.vhd文件上传到我的PVE磁盘目录下,注意因为文件比较大,传输完成后,用md5sum/sha1sum之类的校验一下完整性。

3.4、 格式转换

PVE 中新建一台虚拟机

硬件参数设置尽量和实体机一致(CPU、磁盘控制器、UEFI/BIOS 模式)

转换为 PVE 可用格式

qemu-img convert -f vpc -O qcow2 DESKTOP-XXYYZZ.vhd vm-101-disk-0.qcow2

// 其中-f表示原始file式,QEMU recognizes vpc for VHD files and vhdx for VHDX files.   qemu-img info /var/lib/vz/template/iso/DESKTOP-AAU5KV1.VHD
// 其中vmid-101 这个101根据你们实际的虚拟机ID来。VM 配置文件里挂载


qm importdisk 102 /root/vm-101-disk-0.qcow2 local-zfs
// 其中102这个修改为你创建的VM的ID号
// local-zfs修改为你的存储路径
创建虚拟机(CPU/MEM/noDisk/noSystemISO/网卡E1000),网卡MAC地址跟公司的网卡的一致。

BIOS/UEFI 设置要和实体机一致(Windows 10/11 大概率用 UEFI + OVMF)。

硬盘控制器先选 SATA(这样可以保证先能启动)。

网卡先用 Intel E1000(Windows 自带驱动)。

把转换好的磁盘文件挂载到这台 VM 上(替换掉空磁盘)

章节3、 可能的驱动问题

Windows 迁移后可能蓝屏,要提前装好 virtio 驱动

https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/latest-virtio/

附录1、视频操作演示

附录2、@Dasmz

博客内,所有教程为手打原创教程,如果技术教程对您有所帮助,欢迎打赏作者。技术层面,闻道有先后,如有疏漏、错误,欢迎指正。技术博客的内容,一般具有一定的环境依赖,具有一定的年代依赖,酌情参考其中的内容,请勿完全照搬照抄。

对于博客内已提及的专业知识,如果需要技术指导,欢迎联系我,仅需支付工时费

Twitter: Dasmz

Youtube: @DasmzStudio

Telegram: @Dasmz

Donate
云乞讨