跨平台文件传输:WebDAV + Rclone

        在集成流水线时,我曾遇到需要跨平台传输文件的场景(服务器需要与其他平台进行文件交互)。虽然 OpenSSH(scp/sftp)是最简便的方案,但公司出于安全策略,禁止机器间通过 OpenSSH 进行文件传输。因此我尝试了 NFS/SMB、临时 HTTP 共享等多种方式,但均因安全策略限制或配置复杂未能落地。

        最终我采用了 WebDAV + rclone 的组合方案实现跨平台文件传输:

  • 使用 WebDAV 共享目标机器的目录;
  • 通过 rclone 对共享目录进行稳定的读写操作。

        该方案适用于内部工具场景,非部署生产环境。实际使用中,我以测试机/工作机(macOS/Windows)作为 WebDAV 服务端,在另一台 macOS 服务器上通过 rclone 对测试机进行文件的上传、下载与管理,实现了稳定、轻量、符合公司安全规范的跨平台文件互通。

实现步骤

Apache

        用Apache开启webdav服务非常方便,macOS平台自带Apache,Windows需要自己下载安装(下载-安装-配置环境变量)。

Windows

  • 打开:https://www.apachelounge.com/download/,下载对应系统的版本
  • 解压到一个无空格、无中文的目录(比如 D:\Apache)
  • 打开配置文件(D:\Apache\Apache24\conf\httpd.conf)
# 找到并修改 ServerRoot(必须与解压路径一致) Define SRVROOT "D:/Apache/Apache24" ServerRoot "${SRVROOT}" # 找到 Listen 80,可改为其他端口(如 8080)避免冲突 Listen 8080 # 在配置文件末尾添加一行,端口必须对应 ServerName 127.0.0.1:8080
  • 管理员打开cmd,测试配置是否正确
cd /d D:\Apache\Apache24\bin httpd -t -> Syntax OK
  • 启动 Apache

        管理员cmd:

httpd -k start :: 初次 httpd -k restart :: 重启 :: 或注册为Windows服务,作为后台服务 httpd -k install net start Apache2.4

浏览器访问:http://localhost:8080,看到“ It works! ”即成功。

  • 若修改配置,需要重启httpd才能生效
httpd -t :: 检查语法 httpd -k restart :: 重启 :: 或注册为Windows服务 net stop Apache2.4 :: 停止服务 httpd -t :: 检查语法 net start Apache2.4 :: 重启

Webdav

        下面主要记录Windows下开启webdav的步骤,macOS上步骤相同,操作不同,macOS的共享文件最好创建在Shared目录下。此外不设置账号和密码,允许匿名登录,若要设置账号密码,修改相关配置即可。

开启 WebDAV 模块

        在httpd.conf中启用以下模块(去掉行首#):

LoadModule dav_module modules/mod_dav.so LoadModule dav_fs_module modules/mod_dav_fs.so LoadModule dav_lock_module modules/mod_dav_lock.so # 用于密码认证 LoadModule authn_file_module modules/mod_authn_file.so LoadModule auth_digest_module modules/mod_auth_digest.so LoadModule authz_core_module modules/mod_authz_core.so

创建共享目录

         管理员cmd:

mkdir D:\webdav_share :: 共享目录 mkdir D:\Apache\Apache24\var :: 对应配置中的 DavLockDB 路径 

共享目录权限配置

        D盘一般可以跳过这一节:

  • 右键 D:\webdav_share → 属性 → 安全 → 编辑 → 添加;
  • 输入 Everyone → 确定 → 勾选 “完全控制、修改、读取和执行、列出文件夹目录、读取、写入”;
  • (optional)若 Apache 以服务运行,需给 SYSTEM 或 Apache2.4 服务账户赋相同权限。

创建独立的WebDAV配置文件

cd /d D:\Apache\Apache24\conf :: 新建 extra 文件夹(仅当不存在时创建) if not exist "extra" mkdir extra :: 进入 extra 目录 cd extra :: 创建webdav配置文件 type nul > httpd-webdav.conf :: 打开配置文件 notepad httpd-webdav.conf

        打开WebDAV配置文件,拷贝如下内容:

Define SRVROOT "D:/Apache/Apache24" DavLockDB "${SRVROOT}/var/DavLock" Alias /webdav "D:/webdav_share" <Directory "D:/webdav_share"> Dav On DavDepthInfinity On DavMinTimeout 600 Options Indexes FollowSymLinks MultiViews AllowOverride None Require all granted </Directory> 

        若要让 WebDAV 支持Rclone大文件传输(几百Mb的文件已经算是大文件了),则必须解除 Apache 对请求体大小、上传分块(chunk)的限制,关键配置是 LimitRequestBody(控制请求体大小)和 DavMaxRequestSize(WebDAV 专属的请求大小限制)。配置文件中添加如下内容:

# 1. 解除请求体大小限制(0 = 无限制,单位:字节) LimitRequestBody 0 # 2. WebDAV 专属:解除请求大小限制(无上限) DavMaxRequestSize 0 # 3. 延长超时时间(避免大文件传输超时,单位:秒) TimeOut 3600 # 4. 关闭分块传输限制(兼容旧客户端) EnableSendfile Off EnableMMAP Off 

引入主配置文件

      打开 ~\Apache24\conf\httpd.conf,在文件末尾添加一行:

Include conf/extra/httpd-webdav.conf

httpd检查语法并重启

        管理员cmd:

httpd -t :: 检查语法 httpd -k restart :: 重启 :: 或注册为Windows服务 net stop Apache2.4 :: 停止服务 httpd -t :: 检查语法 net start Apache2.4 :: 重启 

本地测试

        打开浏览器,访问 http://localhost:8080/webdav成功!

跨机器访问

        跨机器访问需要解除防火墙限制,管理员cmd:

:: 放行 TCP 8080 端口(永久生效) netsh advfirewall firewall add rule name="WebDAV-8080" dir=in action=allow protocol=TCP localport=8080 remoteip=any profile=any enable=yes :: 删除 netsh advfirewall firewall delete rule name="WebDAV-8080" protocol=TCP localport=8080 

        测试:从另一台机器上尝试访问http://<ipv4>:8080/webdav成功。

Rclone

下载安装

        下载 rclone(https://rclone.org/,全平台),或命令行。

        macOS:

# 安装 Homebrew(如未装) /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" # 安装 rclone brew install rclone # 验证 rclone version

        Windows(管理员Powershell):

winget install Rclone.Rclone

WebDAV配置

# 进入配置向导 rclone config # 按提示: # n → 新建远程 # name(如 webdav) # storage:WebDAV # url(如 http://192.168.1.100/webdav) # vendor: 7 # 用户名、密码 (没有则跳过) # 完成后 q 退出

常用命令

# 列出文件 rclone ls webdav:/ # 上传文件 copy A to B rclone copy local_file.txt webdav:/path/

Read more

零基础玩转AI绘画:Z-Image-Turbo保姆级教程,5分钟出大片

零基础玩转AI绘画:Z-Image-Turbo保姆级教程,5分钟出大片 你有没有过这样的时刻:脑子里闪过一个绝妙的画面——比如“黄昏时分悬浮在云海之上的玻璃城堡”,手指已经点开绘图软件,却卡在第一步:不知道怎么把脑海里的光、影、质感和情绪,变成一行能让AI听懂的提示词?更别说等渲染、调参数、修废图……还没开始创作,热情先被流程浇灭。 Z-Image-Turbo 极速云端创作室,就是为这种“想画就画”的直觉而生。它不讲模型结构、不聊LoRA微调、不设CFG滑块、不让你选采样器——它只做一件事:你写一句话,它秒出一张电影级高清图。没有黑图、不用调试、不占本地显存,连笔记本电脑都能通过浏览器直接用。本文就是为你量身定制的“零门槛启动指南”,从打开页面到保存第一张作品,全程不超过5分钟。 1. 为什么说Z-Image-Turbo是新手的第一台“AI相机” 1.1 它不是另一个需要折腾的WebUI 市面上很多AI绘画工具,界面像控制台,参数像密码本:CFG Scale、Denoising

vs2022无法正常使用copilot的解决方案

vs2022无法正常使用copilot的解决方案

问题描述 不知道从什么时候开始,在visual studio2022中用copilot一直显示完成你的请求时出现了问题。请重试。 点开显示输出日志发现可能是网络原因,但是我在浏览器打开显示的是404,那就是可以正常连接。 试过很多AI得到的回答无非以下几种: * 设置了代理 * 防火墙 * 网络原因 但是经过排查防火墙我早就关闭了,代理我也没有设置过全局,都是使用的浏览器插件。而网络原因更不太可能了,因为我在vscode中是能正常使用copilot的。 解决方案 今天想再试试AI,我又把上面那一大串的错误复制发给了GPT5.2,然后他给出一系列的测试命令(因为使用的vscode里的copilot,所以只需要一直点允许它就能执行命令并获取执行结果了)。 $ErrorActionPreference='Continue'; Write-Host '=== Env Proxy Vars ==='; gci env: | ? { $_.Name -match 'PROXY|COPILOT' } | sort Name | ft -AutoSize; Write-Host

llama.cpp是什么?

lama.cpp 是一个基于 C/C++ 的高性能推理框架,专门用于在本地设备上高效运行 Meta(原 Facebook)开源的 LLaMA 系列大语言模型(如 LLaMA-1/2、Alpaca 等)。它通过优化计算和内存管理,使得即使在没有高端 GPU 的普通电脑(甚至树莓派、手机等嵌入式设备)上也能运行大模型。 核心特点 1. 轻量与高效: * 纯 C/C++ 实现,无第三方依赖,对 CPU 架构(如 x86、ARM)优化。 * 支持 4-bit 量化(如 GGUF 格式),显著降低模型体积和内存占用(例如 7B 模型可压缩到

一键部署Z-Image-Turbo:云端AI绘画不求人

一键部署Z-Image-Turbo:云端AI绘画不求人 你是不是也遇到过这样的场景:脑子里有个绝妙的画面,想把它画出来,但要么不会画画,要么打开专业绘图软件折腾半天,最后出来的效果还不如想象力的十分之一? 或者,作为内容创作者、电商运营,每天需要大量配图、海报,找图库要花钱,自己设计又太费时间,效率低得让人抓狂。 今天,我要给你介绍一个“神器”——Z-Image-Turbo 极速云端创作室。它不是一个复杂的软件,而是一个打包好的云端AI绘画应用。你不需要懂代码,不需要配置环境,甚至不需要高性能电脑,只需要点几下鼠标,就能拥有一个属于你自己的、能秒级生成高清大图的AI画室。 这听起来是不是有点不可思议?别急,跟着我,10分钟你就能亲手把它搭建起来,并画出第一张作品。 1. 为什么你需要这个“云端画室”? 在深入动手之前,我们先搞清楚,这个工具到底能帮你解决什么问题。 1.1 传统AI绘画的三大痛点 如果你之前尝试过一些AI绘画工具,可能会对这几个问题深有体会: 1. 部署复杂:想用开源的Stable Diffusion?光是安装Python、