Simplify alpn implementation

This commit is contained in:
Samuel Huang
2024-09-22 10:37:46 +10:00
parent ea62a13c14
commit 7c863b5a29
9 changed files with 12 additions and 41 deletions

View File

@@ -37,12 +37,15 @@ fi
if ! [ "${port}" -eq "${port}" ] 2>/dev/null; then >&2 echo "Port number must be numeric"; exit 1; fi if ! [ "${port}" -eq "${port}" ] 2>/dev/null; then >&2 echo "Port number must be numeric"; exit 1; fi
# User settings
Jusers=`jq -nc --arg uuid "${id}" '. += {"id":$uuid, "encryption":"none", "level":0}'` Jusers=`jq -nc --arg uuid "${id}" '. += {"id":$uuid, "encryption":"none", "level":0}'`
# Vnext settings
Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Jusers}" \ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Jusers}" \
'. += {"address":$host, "port":($port | tonumber), "users":[$juser]}' ` '. += {"address":$host, "port":($port | tonumber), "users":[$juser]}' `
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" \ # Stream Settings
JstreamSettings=`jq -nc --arg path "${path}" \
'. += {"network":"grpc", "security":"none", "grpcSettings":{"serviceName":$path}}' ` '. += {"network":"grpc", "security":"none", "grpcSettings":{"serviceName":$path}}' `
Jproxy=`jq -nc --arg host "${host}" --argjson jvnext "${Jvnext}" --argjson jstreamSettings "${JstreamSettings}" \ Jproxy=`jq -nc --arg host "${host}" --argjson jvnext "${Jvnext}" --argjson jstreamSettings "${JstreamSettings}" \

View File

@@ -64,11 +64,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \
'. += {"network":"grpc","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"grpcSettings":{"serviceName":$path}}' ` '. += {"network":"grpc","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"grpcSettings":{"serviceName":$path}}' `

View File

@@ -64,11 +64,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \
'. += {"network":"splithttp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"splithttpSettings":{"path":$path}}' ` '. += {"network":"splithttp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"splithttpSettings":{"path":$path}}' `

View File

@@ -66,11 +66,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" \
'. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' ` '. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' `

View File

@@ -64,11 +64,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \
'. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' ` '. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' `

View File

@@ -63,11 +63,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --argjson jalpn "${Jalpn}" \
'. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' ` '. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' `

View File

@@ -64,11 +64,7 @@ Jvnext=`jq -nc --arg host "${host}" --arg port "${port}" --argjson juser "${Juse
'. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' ` '. += {"address":$host,"port":($port | tonumber),"users":[$juser]}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \
'. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' ` '. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' `

View File

@@ -61,11 +61,7 @@ Jservers=`jq -nc --arg host "${host}" --arg port "${port}" --arg passwd "${passw
'. += {"address":$host,"port":($port | tonumber),"password":$passwd}' ` '. += {"address":$host,"port":($port | tonumber),"password":$passwd}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --argjson jalpn "${Jalpn}" \
'. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' ` '. += {"network":"tcp","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn}}' `

View File

@@ -62,11 +62,7 @@ Jservers=`jq -nc --arg host "${host}" --arg port "${port}" --arg passwd "${passw
'. += {"address":$host,"port":($port | tonumber),"password":$passwd}' ` '. += {"address":$host,"port":($port | tonumber),"password":$passwd}' `
# Stream Settings # Stream Settings
Jalpn='[]' Jalpn=`printf '%s\n' "${ALPN[@]}"|jq -R|jq -sc`
for alpn in "${ALPN[@]}"
do
Jalpn=`echo $Jalpn | jq -c --arg alpn "${alpn}" '. +=[$alpn]'`
done
JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \ JstreamSettings=`jq -nc --arg serverName "${serverName}" --arg fingerprint "${fingerprint}" --arg path "${path}" --argjson jalpn "${Jalpn}" \
'. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' ` '. += {"network":"ws","security":"tls","tlsSettings":{"serverName":$serverName,"fingerprint":$fingerprint,"alpn":$jalpn},"wsSettings":{"path":$path}}' `