Skip to content

Commit fc21418

Browse files
committed
feat: 支持 sing-box tailscale 的 ssh-server 配置并补充说明
- 增加 `ssh-server` 到 `ssh_server` 的映射能力,支持布尔开关和对象配置(enabled/disable-pty/disable-sftp/disable-forwarding) - 更新 `scripts/demo.js` 注释:补充 sing-box 说明和 `ssh-server` 示例配置
1 parent d8f6667 commit fc21418

2 files changed

Lines changed: 12 additions & 1 deletion

File tree

backend/src/core/proxy-utils/producers/sing-box.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1065,6 +1065,16 @@ const tailscaleParser = (proxy = {}) => {
10651065
ipVersionParser(proxy, parsedProxy);
10661066
domainResolverParser(proxy, parsedProxy);
10671067
}
1068+
if (isPlainObject(proxy['ssh-server'])) {
1069+
parsedProxy.ssh_server = {
1070+
enabled: proxy['ssh-server'].enabled !== false,
1071+
disable_pty: proxy['ssh-server']['disable-pty'],
1072+
disable_sftp: proxy['ssh-server']['disable-sftp'],
1073+
disable_forwarding: proxy['ssh-server']['disable-forwarding'],
1074+
};
1075+
} else if (proxy['ssh-server']) {
1076+
parsedProxy.ssh_server = !!proxy['ssh-server'];
1077+
}
10681078
return parsedProxy;
10691079
};
10701080

scripts/demo.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,8 @@ function operator(proxies = [], targetPlatform, context) {
5050
// 26. `_qx_obfs_http` 为 QX 的 http obfs 原始值, 例如 `http`, `vmess-http`, `vemss-http`, `shadowsocks-http`, 用于 QX 输入输出时保留原始写法. `vemss-http` 应该是 huaqian 的 typo, 没测过, 反正也支持, 报错就自己改成 `vmess-http` 吧
5151
// 27. WireGuard 支持 `ip-cidr`(IPv4 前缀长度) 和 `ipv6-cidr`(IPv6 前缀长度) 字段: 内部会保存前缀长度, 若未设置则默认分别为 `32` 和 `128`. 输出到 `mihomo`/`Shadowrocket`/`sing-box`/`URI` 时会带上该后缀
5252
// 28. sing-box 1.14.0 起才有 `control_http_client` , 暂时可使用 `control-http-client` 字段设置 sing-box 的 `control_http_client`
53-
// 若 `control-http-client` 非空, 输出 sing-box Tailscale endpoint 时会跳过旧版拨号字段映射, 避免和 `detour`/`dialer-proxy` 等 legacy dialer options 冲突. 需要给控制面设置前置代理时, 请写到 `control-http-client.detour`
53+
// 若 `control-http-client` 非空, 输出 sing-box Tailscale endpoint 时会跳过旧版拨号字段映射, 避免和 `detour`/`dialer-proxy` 等 legacy dialer options 冲突. 需要给控制面设置前置代理时, 请写到 `control-http-client.detour`(1.14.0-alpha.26 又改回去了...)
54+
// 29. sing-box 支持使用 `ssh-server` 给 tailscale 设置 `ssh_server`, 直接设为 `true` 或 `{ "enabled": true, "disable-pty": true, "disable-sftp": true, "disable-forwarding": true }`
5455

5556
// require 为 Node.js 的 require, 在 Node.js 运行环境下 可以用来引入模块
5657
// 例如在 Node.js 环境下, 将文件内容写入 /tmp/1.txt 文件

0 commit comments

Comments
 (0)