Skip to content

Commit 405f042

Browse files
committed
feat: sing-box 支持 _certificate, _certificate_path, _certificate_public_key_sha256, _client_certificate, _client_certificate_path, _client_key, _client_key_path 设置 tlscertificate, certificate_path, certificate_public_key_sha256, client_certificate, client_certificate_path, client_key, client_key_path
1 parent 0ea8300 commit 405f042

3 files changed

Lines changed: 18 additions & 1 deletion

File tree

backend/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "sub-store",
3-
"version": "2.20.35",
3+
"version": "2.20.36",
44
"description": "Advanced Subscription Manager for QX, Loon, Surge, Stash and Shadowrocket.",
55
"main": "src/main.js",
66
"scripts": {

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,6 +277,21 @@ const tlsParser = (proxy, parsedProxy) => {
277277
proxy['_fragment_fallback_delay'];
278278
if (proxy['_record_fragment'])
279279
parsedProxy.tls.record_fragment = !!proxy['_record_fragment'];
280+
if (proxy['_certificate'])
281+
parsedProxy.tls.certificate = proxy['_certificate'];
282+
if (proxy['_certificate_path'])
283+
parsedProxy.tls.certificate_path = proxy['_certificate_path'];
284+
if (proxy['_certificate_public_key_sha256'])
285+
parsedProxy.tls.certificate_public_key_sha256 =
286+
proxy['_certificate_public_key_sha256'];
287+
if (proxy['_client_certificate'])
288+
parsedProxy.tls.client_certificate = proxy['_client_certificate'];
289+
if (proxy['_client_certificate_path'])
290+
parsedProxy.tls.client_certificate_path =
291+
proxy['_client_certificate_path'];
292+
if (proxy['_client_key']) parsedProxy.tls.client_key = proxy['_client_key'];
293+
if (proxy['_client_key_path'])
294+
parsedProxy.tls.client_key_path = proxy['_client_key_path'];
280295
if (!parsedProxy.tls.enabled) delete parsedProxy.tls;
281296
};
282297

scripts/demo.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ function operator(proxies = [], targetPlatform, context) {
2929
// 15. `ip-version` 设置节点使用 IP 版本,兼容各家的值. 会进行内部转换. sing-box 以外: 若无法匹配则使用原始值. sing-box: 需有匹配且节点上设置 `_dns_server` 字段, 将自动设置 `domain_resolver.server`
3030
// 16. `sing-box` 支持使用 `_network` 来设置 `network`, 例如 `tcp`, `udp`
3131
// 17. `block-quic` 支持 `auto`, `on`, `off`. 不同的平台不一定都支持, 会自动转换
32+
// 18. `sing-box` 支持 `_fragment`, `_fragment_fallback_delay`, `_record_fragment` 设置 `tls` 的 `fragment`, `fragment_fallback_delay`, `record_fragment`
33+
// 19. `sing-box` 支持 `_certificate`, `_certificate_path`, `_certificate_public_key_sha256`, `_client_certificate`, `_client_certificate_path`, `_client_key`, `_client_key_path` 设置 `tls` 的 `certificate`, `certificate_path`, `certificate_public_key_sha256`, `client_certificate`, `client_certificate_path`, `client_key`, `client_key_path`
3234

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

0 commit comments

Comments
 (0)