Open source / repository archive

代码留下来的, 不只是代码。

这里整理我公开的仓库:从 README 的第一句话,到语言比例与项目骨架,让每个项目在打开代码之前先被理解。

7 个仓库 13 种语言 7 颗 stars 同步于 2026-08-12 22:34
GitHub 主页
01 PUBLIC / GITHUB

Swift / 2026年7月

Apple-OS-Version-Manager

A Liquid Glass macOS timeline for Apple operating system releases

★ 1 ⑂ 0 2026年7月
LANGUAGE MIX 3 languages
  • Swift91.5%
  • Python7.1%
  • Shell1.4%
FILE TREE / TOP LEVEL 7 entries
├── ▾ .codex/
├── ▾ Apple Operation System Manage/
├── ▾ docs/
├── ▾ icon/
├── ▾ scripts/
├── .gitignore
└── README.md
README README.md

Apple OS Version Manager

面向 macOS 27 的苹果操作系统版本路线图工具。

聚合版本发布日期、版本号、Build、IPSW 下载、包大小、Beta/RC/正式版通道与后台安全改进(BSI),并按大版本系列展示为可缩放、可跳转的横向时间轴。

iOS 26 系列路线图:开发者测试版 / 正式版 / 后台安全补丁

截图

节点详情(发布信息、签名状态、OTA / IPSW 入口)

选中 26.5.2 节点详情面板

功能

  • 覆盖 iOS、iPadOS、macOS、watchOS、tvOS、visionOS、AirPods 与 audioOS
  • 开发者测试版、正式版及后台安全补丁分泳道展示
  • 左侧版本目录搜索与节点定位,画布支持拖动、滚轮缩放和连续节点切换
  • 节点详情展示发布日期、签名状态、设备兼容性与 IPSW/OTA 下载入口
  • 启动时自动增量同步,并利用 ETag 与 Last-Modified 减少重复下载
  • 原生 SwiftUI Liquid Glass 界面,支持浅色与深色外观
文档 内容
docs/PLAN.md 产品计划与分期(v0.5)
docs/ROADMAP-TIMELINE.md 系列泳道路线图定义
docs/P3-REPORT.md P3 报告
docs/api-contract.md 字段映射
docs/P0-REPORT.md · P1 · P2 前序报告

数据源(摘要)

角色 作用 状态
主库 AppleDB API 全历史、Beta/RC/BSI、IPSW URL
辅源 ipsw.me v4 正式版秒级时间、签名抽样
官方校验 GDMF gdmf.apple.com/v2/pmv 当前可用 + BSI

侧重:信息展示(时间轴 / 元数据)。不做:镜像/托管 IPSW;仅深链 Apple CDN。

系统要求

  • macOS 27 或更高版本
  • Apple Silicon Mac
  • 从源码构建需要 Xcode 27 或更高版本

构建与运行

  1. 用 Xcode 打开 Apple Operation System Manage/Apple Operation System Manage.xcodeproj
  2. 选择 Apple Operation System Manage scheme
  3. 在 macOS 目标上运行

也可以使用项目脚本:

./scripts/build_and_run.sh --verify   # 构建并启动验证
./scripts/build_and_run.sh build      # 仅构建

测试与探活

./scripts/run_tests.sh                # 编译生产源码并运行逻辑断言
python3 scripts/p0/probe_sources.py   # 数据源探活
02 PUBLIC / GITHUB

Swift / 2026年7月

cloudward-ui-open-source

UI-only SwiftUI design snapshot for Cloudward

★ 1 ⑂ 0 MIT 2026年7月
LANGUAGE MIX 1 languages
  • Swift100.0%
FILE TREE / TOP LEVEL 4 entries
├── ▾ iCloudManageTool/
├── .gitignore
├── LICENSE
└── README.md
README README.md

归云 Cloudward UI

归云是一个面向 macOS 的 iCloud 云盘空间整理工具。本仓库只开源页面设计层,用于展示 SwiftUI 视图结构、视觉 token、页面布局与交互稿。

开源范围

本仓库包含:

  • iCloudManageTool/Views: 主要 SwiftUI 页面与组件
  • iCloudManageTool/DesignSystem: 颜色与动效 token
  • iCloudManageTool/Assets.xcassets: 应用图标与基础视觉资源

本仓库不包含:

  • iCloud 文件索引、扫描、统计、释放算法
  • 文件占用检测、进程检测、元数据监听
  • CloudwardCore
  • 生产 ViewModel、Services、测试夹具与私有工程配置

因此,这里的源码是 UI-only snapshot,不是完整可编译的产品源码。部分 View 中保留了对私有模型或核心模块的引用,仅用于说明页面接线位置。

视图结构

iCloudManageTool/Views/
  ContentView.swift           # 主窗口布局
  SidebarView.swift           # 侧边导航栏
  FileBrowserView.swift       # 文件浏览器
  FileTreeRow.swift           # 文件树行组件
  ExpandedDashboardCard.swift # 展开式仪表板
  InspectorView.swift         # 信息面板
  ReleaseFlowView.swift       # 释放流程
  HistoryView.swift           # 历史记录
  SyncStatusView.swift        # 同步状态
  MenuBarStatusView.swift     # 菜单栏状态
  OnboardingView.swift        # 新手引导
  SettingsView.swift          # 设置页
  ScanCenter/
    ScanCenterView.swift      # 扫描中心
  CloudRippleView.swift       # 涟漪反馈动画
  ByteValueText.swift         # 字节值显示
  PlaceholderPage.swift       # 占位页
  SelectionActionBar.swift    # 选择操作栏
  TopToolbarView.swift        # 顶部工具栏

Beta 构建

Release 中的 Cloudward-beta-3-macos.zip 是当前 macOS beta 3 构建包,可用于试用现阶段界面与流程。该构建仍处于 prerelease 阶段,请先在非关键文件上试用。

Beta 3 重点:

  • 全新设计系统: 语义化 accent token、统一卡片样式、经过色盲安全验证的图表分类色板(亮/暗双模式)。
  • 空间分析页由环形图改为带直接标注的横向量级条形图,文本全部回归文字色。
  • 释放流程动效重做: 滚动数字过渡、平滑环形进度与端点光点、SF Symbol 动效; 修复高频更新时文字糊化。
  • 同步状态页重建: 统计磁贴、实时时间戳、传输/冲突卡片、诊断日志导出入口。
  • 大量性能优化: 索引重建并行化与去 IPC、主线程派生统计改为后台刷新、释放过程增量索引补丁; 修复大批量释放时的崩溃。
  • 修复包目录(如 .fcpbundle)内容无法在文件树中展开显示的问题。

许可

UI 设计层源码以 MIT License 开源。归云名称、图标与完整产品逻辑仍保留所有权利。

03 PUBLIC / GITHUB

Objective-C++ / 2026年7月

ShaderMetal

Experimental native Apple Metal renderer and hardware ray tracing backend for Minecraft Fabric, adapted from Radiance architecture.

★ 2 ⑂ 1 GPL-3.0 2026年7月
  • #apple-silicon
  • #fabric
  • #macos
  • #metal
  • #minecraft
  • #ray-tracing
LANGUAGE MIX 7 languages
  • Objective-C++54.9%
  • Java21.5%
  • C++10.4%
  • Metal10.3%
  • Shell1.8%
  • CMake0.5%
  • C0.5%
FILE TREE / TOP LEVEL 9 entries
├── ▾ .github/
├── ▾ shader-metal-template-1.21.4/
├── ▾ 文档/
├── .gitignore
├── .gitmodules
├── LICENSE
├── PROVENANCE.md
├── README.md
└── THIRD_PARTY_NOTICES.md
README README.md

ShaderMetal

ShaderMetal is an experimental client-side Fabric mod that replaces Minecraft's OpenGL presentation path with a native Apple Metal renderer on Apple Silicon.

The implementation is under active development. It is currently a research preview, not a drop-in production renderer, and worlds should be backed up before testing.

Status

  • Stage A: native Metal frame foundation complete.
  • Stage B: Metal rasterization path complete.
  • Stage C: Apple Metal ray tracing integration in progress. The current path builds native acceleration structures, performs ray intersections through Metal, and uses MetalFX temporal denoising/upscaling where supported. Visual stability and performance tuning are ongoing.

The source project is in shader-metal-template-1.21.4.

Requirements

  • Minecraft Java Edition 1.21.4
  • Fabric Loader 0.19.2 or newer and Fabric API
  • Apple Silicon Mac with a Metal device that reports ray-tracing support
  • Current development target: macOS 26 or newer
  • JDK 21, CMake 3.20 or newer, xxd, and Xcode Command Line Tools

Current testing is limited to an M5 Mac on macOS 27 beta. Other Macs and mod combinations are unverified.

Build

git clone --recurse-submodules https://github.com/LingXiFox/ShaderMetal.git
cd ShaderMetal/shader-metal-template-1.21.4
./script/gradle_task.sh build

The mod JAR is written to build/libs/. All local Gradle invocations should go through script/gradle_task.sh; it disables persistent daemons and cleans project Java/game processes when the task exits.

To start the development client:

./script/gradle_task.sh runClient

Known Limitations

  • Stage C still has visible ray-tracing noise, shadow/material artifacts, and frame-time spikes.
  • Geometry updates, water/transparency history, dynamic entities, and some UI/input paths remain under active repair.
  • MetalFX frame interpolation is not implemented.
  • The current renderer is hybrid: Metal rasterization supplies primary visibility and fallback data while Metal hardware ray tracing computes experimental lighting and shadows.
  • There are no stable release binaries, compatibility guarantees, or production-world safety guarantees yet.

Radiance Attribution

ShaderMetal borrows the renderer-replacement approach and the Java/Mixin/JNI proxy-contract design from Minecraft-Radiance/Radiance. Radiance and its native MCVR backend are the architectural references; ShaderMetal reimplements the native renderer for Apple Metal, Objective-C++, Apple ray-tracing acceleration structures, and MetalFX.

ShaderMetal is not affiliated with or endorsed by the Radiance project, Mojang Studios, Microsoft, or Apple. Detailed provenance and modification notes are recorded in PROVENANCE.md and THIRD_PARTY_NOTICES.md.

License

Copyright (C) 2026 LingXiFox for ShaderMetal modifications and the original Metal implementation.

ShaderMetal's project-owned source code is distributed under the GNU General Public License version 3 only (GPL-3.0-only). Third-party submodules and dependencies retain their respective licenses. See LICENSE and THIRD_PARTY_NOTICES.md.

05 PUBLIC / GITHUB

Where Winds Meet Linux DLSS and Frame Generation troubleshooting guide

★ 0 ⑂ 0 2026年6月
LANGUAGE MIX

DOCS ONLY / NO CODE DETECTED

FILE TREE / TOP LEVEL 1 entries
└── README.md
README README.md

燕云十六声 / Where Winds Meet 在 Linux 下启用 DLSS、帧生成和 Reflex 的排障记录

本文记录一次在 Arch Linux + Niri Wayland + NVIDIA Laptop GPU 环境中,让《燕云十六声 / Where Winds Meet》在 Proton/Wine 下显示并启用 DLSS、DLSS Frame Generation 和 Reflex Low Latency 的完整排障过程。

这不是通用补丁包,而是一条可复查的排障路径。不同发行版、Proton 版本、显卡驱动和游戏版本可能需要调整。

最终结果

已确认可用:

  • DLSS Super Resolution 选项出现并可使用。
  • DLSS Frame Generation 可开启。
  • Reflex 降低延迟可开启。
  • 调试日志参数已移除,可以正常游玩。

最终稳定配置备份在本机:

/data/Games/yysls-dlss-fg-final-backup-20260626-100824

测试环境

发行版:Arch Linux
桌面环境:Niri 26.04 Wayland
GPU:NVIDIA GeForce RTX 4090 Laptop GPU
驱动:nvidia-open 610.43.02
Wine/Proton runner:proton-cachyos-11.0 via Lutris/umu
游戏 AppID:3564740
Wine prefix:/data/Games/yysls
实际游戏目录:C:\Program Files\yysls\yysls_medium\Engine\Binaries\Win64rh
Streamline 版本:2.11.1

本环境是单 NVIDIA GPU 使用场景,Intel/AMD GPU 被隐藏或禁用。多 GPU 笔记本可能需要额外处理适配器选择。

起始症状

游戏可运行,DX12 也已开启,但图形设置里没有 DLSS 选项。

初期 Streamline 日志显示所有插件都加载失败:

Failed to load plugin '.../Streamline/sl.common.dll' - last error unknown error
Failed to load plugin '.../Streamline/sl.dlss.dll' - last error unknown error
Failed to load plugin '.../Streamline/sl.dlss_g.dll' - last error unknown error
Failed to load plugin '.../Streamline/sl.reflex.dll' - last error unknown error

同时 DXVK-NVAPI 日志能识别显卡:

NvAPI Device: NVIDIA GeForce RTX 4090 Laptop GPU (610.43.2)
<-NvAPI_Initialize: OK

这说明问题不在“完全没有 NVAPI”或“识别不到 NVIDIA GPU”,而在 NVIDIA Streamline 插件加载链路。

最终 Lutris 环境变量

最终保留的 Lutris 配置如下,诊断日志参数已移除:

system:
  env:
    SteamGameId: "3564740"
    SteamAppId: "3564740"
    DXVK_ENABLE_NVAPI: "1"
    PROTON_ENABLE_NVAPI: "1"
    PROTON_HIDE_NVIDIA_GPU: "0"
    DXVK_NVAPI_DISABLE_ENTRYPOINTS: "NvAPI_D3D12_SetFlipConfig"
    VKD3D_CONFIG: "dxr,dxr11"
    DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE: "on"
    DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE: "on"
    DXVK_NVAPI_DRS_NGX_DLSSG_MODE: "auto"
    DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION: "render_preset_latest"
    WINE_HIDE_INTEL_GPU: "1"
    WINE_HIDE_AMD_GPU: "1"
    VKD3D_VULKAN_DEVICE: "0"
    WINEDLLOVERRIDES: "wintrust,crypt32=b;msasn1=n,b;nvapi,nvapi64,nvngx=n"

游戏启动器配置里还需要:

DX12=true

本机路径:

/data/Games/yysls/drive_c/Program Files/yysls/Win32/deploy/setting.ini

Wine DLL override 关键点

最终有效组合是:

wintrust,crypt32=b;msasn1=n,b;nvapi,nvapi64,nvngx=n

含义:

  • wintrust=b:使用 Wine builtin wintrust
  • crypt32=b:使用 Wine builtin crypt32
  • msasn1=n,b:优先使用 Windows native msasn1.dll,回退 builtin。
  • nvapi,nvapi64,nvngx=n:确保使用 native/proxy NVAPI/NGX 路径。

对应注册表中保留了这些全局 override:

[Software\\Wine\\DllOverrides]
"*crypt32"="builtin"
"*msasn1"="native,builtin"
"*wintrust"="builtin"
"crypt32"="builtin"
"msasn1"="native,builtin"
"wintrust"="builtin"
"nvapi"="native"
"nvapi64"="native"

注意:msasn1.dll 来自 Windows 组件。不要把 Windows DLL 放进公开仓库。可以用本机已有的 winetricks 缓存或合法来源提取,并只记录步骤,不分发文件。

排障过程

1. 确认 DX12 与游戏实际运行目录

游戏真正使用的是:

C:\Program Files\yysls\yysls_medium\Engine\Binaries\Win64rh

Streamline 插件目录在:

Win64rh\Streamline

其中存在:

sl.common.dll
sl.dlss.dll
sl.dlss_g.dll
sl.reflex.dll
nvngx_dlss.dll
nvngx_dlssg.dll

setting.iniDX12=true 已确认。

2. 排除 NVAPI 完全不可用

nvapi64.log 显示 DXVK-NVAPI 能正常识别 RTX 4090 Laptop:

DXVK-NVAPI cachyos-11.0-20260429-slr+ NVAPI gcc 14.0.0 x86_64 plain (yysls.exe)
NvAPI Device: NVIDIA GeForce RTX 4090 Laptop GPU (610.43.2)
<-NvAPI_Initialize: OK

所以 DLSS 不出现的第一根因不是 GPU 识别失败。

3. 发现 Streamline 插件安全加载失败

Streamline v2.11.1 会在生产版中通过 security::loadLibrary() 加载插件。

流程简化后是:

if (verifyEmbeddedSignature(path))
{
    mod = LoadLibraryW(path);
}

也就是说,插件本身能不能 LoadLibraryW 成功还不够,必须先通过签名验证。

短探针确认:

  • sl.common.dllsl.dlss.dllsl.dlss_g.dllsl.reflex.dll 可被 LoadLibraryW 加载。
  • 导出 slGetPluginFunction 存在。

因此问题集中到签名校验。

4. Wine builtin msasn1 导致 WinVerifyTrust 失败

初始 WinVerifyTrust 探针结果:

WinVerifyTrust(.../sl.*.dll) => 0x80093108

配合 WINEDEBUG=+wintrust,+crypt 可见失败来自 Wine builtin msasn1 的 ASN.1 解析路径。

替换/启用 Windows native msasn1.dll 后,普通签名校验从 0x80093108 前进到其它错误,说明方向正确。

5. 不要用 native wintrust + native crypt32 作为最终方案

曾测试 native wintrust.dll 和 native crypt32.dll,普通签名路径一度可以通过,但 secondary signature 路径不稳定,甚至出现崩溃或 0x80090008

最终可用组合是:

builtin wintrust + builtin crypt32 + native msasn1

这个组合能让 Streamline 需要的 secondary signature 路径通过。

探针结果:

WinVerifyTrustSecondary(.../sl.common.dll) => 0x00000000 secondary=1 verified=0

完整复刻 Streamline 的 NVIDIA nested signature 校验后也通过:

decode public key => 1 err=0 len=411 expected=411
public key memcmp => match

6. 删除 PROTON_FORCE_NVAPI

曾发现 PROTON_FORCE_NVAPI=1 会触发 runner 的 forcenvapi,导致:

DXVK_NVAPI_ALLOW_OTHER_DRIVERS=1
DXVK_NVAPI_DRIVER_VERSION=99999

日志表现:

DXVK_NVAPI_DRIVER_VERSION is set to '99999', reporting driver version 999.99

这对本机 NVIDIA 单 GPU 环境没有必要,还会污染后续判断。最终删除 PROTON_FORCE_NVAPI,只保留:

DXVK_ENABLE_NVAPI=1
PROTON_ENABLE_NVAPI=1
PROTON_HIDE_NVIDIA_GPU=0

7. 修复后 DLSS 插件加载成功

修复签名链后,Streamline 日志进入正常插件加载阶段:

Loaded plugin 'sl.common'
Loaded plugin 'sl.dlss'
Loaded plugin 'sl.dlss_g'
Loaded plugin 'sl.reflex'
Plugin execution order based on priority:
P0 - sl.common
P100 - sl.dlss
P100 - sl.reflex
P1000 - sl.dlss_g

NGX 也能加载游戏自带 DLL:

Loaded NGXCore from path (.../Streamline/nvngx_dlss.dll)
Loaded NGXCore from path (.../Streamline/nvngx_dlssg.dll)

此时 DLSS 选项开始出现。

帧生成卡死与最终解法

修复 Streamline 后,sl.dlss_g 也能加载,但初次开启帧生成时游戏在加载阶段卡住。

关键 NVAPI 日志:

nvapi_QueryInterface (NvAPI_D3D12_SetFlipConfig): Not implemented method

这说明当前 DXVK-NVAPI 暴露或处理 NvAPI_D3D12_SetFlipConfig 的方式会让 DLSS-G 路径走到不稳定分支。

临时禁用 sl.dlss_g.dll 后,DLSS-SR 可稳定出现并可玩,说明问题只集中在 Frame Generation 插件。

最终可用方案不是禁用 sl.dlss_g,而是:

DXVK_NVAPI_DISABLE_ENTRYPOINTS: "NvAPI_D3D12_SetFlipConfig"
DXVK_NVAPI_DRS_NGX_DLSSG_MODE: "auto"

并且不要恢复强制 FG override:

# 不要设置这个
DXVK_NVAPI_DRS_NGX_DLSS_FG_OVERRIDE: "on"

这样 sl.dlss_g 能加载,Frame Generation 能开启,同时绕开卡住的 SetFlipConfig 入口。

最终确认:

  • DLSS 超分出现。
  • Frame Generation 可开启。
  • Reflex Low Latency 可开启。

为什么不建议走 Wine win32u 补丁路线

中途曾尝试追 Wine/Proton 的 win32u.so D3DKMT 补丁方向,结果:

  • 11.11 ABI 不兼容,容易崩溃。
  • 11.0 二进制替换有 OOM 和整机卡死风险。
  • ProtonDB/GamingOnLinux 公开信息没有显示该游戏必须靠 D3DKMT type 15 补丁才能 DLSS。

最终证明问题主线在 Streamline 签名校验和 DLSS-G 的 NVAPI entrypoint,而不是 win32u.so

最小复现/验证思路

如果要在其他机器上验证,建议按这个顺序:

  1. 确认 DX12 开启。
  2. 确认 DXVK-NVAPI 能识别 NVIDIA GPU。
  3. 开启临时 Streamline 日志:
SL_LOG_LEVEL: "2"
SL_LOG_PATH: "C:\\users\\<user>\\AppData\\Local\\Temp"
SL_LOG_NAME: "yysls-streamline.log"
  1. 如果看到所有 sl.*.dllFailed to load plugin,优先查签名校验。
  2. 如果 sl.dlss 成功但 sl.dlss_g 卡住,查 NvAPI_D3D12_SetFlipConfig
  3. 验证完后删除日志参数,避免日志长期增长。

临时 NVAPI 日志参数:

DXVK_NVAPI_LOG_LEVEL: "info"
DXVK_NVAPI_LOG_PATH: "C:\\users\\<user>\\AppData\\Local\\Temp"

验证完也应删除。

最终清理后的运行配置

最终运行时不保留诊断日志参数。完整配置如下:

game:
  exe: /home/lingxi/Games/yysls/drive_c/Program Files/yysls/Win32/deploy/launcher.exe
  prefix: /home/lingxi/Games/yysls
  working_dir: /home/lingxi/Games/yysls/drive_c/Program Files/yysls/Win32/deploy
wine:
  version: proton-cachyos-11.0
  show_debug: "-all"
system:
  env:
    SteamGameId: "3564740"
    SteamAppId: "3564740"
    DXVK_ENABLE_NVAPI: "1"
    PROTON_ENABLE_NVAPI: "1"
    PROTON_HIDE_NVIDIA_GPU: "0"
    DXVK_NVAPI_DISABLE_ENTRYPOINTS: "NvAPI_D3D12_SetFlipConfig"
    VKD3D_CONFIG: "dxr,dxr11"
    DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE: "on"
    DXVK_NVAPI_DRS_NGX_DLSS_RR_OVERRIDE: "on"
    DXVK_NVAPI_DRS_NGX_DLSSG_MODE: "auto"
    DXVK_NVAPI_DRS_NGX_DLSS_SR_OVERRIDE_RENDER_PRESET_SELECTION: "render_preset_latest"
    WINE_HIDE_INTEL_GPU: "1"
    WINE_HIDE_AMD_GPU: "1"
    VKD3D_VULKAN_DEVICE: "0"
    WINEDLLOVERRIDES: "wintrust,crypt32=b;msasn1=n,b;nvapi,nvapi64,nvngx=n"

回退方案

如果 Frame Generation 又导致卡死,但 DLSS-SR 要保留,可以临时禁用 DLSS-G 插件:

WINEDLLOVERRIDES: "sl.dlss_g=d;wintrust,crypt32=b;msasn1=n,b;nvapi,nvapi64,nvngx=n"

这会保留 DLSS 超分,关闭 Frame Generation。

本机有一个 DLSS-SR 稳定态备份:

/data/Games/yysls-dlss-fg-final-backup-20260626-100824/opencode-artifacts/yysls-dlss-working-20260626-095828

不建议做的事

  • 不要长期保留 SL_LOG_*DXVK_NVAPI_LOG_*WINEDEBUG=+... 这类日志参数。
  • 不要启用 PROTON_FORCE_NVAPI=1,它会触发 driver spoof 到 999.99
  • 不要直接替换 runner 的 win32u.so,除非明确知道 ABI 与 runner 完全匹配。
  • 不要把 native wintrust.dll + native crypt32.dll 当作最终方案,本次测试 secondary signature 路径不稳定。
  • 不要把 Windows DLL 上传到 GitHub 仓库。

一句话总结

这次 DLSS 不出现的核心原因是 Streamline 插件安全加载被 Wine 的签名校验链卡住。用 builtin wintrust/crypt32 加 native msasn1 后,sl.dlsssl.dlss_gsl.reflex 能正常加载。Frame Generation 的加载卡死来自 NvAPI_D3D12_SetFlipConfig 路径,隐藏该 entrypoint 并让 DLSSG 走 auto 后,DLSS、帧生成和 Reflex 都可用。

06 PUBLIC / GITHUB

Java / 2026年5月

NcmConverter

A Java command-line tool for decoding NetEase Cloud Music .ncm files

★ 2 ⑂ 0 2026年5月
LANGUAGE MIX 2 languages
  • Java92.7%
  • Shell7.3%
FILE TREE / TOP LEVEL 6 entries
├── .gitignore
├── build.command
├── manifest.txt
├── NcmConverter.java
├── README.md
└── RELEASE_NOTES.md
README README.md

NcmConverter

一个用于批量解码网易云音乐 .ncm 文件的 Java 命令行工具。

程序会递归扫描指定目录下的 .ncm 文件,读取歌曲元数据,并在原文件所在目录输出解码后的普通音频文件,例如 .mp3.flac

下载

推荐从 GitHub Releases 下载已经打包好的 NcmConverter.jar

这个 jar 已经包含运行所需的 JSON 解析依赖,使用者不需要额外下载 json-20250107.jar

环境要求

  • 已安装 Java 运行环境
  • 能在终端中执行 java -version

使用方法

macOS / Linux

指定网易云音乐下载目录:

java -jar NcmConverter.jar /Users/lingxifox/Music/网易云音乐

如果路径中包含空格,请用引号包起来:

java -jar NcmConverter.jar "/Users/yourname/Music/NetEase Music"

Windows

java -jar NcmConverter.jar "D:\Download\VipSongsDownload"

不传参数

如果不传入目录参数,程序会扫描当前终端所在目录:

java -jar NcmConverter.jar

输出说明

  • 程序会递归扫描目标目录中的所有 .ncm 文件。
  • 解码后的音频会输出到对应 .ncm 文件的同级目录。
  • 输出文件名来自 NCM 文件中的歌曲元数据。
  • 文件名中的非法字符会自动替换为 _

示例:

Music/
├── example.ncm
└── Example Song.mp3

从源码构建

仓库中保留了源码和打包脚本。如果你想自己重新构建:

./build.command

源码构建需要在项目目录中准备 json-20250107.jar,它是 org.json 的依赖包。正式发布的 NcmConverter.jar 已经把这个依赖打包进去,普通使用者不需要单独下载。

构建脚本会:

  1. 使用 json-20250107.jar 编译 NcmConverter.java
  2. org.json 依赖一起打进最终的 NcmConverter.jar
  3. 清理临时编译文件

因此发布给普通用户使用时,只需要提供最终的 NcmConverter.jar

注意事项

  • 本工具仅用于处理你有权访问和备份的本地音乐文件。
  • 如果目标目录中存在同名歌曲,后处理的文件可能覆盖已有输出文件。
  • 部分异常或损坏的 .ncm 文件可能无法正确解码。
07 PUBLIC / GITHUB

Python / 2025年8月

tools

这个仓库还没有写下简介,先从 README 与项目骨架开始了解它。

★ 0 ⑂ 0 Apache-2.0 2025年8月
LANGUAGE MIX 2 languages
  • Python99.9%
  • Batchfile0.1%
FILE TREE / TOP LEVEL 13 entries
├── ▾ .vscode/
├── ▾ localizations/
├── ▾ modules/
├── .gitignore
├── CHANGELOG.md
├── CheckStart.py
├── LICENSE
├── main.py
├── move_files.py
├── README.md
├── requirements.txt
├── start.bat
└── UI-Config.json
README README.md

TOOL_ALL项目开源须知

一、你的权限

  • 注意你的克隆和使用!!
    • 克隆后仅供个人学习使用, 禁止再分发!
    • 注意本代码参照Apache License 2.0注意如下
    • 在分发IDEA Redis Client或其修改版本时,必须保留原作者的版权声明、许可声明以及许可证文本。
    • 不得以任何方式限制其他用户合法使用IDEA Redis Client,包括不得设置技术障碍、不得收取许可费用等。
    • 在分发IDEA Redis Client时,必须确保所有接收者都能获得Apache License 2.0的副本,并了解其在该许可证下的权利和义务。
  1. 注意署名,如果要改进提交请提交合并!

二、代码

  1. 注意!代码包含如下依赖库 你可以使用如下代码安装这些库:
pip install <库>

2023.8.4日志:目前最新版本代码支持缺失库自动补全,如果依旧报缺库异常请手动下载 代码如下:

需要的库(导入库部分代码)如下:

main.py

from tqdm import *

cmd_args.py

import argparse
import sys
import time
import os
from tqdm import *

ncmtomusic.py

import binascii
import struct
import base64
import json
import os
from Crypto.Cipher import AES

三、版权声明

  1. 声明 版权泠溪所有!
  2. 版权文件具体参考:LICENSE文件!

四、关于BUG

遇到bug请提交至项目反馈或者提交合并

五、关于

copyright @Qin_Qiu_Fox at 2023 year copyright @Qin_Qiu_Fox at 2024 year copyright @Qin_Qiu_Fox at 2024.10