iCalendar Sync

📅 安全双向同步 iCloud 日历

通过 CalDAV 协议双向同步本地与 iCloud 日历,支持事件增删改查及重复日程管理,需使用 Apple 专用密码与系统密钥链保障安全。

收藏
7.7k
安装
2.5k
版本
2.3.3
CLS 安全性认证2026-05-15
点击查看完整报告 >

使用说明

核心用法

iCloud Calendar Sync 是一款基于 CalDAV 协议的开源命令行工具,用于在本地系统与 Apple iCloud 日历服务之间建立双向同步通道。用户通过 python -m icalendar_sync 命令完成全生命周期管理:

  • 初始化配置setup 子命令引导用户配置 iCloud 账户(需使用 Apple 生成的 App-Specific Password),凭证优先写入系统密钥环(macOS Keychain / Windows Credential Manager / Linux Secret Service),无 GUI 环境时可回退至环境变量或受严格权限控制的 YAML 配置文件(0600)。
  • 日历浏览list 列出用户可见的全部日历列表;get 按时间范围拉取事件详情。
  • 事件操作:支持 createupdatedelete 三种写操作。update 提供三种模式——single(仅改指定实例)、all(全系列)、future(从此实例起后续全部),满足重复日程的灵活编辑需求。
  • 桥接模式:macOS 用户可指定 --provider macos-native,通过 AppleScript 调用本地 Calendar.app,绕过某些场景下 iCloud 对直接 CalDAV 后台连接的拒绝。

显著优点

1. 安全设计到位:强制使用 App-Specific Password(可独立撤销),主密码永不暴露;内置 SSL/TLS 校验、日志自动脱敏、请求速率限制(60 秒 10 次)。
2. 凭证管理灵活:原生对接 OS keyring,同时支持 Docker/K8s Secrets、环境变量、受控文件等多层降级方案,适配桌面到 CI/CD 全场景。

3. 重复事件支持完善:对 RRULE 实例的三种更新策略在开源 CalDAV 工具中较为罕见,方便企业级日程管理。

4. 调试与兼容--debug-http 与自定义 User-Agent 协助排查网络/认证问题;macOS 桥接模式解决特定运行时限制。

潜在缺点与局限性

  • Apple 生态绑定:仅支持 iCloud CalDAV,无法同步 Google、Outlook 等其他日历源,需组合其他工具实现多云聚合。
  • 无 GUI 与移动端:纯 CLI 形态,对非技术用户门槛较高;无守护进程或自动同步机制,需依赖 cron/systemd 自行编排。
  • 网络与地区限制:iCloud 服务在中国大陆等特殊网络环境可能遭遇连接不稳定,需额外代理配置。
  • 凭证配置复杂度:虽然安全,但首次配置步骤较多(生成专用密码、选择存储后端、处理 headless 场景),新手易出错。

适合人群

  • 开发者与运维工程师:需要将 iCloud 日历集成至自动化工作流、CI 流水线或内部系统的场景。
  • 隐私敏感用户:倾向本地 CLI 工具而非第三方 SaaS,希望凭证完全自控。
  • macOS/Linux 服务器管理员:通过桥接模式或容器化方案在后台同步企业共享日历。

常规风险

1. 凭证泄露:若错误使用主 Apple ID 密码或在配置文件中保留明文且权限设置不当,可导致账户被恶意接管。
2. 数据覆盖:双向同步逻辑若存在 bug 或时间戳冲突,可能造成事件重复、丢失或错误更新(建议首次使用先备份)。

3. 速率封禁:频繁调用可能触发 Apple 服务端限流,导致临时不可用。

4. 第三方代码风险:MIT 许可开源,但需自行审计代码或锁定版本,防范供应链攻击。

安全解读

核心用法

iCloud Calendar Sync Skill 是一份纯 Markdown 文档型技能,用于指导用户通过 Python 模块 icalendar_sync 实现本地系统与 iCloud 日历的双向同步。支持交互式与非交互式两种配置模式,涵盖日历列表查询、事件增删改查、重复事件单实例/全体/未来实例更新等完整 CRUD 操作。

显著优点

1. 安全设计完整:强制要求使用 Apple App-Specific Password(非主密码),支持 OS 原生密钥环(macOS Keychain、Windows Credential Manager、Linux Secret Service)存储凭证,避免明文泄露。
2. 部署灵活:提供环境变量、Docker Secrets、Kubernetes Secrets 等多种无头环境配置方案,适配 CI/CD 与容器化场景。

3. 合规透明:仅调用 Apple 官方 CalDAV API,无第三方数据收集,符合 GDPR 数据最小化原则。

4. 零代码风险:纯文档型 Skill(T-MD 分类),无可执行代码,静态分析得分 95。

潜在局限

  • 来源可信度 T3:个人开发者/社区项目,非官方背书,需自行验证 icalendar_sync Python 包来源。
  • 功能依赖外部模块:Skill 本身仅为使用说明,实际功能依赖外部 Python 包,存在供应链风险。
  • macOS 桥接模式局限--provider macos-native 需 AppleScript 权限,后台代理可能触发 GUI 弹窗。

适合人群

  • 需要在自动化工作流中管理 iCloud 日历的技术用户
  • 注重凭证安全、希望避免主密码泄露的 Apple 生态用户
  • 使用 Docker/Kubernetes 部署日历同步服务的运维人员

常规风险

  • 若配置不当(如使用明文文件存储且权限未设为 0600),凭证可能泄露
  • 外部 icalendar_sync 模块若被篡改,可能导致 iCloud 账户异常
  • 频繁调用可能触发 Apple 速率限制(文档建议 10 次/60 秒)

iCalendar Sync 内容

手动下载zip · 2.1 kB
SKILL.mdtext/markdown
请选择文件