Skip to content

Commit

Permalink
Add latest version for simple-tls.
Browse files Browse the repository at this point in the history
  • Loading branch information
loyess committed Apr 10, 2024
1 parent 24f984e commit 19e44dc
Show file tree
Hide file tree
Showing 4 changed files with 83 additions and 2 deletions.
51 changes: 50 additions & 1 deletion prepare/simple_tls_prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -122,6 +122,30 @@ get_input_auth_passwd_for_v070(){
_echo -r "${Red} auth = ${auth}${suffix}"
}

is_enable_grpc_for_latest(){
while true
do
echo
_read "是否启用gRPC (grpc) (默认: n) [y/n]: "
local yn="${inputInfo}"
[ -z "${yn}" ] && yn="N"
case "${yn:0:1}" in
y|Y)
isEnableGrpc=enable
;;
n|N)
isEnableGrpc=disable
;;
*)
_echo -e "输入有误,请重新输入."
continue
;;
esac
_echo -r " grpc = ${isEnableGrpc}"
break
done
}

tls_mode_logic_for_v034(){
do_you_have_domain
if [ "${doYouHaveDomian}" = "No" ]; then
Expand Down Expand Up @@ -215,8 +239,31 @@ version_v070_logic(){
fi
}

version_latest_logic(){
do_you_have_domain
if [ "${doYouHaveDomian}" = "No" ]; then
firewallNeedOpenPort="${shadowsocksport}"
get_all_type_domain
generate_menu_logic "${CERTIFICATE_TYPE[*]}" "证书类型(无合法证书时)" "1"
certificateTypeOptNum="${inputInfo}"
elif [ "${doYouHaveDomian}" = "Yes" ]; then
get_input_inbound_port 443
firewallNeedOpenPort="${INBOUND_PORT}"
shadowsocksport="${firewallNeedOpenPort}"
kill_process_if_port_occupy "${firewallNeedOpenPort}"
get_specified_type_domain "DNS-Only"
fi
is_enable_grpc_for_latest
if [ "${isEnableGrpc}" = "enable" ]; then
get_input_grpc_path
fi
if [ "${domainType}" = "DNS-Only" ]; then
acme_get_certificate_by_force "${domain}"
fi
}

install_prepare_libev_simple_tls(){
generate_menu_logic "${SIMPLE_TLS_VERSION[*]}" "simple-tls版本" "3"
generate_menu_logic "${SIMPLE_TLS_VERSION[*]}" "simple-tls版本" "4"
SimpleTlsVer="${inputInfo}"
improt_package "utils" "common_prepare.sh"
if [ "${SimpleTlsVer}" = "1" ]; then
Expand All @@ -225,5 +272,7 @@ install_prepare_libev_simple_tls(){
version_047_logic
elif [ "${SimpleTlsVer}" = "3" ]; then
version_v070_logic
elif [ "${SimpleTlsVer}" = "4" ]; then
version_latest_logic
fi
}
12 changes: 11 additions & 1 deletion templates/config/simple_tls_config.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,13 +35,23 @@ config_ss_simple_tls(){
else
serverPluginOpts="s;key=${keyPath};cert=${cerPath}"
fi
elif [ "${SimpleTlsVer}" = "4" ]; then
if [ "${certificateTypeOptNum}" = "1" ]; then
serverPluginOpts="s;n=${domain}"
else
serverPluginOpts="s;key=${keyPath};cert=${cerPath}"
fi
fi
ss_plugin_server_config
# ata: against traffic analysis
if [ "${isEnableWs}" = "enable" ]; then
wsArgs=";ws;ws-path=${path}"
sed "s|\"plugin_opts\":\"s|\"plugin_opts\":\"s;ws;ws-path=${path}|" -i "${SHADOWSOCKS_CONFIG}"
fi
if [ "${isEnableGrpc}" = "enable" ]; then
grpcArgs=";grpc;grpc-path=${grpcSN}"
sed "s|\"plugin_opts\":\"s|\"plugin_opts\":\"s;grpc;grpc-path=${grpcSN}|" -i "${SHADOWSOCKS_CONFIG}"
fi
# ata: against traffic analysis
if [ "${isEnableRh}" = "enable" ]; then
ataArgs=';rh'
sed 's/"plugin_opts":"s/"plugin_opts":"s;rh/' -i "${SHADOWSOCKS_CONFIG}"
Expand Down
10 changes: 10 additions & 0 deletions templates/sslinks/simple_tls_link.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,16 @@ gen_ss_simple_tls_link(){
elif [ "${doYouHaveDomian}" = "Yes" ]; then
clientPluginOpts="n=${domain}${ataArgs}${wsArgs}${clientMux}"
fi
elif [ "${SimpleTlsVer}" = "4" ]; then
if [ "${doYouHaveDomian}" = "No" ]; then
if [ "${certificateTypeOptNum}" = "1" ]; then
clientPluginOpts="n=${domain};no-verify${grpcArgs}"
elif [ "${certificateTypeOptNum}" = "2" ]; then
clientPluginOpts="n=${domain};no-verify;cert-hash=${hashCert}${grpcArgs}"
fi
elif [ "${doYouHaveDomian}" = "Yes" ]; then
clientPluginOpts="n=${domain}${grpcArgs}"
fi
fi
ss_plugins_client_links
}
12 changes: 12 additions & 0 deletions utils/common_prepare.sh
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,18 @@ get_input_ws_path(){
done
}

get_input_grpc_path(){
gen_random_str
while true
do
_read "请输入你的gRPC服务名称 (ServiceName) (默认:${ran_str12}):"
grpcSN="${inputInfo}"
[ -z "${grpcSN}" ] && grpcSN="${ran_str12}"
_echo -r " ServiceName = ${grpcSN}"
break
done
}

_get_input_mux_max_stream() {
while true
do
Expand Down

0 comments on commit 19e44dc

Please sign in to comment.