Skip to content

do-kiss/NXRemote

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NXRemote

Switch 屏幕串流 + 远程控制。Switch 端画面实时传输到浏览器,键盘/触屏远程操控。


快速开始

编译

git clone https://github.com/do-kiss/NXRemote.git --recurse-submodules
cd NXRemote
# 需要 devkitPro (libnx) + Go 1.21+
make

产物在 out/ 目录下。

Switch SD 卡

SD:/
├── atmosphere/contents/4100000000260799/exefs.nsp
├── config/NXRemote/config.ini
└── switch/.overlays/ovl-NXRemote.ovl

编辑 config.ini,填入服务器地址和端口。首次运行自动生成 8 位授权码。

服务器

# 上传并启动
scp out/web-server/* user@your-server:/opt/nxremote/
ssh user@your-server "/opt/nxremote/nxremote-server-linux &"

默认端口 9120。支持 HTTPS(需 Nginx/Caddy 反代,Switch 不支持 WSS)。

如果使用手机进行远程控制,可以横屏操作,左右虚拟手柄将提供触屏控制。


理想环境下 FPS 可达 20。实际受画面复杂度、网络延迟、Switch 负载影响,大多数场景低于理想值。

使用

配对

  1. Switch → Tesla 菜单 → NXRemote → 按 A 启动
  2. 浏览器打开 http://your-server:9120
  3. 输入 overlay 显示的 8 位授权码 → 连接

键盘操控

键盘 Switch 键盘 Switch
W/A/S/D 左摇杆 方向键 右摇杆
T/G/F/H 十字键 I/J/K/L X/Y/B/A
Q / E − / + 1/2/3/4 ZL/L/R/ZR
C / V 左/右摇杆按下 Z / M 截图 / HOME

Tesla Overlay

项目 按键 说明
远程控制 A 启动/停止服务
远程控制 Y 切换开机自启动
状态 0.25s 实时刷新(IPC)
当前授权码 长按 A 显示真实码,松手隐藏
服务器 长按 A 同上
重置授权码 A 更换配对码,自动重启服务
运行日志 A 开关日志

连接状态

显示 含义
未启用 模块未运行
运行中 初始化中 / 等待连接
连接失败 无法连接服务器
等待连接 已连服务器,等待浏览器
远程控制中 浏览器已连接

配置 (config.ini)

[server]
# 服务器 IP 或域名(必填)
host = your-server.com
# 端口
port = 9120

[auth]
# 授权码,首次运行自动生成
# token = XXXXXXXX

[capture]
# 静止画面最低发送间隔 (ms)
static_interval_ms = 500

[debug]
# 日志开关 0/1,重启生效
log_enabled = 0

架构

Switch ──WebSocket──→ 中继服务器 ←──WebSocket── 浏览器
  │ (视频 + 状态)        │ (:9120)          │ (控制输入)
  │                      │                  │
  └──── 控制输入 ←──────┘                  └──── 操控 → Switch
  • sys-NXRemote:Switch 系统模块。抓屏 → JPEG 编码 → WebSocket 发送;接收输入 → HDLS 注入
  • ovl-NXRemote:Tesla 浮层。IPC 通信获取状态,启停服务,配置管理
  • server:Go 中继服务器。Session/token 隔离,支持多 Switch 并发
  • web:浏览器前端。视频显示 + 键盘/触屏输入

目录结构

NXRemote/
├── sys-NXRemote/       # Switch sysmodule (C++/libnx)
├── ovl-NXRemote/       # Tesla overlay
├── server/             # Go 中继服务器 + 前端
├── Makefile            # 顶层构建
└── out/                # 编译产物

依赖

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors