go-musicfox是用Go写的又一款网易云音乐命令行客户端,支持UnblockNeteaseMusic、各种音质级别、lastfm、MPRIS、MacOS交互响应(睡眠暂停、蓝牙耳机连接断开响应、菜单栏控制等)...
go-musicfox是用Go写的又一款网易云音乐命令行客户端,支持UnblockNeteaseMusic、各种音质级别、lastfm、MPRIS、MacOS交互响应(睡眠暂停、蓝牙耳机连接断开响应、菜单栏控制等)...
go-musicfox 是用 Go 写的又一款网易云音乐命令行客户端,支持各种音质级别、UnblockNeteaseMusic、Last.fm、MPRIS 和 macOS 交互响应(睡眠暂停、蓝牙耳机连接断开响应和菜单栏控制等)等功能特性,以及 DLNA 投送。
(The icon is based on kitty-icon)
$ brew install anhoder/go-musicfox/go-musicfox // 指定 --head 使用master代码编译安装如果你之前安装过 musicfox,需要使用下列命令重新链接:
$ brew unlink musicfox && brew link --overwrite go-musicfox在 Release 下载 macOS 的可执行文件。
$ paru -S go-musicfox # 下载源代码编译安装
$ paru -S go-musicfox-bin # 下载安装预编译好的二进制archlinuxcn 安装# pacman -S go-musicfox$ sudo dnf copr enable poesty/go-musicfox
$ sudo dnf install go-musicfox$ sudo aptss install go-musicfox //二进制包部署,同步较慢
$ sudo aptss install go-musicfox-git //从源码编译,请保持网络通畅$ eselect repository enable gentoo-zh
$ emerge --sync
$ emerge -a media-sound/go-musicfox…临时运行:
$ nix run github:go-musicfox/go-musicfox# configuration.nix
environment.systemPackages = [
pkgs.go-musicfox
];
# home manager
home.packages = [
pkgs.go-musicfox
];$ nix-env -iA nixos.go-musicfox临时安装:
$ nix-shell -p go-musicfox从 void-packages-zh 安装。
$ apt install go-musicfox如果遇到卡顿,请切换到mpd播放引擎
$ brew install anhoder/go-musicfox/go-musicfox // 指定 --head 使用master代码编译安装如果你之前安装过 musicfox,需要使用下列命令重新链接:
$ brew unlink musicfox && brew link --overwrite go-musicfox在 Release 下载 Linux 的可执行文件。
scoop bucket add go-musicfox https://github.com/go-musicfox/go-musicfox.git
scoop install go-musicfox在 Release 下载 Windows 的可执行文件。
注:需要 Go v1.22 及以上版本
前往 下载 Go 页面选择适合你的 Go 安装包体。
Linux 需要 libFLAC-dev 开发套件
请根据你的发行版,选择适合你的安装命令:
$ sudo apt install software-properties-common build-essential
$ sudo add-apt-repository ppa:longsleep/golang-backports //ubuntu默认go语言版本为1.18,需要更新到1.21
$ sudo apt install libflac-dev libasound2-dev golang-go$ sudo pacman -S flac$ sudo dnf install flac-devel其他发行版请根据相应文档寻找 libflac-dev 开发套件安装说明。
$ git clone https://github.com/go-musicfox/go-musicfox
$ go mod download
$ make # 编译到 bin 目录下
$ make install # 安装到 $GOPATH/bin下$ musicfox请务必使用等宽字体,或将配置项 doubleColumn 设为 false,否则双列显示排版可能会混乱
如果在使用时出现莫名奇妙的光标移动、切歌或暂停等现象,请将配置项 enableMouseEvent 设置为 false
本应用不对 macOS 原生终端和 Windows 的命令提示符(CMD)做兼容处理(#99)
Linux 用户推荐使用 Kitty
Windows 用户推荐使用 Windows Terminal,使用体验更佳
如果在执行文件时遇到以下错误,说明你的操作系统内不包含 libFLAC.so.8:
./musicfox: error while loading shared libraries: libFLAC.so.8: cannot open shared object file: No such file or directory例如 Ubuntu 23.10 及它的衍生版系列,libFLAC.so.12 已经将 libFLAC.so.8 替换。
遇到这种问题,你可以:
libFLAC.so,将其软链为libFLAC.so.8: ln -s /xxx/libFLAC.so /xxx/libFLAC.so.8 (推荐)libflac8 (不推荐)这里之所以使用 FLAC8,主要是为了兼容大部分系统,因为FLAC是向前兼容的(也就是说
≥ 8的FLAC都可以使用)
wsl 环境下使用 beep 须安装 libasound2-plugins,见 issues
XDG 支持:完整的 XDG 支持,部分文件路径变更,见 XDG 支持说明
配置文件格式:使用 TOML 格式
DLNA 引擎允许你将音乐投送到兼容 DLNA 的设备(如智能电视、音响、游戏机等)。
获取设备 URL
gupnp-tools:brew install gupnp-tools(macOS)或 sudo apt install gupnp-tools(Linux)gupnp-universal-cp,扫描并复制设备的描述 URL(形如 http://192.168.1.100:49152/description.xml)配置
在 config.toml 中设置:
[player]
engine = "dlna"
[player.dlna]
deviceUrl = "http://你的设备IP:端口/description.xml"
localIP = "本机局域网IP" # 例如 192.168.1.50播放 启动应用后,选择歌曲即可自动投送到 DLNA 设备。
完整的主题配置系统,支持运行时切换、自定义配色和多种内置主题。
配置文件设置
[theme]
activeTheme = "Dracula" # 启动时加载的主题运行时切换
switchTheme = "t"自定义主题
themes/ 子目录.toml 文件(例如:~/Library/Application Support/go-musicfox/themes/mytheme.toml~/.config/go-musicfox/themes/mytheme.toml%AppData%\go-musicfox\themes\mytheme.toml)name 字段和 [dark] 或 [light] 配置表终端内实时显示音频频谱(仅 macOS osx 播放引擎支持)。
终端 TUI 中的实时音频频谱可视化(仅 macOS osx 播放引擎支持)。
[main.visualizer]
enable = true # 启用频谱显示
maxHeight = 10 # 最大高度(行数),0 为自动填充
fullCharHalfBlock = "▌" # 半填充字符
fullCharFullBlock = "█" # 全填充字符
emptyCharBlock = " " # 空白字符频谱会显示在歌词和歌曲信息之间,低频在底部,高频在顶部,使用前景/背景双色渐变提供更高精度的幅度表现。
[main.lyric.desktopLyrics]
enable = true # 启用桌面歌词
showSpectrum = true # 显示频谱
spectrumStyle = "capsule" # 频谱样式:bar/mirror/capsule/flame/circle/wave/ring/pulse/helix/dna/dualwave
# 外观定制
fontName = "PingFang SC"
fontSize = 40.0
textColor = "#FFFFFF"
strokeColor = "#000000"
shadowColor = "#000000"
backgroundColor = "#00000080" # 支持透明度
cornerRadius = 16.0详细配置选项参见 changelog。
支持 8 种启动动画类型,可配置启动视觉效果:
sequential - 经典序列动画(默认)wave - 波浪效果pulse - 脉冲效果typewriter - 打字机效果matrix - 黑客帝国字符雨glitch - 故障艺术neon - 霓虹灯效果none - 无动画[startup]
style = "matrix" # 选择启动动画完整的上下文菜单系统,右键点击不同元素可触发相应操作:
可在配置中设置 enableMouseEvent = true 以启用完整鼠标支持。
upgrade-config 子命令用于同步新版本的配置项:
musicfox upgrade-config该命令会:
建议在升级到新版本后运行一次。
这些是程序核心框架提供的基础操作,其快捷键通常无法通过配置文件修改。
| 配置标识符 | 操作说明 | 默认按键 |
|---|---|---|
rerender |
重新渲染UI | r, R |
moveLeft |
左 | h, H, Left |
moveRight |
右 | l, L, Right |
moveUp |
上 | k, K, Up |
moveDown |
下 | j, J, Down |
moveToTop |
上移到顶部 | g |
moveToBottom |
下移到底部 | G |
enter |
进入 | n, N, Enter |
goBack |
返回上一级 | b, B, Esc |
search |
搜索当前列表 | /, /, 、 |
quit |
退出 | q, Q |
你可以在配置文件的 [keybindings] 部分修改这些操作的快捷键。
| 配置标识符 | 操作说明 | 默认按键 |
|---|---|---|
help |
帮助信息 | ?, ? |
pageUp |
上一页 | Ctrl+u, PgUp |
pageDown |
下一页 | Ctrl+d, PgDown |
playortoggle |
播放/暂停 | Space, , |
toggle |
切换播放状态 | (无) |
previous |
上一首 | [, 【 |
next |
下一首 | ], 】 |
backwardOneSec |
快退1秒 | x |
backwardFiveSec |
快退5秒 | X |
forwardFiveSec |
快进5秒 | v |
forwardTenSec |
快进10秒 | V |
downVolume |
减小音量 | -, −, ー |
| ` |
No open issues yet, or sync has not completed.