# iPhone:从相册分享到电脑 目标:第一次配置后,在相册中选照片 → 分享 →「传到电脑」,电脑自动保存到已设置的接收文件夹。 本机已提供签名的通用「传到电脑」快捷指令安装包。首次从手机配置页下载并添加,安装时只粘贴一次上传地址,不需要逐个编辑动作。用户已确认单张传输能用;照片原片格式、文件名、编辑照片及大批量分享仍需专项真机验收。 免填地址的独立「传到电脑(公网)」安装包已完成签名与本机验收。它预置当前公网上传地址,添加时无需复制地址或填写导入问题。现有通用包继续作为备用,导入时仍需粘贴一次地址;新公网包的 iPhone 导入与实际批量运行仍待用户确认。 ## 公网版:下载添加,无需填写地址 1. 在电脑控制页找到「异地也能发送」,确认「公网接收已连接」,用 iPhone 扫描其中的公网二维码。 2. 在 Safari 打开的手机页面点 **下载「传到电脑(公网)」,添加后直接用**。如果页面是旧内容,刷新后再点。 3. 打开下载的 **传到电脑(公网).shortcut**,在快捷指令里完成添加。Safari 如先下载文件,从下载列表或「文件」App 的下载目录打开;无需复制 URL、填写导入问题或编辑动作。 4. 在相册选图 → 分享 → **传到电脑(公网)**。首次按 iOS 提示允许照片、网络等访问,电脑自动保存。 保留原来的蓝色局域网版;同一家庭或办公网络优先用它。新公网版为橙色图标,中文名称通过下载文件名区分。若当前配对的预配置包不可用,页面会显示 **通用模板,首次添加时需粘贴公网上传地址**,按下一节操作。 ## 现有通用包:下载添加,粘贴一次地址 1. 同一局域网时扫描电脑控制页的局域网二维码;异地或手机移动网络时扫描「异地也能发送」卡片中的公网二维码。在 Safari 打开手机配置页。 2. 点「添加『传到电脑』快捷指令」,进入配置说明,先复制完整的「快捷指令上传地址」。 3. 点添加按钮,打开下载的「传到电脑.shortcut」。若 Safari 先下载文件,点浏览器的下载列表,再点该文件;必要时从「文件」App 的下载目录打开。 4. 在快捷指令导入问题中,粘贴刚复制的上传地址,完成添加。分享菜单及批量上传动作已经配置,不需要手动编辑。 5. 相册选择一张照片 → 分享 →「选项」中的格式选「当前」→「传到电脑」。首次按系统提示允许连接电脑地址,并在电脑接收记录确认文件收到。 安装包是通用模板,未预置真实配对密钥。局域网 IP 改变或公网分享密钥被重置后,用最新二维码复制对应地址,可重新导入并填写新地址,或编辑快捷指令中开头的「文本」动作。不要把旧手工版中的「URL」动作与导入版的「文本」动作混淆。 如果页面暂未出现添加入口,刷新手机配置页。 ## 选择局域网或公网 两个入口都保存到电脑控制页设置的同一个接收目录,当前为 `F:\传输助手\接收文件`。电脑需要开机、保持唤醒并运行接收服务。 | 入口 | 手机使用条件 | 从哪里取得地址 | | --- | --- | --- | | 局域网 | 手机与电脑在同一个家庭或办公网络;电脑可以使用网线。 | 电脑控制页的局域网二维码、手机访问地址与上传地址。 | | 公网 | 手机可以在其他 Wi-Fi 或移动网络,电脑需联网且控制页显示「公网接收已连接」。 | 电脑控制页「异地也能发送」卡片中的公网二维码、完整手机入口或公网上传地址。 | 建议分开保留两个快捷指令:蓝色 **传到电脑** 用于局域网,也可自行改名为 **传到电脑(局域网)**;新公网包使用橙色图标,名称为 **传到电脑(公网)**。已有快捷指令继续使用导入时的 URL,不会自动切换。 手机与电脑在同一家庭或办公网络时优先局域网;外出、使用其他 Wi-Fi 或手机流量时使用公网。公网照片经过手机互联网、服务器和电脑接收连接,受两端网络与中间路径影响,用户已反馈公网较慢;当前没有定量测速,不承诺固定传输速度。两种方式都由电脑自动接收,保存到同一目录。 优先下载当前配对的免填地址公网包。回退为通用模板时,导入现有通用安装包,填写「公网快捷指令上传地址」并改名;这一步仍需要粘贴地址。 公网固定站点为 `https://transfer.43-162-104-82.sslip.io/`。扫码或使用控制页复制的完整地址,其中包含独立的公网接收密钥;只打开不带密钥的域名或 `/phone` 页面无法上传。详细说明见 [公网入口指南](./PUBLIC.md)。 公网地址格式如下,实际使用时复制完整值,不必自己拼接: ```text https://transfer.43-162-104-82.sslip.io/phone?token=<公网接收密钥> https://transfer.43-162-104-82.sslip.io/api/upload?token=<公网接收密钥> ``` 分享公网二维码、手机地址或预配置公网安装包,别人就能向你的电脑上传文件,电脑自动接收;对方不能浏览既有接收历史、下载已接收文件或改设置。关闭公网接收不影响局域网;撤销旧分享或更换域名后,原来的预配置包失效、下载入口隐藏。可先用通用包填写最新地址;重新生成免填地址包需要再次完成签名,Windows 电脑不会立即自动生成。接收电脑离线时没有云端代收,恢复后请重试。公网单文件上限 128 MiB,局域网上限 2 GiB。 ### 局域网连接步骤 1. 保持电脑接收服务运行,手机与电脑接入同一个家庭或办公局域网。电脑可以用网线连接同一台路由器。 2. 用 iPhone Safari 打开电脑控制页展示的「手机访问地址」。不要在手机上输入 `localhost` 或 `127.0.0.1`。 3. 通过手机配置页复制完整的「快捷指令上传地址」。它已经带上设备接收密钥,不必自己拼接。 4. 电脑确认接收文件夹。手机上传时会直接进入该文件夹,不必在电脑上逐次点确认。 上传地址格式如下,实际使用时复制控制页生成的完整值: ```text http://<电脑局域网地址>:<端口>/api/upload?token=<设备接收密钥> ``` ## 备用:手动建立快捷指令 打开 iPhone「快捷指令」,新建,命名为「传到电脑」。进入「详细信息」,打开「在共享表单中显示」。点击工作流最上方的接收输入,保留「图像」「媒体」「文件」;没有输入时选择停止。这样它能出现在相册和「文件」App 的分享菜单中。[Apple:从其他 App 启动快捷指令](https://support.apple.com/zh-cn/guide/shortcuts/apd163eb9f95/ios)、[Apple:输入类型](https://support.apple.com/zh-cn/guide/shortcuts/apd7644168e1/ios) 按以下顺序添加动作。方括号中的内容是「变量」,要点选,不能输入成普通文字。系统版本不同,部分按钮可能显示为展开箭头或「更多内容」。 | 顺序 | 搜索并添加的动作 | 设置 | | --- | --- | --- | | 1 | URL | 粘贴电脑生成的完整「快捷指令上传地址」。 | | 2 | 重复每一项 | 输入明确选择 **[快捷指令输入]**。系统会自动增加「结束重复」;下面第 3~5 步都放在它前面。 | | 3 | 获取 URL 内容 | URL 明确选择第 1 步的 **[URL]**,展开选项,方法选 **POST**,请求体选 **表单**。添加一个字段:键为英文 **file**,字段类型选 **文件**,值选 **[重复项目]**。 | | 4 | 获取词典值 | 在第 3 步的 **[URL 的内容]** 中获取键 **ok** 的值。 | | 5 | 如果 | 条件是第 4 步的词典值 **为真 / true**。如果手机按数字显示布尔值,选「等于 1」。真分支留空;在「否则」里按下面的错误分支处理。 | | 6 | 结束重复 | 系统自动产生,放在第 5 步的「结束如果」之后。 | | 7 | 计数 | 计数类型选「项目」,输入明确选择 **[快捷指令输入]**。 | | 8 | 显示通知 | 内容:「已传到电脑,共 [第 7 步的计数] 个文件」。 | 第 5 步的「否则」里,依次添加: 1. **获取词典值**:在第 3 步的 **[URL 的内容]** 中获取 **error**。 2. **显示提醒**:标题「传输未完成」,内容选上一步的消息;可以补一句「此前成功的文件已保留,请在电脑查看」。 3. **停止并输出**:输出「传输未完成」,然后结束快捷指令。有的系统显示「停止此快捷指令」,选择这个停止动作也可以。 布尔判断要检查 `ok` 为真,不能使用「有任何值」:错误响应里的 `false` 也有值。断网、超时等系统网络错误会直接停止「获取 URL 内容」,因此不会继续显示最后的成功通知。顺序上传可以降低同时处理大量文件的压力;iOS 仍可能一次准备所有分享输入,不能据此保证无限批量。 Apple 官方确认「获取 URL 内容」在 POST 模式可以提交表单或文件;「重复每一项」提供当前项目的「重复项目」变量;「获取词典值」可以读取 JSON 响应。[API 请求](https://support.apple.com/zh-cn/guide/shortcuts/apd58d46713f/ios)、[重复操作](https://support.apple.com/zh-cn/guide/shortcuts/apdc11deb2c1/ios)、[词典值](https://support.apple.com/zh-cn/guide/shortcuts/apdf01294032/ios) ### 这一步最容易点错 - 第 2 步输入是 **快捷指令输入**,第 3 步 URL 是 **第 1 步的 URL**,表单文件值是 **重复项目**。不能全部使用系统自动填入的「上一步结果」。 - 表单键是小写英文 `file`,字段类型是 **文件**。如果用「文本」类型,会上传描述文字,无法得到照片。 - 不要手动填写 `Content-Type: multipart/form-data`;快捷指令会生成包含 boundary 的正确表单头。 - 工作流不需要「转换图像」「调整图像大小」「Base64 编码」「从输入中获取图像」。文件内容直接传给上传动作,接收服务原样落盘。 如果要先用最少动作验证连接,可只添加 URL、重复每一项、获取 URL 内容三步;成功时屏幕只会显示请求结果。完成正式配置后,再加响应判断和通知,避免失败时误报完成。 ## 每天怎么传 1. 相册 → 选择需要的照片 → 分享。 2. 点击分享页面顶部的「选项」,文件格式选 **当前**,完成。首次验收时必须检查这一项;不要假设手机会一直记住。 3. 在分享菜单下方点 **传到电脑**;异地发送时使用已配置的 **传到电脑(公网)**。首次运行如有连接该地址的权限提示,允许访问。 4. 等待「已传到电脑」通知。电脑接收列表出现对应文件,即可在目标文件夹使用。 Apple 对「当前」的定义是避免格式转换;选择「兼容性最佳」时照片可能变成 JPEG。相册可自行决定导出哪个版本,所以「当前」不等于未修改的拍摄原文件。[Apple:共享照片的格式选项](https://support.apple.com/zh-cn/guide/iphone/iphf28f17237/26/ios/26) ## 原图的边界 电脑保存的是手机请求中的文件字节:服务不压缩、不缩放、不重新编码。multipart 会同时携带所上传文件的名称;电脑对非法名称作清理并处理重名。相册提供的名称或格式仍由 iOS 决定,不能靠接收端把已转码的 JPEG 还原为原始 HEIC。 | 情况 | 第一版的处理 | | --- | --- | | 未编辑的普通 HEIC/JPEG 照片 | 分享时选「当前」,需要真机确认扩展名、分辨率、大小及元数据。 | | 裁剪、调色后的照片 | 分享可能得到当前编辑效果;若要拍摄时的原文件,先用系统的「导出未修改的原片」。 | | 已存在于「文件」App 的文件 | 在「文件」中选文件 → 分享 →「传到电脑」。这是验证上传字节与源文件一致的优先路径。 | | iCloud 优化存储的照片 | iOS 可能先下载原始资源;准备阶段的等待不算局域网传输速度。 | | Live Photo / 实况照片 | 普通分享可能只传静态图;第一版不承诺自动取得完整的 HEIC/JPEG + MOV 配对、编辑历史及图库结构。 | 如果需要**未修改的原片**,Apple 提供的明确路径是:选照片 → 分享 →「导出未修改的原片」→ 选择存储位置保存。官方说明的验收基线是连接到 iPhone 的存储设备,编辑过的照片也会导出未修改版本;手机实际是否允许保存到本机「文件」位置,以该系统的文件选择器为准。文件导出后,可以再从「文件」App 分享给本快捷指令。普通「存储到文件」不能替代「导出未修改的原片」。[Apple:导入和导出照片及视频](https://support.apple.com/zh-cn/guide/iphone/iph480caa1f3/26/ios/26) 「所有照片数据」不是这个快捷指令能直接开启的原片保证。Apple 在 iOS 26 文档中将完整数据分享限定到隔空投送和 iCloud 链接,也说明不支持实况照片的服务可能只收到静态照片。[Apple:照片分享限制](https://support.apple.com/zh-cn/guide/iphone/iphf28f17237/26/ios/26) ## 多张照片提示“不受允许” 用户选择 31 张照片时,iOS 提示“此操作正在尝试共享 31 个照片项目,这不受允许,您可在设置中允许”。这是快捷指令的大量数据共享权限,需要在手机系统设置中开启: 1. 打开 **设置 → App → 快捷指令 → 高级**;旧版 iOS 路径为 **设置 → 快捷指令 → 高级**。 2. 开启 **允许共享大量数据**(英文为 Allow Sharing Large Amounts of Data)。 3. 返回相册,重新选择照片并运行对应快捷指令;按系统提示允许照片和网络访问。 Apple 官方给出了这项设置。逐件上传动作已支持多张照片,无需改上传循环;快捷指令无法替你跳过系统授权。开启后如仍因 iCloud 准备资源、内存或网络中断,先分成较小批次重试,并保持快捷指令在前台。31 张批量的实机重试结果仍待确认。[Apple:允许共享大量数据](https://support.apple.com/zh-cn/guide/shortcuts/apd961a4fc65/ios) ## 首次验收 先传 1 张未编辑 HEIC、1 张 JPEG、1 张 PNG 截图,再传一个从「文件」App 分享的已知文件。检查电脑目录、文件名、格式、大小和图片尺寸。然后测试 3~10 张批量分享和一个同名文件。局域网版可断开 Wi-Fi 验证失败提示;公网版可切换到手机移动网络确认异地可用,再在完全断网时确认不会显示成功通知。 要核验文件字节,给一份已知原始文件计算 SHA-256,将同一份文件放到 iPhone「文件」App,通过快捷指令传回,比较接收日志的 SHA-256 或电脑接收文件的哈希: ```powershell Get-FileHash -LiteralPath 'F:\某个文件夹\原文件.HEIC' -Algorithm SHA256 Get-FileHash -LiteralPath 'F:\接收文件夹\收到的文件.HEIC' -Algorithm SHA256 ``` 两者相等,才能说明这次从已知文件到接收文件的字节一致。只看到服务端 SHA-256,不能证明 iOS 在分享前没有转换资源。 ## 手机连不上时 1. 确认用的是对应入口的完整地址。局域网版检查同一网段、Windows 专用网络防火墙及访客网络隔离;公网版先在电脑控制页查看「公网接收已连接」,确认没有关闭入口,也不是已撤销的旧链接。 2. Safari 正常但快捷指令失败,确认快捷指令开头的「文本」动作包含对应上传 URL;手工版则检查 POST、文件字段 `file` 和 URL 变量。公网密钥重置后更新公网快捷指令:通用包粘贴新地址,预配置包需重新制作与签名;局域网版不用改。 3. 若手机或电脑启用了 VPN、代理或 TUN,比较当前路径与仅针对接收地址的直连。系统显式代理关闭、`--noproxy` 或 DNS 显示 `198.18.x.x` 都不能单独证明真正直连;必要时检查物理网卡、真实 DNS 与浏览器实际加载情况。不要为一个地址改全局 DNS、停用全局代理或路由。 4. 电脑局域网 IP 变化时,更新局域网地址;公网地址不随它改变。VPS 地址或公网域名被更换时才需要更新公网 URL。 5. 公网文件超过 128 MiB 时,改用局域网或减少文件大小;不要为了上传而压缩需保留的原片。大批量出现“不受允许”提示时,按上节开启“允许共享大量数据”;其他中断可先减少一批的数量并保持快捷指令在前台。当前没有跨进程后台续传或离线代收。 ## 模板制作与签名记录 [传到电脑.shortcut](./传到电脑.shortcut) 是实际签名安装包。使用 [Cherri 官方 Playground](https://playground.cherrilang.org/) 正常编译、签名功能生成,签名只提交不含真实 IP 或 token 的通用动作。[官方平台说明](https://cherrilang.org/install.html) 已检查 AEA1 容器签名和内容完整性、证书链链接、证书有效期及 Apple 官方 Root CA G3 匹配。18 个动作、所有参数、变量及导入问题与编译产物一致;签名端只规范化了 4 处顶层导出元数据,具体见 [shortcut-verification.json](./shortcut-verification.json)。这些检查不能代替 iPhone 的完整信任策略和真机运行验收。 [shortcut-blueprint.json](./shortcut-blueprint.json) 是早期脱敏动作蓝图,**不是安装包**。源码为 [传到电脑.cherri](./传到电脑.cherri);本地构建器生成的 `-unsigned.shortcut` 同样不能直接安装。 预配置「传到电脑(公网)」已通过 Cherri Playground/HubSign 正常流程完成签名,并通过实际 AEA1 验收。它的工作流含公网授权上传地址,签名服务收到的是这份工作流副本;不包含局域网密钥或私人照片。产物及验收记录仅放在本机 `.runtime/public-shortcut/`,不会写入本文档目录。从带公网密钥的入口下载;拿到文件的人拥有与该二维码相同的上传权限。验收同时检查当前配对地址、密钥摘要、预置上传 URL 与零导入问题。 该公网包为 23,725 字节,SHA-256 为 `63a8300c5672cfff0ee57724b571be697a4e1eca8e2ae76bbd994c10677b39b6`。签名/完整性、证书链、有效期及 Apple Root CA G3 已验证;18 个动作、全部参数和图标严格一致。签名端除通用包已有的 4 处元数据规范化,还移除了显式设置的 `WFWorkflowName`;验收器仅允许准确名称的这一删除,中文下载名由 HTTP 文件名提供。修改动作、图标或名称的实际比较负例均被拒绝。新包的 iPhone 导入、31 张照片重试仍待真机确认。 真实 HTTPS 下载与界面已验收:电脑和手机的预配置按钮都直接下载,无复制地址弹窗;文件名为“传到电脑(公网).shortcut”,大小与 SHA-256 均匹配。1360 × 980 桌面和 390 × 844 手机页面无脚本错误或横向溢出,局域网导入原流程保持可用。 后续有 Mac 时,可在官方「快捷指令」编辑器按此流程制作通用模板,把上传 URL 留作导入问题 / 占位符,再导出和签名: ```sh shortcuts sign --mode anyone --input "传到电脑-无密钥.shortcut" --output "传到电脑-已签名.shortcut" ``` 此命令只对已在 Apple 快捷指令编辑器建立并导出的文件使用,不能直接签名 JSON 蓝图。制作可公开分发的通用模板时,签名前应清除真实密钥;预配置公网包含上传授权,分享范围应与公网二维码相同。Apple 明确说明签名时会收到快捷指令副本进行验证。[Apple:从命令行签名快捷指令](https://support.apple.com/en-gb/guide/shortcuts-mac/apd455c82f02/mac)