核心用法
sog(Standards Ops Gadget) 是一款面向开放互联网标准的全能型命令行工具,用 Go 语言编写。它将传统上分散在邮件客户端、日历应用、网盘和通讯录中的功能,统一为简洁的 CLI 界面,覆盖六大核心模块:
- Mail(IMAP/SMTP):收发邮件、搜索(支持 IMAP SEARCH 语法)、回复、转发、标记、移动、删除,支持草稿箱管理。
- Calendar(CalDAV):列出事件、创建/更新/删除日程,支持按日期范围查询和
today/week快捷视图。 - Contacts(CardDAV):联系人增删改查,支持多地址簿。
- Tasks(CalDAV VTODO):任务列表管理,含优先级、截止日期、完成状态切换。
- Files(WebDAV):类 Unix 的文件操作(ls、cat、upload、download、mkdir 等)。
- Meeting Invites(iTIP/iMIP):发送/回复会议邀请,解析
.ics文件。
全局设计强调脚本友好:所有输出支持 --json(JSON Lines)和 --plain(TSV),配合 --no-input 实现 CI/CD 自动化。认证采用系统原生密钥库(macOS Keychain、Windows Credential Manager、Linux Secret Service),支持多账户和分协议密码。
显著优点
1. 协议开放性:完全基于 RFC 标准(IMAP4、SMTP、CalDAV、CardDAV、WebDAV),摆脱 Google/Microsoft 私有 API 锁定,数据主权回归用户。
2. 本地优先:凭证本地加密存储,无云端令牌或 OAuth 追踪风险。
3. 运维自动化:TSV/JSON 输出、退出码设计、IMAP IDLE 实时监听,适合服务器端邮件处理、定时任务、备份脚本。
4. 跨平台:单二进制 Go 程序,无依赖。
潜在缺点与局限性
- 成熟度:目前仅 Fastmail 经过完整验证,其他服务商兼容性待测;CalDAV/CardDAV 服务器实现差异大,可能遇到属性映射问题。
- 无图形界面:纯 CLI 工具,对非技术用户门槛较高。
- 功能边界:不支持 Gmail/Outlook 特有的标签系统、高级搜索语法;WebDAV 操作无断点续传或版本控制。
- 生态孤岛:与移动设备日历/通讯录同步需依赖 DAVx⁵ 等第三方桥接,无法直接推送通知到手机(IMAP IDLE 需常驻进程)。
适合人群
- 隐私敏感的技术用户,使用 Fastmail、Posteo、Mailbox.org 等标准合规邮箱。
- 运维工程师需要自动化邮件处理、日历事件提取、联系人同步。
- 追求本地工作流、希望减少对 Google/Microsoft 依赖的开发者。
常规风险
- 凭证管理:虽然使用系统密钥库,但
sog auth add --password在 shell 历史或进程列表中可能暴露明文(建议交互式输入或环境变量)。 - IMAP/SMTP 明文风险:工具强制 TLS(993/587),但若用户手动指定非 TLS 端口或自签名证书,存在中间人攻击可能。
- 数据误操作:
--force和--no-input在脚本中可能引发批量删除,需配合--dry-run逻辑(当前未原生支持)。 - 供应商锁定转移风险:从 Google/Microsoft 迁移时,若原服务关闭 IMAP 访问(如 Google 2024 年对 Workspace 的限制),可能导致工具失效。