Cloudlog 介绍与选型指南
介绍业余无线电 QSO 日志应用 Cloudlog 的定位、LAMP 架构、功能特性与适用场景,并与 Wavelog、云端托管日志、桌面日志软件做选型对比,数据溯源标注查询日期 2026-10-31。
Cloudlog 介绍与选型指南
目标:说清楚 Cloudlog 是什么、能做什么、架构与功能边界如何,并与同类业余无线电日志软件做横向对比,帮助业余无线电爱好者与电台管理者判断「要不要用、适不适合自己」。本篇为纯联网溯源的认知篇,系列部署与配置细节由同专栏后续各篇实测展开。
一、环境信息
本文是一篇纯联网溯源的认知篇,先交代证据基础,便于读者复核时效性:
- 查询日期:2026-10-31(下述所有版本号、星数、发布时间均以该日查询结果为准)
- 信息来源:
- GitHub 仓库:magicbug/Cloudlog(README、LICENSE、Releases、仓库元数据)
- GitHub Releases 页:magicbug/Cloudlog/releases(版本清单与发布说明)
- 官方 Wiki:github.com/magicbug/Cloudlog/wiki(Installation、Cloudlog.php Configuration File、Recommended Cron Jobs、Backup、Updating、Debug 各页)
- Wavelog 官方站点:wavelog.org(fork 关系与项目定位说明)
- shields.io 徽章服务(GitHub 星数,取自仓库页徽章接口返回值)
- 核验到的最新稳定版:2.8.21(Releases 页最新条目,发布于 2026-10-21;撰写本系列文档时该版本即最新稳定版,与本系列部署实测所用版本一致)
本系列文档的部署实测环境(供交叉复核,详细过程见安装篇):
- 操作系统:Ubuntu 22.04(x86_64)
- Web 服务:Apache 2.4.52
- PHP:8.5.12(CLI 与 Apache 模块同版本)
- 数据库:MariaDB 10.6.23
- Cloudlog:2.8.21(git tag 检出)
- 安装路径:
/var/www/cloudlog
二、软件概述
Cloudlog 是一个开源的、基于 Web 的业余无线电(Amateur Radio)电台日志(QSO Logbook)应用,由 PHP 与 MySQL 构建,托管于 GitHub 的 magicbug/Cloudlog 仓库,采用 MIT 许可证。项目创建于 2011 年 4 月,维护方为 magicbug(Peter Goodhall),仓库描述自述为「a web-based amateur radio logging application built with PHP and MySQL. It supports a wide range of station logging activities, from HF to microwave, and integrates with companion tools for CAT control and automation」。
它解决的核心痛点是:火腿(Hobbyist,业余无线电操作者)在通联(QSO)之后,需要把每一次通联记录成结构化日志(时间、频率、模式、对方呼号、信号报告、网格坐标等),再据此申请各类奖项证书(DXCC、WAS、POTA、SOTA 等)、与 Logbook of the World(LoTW)、eQSL、QRZ.com、Club Log 等第三方对账系统同步,并统计自己的 DX 成就。传统桌面日志软件绑死单台电脑,Cloudlog 把日志搬上 Web:在任何有浏览器的设备上记录,多台站、多操作员共享同一个日志库,同步与对账由服务端的定时任务自动完成。
截至 2026-10-31 查询,仓库主要指标如下:
| 指标 | 数值 | 来源 |
|---|---|---|
| GitHub Stars | 577 | 仓库页徽章/元数据(2026-10-31 查询) |
| GitHub Forks | 212 | 仓库元数据(2026-10-31 查询) |
| 开放 Issues | 5(Issues 与 Discussions 分流治理) | 仓库元数据(2026-10-31 查询) |
| 许可证 | MIT | LICENSE(2026-10-31 查询) |
| 主语言 | PHP | 仓库语言统计(2026-10-31 查询) |
| 创建时间 | 2011-04-25 | 仓库元数据(2026-10-31 查询) |
| 最近推送 | 2026-10-29 | 仓库元数据(2026-10-31 查询) |
💡 说明:仓库维护活跃(最近推送距查询日仅 2 天),Issues 数长期保持低位并不意味着问题少——Cloudlog 把用户支持主要放在 GitHub Discussions 论坛,缺陷类问题才进 Issues。
三、核心架构
Cloudlog 是典型的 LAMP 三层 Web 应用,架构可以从「代码框架 / 数据层 / 参考数据层 / 外部集成层」四个切面理解:
1. 代码框架:基于 CodeIgniter 3 框架(本系列实测环境 Debug 页显示框架版本为 3.2.0-dev,数据库迁移版本 286)。控制器按业务域划分(Logbook、Lotw、Eqsl、Clublog、Qrz、Hrdlog、Update、Backup、Options、Maintenance 等),视图层提供桌面与移动自适应界面,支持明暗主题。
2. 数据层:MySQL/MariaDB 存储日志主表与参考数据表。日志主表沿用 HRD Logbook 的表结构约定(本系列实测的配置中表名参数为 TABLE_HRD_CONTACTS_V01,字符集 utf8mb4);DXCC 相关数据拆为三张参考表(实体表、例外表、前缀表),本系列实测导入完成后分别为 402、31730、4123 行。
3. 参考数据层:updates/ 目录存放从外部拉取的参考数据文件,这是 Cloudlog 架构中最有特色的一层——呼号国家判定不依赖在线 API,而是把 Club Log 提供的 DXCC 国家文件(cty.xml 压缩包,本系列实测下载后约 10 MB)与 ARRL 的 LoTW 活跃用户清单(CSV,本系列实测 237085 行)落到本地文件/数据库,录入界面据此离线判定对方呼号的实体归属、CQ 分区、ITU 分区,以及对方是否为 LoTW 活跃用户。Club Log Super Check Partial 现赛用呼号库(clublog_scp.txt)与 master.scp 亦同置于此目录。
4. 外部集成层:Cloudlog 与外部服务的集成统一走「站点自身的 HTTP 端点 + 系统定时任务」模式——每个集成(LoTW 上传下载、eQSL 同步、Club Log 上传、QRZ Logbook、HRDLog)对应一个 URL 端点,由 crontab 定期 curl 触发;呼号实时查询则对接 QRZ.com 或 HamQTH 的 Callbook API(账号在用户层配置)。这个设计让集成的运维责任收敛到一页 crontab,而非常驻进程。
💡 技术拓展:Web 日志应用的「呼号 → 国家实体」判定有在线查询与离线文件两种思路。在线思路(逐呼号调 API)实时性好但受配额与网络制约;离线思路(定期拉取 Club Log 的 cty.xml 全量文件入库)查询零延迟、无配额,代价是需要一次数据导入与每周维护。Cloudlog 采用离线文件思路,LoTW 活跃用户清单与 SCP 呼号库同理,本系列实测即按此模式完成 DXCC 三表导入(状态文件最终显示
DONE:Dxcc Entities 402 / Dxcc Exceptions 31730 / Dxcc Prefixes 4123)。
四、功能特性
以下功能清单来自官方 README 与 Wiki 描述,并已在本系列部署实例的管理菜单中逐项核对(2026-10-31):
- QSO 日志记录:常规日志与竞赛日志双模式、Simple Fast Log Entry 快速录入;频段/模式表可后台维护;支持从 WSJT-X 等 CAT 工具经集成接口自动落日志。
- 呼号查询与信息补全:对接 QRZ.com 或 HamQTH Callbook 自动补全姓名、地址、网格坐标;基于本地 DXCC 数据判定实体、大洲、CQ/ITU 分区;距离方位按本台网格坐标计算。
- 第三方日志同步:Logbook of the World(LoTW,证书签名上传与对账下载)、eQSL(收发与卡片图)、Club Log、QRZ.com Logbook、HRDLog、QO-100 Dx Club,全部支持定时任务自动同步。
- 奖项进度:内置 DXCC、CQ 分区奖、IOTA、WAS、VUCC、POTA、SOTA、WWFF、DOK、US Counties、Worked All Britain 等 20 余种奖项的进度统计与缺口清单。
- 分析与可视化:统计总览、月度报告、网格地图(已通联/已激活网格)、距离与时间线分析、自定义地图、传播建议、DX Cluster 窗口。
- 导入导出:ADIF 全量导入导出(QSO 迁移的通用格式)、Cabrillo 竞赛日志导出、KML/DX Atlas 网格导出、SOTA CSV 导出、QSL 标签打印。
- 多用户与多台站:用户账号体系(操作员/管理员两级)、台站位置(Station Locations)与日志本(Station Logbooks)分离建模,俱乐部多操作员可共享部署。
- API 与扩展:REST 风格 API Key 体系供外部程序读写日志(备份自动化亦复用该机制);插件管理器支持第三方插件接入。
- 运维友好:Debug 信息页一键输出 PHP 版本、模块、目录权限与数据库信息(可复制为 Markdown 粘贴到求助帖);Maintenance 页集中提供参考数据手动更新入口。
五、快速开始
Cloudlog 的最小部署路径是标准 LAMP 三步——装好 Web/PHP/数据库栈,拉取代码,跑一次安装向导。以下命令在 Ubuntu 22.04 实测环境验证过(完整过程、向导逐项填写与首登设置见 《Ubuntu 22.04 安装 Cloudlog 指南》):
# 1. 安装 LAMP 栈(PHP 走 ondrej/php PPA 取 8.5 系列包)
sudo apt install -y software-properties-common && sudo add-apt-repository -y ppa:ondrej/php
sudo apt update
sudo apt install -y apache2 php8.5 php8.5-cli php8.5-mysql php8.5-curl php8.5-mbstring php8.5-xml php8.5-zip php8.5-gd mariadb-server
# 2. 拉取 Cloudlog 代码(master 分支,检出 2.8.21 标签)
sudo git clone https://github.com/magicbug/Cloudlog.git /var/www/cloudlog
cd /var/www/cloudlog && sudo git checkout -q 2.8.21
# 3. 浏览器打开 http://<服务器地址>/install,按向导填写数据库与台站信息完成初始化
向导完成后用管理员账号登录(本系列实例使用演示账号 admin,密码 q1w2e3r4,站点呼号 M0ABC),即可看到 Dashboard。首次登录后的三件要务:创建台站位置与日志本、在 Admin → Update Country Files 完成 DXCC 国家文件加载、在 Admin → Debug Information 核对 PHP 版本与目录权限。
⚠️ 注意:官方 Wiki 对 PHP 版本的要求随安全通告演进,2026-10 查询时已要求 PHP 8.5.12 或更高(该版本修复了 PHP2Shell 相关漏洞 CVE-2026-109618 与 CVE-2026-109619),旧版 8.5 小版本不建议暴露公网。另外微波频段通联的频率值超出 32 位整数范围,官方 Wiki 明确要求 64 位操作系统。
六、适用场景与限制
适用场景:
- 个人多设备记录:在电台室、客厅、移动设备间共享同一份日志,浏览器即入口,无需同步文件。
- 俱乐部/特殊事件台:多操作员共用一个部署,按台站位置与操作员归属自动分账,QSL 与奖项统计集中管理。
- 奖项追逐者(DXer):DXCC/POTA/SOTA/WWFF 等奖项的缺口清单与进度图表开箱即用,参考数据自动维护。
- 数字模式操作者:与 WSJT-X 生态联动,FT8/FT4 等 QSO 经集成通道自动落库,无需手工誊录。
限制与注意:
- 部署门槛高于一键脚本:需要自行维护 LAMP 栈(或 nginx + PHP-FPM),官方不提供开箱即用的一键安装器;希望「有人替我运维」的用户,官方 Wiki 指向了 magicbug 提供的付费托管服务。
- 参考数据依赖出网:国家文件、LoTW 用户清单、SCP 文件均需服务器能访问 Club Log / ARRL 源;完全离线部署时这些自动化判定与同步功能不可用。
- 无内置中文界面:多语言机制存在(本系列实测实例开启了多用户语言支持),但界面以英文为主,中文用户需适应英文术语。
- 单库定位:Cloudlog 面向「一个部署服务多个台站/操作员」的共享模型,不追求分布式多活;数据库备份要自建(官方 Backup 功能与定时任务见运维篇)。
七、同类选型对比
业余无线电日志软件的选择,本质是在「自托管 Web 应用、云端托管日志、桌面单机软件」三种形态间取舍。下表按 2026-10-31 查询的公开资料对比主要选项:
| 方案 | 形态 | 技术栈/许可 | 关键差异 | 适合谁 |
|---|---|---|---|---|
| Cloudlog 2.8.21 | 自托管 Web | PHP + MySQL/MariaDB,MIT | 参考数据离线化(cty.xml/LoTW CSV/SCP 本地化),奖项覆盖广,集成靠 cron 端点;部署需自建 LAMP | 想完全掌控数据、有服务器运维能力的个人与俱乐部 |
| Wavelog | 自托管 Web | PHP + MySQL,MIT(Cloudlog fork) | 2023 年底由 Cloudlog 核心开发者分叉,2024-02-01 首发;主打俱乐部/多操作员体验、竞赛日志模块、WLGate 桌面网关与 DX 瀑布图等新特性 | 俱乐部与竞赛团队;喜欢更激进新功能的用户 |
| QRZ.com Logbook / Club Log | 云端托管 | 闭源 SaaS | 零部署零运维,与各自生态深度绑定;QRZ Logbook 部分能力需订阅,数据托管在第三方 | 不想运维服务器、以对账为主要诉求的用户 |
| Ham Radio Deluxe 等桌面日志 | 桌面单机 | Windows 闭源为主 | 与电台 CAT 控制耦合紧密、离线可用;单机数据孤岛,移动端与多人协作弱 | 单机操作、强依赖电台控制面板的操作者 |
选型解读:Cloudlog 与 Wavelog 同源同栈,迁移成本低,核心取舍在社区路线——Cloudlog 自 2011 年沉淀、生态稳定,Wavelog 分叉后迭代更快且对俱乐部/竞赛场景有专门投入;两者都要求自建 LAMP,运维成本相当。若以「最少运维」为第一优先级,云端托管(QRZ/Club Log)更省事,但代价是数据自主权与订阅费;桌面软件则适合以电台控制为中心的单机操作者,作为 Web 日志的上游数据源而非替代品。本系列选择 Cloudlog 落地部署,理由是其参考数据离线化设计便于内网运行、cron 端点集成模式运维责任清晰,且 MIT 许可对自托管与二次改造无障碍。
八、参考链接
- GitHub 仓库:https://github.com/magicbug/Cloudlog
- Releases 页(版本清单):https://github.com/magicbug/Cloudlog/releases
- 官方 Wiki(Installation / Recommended Cron Jobs / Backup / Updating / Debug):https://github.com/magicbug/Cloudlog/wiki
- Wavelog 官方站点(fork 关系说明):https://www.wavelog.org/
- 官方安装请求支持论坛:https://github.com/magicbug/Cloudlog/discussions
- 本系列部署篇:《Ubuntu 22.04 安装 Cloudlog 指南》
- 本系列配置篇:《Cloudlog 2.8.21 配置参数详解》
- 本系列运维篇:《Cloudlog 2.8.21 常用命令与运维排障详解》
- 同平台 LAMP 形态部署参考:《Ubuntu 22.04 安装 MyBB 指南》