8000 GitHub - hoobnn/fanfan: Mac 风扇控制与温度监控菜单栏工具,免费开源(MIT),支持 Apple Silicon 和 Intel,macOS 26+,Homebrew 安装 · Free open-source Mac fan control & temperature monitor for the macOS menu bar · GitHub
[go: up one dir, main page]

Skip to content
hoobnnPublic

About

Mac 风扇控制与温度监控菜单栏工具,免费开源(MIT),支持 Apple Silicon 和 Intel,macOS 26+,Homebrew 安装 · Free open-source Mac fan control & temperature monitor for the macOS menu bar

Topics

Resources

Security policy

Stars

8 stars

Watchers

1 watching

Forks

Repository files navigation

FanFan 应用图标

FanFan

开源免费的 Mac 风扇控制与温度监控菜单栏工具。

release downloads macOS Homebrew license

简体中文 · English

FanFan 是免费开源(MIT)的 Mac 风扇控制与温度监控工具,常驻 macOS 菜单栏,显示 CPU、GPU、SSD、电池温度和风扇转速。风扇支持固定转速、按温度曲线自动调节,也可以交还 macOS 控制。支持 Apple Silicon 和 Intel 机型,要求 macOS 26 及以上,可用 Homebrew 安装。

FanFan 菜单栏面板:Mac 温度、风扇转速、60 秒温度曲线、CPU/GPU/SSD/电池传感器与自动调速设置 FanFan 设置:侧边栏分页,策略列表与可拖动编辑的温度-转速曲线
菜单栏面板 设置

功能

  • 显示风扇转速,以及 CPU、GPU、SSD、电池温度(取决于机型有哪些传感器)。面板里有最近 60 秒的温度曲线,「传感器」页列出全部读数。
  • 三种风扇模式:固定转速、按温度自动调速、交由系统固件控制。双风扇机型可分别设置。
  • 自动调速按策略的温度-转速曲线工作。内置省电、均衡、性能三套策略,可以在「设置 › 策略」里拖动控制点编辑曲线(两端固定在 40°C 和 100°C,只调转速),也可以新建、重命名自己的策略;面板上可直接调整起转温度和最高转速。转速变化经过平滑处理,升速快、降速慢,避免风扇忽快忽慢。
  • 定时切换:在设定的时间点(每天、工作日或周末)切换风扇模式和策略,例如晚上换成更安静的策略。
  • 菜单栏可显示温度、功耗或风扇转速百分比,也可以只显示图标。
  • 温度超过设定值时发送通知,并可选择同时切换到自动调速。超过 85°C 时,高温保护允许风扇突破你设的最高转速,上限可在设置里调整。
  • 界面支持简体中文、繁體中文、English、日本語、한국어、Deutsch、Français、Español。默认跟随系统语言,也可以在「系统设置 › 通用 › 语言与地区 › 应用程序」里给 FanFan 单独指定。
  • 内置应用内更新:默认在后台检查新版本,发现后提示一键安装并重启,也可以在「设置 › 关于」里手动检查或关闭自动检查。
  • 风扇转速由独立的特权辅助进程写入。App 无响应超过 10 秒、退出或崩溃时,风扇都会交还 macOS 控制。

无风扇机型不显示风扇控制。可读取的传感器和转速范围因机型而异。

安装

Homebrew

brew tap hoobnn/tap
brew install --cask fanfan

手动安装

从 Releases 下载最新的 DMG,或使用安装脚本:

curl -fsSL https://raw.githubusercontent.com/hoobnn/fanfan/main/scripts/install.sh | bash

需要 macOS 26 及以上(Apple Silicon 或 Intel)。首次打开时点击「安装助手」,然后在「系统设置 › 通用 › 登录项与扩展」中允许 FanFan。无需输入管理员密码。

更新

fanfan 会自动检查更新(基于 Sparkle,更新包经 EdDSA 签名校验),也可以在「设置 › 关于」里点「检查」。安装新版本后辅助进程会自动切换到新版本,不需要重新允许。Homebrew 安装的版本也可以用 brew upgrade --cask fanfan 更新。

卸载

brew uninstall --cask fanfan 会同时删除 App 和辅助进程,加 --zap 可一并清除偏好设置。手动安装的版本,退出 fanfan 后从「应用程序」中删除即可;辅助进程位于 App 包内,会随之停止。如果「登录项与扩展」中仍有 fanfan 条目,请在那里手动移除。

常见问题

FanFan 免费吗? 免费,开源,采用 MIT 许可证。没有付费版,也没有内购。

调风扇转速安全吗? FanFan 设置的转速不会超过风扇上报的最高转速,超出范围的请求会被辅助进程拒绝;低于起转温度时可以让风扇停转。App 崩溃、卡死或退出时,风扇会自动交回 macOS 固件控制。

M 系列芯片的 Mac 能用吗?支持哪些 macOS? 支持。FanFan 是 Apple Silicon 与 Intel 通用版本,要求 macOS 26 及以上,更早的ç 8B0B ³»统无法安装。MacBook Air 等无风扇机型仅显示温度,不显示风扇控制。

为什么需要允许后台运行? 向 SMC 写入风扇转速需要 root 权限。为避免 App 本身以 root 运行,FanFan 注册了一个精简的 root 辅助进程,macOS 会要求在「登录项与扩展」中允许一次。仅读取温度不需要额外权限。

FanFan 会收集数据吗? 不会。App 代码里没有统计或上报,温度和风扇数据只在本机读取。唯一的联网行为是 Sparkle 检查更新,可以在「设置 › 关于」里关闭。

怎么卸载? brew uninstall --cask fanfan(加 --zap 清除偏好设置);手动安装的版本退出后从「应用程序」删除,再到「登录项与扩展」里移除残留条目。详见上文「卸载」。

风扇没反应或看不到风扇控制怎么办? 先确认机型有风扇(无风扇的 MacBook Air 不显示控制)。如果有,到「系统设置 › 通用 › 登录项与扩展」确认 FanFan 的辅助进程已被允许。可读取的传感器和转速范围因机型而异。问题仍在可以到 Issues 反馈,请附上机型和 macOS 版本。

与 Macs Fan Control、smcFanControl 有何区别? 核心功能相同:读取 SMC 传感器、设置风扇转速。FanFan 免费开源(MIT),要求 macOS 26 及以上,唯一的第三方依赖是负责应用内更新的 Sparkle。如果你的 Mac 还停留在 macOS 26 之前的系统,需要选择仍支持旧系统的其他工具。

工作原理

App 本身以普通用户身份运行,读温度直接走 IOKit。

写入风扇转速需要 root 权限,这部分由一个 C 语言编写的 LaunchDaemon(fanfan-smcd,通过 SMAppService 注册)负责。它持有 SMC 句柄,通过一个带版本号的小型 XPC 协议接收健康检查、租约续期、目标转速和「交回固件控制」这几类请求,而且只接受开发者签名的 FanFan 连接。App 退出或崩溃时,风扇立即交还固件控制;App 无响应时,10 秒租约到期后同样交还。

fanfan.app  ──XPC──▶  fanfan-smcd(root)  ──IOKit──▶  SMC

从源码构建

需要安装了 macOS 26 SDK 的 Xcode。

make -C tools/fanfan-smcd                                   # 构建辅助进程
cp tools/fanfan-smcd/fanfan-smcd fanfan/Resources/fanfan-smcd
xcodebuild -project fanfan.xcodeproj -scheme fanfan -configuration Debug build

Star 趋势

FanFan 的 Star 趋势图

致谢

FanFan 最早 fork 自 solofan(原名 ffan),感谢 solofan 团队。

许可证

MIT © 2026 hoobnn。可自由使用、修改和分发,需保留版权声明。

About

Mac 风扇控制与温度监控菜单栏工具,免费开源(MIT),支持 Apple Silicon 和 Intel,macOS 26+,Homebrew 安装 · Free open-source Mac fan control & temperature monitor for the macOS menu bar

Topics

Resources

Security policy

Stars

8 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

0