Skip to content

Commit a01e885

Browse files
authored
Merge pull request #605 from duakc/fix/domain_resolver_can_handle_string
fix: make the proxy._domain_resolver accept string as a server.
2 parents 6fa9b9f + ce711d3 commit a01e885

1 file changed

Lines changed: 14 additions & 14 deletions

File tree

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

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -30,9 +30,18 @@ const ipVersionParser = (proxy, parsedProxy) => {
3030
}
3131
};
3232
const domainResolverParser = (proxy, parsedProxy) => {
33-
if (proxy._domain_resolver) {
33+
if (!proxy._domain_resolver) {
34+
return;
35+
}
36+
37+
if (typeof proxy._domain_resolver === 'string') {
38+
parsedProxy.domain_resolver = {
39+
...(parsedProxy.domain_resolver ?? {}),
40+
server: proxy._domain_resolver,
41+
};
42+
} else {
3443
parsedProxy.domain_resolver = {
35-
...parsedProxy.domain_resolver,
44+
...(parsedProxy.domain_resolver ?? {}),
3645
...proxy._domain_resolver,
3746
};
3847
}
@@ -529,10 +538,7 @@ const getShadowTLSPluginOpts = (proxy = {}) => {
529538
if (proxy.plugin === 'shadow-tls' && proxy['plugin-opts']) {
530539
return proxy['plugin-opts'];
531540
}
532-
if (
533-
proxy.type === 'snell' &&
534-
proxy['obfs-opts']?.mode === 'shadow-tls'
535-
) {
541+
if (proxy.type === 'snell' && proxy['obfs-opts']?.mode === 'shadow-tls') {
536542
return {
537543
host: proxy['obfs-opts'].host,
538544
password: proxy['obfs-opts'].password,
@@ -734,15 +740,9 @@ const snellParser = (proxy = {}) => {
734740
if (parsedProxy.server_port < 0 || parsedProxy.server_port > 65535)
735741
throw 'invalid port';
736742
if (version != null) parsedProxy.version = version;
737-
if (
738-
proxy['obfs-opts']?.mode &&
739-
proxy['obfs-opts'].mode !== 'shadow-tls'
740-
)
743+
if (proxy['obfs-opts']?.mode && proxy['obfs-opts'].mode !== 'shadow-tls')
741744
parsedProxy.obfs_mode = proxy['obfs-opts'].mode;
742-
if (
743-
proxy['obfs-opts']?.host &&
744-
proxy['obfs-opts']?.mode !== 'shadow-tls'
745-
)
745+
if (proxy['obfs-opts']?.host && proxy['obfs-opts']?.mode !== 'shadow-tls')
746746
parsedProxy.obfs_host = proxy['obfs-opts'].host;
747747
if (proxy.reuse && (version == null || version >= 4))
748748
parsedProxy.reuse = true;

0 commit comments

Comments
 (0)