Mac Mini 作服务器的初步设置
关闭自动睡眠 设置->锁定屏幕->不活跃时启动屏幕保护程序->永不 设置->锁定屏幕->不活跃时关闭显示器->永不 设置->锁定屏幕->屏幕保护程序启动或显示器关闭后需要密码->永不-关闭屏幕锁定-关闭并移除密码 设置自动登录 设置->用户与群组->自动以此身份登录 设置断电自动开机 设置->能源->断电后自动启动 设置->能源->显示器关闭时,防止自动进入睡眠 远程访问 VNC访问(适用于windows、macbook) 设置->通用->共享->远程管理 记得勾选vnc显示程序可以使用密码控制屏幕 Sidecar(适用于ipad) 下载BetterDisplay GitHub - waydabber/BetterDisplay: Unlock your displays on your Mac! Flexible HiDPI scaling,

上文介绍了Mac Mini 作服务器的初步设置,当一切准备就绪后,对我来说首先要部署一个roon服务来管理音乐。

Roon 是什么?

Roon 是一款专业的音乐管理和播放软件,能够整合你本地和流媒体平台(如 QobuzTIDALKKBOX)的音乐库,提供高质量的音频体验。Roon 支持高解析度音频格式,自动获取详细的艺术家、专辑信息,增强你的音乐欣赏体验,并能在多个设备间无缝播放。


Roon ARC 是什么?

Roon ARC 就像是把你的本地曲库和在线流媒体音乐库(如 TIDALQobuzKKBOX)整合进了“网易云音乐”。通过Roon ARC,你可以在外网环境下随时随地访问、管理和播放你的音乐库,享受和在家里一样的音乐体验。无论你是在外旅行还是在路上,都可以轻松访问和控制你所有的音乐内容。


为什么要使用 Roon 管理音乐?

  1. 高品质音质:Roon 支持无损音频格式,确保音质不受损失,配合 HQPlayer 可以进一步提升音频处理质量,提供极致的音频体验。
  2. 流媒体整合:支持与 TIDALQobuzKKBOX 等流媒体服务无缝整合,轻松访问线上音乐库,同时把你的本地音乐和流媒体内容整合到一个平台。
  3. 智能推荐:根据你的听歌习惯提供个性化音乐推荐,帮助你发现更多音乐。
  4. 丰富的元数据:自动获取详细的艺术家、专辑和曲目背景信息,让你不仅听音乐,还能了解音乐背后的故事。
  5. 多设备支持:可以在多个设备上同步播放,甚至在不同房间播放不同的音乐,方便全家共享。
  6. 远程访问:通过 Roon ARC,你可以在外网环境下随时访问和控制你的音乐库,随时随地享受你所有的音乐内容。

缺点

太tm贵。

为什么要用 Surge Ponte

Tailscale 是一种内网穿透工具,基于 VPN 技术,通过 VPNService 管理流量。而 Surge 增强模式也使用类似的 VPN 功能来处理网络流量。由于两者都控制设备的流量,会发生冲突,导致网络路由问题或流量无法正确转发。有一些特殊方法绕过限制,让 Tailscale MagicDNS 和 Surge 共存,但是非常麻烦。

目前,Surge Ponte 的方案仅适用于 Apple 系列设备,如果你需要跨平台支持,可能会受到限制。为了解决这个问题,Surge 推出了全新的 Vector 协议,基于 QUIC/UDP 技术,可以更高效地处理流量。Vector协议目前仅支持 Surge Mac 5.0 作为服务端,但未来会推出适用于其他操作系统的独立二进制服务端程序,进一步扩展支持范围。

安装 Roon

官网下载,注册账号,购买订阅,完成。

安装 Surge for Mac

官网下载,注册账号,购买订阅,完成。

配置文件

Surge/Conf at Master · Rabbit-Spec/Surge
Surge自用配置以及模块和脚本. Contribute to Rabbit-Spec/Surge development by creating an account on GitHub.

开发者推荐最小配置

Developer : https://raw.githubusercontent.com/Rabbit-Spec/Surge/Master/Conf/Spec/Surge-Developer.conf

设置 Surge Ponte

Surge Ponte 有 3 种穿透方式:

  1. 直接 NAT 穿透(设备本身处于公网)
  2. 使用代理进行 NAT 穿透
  3. 配置端口映射(有公网IP)

家里有公网IP

Roon 官方服务器会获取 Roon server 所在的真实 IP ,使用 Roon ARC 时,首先从官方服务器获取 服务端IP,然后直接连接到 Roon Core。

有v4

在surge配置文件中,加入

DOMAIN,api.roonlabs.net,DIRECT

将真实ip发送到roon服务器即可。

只有v6

如果你想用surge for mac作为旁路由非侵入式接管网络,那么surge目前还未提供v6的DHCP功能,所以是无法接管 IPv6 的。这种情况下就相当于没有公网v6了。

当然如果不走 Surge 网关的话是可以的,但是你的mac要如何访问 dropbox、qobuz、tidal的服务呢?

家里无公网IP

由于家里没有公网 IP,我们使用 Ponte 通过代理实现 NAT 穿透。在选择代理时,必须确保它支持 UDP 中继 功能。特别需要注意的是,作为中继代理,代理服务器不仅要支持 UDP,还必须支持 FULL CONE NAT,否则在连接检测时可能会失败。(Snell/shadowsocks/Trojan/SOCKS5/WireGuard)。

你可以参考

GOST v3 端口转发与加密隧道搭建教程
GitHub - KANIKIG/Multi-EasyGost: 致力于最简单好用的GOST小白脚本致力于最简单好用的GOST小白脚本. Contribute to KANIKIG/Multi-EasyGost development by creating an account on GitHub.GitHubKANIKIG 对于使用 GOSTv2 的小伙伴来说,搭建加密隧道的流程已经非常简单。然而,当节点数量增加后,逐一通过 SSH 登录并使用命令行管理隧道配置的效率就显得低下了。 幸运的是,GOSTv3 引入了 Web API 功能,使得我们可以通过 Web 界面对隧道进行可视化管理。这不仅直观,还能极大提升管理效率。 GOST API Manage 你可以直接使用官方提供的 Web UI 工具来快速配置和管理隧道。值得一提的是,Web UI 的配置数据会保存在浏览器的 IndexedDB 中,

配置一个udp FULL CONE NAT 的中转节点。

然后为当前设备选择一个名称,例如 MyMacMini。名称不区分大小写,只能包含字母、数字、下划线和连字符。

设置完成后,我们使用策略 DEVICE:PONTE-NAME 使用该设备作为跳板使用其访问其他网络。这里的PONTE-NAME就是之前设置的 MyMacMini

💡
你可以将内网网段设置为一个不常见的子网地址,如 192.168.150.0/24,已确保不会在其他网络下访问内网时产生地址冲突。

配置 Surge 客户端

在surge iOS上,新增一个策略组

[Proxy Group]
🎧 Roon = select, DEVICE:MACMINI, DIRECT

设置规则

[Rule]
IP-CIDR,192.168.150.0/24,🎧 Roon
DOMAIN-SUFFIX,roonlabs.net,🎧 Roon

然后,检查General 下的 skip-proxy 配置项,确保它避开你的内网网段。如果不小心将穿透端的内网网段包含在内,流量会绕过代理规则直接连接,导致无法通过 Ponte 实现穿透。比如,我设置内网网段为192.168.150.0/24的话,可以这样写:

[General]
skip-proxy = localhost, *.local, 10.0.0.0/8, 100.64.0.0/10, 127.0.0.1/32, 169.254.0.0/16, 172.16.0.0/12, 192.168.0.0/24, 192.168.1.0/24,192.168.122.1/32, 193.168.0.1/32

最后,确保你的 Mac Mini 端没有缺乏 LAN 的规则。

[Rule]
RULE-SET,LAN,DIRECT

然后访问Roon Arc,就能顺利连接家里的macmini上部署的roon啦~

享受音乐吧😎

包含的标签:

教程, Mac Mini, Roon, Surge

最后更新: November 16, 2024