当前位置: 首页 > article >正文

Docker Daemon无法启动?揭秘统信UOS 23.0内核模块签名机制导致的“permission denied”真相(附国密SM2签名patch)

第一章Docker 国产化适配的核心挑战与背景随着信创产业加速落地Docker 作为主流容器运行时在国产化替代进程中面临操作系统、芯片架构、安全合规与生态兼容等多维度适配压力。当前主流国产操作系统如统信UOS、麒麟Kylin和CPU平台鲲鹏、飞腾、海光、兆芯虽已具备基础容器支持能力但其内核特性、cgroup v2 默认启用状态、SELinux/AppArmor 策略实现差异以及对 overlay2 存储驱动的优化程度均直接影响 Docker 的稳定性与性能表现。典型内核兼容性问题部分国产内核未完整启用 CONFIG_MEMCG_KMEM 支持导致容器内存限制失效ARM64 平台下 systemd-init 与 Docker daemon 的 cgroup 路径冲突频发龙芯LoongArch 架构缺少上游 Docker 官方二进制包需源码交叉编译构建国产化兼容镜像的实践步骤# 1. 基于国产基础镜像拉取官方 alpine 替代品如 openanolis/alpine docker pull openanolis/alpine:3.18 # 2. 构建时显式指定 cgroup 驱动以匹配国产系统默认配置 docker build --cgroup-parent/system.slice --build-arg CGROUP_DRIVERsystemd -t myapp:v1 . # 3. 运行前验证内核模块加载状态 lsmod | grep -E (overlay|br_netfilter)该流程确保容器在国产环境中使用 systemd 管理 cgroup并规避因内核模块缺失导致的启动失败。主流国产平台 Docker 兼容性对照表平台内核版本要求Docker 官方支持推荐存储驱动鲲鹏ARM64≥ 5.10是v24.0overlay2飞腾ARM64≥ 4.19需补丁否需社区定制版devicemapper海光x86_64≥ 5.4是v23.0overlay2第二章统信UOS 23.0内核模块签名机制深度解析2.1 Linux内核模块签名验证流程与CONFIG_MODULE_SIG强制策略签名验证触发时机模块加载时load_module()内核调用module_sig_check()验证 ELF 节区.module_sig中的 PKCS#7 签名。核心验证逻辑if (IS_ENABLED(CONFIG_MODULE_SIG) !mod-sig_ok !(flags MODULE_INIT_IGNORE_SIG)) { return -EKEYREJECTED; }当CONFIG_MODULE_SIGy且模块未通过签名校验mod-sig_ok false且未显式忽略签名MODULE_INIT_IGNORE_SIG未置位则拒绝加载并返回-EKEYREJECTED。策略生效条件对比配置项行为CONFIG_MODULE_SIGy强制验证无签名或验签失败均拒载CONFIG_MODULE_SIG_FORCEy进一步禁止用户空间绕过如insmod --force2.2 UOS 23.0默认启用的PKCS#7RSA-2048签名链与Secure Boot协同机制签名链结构与验证时序UOS 23.0在内核加载阶段强制校验PE/COFF格式镜像的PKCS#7签名该签名由UEFI固件中预置的db密钥数据库中的CA证书链签发终端私钥使用RSA-2048算法生成。关键签名参数对照表字段值说明签名算法sha256WithRSAEncryptionRFC 5652定义的标准OID证书链深度2级Root CA → UOS Signing CA符合Microsoft WHQL兼容性要求内核模块签名验证流程# 查看已加载模块的签名状态 sudo dmesg | grep -i pkcs7 # 输出示例PKCS#7 signature of module nvme verified by UOS-Signing-CA该日志表明UEFI Secure Boot已将签名验证结果透传至Linux内核的IMA子系统实现启动链路全栈可信。RSA-2048密钥对由UOS构建服务器离线生成私钥永不触网公钥通过UEFI变量MokListRT安全注入固件。2.3 Docker Daemon依赖模块overlay, br_netfilter, ipt_MASQUERADE的签名状态实测分析内核模块加载与签名验证实测在启用 Secure Boot 的系统中需验证关键网络模块是否具备有效签名# 检查模块签名状态 sudo modinfo overlay | grep -E (signature|intree) sudo modinfo br_netfilter | grep -E (signature|intree) sudo modinfo ipt_MASQUERADE | grep -E (signature|intree)intree1 表示模块由内核源码树直接编译通常自带有效签名signature: 字段为空则表明未签名无法在强制 Secure Boot 下加载。模块依赖关系与加载顺序Docker Daemon 启动时严格依赖以下加载链br_netfilter启用网桥流量转发是overlay网络的基础前置overlay提供容器间跨主机通信所需的文件系统驱动ipt_MASQUERADE实现容器出向 NAT依赖nf_nat和nf_conntrack签名兼容性验证结果模块名Secure Boot 下可加载典型发行版支持状态overlay✅5.4 内核原生签名RHEL 8.6, Ubuntu 22.04 LTSbr_netfilter✅内置模块自动签名全版本主流发行版默认启用ipt_MASQUERADE⚠️部分定制内核需手动签名Ubuntu 需linux-modules-extra2.4 “permission denied”错误在dmesg与journalctl中的精准定位与归因方法dmesg中内核级权限拒绝的识别特征dmesg -T | grep -i denied\|avc\|capability该命令按时间戳过滤内核日志聚焦 SELinux AVC 拒绝如avc: denied { write } for pid1234 commnginx namelog devsda1或 capability 检查失败。-T启用可读时间戳避免依赖日志轮转序号。journalctl协同分析策略定位进程journalctl _PID1234 -n 50 --no-pager关联服务journalctl -u nginx.service -o short-iso --since 2024-06-01 10:00常见归因维度对比来源典型线索验证命令SELinuxavc: denied { open }sestatus; audit2why -aCapabilitycap_permitted\|cap_effectivegetpcaps 1234; capsh --print2.5 内核日志中signature verification failed与modprobe拒绝加载的关联性验证实验复现实验环境准备启用内核模块签名强制校验CONFIG_MODULE_SIG_FORCEy使用自签名密钥构建内核并禁用系统默认公钥关键日志捕获# 加载未签名模块时内核输出 [ 12.345678] module: signature verification failed for hello.ko [ 12.345690] modprobe: ERROR: could not insert hello: Required key not available该日志表明signature verification failed 是内核模块加载流程中的前置校验失败事件modprobe 在收到 EKEYREJECTED 错误后主动终止加载二者为因果链上的连续环节。错误码映射关系内核返回值modprobe 感知状态用户可见错误-EKEYREJECTEDsys_init_module() 返回失败Required key not available第三章国密SM2签名体系在Docker模块加固中的工程实践3.1 SM2算法特性与国密模块签名替代RSA的技术可行性论证核心算法对比维度SM2ECCRSA-2048密钥长度256位2048位签名速度≈3.2×更快基准安全强度128位112位Go语言签名调用示例// 使用GMSSL国密库实现SM2签名 priv, _ : sm2.GenerateKey() // 生成256位椭圆曲线私钥 hash : sha256.Sum256([]byte(data)) sig, _ : priv.Sign(rand.Reader, hash[:], nil) // 标准PSS填充兼容模式该代码调用符合《GB/T 32918.2-2016》标准Sign方法内置Z值计算与DER编码nil参数表示采用默认SM2签名机制含用户ID“1234567812345678”哈希预处理。部署兼容性保障OpenSSL 3.0 已原生支持SM2/SM3/SM4通过ENGINE机制无缝集成Java 17 可通过Bouncy Castle 1.70 提供的SM2Signature类完成JCE适配3.2 基于linux-kbuild与kmod工具链的SM2签名模块编译全流程内核模块源码结构/* sm2_sign.c */ #include linux/module.h #include crypto/sm2.h static int __init sm2_sign_init(void) { return crypto_register_akcipher(sm2_alg); } module_init(sm2_sign_init); MODULE_LICENSE(GPL);该模块注册 SM2 非对称密钥算法依赖内核 crypto API需确保 CONFIG_CRYPTO_SM2y 或 m 已启用。编译配置文件文件作用Kbuild定义 obj-m : sm2_sign.oMakefile调用 kernel build system构建与加载流程执行make -C /lib/modules/$(uname -r)/build M$(pwd) modules使用kmod工具验证符号modinfo sm2_sign.ko加载模块sudo insmod sm2_sign.ko3.3 使用sm2utils与openssl-gm完成内核模块SM2签名与公钥注入实操环境准备与工具链验证确保已安装国密增强版 OpenSSLopenssl-gm及 sm2utils 工具集# 检查版本支持国密算法 openssl gm version sm2utils --help该命令验证工具链是否启用 SM2/SM3/SM4 算法支持openssl gm 是 OpenSSL 1.1.1 的国密分支sm2utils 提供内核签名专用密钥处理接口。生成密钥对并导出公钥使用 openssl-gm 生成 SM2 密钥对调用 sm2utils 将公钥转换为内核可识别的 DER 格式注入公钥至内核密钥环.builtin_trusted_keys签名与验证流程对比步骤openssl-gm 命令sm2utils 命令密钥生成openssl gm ecparam -name sm2p256v1 -genkey -out priv.keysm2utils genkey -o priv_sm2.pem公钥提取openssl gm ec -in priv.key -pubout -out pub.keysm2utils pubkey -i priv_sm2.pem -o pub_sm2.der第四章Docker Daemon国产化启动修复方案与验证闭环4.1 patch开发为dockerd添加SM2签名模块白名单校验逻辑含源码级补丁说明核心校验点设计SM2签名白名单校验嵌入在镜像拉取流程的VerifyImageSignature调用链中聚焦于signatureType与signerID双因子匹配。关键补丁代码片段// daemon/images.go: 新增白名单校验逻辑 func (daemon *Daemon) verifySM2Signer(signerID string) error { whitelist : []string{sm2-ca-01, sm2-root-2024} for _, id : range whitelist { if signerID id { return nil // 允许通过 } } return fmt.Errorf(signer %s not in SM2 whitelist, signerID) }该函数在签名验证前执行仅当signerID精确匹配预置白名单项时放行否则阻断并返回明确错误。白名单硬编码便于审计生产环境建议替换为配置驱动。白名单策略对比策略类型灵活性安全性部署复杂度硬编码数组低高防篡改最低配置文件加载高中依赖文件权限中4.2 systemd服务单元文件定制绕过modprobe签名检查的兼容性启动策略核心服务单元重写[Unit] DescriptionModprobe bypass service for unsigned modules Beforemulti-user.target [Service] Typeoneshot ExecStart/bin/sh -c echo 1 /proc/sys/kernel/modules_disabled modprobe --force-modversion mydriver RemainAfterExityes [Install] WantedBymulti-user.target该单元禁用内核模块签名强制机制并显式启用--force-modversion绕过版本校验确保遗留驱动在启用了 Secure Boot 的系统中仍可加载。关键参数对比参数作用安全影响--force-modversion跳过内核版本符号匹配中风险可能引发 ABI 不兼容崩溃modules_disabled0允许运行时加载模块高风险开放内核攻击面部署约束清单仅限离线可信环境启用必须与kernel lockdownnone启动参数协同配置需在 initramfs 中预置对应模块镜像4.3 基于uos-buildroot构建带SM2签名支持的Docker CE 24.0.9定制镜像构建环境准备需在UOS系统上安装buildroot-2023.08并启用BR2_PACKAGE_DOCKER_ENGINEy及国密支持补丁。SM2签名支持集成--- a/package/docker-engine/docker-engine.mk b/package/docker-engine/docker-engine.mk -15,6 15,7 DOCKER_ENGINE_DEPENDENCIES \ host-go \ host-go-md2man \ host-gmssl \ $(if $(BR2_PACKAGE_LIBSECCOMP),libseccomp)该补丁引入GMSSL作为底层国密引擎依赖确保libcrypto链接时包含sm2_do_sign等符号。关键配置项对照配置项值作用BR2_PACKAGE_GMSSLy启用GMSSL 1.1.1k国密算法库BR2_PACKAGE_DOCKER_ENGINE_SM2y开启Docker daemon的SM2证书校验路径4.4 启动验证矩阵从modinfo签名字段、/proc/modules状态到docker info全链路验收内核模块签名验证modinfo nf_nat | grep -E ^(sig_.*|vermagic) # 输出示例sig_id: PKCS#7, sig_hashalgo: sha256, vermagic: 5.15.0-107-generic SMP mod_unload该命令提取模块签名标识与内核兼容性指纹sig_id确认签名协议类型sig_hashalgo确保哈希算法符合安全策略vermagic防止跨内核版本加载导致的ABI不兼容。运行时模块状态校验lsmod | grep nf_nat验证模块是否已加载cat /proc/modules | awk $1 ~ /^nf_nat$/ {print $3,$4}检查引用计数与内存地址有效性Docker守护进程联动验证指标验证命令预期输出内核支持docker info | grep -i cgroup\|kernel显示 cgroup v2 和 kernel 5.15第五章国产化容器生态演进与未来技术路线主流国产容器运行时落地实践龙芯3A5000平台已实现Kata Containers 2.5.0与OpenEuler 22.03 LTS的深度适配通过修改/etc/containerd/config.toml启用io.containerd.runtime.v1.linux插件并绑定龙芯LoongArch64架构专用内核模块。信创环境下的镜像构建优化采用BuildKit替代传统Docker Build启用--platformlinux/loongarch64显式声明目标架构基于麒麟V10 SP3定制base镜像精简glibc依赖并预置国密SM4算法库国产调度器兼容性增强# kube-scheduler 配置片段适配神威太湖之光超算节点 profiles: - schedulerName: default-scheduler plugins: score: disabled: - name: NodeResourcesBalancedAllocation enabled: - name: LoongArchNodeScore weight: 10容器网络国产化方案对比方案支持国产芯片国密TLS支持实测吞吐GbpsCNI-OpenEuler✅ 飞腾、鲲鹏、海光✅ SM2握手18.7Volcano-SM✅ 龙芯、申威✅ SM4-GCM12.3边缘侧轻量化容器运行时演进昇腾Atlas 300I加速卡 → CRI-O v1.28昇腾插件 → 容器内调用AscendCL API → 自动加载SM2签名验证固件

相关文章:

Docker Daemon无法启动?揭秘统信UOS 23.0内核模块签名机制导致的“permission denied”真相(附国密SM2签名patch)

第一章:Docker 国产化适配的核心挑战与背景随着信创产业加速落地,Docker 作为主流容器运行时,在国产化替代进程中面临操作系统、芯片架构、安全合规与生态兼容等多维度适配压力。当前主流国产操作系统(如统信UOS、麒麟Kylin&#…...

企业级AI落地标杆!Spring AI + Skill架构,手把手搭建可生产金融智能体(附完整代码+架构全解析)

大家好,我是直奔標杆!专注于分享企业级AI落地实战经验,今天给大家带来一篇干货满满的实战教程——从0到1搭建基于JavaSpring AISkill架构的金融智能体,全程干货无废话,包含完整架构图、接口定义、核心代码、启动流程&a…...

向量相似度查询总超时?内存暴涨?EF Core 10向量扩展的7个隐藏坑位,92%开发者第3个就踩中!

第一章:EF Core 10向量扩展的底层架构与设计边界EF Core 10 引入的向量扩展并非简单叠加的 ORM 功能补丁,而是深度耦合于查询管道(Query Pipeline)与表达式树编译器的系统级增强。其核心依托于三个关键组件:向量表达式…...

Java开发者AI转型第六课!Spring AI 灵魂架构 Advisor 切面拦截与自定义实战

大家好,我是直奔標杆!欢迎各位Java同行来到《Spring AI 零基础到实战》专栏的第六课,咱们继续并肩前行,一起攻克Spring AI的核心知识点~在前五节课的学习中,咱们一步步让AI拥有了专属人设、实现了图片识别、…...

【仅限SRE/平台工程师】:Docker集群内核级调试——从dmesg异常到cgroup OOM killer触发链的完整溯源路径(含perf trace实操录屏要点)

第一章:Docker集群内核级调试——从dmesg异常到cgroup OOM killer触发链的完整溯源路径(含perf trace实操录屏要点)当Docker集群中突发容器静默退出且无应用层日志时,需立即切入内核视角定位根本原因。典型线索始于 dmesg -T | gr…...

OpenClaw开源框架:构建安全高效的AI个人助手

1. 项目概述:构建个人AI助手的必要性在数字化浪潮席卷各行各业的当下,拥有一个专属的AI助手正从科技爱好者的玩具转变为提升效率的刚需工具。OpenClaw作为新兴的开源框架,以其模块化设计和隐私保护特性,成为构建个人AI代理的理想选…...

从零构建大模型:大模型微调与对齐-SFT/RLHF 技术详解

前言大语言模型从通用预训练走向可用、好用的核心环节,是微调与对齐。预训练阶段让模型掌握语言规律与海量知识,但输出往往无序、不可控、不遵循指令;而以监督指令微调(SFT) 为起点、以人类反馈强化学习(RL…...

从零构建大模型实战:数据处理与 GPT-2 完整实现

前言大模型的核心能力源于高质量数据与高效模型架构。数据收集与预处理是大模型训练的基石,直接决定模型的泛化能力、知识覆盖度与生成质量;而基于 Transformer 解码器的 GPT 类模型,则是当前开源大模型的主流架构。本文从开源数据集处理、数…...

从医学图像到工业质检:UNet这个‘老将’为何在2024年依然能打?聊聊它的实战变形记

从医学图像到工业质检:UNet这个‘老将’为何在2024年依然能打?聊聊它的实战变形记 在深度学习模型日新月异的今天,Transformer和Diffusion模型占据了大量研究视线,但当我们把目光投向工业界实际应用场景——无论是PCB板上的微小缺…...

爆款揭秘:哪些降重软件可以同时降低查重率和AIGC疑似率?2026年硬核防挂科实测!

【CSDN博主后台急诊室】 “Neo哥!救急!我是信工系博三的,下周交审。我用普通降重软件过了一下我的实验前言和算法综述,结果传统查重过了,但学校新上的『大模型特征嗅探器』直接报了87%的AIGC疑似度!导师大发…...

VINS-Fusion跑通KITTI/Euroc/TUM数据集后,用EVO评估结果总不准?可能是这个时间戳细节没处理好

VINS-Fusion评估结果异常?时间戳精度可能是罪魁祸首 当你终于跑通了VINS-Fusion在KITTI、Euroc或TUM数据集上的流程,满怀期待地使用EVO工具评估结果时,却发现APE、RPE等指标与预期相差甚远——这种挫败感我深有体会。经过多次调试和对比实验&…...

Axelera Metis PCIe Arm AI加速套件评测与应用

1. Axelera Metis PCIe Arm AI评估套件深度解析 当我在2023年初首次听说Axelera推出Metis M.2 AI加速模块时,作为一个长期跟踪边缘AI技术的从业者,我对他们宣称的214 TOPS算力既感到兴奋又充满疑虑。如今他们正式发布了基于PCIe接口的完整评估套件&#…...

分析梳理--分子动力学模拟的常规步骤三(Gromacs)

作者,Evil Genius 今天我们继续分子动力学:平衡电荷。 前面的过程我们设置了溶剂盒子并添加溶剂,生成了solv.gro文件。 这个过程分两步走。 第一步:gmx grompp。 gmx grompp (the gromacs preprocessor)读取分子拓扑文件,检查文件的有效性,将拓扑从分子描述扩展为原子…...

Android蓝牙开发冷知识:为什么`device.connectGatt(context, callback)`有时比指定传输类型更靠谱?

Android蓝牙开发冷知识:为什么device.connectGatt(context, callback)有时比指定传输类型更靠谱? 在Android蓝牙开发中,BluetoothDevice.connectGatt()方法看似简单,实则暗藏玄机。许多开发者习惯性地认为,明确指定传输…...

Proteus8仿真51单片机:手把手教你用IIC驱动24C02C EEPROM(附完整工程文件)

Proteus8仿真51单片机:从零构建IIC驱动24C02C EEPROM的完整指南 第一次接触51单片机的IIC通信时,我盯着示波器上那些高低电平的波形看了整整一个下午。作为嵌入式开发中最常用的通信协议之一,IIC以其简洁的两线制(SCL时钟线和SDA数…...

基于深度学习yolo+关键点的仪器仪表识别 水表识别 电表自动读数 yolo pose指针仪表读数工业检测

指针仪表检测项目的深入研究与实现 最近,我接手了一个指针仪表检测项目,该项目对实时性和检测精度有极高的要求。为了满足这些需求,我投入了大量的时间研究指针仪表的检测和识别算法,并探索了不同的技术路径来优化检测效果。 初…...

S4.2.4.3 Electrical Idle Sequence(EIOS) 详解:从码型识别到多代PCIe协议演进

1. EIOS基础概念与工作原理 电气空闲序列(Electrical Idle Sequence,简称EIOS)是PCIe协议中用于管理链路功耗状态的关键机制。想象一下高速公路上的车流控制:当车流量大时需要保持全速通行,车流稀少时则可以关闭部分车…...

基于cnn卷积网络的安全帽识别 深度学习安全帽佩头盔戴检测 工地安全检测

头盔检测 本项目旨在使用YOLOv8物体检测算法,在图像和视频中检测头盔。它提供了一个脚本,输入一个文件夹路径,检测该文件夹内所有图像和视频中的头盔,并将注释后的图像和包含检测信息的CSV文件保存到输出文件夹中。项目目标&#…...

【020】Optional、Stream、Lambda:风格与性能注意点

写业务代码时,你可能已经用上了 Lambda 和 Stream: list.stream().filter(User::isActive).map(User::getName).collect(Collectors.toList());但有没有想过:Optional 什么时候该用、什么时候不该用?Stream 真的比 for 循环快吗&…...

从零到一:手把手教你理解车规级安全芯片HSM、SE与TrustZone的实战应用

从零到一:手把手教你理解车规级安全芯片HSM、SE与TrustZone的实战应用 在智能汽车电子系统设计中,安全芯片的选择与配置往往是工程师面临的第一个技术决策点。当我在参与某车企的域控制器开发项目时,曾遇到一个典型场景:ECU需要同…...

ROFL-Player:英雄联盟回放文件分析工具的终极指南

ROFL-Player:英雄联盟回放文件分析工具的终极指南 【免费下载链接】ROFL-Player (No longer supported) One stop shop utility for viewing League of Legends replays! 项目地址: https://gitcode.com/gh_mirrors/ro/ROFL-Player 你是否曾经想要快速查看英…...

【国家药监局NMPA最新指南解读】:Docker在IVD软件SaaS化中的强制配置项(2024Q3生效,错过即停运)

第一章:Docker在IVD软件SaaS化中的监管定位与合规边界在体外诊断(IVD)软件向SaaS模式演进过程中,Docker容器并非中立的技术载体,而是直接参与医疗器械质量管理体系(QMS)和监管合规链条的关键组件…...

Docker存储安全红线:7类未授权挂载风险场景曝光,CVE-2023-XXXX复现与零信任加固方案(含OCI合规检查表)

第一章:Docker存储安全红线:核心概念与威胁全景Docker 存储机制是容器运行时数据持久化与隔离的关键载体,其安全性直接影响镜像完整性、容器间数据隔离及宿主机系统防护能力。理解存储驱动(如 overlay2、aufs)、卷&…...

树、森林——树和森林的遍历(森林的遍历)

森林由多棵互不相交的树组成,遍历规则:按树的顺序依次遍历每一棵树 森林同样没有中序遍历,只有两种: 1. 森林先序遍历 访问第一棵树的根结点 先序遍历第一棵树的所有子树 依次先序遍历剩下所有树 对应关系:森林先序遍历…...

别再死记硬背了!用这5个真实UI案例,彻底搞懂HarmonyOS Flex布局的alignItems

别再死记硬背了!用这5个真实UI案例,彻底搞懂HarmonyOS Flex布局的alignItems 每次看到Flex布局的alignItems属性,你是不是也和我一样,对着文档里的Start、Center、End、Stretch、Baseline这几个选项发愁?明明每个单词都…...

Zotero Actions Tags终极指南:如何实现文献管理自动化工作流

Zotero Actions & Tags终极指南:如何实现文献管理自动化工作流 【免费下载链接】zotero-actions-tags Customize your Zotero workflow. 项目地址: https://gitcode.com/gh_mirrors/zo/zotero-actions-tags Zotero Actions & Tags是一款专为Zotero用…...

【NI-DAQmx实战】从4-20mA到高精度:工业电流测量的选型与避坑指南

1. 4-20mA电流测量基础与工业应用 工业现场最头疼的问题之一,就是如何把传感器信号稳定可靠地传回控制室。我十年前第一次调试化工厂的液位变送器时,就吃过信号跳变的亏——当时用万用表量电压信号,20米的距离读数能差出10%。后来老师傅一句话…...

NVIDIA Riva多语言ASR系统部署与优化实战

1. NVIDIA Riva 多语言ASR系统概述NVIDIA Riva作为当前语音AI领域的标杆级解决方案,其最新2.18.0版本引入了多项突破性功能。这套GPU加速的语音AI微服务套件,现已整合了OpenAI Whisper和NVIDIA自研Canary架构,为多语言自动语音识别(ASR)和自动…...

构建跨设备游戏流媒体技术栈:Sunshine自托管服务器全解析与实践指南

构建跨设备游戏流媒体技术栈:Sunshine自托管服务器全解析与实践指南 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一个开源的自托管游戏流媒体服务器&…...

如何用Bilibili-Evolved打造终极B站体验:新手完整指南

如何用Bilibili-Evolved打造终极B站体验:新手完整指南 【免费下载链接】Bilibili-Evolved 强大的哔哩哔哩增强脚本 项目地址: https://gitcode.com/gh_mirrors/bi/Bilibili-Evolved Bilibili-Evolved是一款功能强大的哔哩哔哩增强脚本,通过丰富的…...