From 861a4e6aa9dafb842948afb6b5c4167a2f071a37 Mon Sep 17 00:00:00 2001 From: Tianling Shen Date: Sat, 13 Mar 2021 00:09:57 +0800 Subject: [PATCH] luci-app-ssr-plus: add support for shadowsocks-rust Signed-off-by: Tianling Shen --- package/lean/luci-app-ssr-plus/Makefile | 22 +++++++++---------- .../model/cbi/shadowsocksr/client-config.lua | 2 +- .../root/etc/init.d/shadowsocksr | 16 +++++++++----- 3 files changed, 23 insertions(+), 17 deletions(-) diff --git a/package/lean/luci-app-ssr-plus/Makefile b/package/lean/luci-app-ssr-plus/Makefile index 1c69275132..b1ea47cd9a 100644 --- a/package/lean/luci-app-ssr-plus/Makefile +++ b/package/lean/luci-app-ssr-plus/Makefile @@ -2,18 +2,18 @@ include $(TOPDIR)/rules.mk PKG_NAME:=luci-app-ssr-plus PKG_VERSION:=183 -PKG_RELEASE:=8 +PKG_RELEASE:=9 PKG_CONFIG_DEPENDS:= \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Kcptun \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_NaiveProxy \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks \ + CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Trojan \ - CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin \ CONFIG_PACKAGE_$(PKG_NAME)_INCLUDE_Xray @@ -27,13 +27,13 @@ LUCI_DEPENDS:=+coreutils +coreutils-base64 +dns2socks +dnsmasq-full +ipset +ip-f +PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2:redsocks2 \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-local \ +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks:shadowsocks-libev-ss-redir \ + +PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust:shadowsocks-rust-sslocal \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR:shadowsocksr-libev-ssr-local \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR:shadowsocksr-libev-ssr-redir \ +PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server:shadowsocksr-libev-ssr-server \ +PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs:simple-obfs \ +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:trojan \ +PACKAGE_$(PKG_NAME)_INCLUDE_Trojan:ipt2socks \ - +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray:v2ray \ +PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin:v2ray-plugin \ +PACKAGE_$(PKG_NAME)_INCLUDE_Xray:xray-core @@ -52,16 +52,20 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Redsocks2 default n config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks - bool "Include Shadowsocks-libev" + bool "Include Shadowsocks Libev" default y +config PACKAGE_$(PKG_NAME)_INCLUDE_Shadowsocks_Rust + bool "Include Shadowsocks Rust" + default y if aarch64||x86_64 + config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR - bool "Include ShadowsocksR-libev" + bool "Include ShadowsocksR Libev" default y config PACKAGE_$(PKG_NAME)_INCLUDE_ShadowsocksR_Server bool "Include ShadowsocksR Server" - default y if i386||x86_64||arm||aarch64 + default y if aarch64||arm||i386||x86_64 config PACKAGE_$(PKG_NAME)_INCLUDE_Simple_Obfs bool "Include Shadowsocks Simple Obfs Plugin" @@ -71,17 +75,13 @@ config PACKAGE_$(PKG_NAME)_INCLUDE_Trojan bool "Include Trojan" default y if arm||mipsel -config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray - bool "Include V2ray" - default n - config PACKAGE_$(PKG_NAME)_INCLUDE_V2ray_Plugin bool "Include Shadowsocks V2ray Plugin" default n config PACKAGE_$(PKG_NAME)_INCLUDE_Xray bool "Include Xray" - default y if i386||x86_64||arm||aarch64 + default y if aarch64||arm||i386||x86_64 endef define Package/$(PKG_NAME)/conffiles diff --git a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua index 09691bfdc6..4b71a822c7 100644 --- a/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua +++ b/package/lean/luci-app-ssr-plus/luasrc/model/cbi/shadowsocksr/client-config.lua @@ -149,7 +149,7 @@ end if is_finded("ssr-redir") then o:value("ssr", translate("ShadowsocksR")) end -if is_finded("ss-redir") then +if is_finded("sslocal") or is_finded("ss-redir") then o:value("ss", translate("Shadowsocks New Version")) end if is_finded("trojan") then diff --git a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr index 2b3bafcaa3..668a23d184 100755 --- a/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr +++ b/package/lean/luci-app-ssr-plus/root/etc/init.d/shadowsocksr @@ -339,7 +339,9 @@ start_udp() { case "$type" in ss | ssr) gen_config_file $UDP_RELAY_SERVER $type 2 $tmp_udp_port - ln_start_bin $(first_type ${type}-redir) ${type}-redir -c $udp_config_file -U + ss_program="$(first_type ${type}local ${type}-redir)" + [ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_exrta_arg="--protocol redir" + ln_start_bin $ss_program ${type}-redir -c $udp_config_file -U $ss_exrta_arg echolog "UDP TPROXY Relay:$(get_name $type) Started!" ;; v2ray) @@ -380,12 +382,14 @@ start_shunt() { case "$type" in ss | ssr) gen_config_file $SHUNT_SERVER $type 3 $tmp_shunt_port - ln_start_bin $(first_type ${type}-redir) ${type}-redir -c $shunt_config_file + ss_program="$(first_type ${type}local ${type}-redir)" + [ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_exrta_arg="--protocol redir" + ln_start_bin $ss_program ${type}-redir -c $shunt_config_file $ss_exrta_arg if [ -n "$tmp_local_port" ]; then local tmp_port=$tmp_local_port else local tmp_port=$tmp_shunt_local_port - ln_start_bin $(first_type ${type}-local) ${type}-local -c $shunt_dns_config_file + ln_start_bin $(first_type ${type}local ${type}-local) ${type}-local -c $shunt_dns_config_file fi ln_start_bin $(first_type dns2socks) dns2socks 127.0.0.1:$tmp_port 8.8.8.8:53 127.0.0.1:$tmp_shunt_dns_port -q echolog "shunt:$(get_name $type) Started!" @@ -465,7 +469,7 @@ start_local() { case "$type" in ss | ssr) gen_config_file $LOCAL_SERVER $type 4 $local_port - ln_start_bin $(first_type ${type}-local) ${type}-local -c $local_config_file -u + ln_start_bin $(first_type ${type}local ${type}-local) ${type}-local -c $local_config_file -u echolog "Global_Socks5:$(get_name $type) Started!" ;; v2ray) @@ -525,8 +529,10 @@ Start_Run() { case "$type" in ss | ssr) gen_config_file $GLOBAL_SERVER $type 1 $tcp_port + ss_program="$(first_type ${type}local ${type}-redir)" + [ "$(printf '%s' "$ss_program" | awk -F '/' '{print $NF}')" = "${type}local" ] && ss_exrta_arg="--protocol redir" for i in $(seq 1 $threads); do - ln_start_bin "$(first_type ${type}-redir)" ${type}-redir -c $tcp_config_file $ARG_OTA + ln_start_bin "$ss_program" ${type}-redir -c $tcp_config_file $ARG_OTA $ss_exrta_arg done echolog "Main node:$(get_name $type) $threads Threads Started!" ;;