Time Capsule 从 AFP 迁移到 Samba:macOS 支持的开源项目
开发者 James Chang 在 GitHub 上发布了 TimeCapsuleSMB 项目,该项目在 Apple Time Capsule 网络存储设备中用 Samba 替换 AFP 协议。这将允许在未来 macOS 版本完全禁用 AFP 后继续使用这些设备,包括预期的 macOS 27。
Time Capsule 设备是带有内置路由器的网络附加存储设备,从 2008 年起开始发布。它们提供文件存储和 Time Machine 备份。AFP (Apple Filing Protocol)——其核心协议——现已被弃用。如果不进行迁移,这些存储设备将变得不兼容。
Time Capsule 的历史与特点
苹果生产了五代这些设备。前四代采用独特的白色圆柱形设计,而第五代则拥有更紧凑的白色外壳。所有型号都依赖 AFP 进行网络访问。
- AFP 与 Samba:AFP 已过时,而 Samba (SMB/CIFS) 是跨平台文件共享的事实标准。
- 问题:macOS 正在逐步淘汰 AFP,它已在苹果的企业文档中不被推荐。
- 解决方案:TimeCapsuleSMB 将流量迁移到 Samba,保持兼容性。
该项目在固件层面解决问题:Samba 为 Time Capsule 环境(基于 BusyBox 和 MIPS/PowerPC 架构)进行了编译。
项目说明中的迁移步骤
该过程需要 SSH 访问和手动构建。主要阶段:
- 启用 SSH:使用 AirPort Utility(较新版本使用 AirPyrt)开启远程访问。命令:
ssh root@<IP>,使用默认密码。 - 构建 Samba:下载 Samba 4.x 源代码,为设备架构(mipsel 或 ppc)配置交叉编译。示例配置:
```bash
./configure --host=mipsel-unknown-linux-gnu --prefix=/usr/local/samba --without-ads --without-dnsupdate
make
```
- 安装:将二进制文件传输到设备,停止 AFP 服务器(
afpd -k)。 - 端口重定向:使用 iptables 将 AFP 端口(548/tcp)重定向到 Samba(445/tcp)。示例:
```bash
iptables -t nat -A PREROUTING -p tcp --dport 548 -j REDIRECT --to-port 445
```
- Samba 配置:smb.conf 中包含 Time Machine 部分(fruit:time machine = yes)。
仓库包含自动化脚本和用于构建的 Dockerfile。
技术实现细节
Time Capsule 运行在修改过的固件上——一个没有包管理器的极简 Linux 发行版。Samba 通过禁用模块(ADS、Kerberos)进行适配,以减轻 256–512 MB RAM 的负载。
- 兼容性:已在 A1254–A1470 型号(第 1–5 代)上测试。
- 限制:不支持 SMB3 多通道;性能与 AFP 相当(千兆网络下 ~50–100 MB/s)。
- 安全性:Samba 支持 NTLMv2,但建议外部访问使用 VPN。
该项目为开源(MIT 许可),社区可以针对特定硬件修订版进行优化。
要点
- TimeCapsuleSMB 是 AFP 禁用后延长 Time Capsule 设备寿命的唯一开源方式。
- 迁移需要嵌入式开发和网络配置技能。
- Samba 确保跨平台兼容性:macOS、Windows、Linux。
- 仓库说明将设备变砖的风险降到最低。
- 对于没有升级的旧硬件所有者非常相关。
— Editorial Team
暂无评论。