go-musicfox极客风网易云音乐命令行客户端

介绍

go-musicfox是用Go写的又一款网易云音乐命令行客户端,支持UnblockNeteaseMusic、各种音质级别、lastfm、MPRIS、MacOS交互响应(睡眠暂停、蓝牙耳机连接断开响应、菜单栏控制等).

1. 启动

启动界面

2. 主界面

主界面

3. 通知

通知

4. 登录

登录界面

5. 搜索

搜索界面

6. Last.fm 授权

lastfm

7. macOS NowPlaying

NowPlaying

8. UnblockNeteaseMusic

UNM

9. macOS 歌词显示

LyricsX

需要满足以下条件:

  1. go-musicfox >= v3.7.7
  2. 下载和安装 LyricsX 的 go-musicfox 的 fork 版本
  3. 在 LyricsX 设置中,打开使用系统正在播放的应用

安装

[macOS]

[1. 通过 Homebrew 安装]

1
$ brew install anhoder/go-musicfox/go-musicfox

如果你之前安装过 musicfox,需要使用下列命令重新链接:

1
$ brew unlink musicfox && brew link --overwrite go-musicfox

[2. 直接下载]

Release 下载 macOS 的可执行文件。

[Linux]

[1. 使用发行版软件包(推荐)]

[Arch Linux]
AUR 安装
1
2
$ paru -S go-musicfox # 下载源代码编译安装
$ paru -S go-musicfox-bin # 下载安装预编译好的二进制
archlinuxcn 安装

首先添加 archlinuxcn 仓库到系统

1
# pacman -S go-musicfox
Gentoo Linux
gentoo-zh Overlay 安装
1
2
3
$ eselect repository enable gentoo-zh
$ emerge --sync
$ emerge -a media-sound/go-musicfox
NixOS

void-packages-zh 安装。

[2. 通过 Homebrew 安装]

1
$ brew install anhoder/go-musicfox/go-musicfox

如果你之前安装过 musicfox,需要使用下列命令重新链接:

1
$ brew unlink musicfox && brew link --overwrite go-musicfox

[3. 直接下载]

Release 下载 Linux 的可执行文件。

[Windows]

[1. 通过 scoop 安装]

1
2
3
scoop bucket add go-musicfox https://github.com/go-musicfox/go-musicfox.git

scoop install go-musicfox

[2. 直接下载]

Release 下载 Windows 的可执行文件。

[手动编译]

需要 Go v1.13 及以上版本

1
2
3
4
5
6
7
8
$ git clone https://github.com/go-musicfox/go-musicfox

$ go mod download

# Linux 编译前需要安装 flac

$ make # 编译到 bin 目录下
$ make install # 安装到 $GOPATH/bin下

[使用]

1
$ musicfox

[注意事项]

  • 请务必使用等宽字体,或将配置项 doubleColumn 设为 false,否则双列显示排版可能会混乱
  • 如果在使用时出现莫名奇妙的光标移动、切歌或暂停等现象,请将配置项 enableMouseEvent 设置为 false
  • 本应用不对 macOS 原生终端和 Windows 的命令提示符(CMD)做兼容处理(#99

macOS 用户推荐使用 iTerm2Kitty

Linux 用户推荐使用 Kitty

Windows 用户推荐使用 Windows Terminal,使用体验更佳

[快捷键]

[应用内快捷键]

按键 作用 备注
h/H/← (左方向)
l/L/→ (右方向)
k/K/↑ (上方向)
j/J/↓ (下方向)
g 上移到顶部
G 下移到底部
q/Q 退出
Space (空格) 暂停/播放
[ 上一曲
] 下一曲
-/滚轮下 减小音量
=/滚轮上 加大音量
n/N/Enter (回车) 进入选中的菜单
b/B/Escape (退出) 返回上级菜单
w/W 退出并退出登录
p 切换播放方式
P 心动模式(仅在歌单中时有效)
r/R 重新渲染 UI 如果 UI 界面因为某种原因出现错乱,可以使用这个重新渲染
c/C 当前播放列表
v/V 快进 5 s / 10 s
x/X 快退 1 s / 5 s
, 喜欢当前播放歌曲
< 喜欢当前选中歌曲
. 当前播放歌曲移除出喜欢
> 当前选中歌曲移除出喜欢
``` 当前播放歌曲加入歌单
~ 当前播放歌曲移出歌单
Tab 当前选中歌曲加入歌单
Shift+Tab 当前选中歌曲移出歌单
> 当前选中歌曲移除出喜欢
> 当前选中歌曲移除出喜欢
t 标记当前播放歌曲为不喜欢
T 标记当前选中歌曲为不喜欢
d 下载当前播放歌曲
D 下载当前选中歌曲
/ 搜索当前列表
? 帮助信息
a 播放中歌曲的所属专辑
A 选中歌曲的所属专辑
s 播放中歌曲的所属歌手
S 选中歌曲的所属歌手
o 网页打开播放中歌曲
O 网页打开选中歌曲/专辑…
e 添加为下一曲播放
E 添加到播放列表末尾
\ 从播放列表删除选中歌曲 仅在当前播放列表界面有效
;/: 收藏选中歌单
'/" 取消收藏选中歌单
u/U 清除音乐缓存

[全局快捷键]

默认不设置任何全局快捷键,如果需要请在配置文件中的global_hotkey下进行配置,例如:

1
2
3
[global_hotkey]
# 格式:键=功能 (https://github.com/go-musicfox/go-musicfox/blob/master/internal/ui/event_handler.go#L15)
ctrl+shift+space=toggle

因为Linux下开启全局快捷键需要安装比较多的依赖,可能你并不需要这个功能,所以Releases中的Linux二进制文件是不支持全局快捷键的

如果需要开启,请安装依赖后手动进行编译:

1
BUILD_TAGS=enable_global_hotkey make build

[配置文件]

配置文件路径为用户配置目录下的 go-musicfox.ini 文件,详细可参见配置示例

用户配置目录路径:

macOS:$HOME/Library/Application Support/go-musicfox

Linux:$XDG_CONFIG_HOME/go-musicfox$HOME/.config/go-musicfox

Windows:%AppData%\go-musicfox

你可以通过设置 MUSICFOX_ROOT 环境变量来自定义用户配置的存储位置

旧版本的 go-musicfox 的默认用户配置目录为 $HOME/.go-musicfox(*nix)或 %USERPROFILE%\.go-musicfox(Windows),升级到新版本时将自动迁移到上述的新路径